/* HOME-01 · 티켓 기준 홈 (06-PM-최종조율안) · 차트 색은 dataviz 검증 통과값 (light #3d63c7/#c0841f · dark #5f82dd/#b37f25) */
:root{--ch-a:#3d63c7;--ch-b:#c0841f}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--ch-a:#5f82dd;--ch-b:#b37f25}}
:root[data-theme="dark"]{--ch-a:#5f82dd;--ch-b:#b37f25}

/* 미니 통계 (순서 = 우선순위) */
.hm-meta{font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-variant-numeric:tabular-nums}
.hm-kpis{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:12px}
.hm-kpis.hm-n7{grid-template-columns:repeat(7,minmax(0,1fr))}
.hm-kpis.hm-n5{grid-template-columns:repeat(5,minmax(0,1fr))}
.hm-kpis.hm-n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.hm-st b{font-size:20px}
.hm-st b small{font-size:12px;font-weight:500;color:var(--muted)}
.hm-st small .btn{margin-left:4px}
.hm-st.risk{border-color:color-mix(in srgb,var(--alert) 55%,var(--line));box-shadow:inset 3px 0 0 var(--alert)}
.hm-st.risk>b{color:var(--alert)}
.hm-st.warn{box-shadow:inset 3px 0 0 var(--need)}
.hm-jl{cursor:pointer}
.hm-jl:hover{border-color:var(--hq)}
.hm-i{font-style:normal;font-size:10px;opacity:.7}

/* 카드 */
.hm-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hm-card{display:flex;flex-direction:column;gap:6px;min-width:0}
.hm-card.wide{grid-column:1/-1;margin-bottom:12px}
.hm-card h6{margin:0 0 2px}
.hm-foot{margin-top:auto;padding-top:6px;font-size:11px;color:var(--muted)}
.hm-chip{display:inline-flex;align-items:center;font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--surface2);color:var(--muted);border:1px solid var(--line);white-space:nowrap;margin:1px 3px 1px 0}
.hm-chip.risk{color:var(--alert);border-color:color-mix(in srgb,var(--alert) 45%,var(--line));background:color-mix(in srgb,var(--alert) 9%,var(--surface))}
.hm-chip.warn{color:var(--need);border-color:color-mix(in srgb,var(--need) 45%,var(--line));background:color-mix(in srgb,var(--need) 10%,var(--surface))}
.hm-chip.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}
.hm-chip.hold{border-style:dashed}
.hm-chips{white-space:normal!important}
.hm-dec{margin-bottom:12px;border-left:4px solid var(--hq)}
.hm-dec h6 b{font-size:13px;margin-left:4px}
details.hm-dec>summary{cursor:pointer;font-size:13px;margin-bottom:6px}
details.hm-dec:not([open])>summary{margin-bottom:0}
.hm-decl{display:grid;gap:5px}
.hm-deci,.hm-todo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:7px;text-decoration:none;color:inherit;font-size:12.5px;background:var(--surface)}
.hm-deci:hover,a.hm-todo:hover{border-color:var(--hq)}
.hm-deci.risk,.hm-todo.risk{border-left:3px solid var(--alert)}
.hm-deci.warn,.hm-todo.warn{border-left:3px solid var(--need)}
.hm-todo small,.hm-deci b{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.hm-todo.hold{opacity:.75}
.hm-more{margin-bottom:12px}
.hm-more>summary{cursor:pointer;font-size:12.5px;font-weight:600;margin-bottom:8px;color:var(--muted)}

/* 이슈 Squad */
.hm-risk{display:grid;grid-template-columns:62px auto minmax(0,1fr);gap:2px 8px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:inherit;margin-bottom:5px}
.hm-risk:hover{border-color:var(--hq)}
.hm-risk>small{grid-column:2/3;font-size:10.5px}
.hm-risk .hm-chips{grid-column:3;grid-row:1/2}
.hm-risk .hm-ppl{grid-column:3;grid-row:2/3;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:11.5px}
.hm-pp{display:inline-flex;align-items:center;gap:4px}
.hm-pp{padding:0 6px;border:1px solid var(--line);border-radius:999px}
.hm-risk.risk{border-left:4px solid var(--alert)}.hm-risk.warn{border-left:4px solid var(--need)}
.hm-lv{font-size:11px;font-weight:700;white-space:nowrap}
.hm-lv.risk{color:var(--alert)}.hm-lv.warn{color:var(--need)}.hm-lv.ok{color:var(--ok)}

/* 표 */
.hm-sigt td,.hm-sigt th{text-align:center}
.hm-sigt td:first-child,.hm-sigt th:first-child{text-align:left}
.hm-sigt tr[data-act]{cursor:pointer}
.hm-sig{font-variant-numeric:tabular-nums;font-size:12.5px}
.hm-sig.ok{background:color-mix(in srgb,var(--ok) 9%,transparent)}
.hm-sig.warn{background:color-mix(in srgb,var(--need) 16%,transparent);font-weight:700}
.hm-sig.risk{background:color-mix(in srgb,var(--alert) 14%,transparent);font-weight:700}
.hm-board td,.hm-tkt td{vertical-align:middle}
tr.hm-hotrow td{background:color-mix(in srgb,var(--alert) 5%,transparent)}
.hm-cell{display:inline-block;min-width:38px;text-align:center;padding:2px 4px;border-radius:4px;background:var(--b);font-size:11px;font-variant-numeric:tabular-nums;color:var(--fg)}
.hm-cell.hi{color:#fff}
.hm-pri{display:inline-block;font-size:10px;font-weight:700;padding:0 5px;border-radius:4px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.hm-pri.p0{color:#fff;background:var(--alert);border-color:var(--alert)}
.hm-pri.p1{color:var(--alert);border-color:color-mix(in srgb,var(--alert) 50%,var(--line))}
.hm-key{font-family:var(--mono);font-size:10.5px;color:var(--muted)}
.hm-tt{font-size:12.5px}
.hm-own{display:block;font-size:11px;line-height:1.35;color:var(--muted)}
.hm-own.risk{color:var(--alert);font-weight:600}.hm-own.warn{color:var(--need);font-weight:600}
.hm-acts{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.hm-bar{position:relative;display:block;width:160px;height:10px;background:var(--surface2);border-radius:3px}
.hm-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:0 3px 3px 0}
.hm-bar .hm-mk{position:absolute;top:-3px;bottom:-3px;width:0;border-left:1.5px dashed var(--muted);left:66.6%}

/* 차트 */
.hm-svg{width:100%;height:auto;display:block;overflow:visible}
.hm-svg.mini{max-width:320px;max-height:none;margin:4px 0}
.hm-grid{stroke:var(--line);stroke-width:1}
.hm-ax{fill:var(--muted);font-size:10.5px;font-family:var(--font)}
.hm-ax.now{fill:var(--fg);font-weight:700}
.hm-tl{fill:var(--alert)}
.hm-val{fill:var(--fg);font-size:10.5px;font-weight:600;font-family:var(--font)}
.hm-fut{fill:var(--surface2);opacity:.7}
.hm-target{stroke:var(--alert);stroke-width:1.5;stroke-dasharray:2 4}
.hm-hit{fill:transparent;cursor:crosshair}
.hm-hit:hover{fill:color-mix(in srgb,var(--fg) 5%,transparent)}
.hm-fnew{fill:var(--ch-b)}.hm-fdone{fill:var(--ch-a)}
.hm-fnew.now,.hm-fdone.now{stroke:var(--fg);stroke-width:1.5}
.hm-lg{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11px;color:var(--muted)}
.hm-lg span{display:inline-flex;align-items:center;gap:5px}
.hm-lg i{display:inline-block;width:14px;height:8px;border-radius:2px}
.hm-lnew{background:var(--ch-b)}.hm-ldone{background:var(--ch-a)}
.hm-uok{fill:var(--ch-a)}.hm-ulo{fill:var(--alert)}
.hm-uok.fut{fill:color-mix(in srgb,var(--ch-a) 60%,var(--surface))}.hm-ulo.fut{fill:color-mix(in srgb,var(--alert) 60%,var(--surface))}
.hm-uok.now,.hm-ulo.now{stroke:var(--fg);stroke-width:2}
.hm-usoft{fill:var(--ch-b);opacity:.45}
.hm-ev{font-size:11px;font-weight:700;font-family:var(--font)}
.hm-ev.dn{fill:var(--alert)}.hm-ev.up{fill:var(--ok)}
.hm-sum{margin:2px 0 0;font-size:14px;line-height:1.6}
.hm-sum .bad{color:var(--alert)}
.hm-def{margin:0 0 4px;font-size:11.5px}
.hm-ug{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px;margin-top:6px}
.hm-h7{font-size:12px;display:block;margin-bottom:4px}
.hm-h7.bad{color:var(--alert)}
.hm-evl{margin:0;padding-left:18px;display:grid;gap:4px;font-size:12.5px}
.hm-evl li.dn b{color:var(--alert)}.hm-evl li.up b{color:var(--ok)}
.hm-idle{display:grid;gap:5px;font-size:12.5px;align-content:start}
.hm-idler{display:grid;grid-template-columns:150px 70px minmax(0,1fr) auto;gap:8px;align-items:center;padding:5px 8px;border:1px solid var(--line);border-radius:7px}

/* 사람 · 빈자리 */
.hm-match{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:12px}
.hm-match:last-child{border-bottom:0}
.hm-slot{display:inline-block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:6px;padding:1px 7px;font-size:11px;margin-left:4px}
.hm-slot:hover{border-color:var(--hq)}
.hm-slot b{color:var(--hq)}

/* 나 (수행 담당자) */
.hm-who{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.hm-mg{margin-bottom:8px}
.hm-mtk{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 8px;border:1px solid var(--line);border-radius:7px;margin-bottom:4px;font-size:12.5px}
.hm-mtk small{font-size:11px}
.hm-mysqs{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px}
.hm-mysq{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:9px}
.hm-mysqh{display:flex;justify-content:space-between;align-items:center}
.hm-mysqm{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:var(--muted)}
.hm-un{margin-top:4px}
.hm-pool{display:grid;gap:8px}
.hm-mytl{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;height:120px;align-items:end}
.hm-mytl span{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:2px}
.hm-mytl i{display:block;width:55%;border-radius:3px 3px 0 0;min-height:2px}
.hm-mytl b{font-size:11px}.hm-mytl small{font-size:10.5px;color:var(--muted)}
.hm-mytl .now b{text-decoration:underline}

/* 관리자 */
.hm-setup{margin-bottom:12px;border-color:var(--hq)}
.hm-steps{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0}
.hm-steps span{font-size:11.5px;padding:3px 10px;border-radius:999px;background:var(--surface2);color:var(--muted)}
.hm-steps span.on{background:color-mix(in srgb,var(--ok) 15%,var(--surface));color:var(--ok);font-weight:600}
.hm-perm{margin-top:14px;font-size:11px;color:var(--muted);line-height:1.9}
.hm-perm code{font-family:var(--mono);font-size:10.5px;border:1px solid var(--line);border-radius:4px;padding:0 4px}
.hm-tip{position:fixed;z-index:70;display:none;pointer-events:none;background:var(--fg);color:var(--bg);font-size:11.5px;line-height:1.55;padding:7px 10px;border-radius:7px;box-shadow:0 8px 24px rgba(0,0,0,.25);max-width:300px}

@media (max-width:1300px){.hm-kpis,.hm-kpis.hm-n7,.hm-kpis.hm-n5{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1100px){.hm-grid2{grid-template-columns:1fr}.hm-ug{grid-template-columns:1fr}.hm-idler{grid-template-columns:1fr 1fr}}
/* 휴대폰: 위 4칸만 (순서 = 우선순위) */
@media (max-width:640px){
  .hm-kpis,.hm-kpis.hm-n7,.hm-kpis.hm-n5,.hm-kpis.hm-n3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hm-kpis>.kpi:nth-child(n+5){display:none}
  .hm-risk{grid-template-columns:1fr}.hm-risk>*{grid-column:1!important;grid-row:auto!important}
  .hm-mtk{grid-template-columns:auto minmax(0,1fr)}.hm-mtk .hm-acts{grid-column:1/-1}
  .hm-mysqs{grid-template-columns:1fr}
}
.hm-flow{max-width:820px;max-height:240px}
/* 티켓 신선도 시연 (관리자 「티켓 연동 · 데이터 점검」) */
.hm-demo{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;padding:6px 8px;margin-bottom:8px;border:1px dashed var(--line);border-radius:8px}
.hm-demo b{color:var(--hq)}
