/* 2부 본사 운영 콘솔 — 밝은 바탕(사무실) */
.hq{position:absolute;inset:0;padding:16px 28px 0;display:grid;grid-template-columns:470px 1fr 520px;gap:18px;background:var(--bg);color:var(--ink);font-family:var(--fb)}
.hq .box{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 18px;overflow:hidden;position:relative}
.hq .h{font-family:var(--fd);font-size:30px;margin-bottom:10px;display:flex;align-items:baseline;gap:10px}
.hq .h small{font-family:var(--fb);font-size:15px;color:var(--muted)}
.hq .tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.hq .tab{font-size:16px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.hq .tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.hq .it{border:1px solid var(--line);border-radius:14px;padding:11px 14px;margin-bottom:9px;font-size:17px;line-height:1.45;cursor:pointer;transition:border-color .2s,background .2s}
.hq .it:hover{border-color:var(--muted)}
.hq .it.sel{border:2px solid var(--accent);background:#F2FAF6;padding:10px 13px}
.hq .it .m{color:var(--muted);font-size:14px;margin-top:2px}
.hq .tg{display:inline-block;font-size:13px;font-weight:700;border-radius:6px;padding:1px 8px;margin-right:6px;vertical-align:1px}
.hq .tg.action{background:var(--danger-soft);color:var(--danger)}
.hq .tg.info{background:var(--rain-soft);color:var(--rain)}
.hq .tg.done{background:var(--sunk);color:var(--muted)}
.hq .live{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:var(--accent);border-radius:6px;padding:1px 7px;margin-left:6px;vertical-align:2px}
.hq .vir{display:inline-block;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:0 6px;margin-left:6px;vertical-align:2px}
.hq .it.newpulse{animation:hqpulse 1.2s ease-out 2}
@keyframes hqpulse{0%{box-shadow:0 0 0 0 rgba(15,106,76,.45)}100%{box-shadow:0 0 0 14px rgba(15,106,76,0)}}
.hq .det{display:grid;grid-template-columns:400px 1fr;gap:16px;align-items:start}
.hq .det img{width:400px;height:225px;object-fit:cover;border-radius:12px;display:block;background:#000}
.hq .cap{font-size:13px;color:var(--muted);margin-top:5px}
.hq .kv{font-size:19px;line-height:1.9}
.hq .kv b{font-weight:700}
.hq .tl{margin-top:12px;font-size:16px;line-height:1.75;border-top:1px solid var(--line);padding-top:8px;max-height:216px;overflow:hidden}
.hq .tl .id{font-family:var(--mono);font-size:14px;color:var(--muted);margin-right:8px}
.hq .tl .fm{color:var(--rain)} .hq .tl .hqr{color:var(--accent);font-size:14px;margin-left:6px}
.hq .send .h{font-size:24px;margin:12px 0 6px}
.hq .tpl{display:flex;flex-direction:column;gap:7px;margin:4px 0 12px}
.hq .tp{border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-size:17px;cursor:pointer}
.hq .tp.on{border:2px solid var(--accent);background:#F2FAF6;padding:8px 11px}
.hq .btn{display:inline-block;background:var(--accent);color:#fff;font-weight:700;border-radius:12px;padding:11px 22px;font-size:19px}
.hq .btn.ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent);margin-left:8px}
.hq .btn[disabled]{opacity:.45;cursor:default}
.hq .trk{display:flex;gap:8px;margin-top:12px;font-size:15px}
.hq .trk span{flex:1;text-align:center;border-radius:10px;padding:8px 4px;background:var(--sunk);color:var(--muted)}
.hq .trk span.ok{background:var(--accent-soft);color:var(--accent);font-weight:700}
.hq .trk span.warn{background:var(--warn-soft);color:var(--warn);font-weight:700}
.hq .empty{color:var(--muted);font-size:18px;line-height:1.7;padding:30px 10px;text-align:center}
.hq .map{height:430px;border-radius:14px;background:#DCE8EC;position:relative;overflow:hidden}
.hq .map svg{width:100%;height:100%;display:block}
.hq .sum{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.hq .c{border:1px solid var(--line);border-radius:12px;padding:8px 12px}
.hq .c .k{font-size:14px;color:var(--muted)}.hq .c .v{font-family:var(--fd);font-size:30px}
.hq .vis{margin-top:12px;font-size:15px;color:var(--muted);line-height:1.6;border:1px dashed var(--line);border-radius:12px;padding:9px 12px;cursor:pointer}
.hq .vis b{color:var(--ink)}
.hq .datatab{position:absolute;inset:0;background:var(--surface);padding:16px 18px;z-index:3;overflow:auto}
.hq .datatab table{width:100%;border-collapse:collapse;font-size:15px}
.hq .datatab th,.hq .datatab td{border-bottom:1px solid var(--line);padding:5px 6px;text-align:left;white-space:nowrap}
.hq .datatab th{color:var(--muted);font-weight:600}
.hq .roles{grid-column:1/-1;display:flex;gap:12px;height:0;overflow:visible}
.hq button.vis{width:100%;text-align:left;font-family:inherit}
.hq button.vis:hover{border-color:var(--accent);color:var(--ink)}

/* 가상 농가 — 대응 필요 이유 사진 */
.det .why{position:relative}
.det .why .whyt{position:absolute;left:8px;right:8px;top:8px;padding:6px 10px;border-radius:8px;background:rgba(37,99,201,.92);color:#fff;font-size:14px;font-weight:700;line-height:1.4}
.det .why .whyt.bad{background:rgba(190,51,40,.92)}
.hq .det .kv img{width:100%;height:110px;object-fit:cover}
