:root{--ground:#f5f6f8;--surface:#fff;--raised:#fafbfc;--ink:#191f28;--ink-2:#333d4b;--muted:#6b7684;--faint:#b0b8c1;--line:#e5e8eb;--line-soft:#f0f2f4;--hq:#1f8a4c;--hq-strong:#17733e;--hq-tint:#e9f6ee;--in:#2f6fd0;--in-tint:#ebf2fd;--warn:#e0332a;--warn-tint:#fdeeed;--pending:#d9730d;--pending-tint:#fff4e5;--req:#7447c6;--req-tint:#f3edfc;--on-hq:#fff;--shadow-sm:0 1px 2px #1118270a;--shadow-md:0 4px 16px #1118270f;--shadow-lg:0 24px 64px #1118272e;--ease:cubic-bezier(.2, .8, .2, 1);--sans:"Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--mono:var(--sans);--code:ui-monospace, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--ground:#101214;--surface:#1a1d21;--raised:#202328;--ink:#eceef1;--ink-2:#c9ced5;--muted:#9aa3ad;--faint:#5b636c;--line:#2c3036;--line-soft:#23272c;--hq:#4cc27d;--hq-strong:#6fd396;--hq-tint:#173226;--in:#7fb0f5;--in-tint:#1a2638;--warn:#ff7a70;--warn-tint:#3a1d1b;--pending:#f2a654;--pending-tint:#36281a;--req:#c4a4f5;--req-tint:#2a2140;--on-hq:#0e1a13;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 24px 64px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--sans);letter-spacing:-.01em;word-break:keep-all;-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.6}h1,h2,h3{text-wrap:balance;letter-spacing:-.025em;margin:0;line-height:1.35}h1{font-size:24px;font-weight:700}h2{font-size:17px;font-weight:700}p{margin:0}a{color:var(--hq)}small{font-size:12px}:focus-visible{outline:2px solid var(--hq);outline-offset:2px}::selection{background:var(--hq-tint)}.muted{color:var(--muted)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}.strong{font-weight:600}.warn{color:var(--warn)}.ok{color:var(--hq)}.r{text-align:right}.c{text-align:center}.nowrap{white-space:nowrap}.error{color:var(--warn);font-weight:500}.note{color:var(--pending);background:var(--pending-tint);border-radius:10px;padding:10px 14px;font-size:13px}.eyebrow{color:var(--muted);font-size:13px;font-weight:500}.boot{color:var(--muted);padding:48px 24px}.btn,.btn-ghost,.seg,.link,.icon-btn{font:inherit;cursor:pointer}.btn{background:var(--hq);min-height:36px;color:var(--on-hq);white-space:nowrap;transition:background-color .15s, transform .1s var(--ease), box-shadow .15s;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--hq-strong);box-shadow:0 4px 12px color-mix(in srgb, var(--hq) 28%, transparent)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:default}.btn-ghost{background:var(--surface);min-height:34px;color:var(--ink-2);border:1px solid var(--line);white-space:nowrap;transition:background-color .15s, border-color .15s, color .15s, transform .1s var(--ease);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:500;text-decoration:none;display:inline-flex}.btn-ghost:hover:not(:disabled){background:var(--raised);border-color:color-mix(in srgb, var(--hq) 45%, var(--line));color:var(--hq)}.btn-ghost:active:not(:disabled){transform:scale(.97)}.btn-ghost:disabled{opacity:.45;cursor:default}.icon-btn{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:999px;place-items:center;transition:background-color .15s,color .15s;display:inline-grid}.icon-btn:hover{background:var(--line-soft);color:var(--ink)}.link{color:var(--hq);background:0 0;border:0;padding:0;font-weight:500;text-decoration:none}.link:hover{text-underline-offset:3px;text-decoration:underline}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;min-height:36px;padding:6px 10px;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:var(--faint)}input:focus,select:focus,textarea:focus{border-color:var(--hq);box-shadow:0 0 0 3px color-mix(in srgb, var(--hq) 18%, transparent);outline:none}input[type=checkbox]{accent-color:var(--hq);cursor:pointer;width:16px;height:16px;min-height:0}.cell-input{background:0 0;border-color:#0000;width:100%;min-height:30px;padding:3px 6px}.cell-input:hover,.cell-input:focus{border-color:var(--line);background:var(--surface)}.shell{min-height:100vh}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:10;flex-wrap:wrap;align-items:center;gap:24px;padding:10px 20px;display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:-.03em;align-items:center;gap:10px;font-size:16px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;letter-spacing:0;background:linear-gradient(135deg,#2aa35e,#16713c);border-radius:8px;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:inline-grid;box-shadow:0 2px 6px #1f8a4c59}.topnav{flex-wrap:wrap;gap:2px;display:flex}.topnav a{color:var(--muted);border-radius:6px;padding:5px 10px;text-decoration:none}.topnav a:hover{color:var(--ink);background:var(--ground)}.topnav a.on{color:var(--hq);background:var(--hq-tint);font-weight:600}.who{color:var(--muted);align-items:center;gap:10px;margin-left:auto;display:flex}.who .role{border:1px solid var(--line);border-radius:999px;padding:0 8px;font-size:12px}.avatar{background:var(--hq-tint);width:32px;height:32px;color:var(--hq);border-radius:999px;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.who-name{line-height:1.2;display:grid}.who-name b{color:var(--ink);font-size:13px;font-weight:600}.who-name small{font-size:11px}.page{max-width:1480px;margin:0 auto;padding:20px}.crumb{color:var(--muted);margin-bottom:10px;font-size:13px}.crumb a{color:var(--muted)}.stack{gap:20px;display:grid}.page-head{gap:6px;max-width:90ch;display:grid}.page-head>p.muted{font-size:13.5px;line-height:1.65}.panel{background:var(--surface);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);border-radius:16px;gap:14px;padding:20px 22px;display:grid}.panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow-x:auto}table.grid{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.grid th,.grid td{border-bottom:1px solid var(--line-soft);vertical-align:top;text-align:left;padding:10px 12px}.grid tbody tr:last-child td{border-bottom:0}.grid th.r,.grid td.r{text-align:right}.grid thead th{z-index:1;background:var(--raised);color:var(--muted);white-space:nowrap;border-bottom:1px solid var(--line);padding-top:11px;padding-bottom:11px;font-size:12.5px;font-weight:500;position:sticky;top:0}.grid tbody tr{transition:background-color .12s}.grid tbody tr:hover{background:var(--raised)}.grid tr.picked,.grid tr.picked:hover{background:var(--hq-tint)}.grid tr.reverted td{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.grid tr.reverted td:last-child{text-decoration:none}.grid td.file{overflow-wrap:anywhere;max-width:220px}.table-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cat{flex-direction:column;font-weight:500;line-height:1.3;display:inline-flex}.cat small{color:var(--muted);font-weight:400}.zero{color:var(--faint)}@media (prefers-reduced-motion:no-preference){.grid tbody tr{animation:.3s ease-out row-in}.grid tbody tr.row-leave{pointer-events:none;animation:.32s ease-in forwards row-out}@keyframes row-in{0%{opacity:0}}@keyframes row-out{0%{background:var(--hq-tint)}35%{background:color-mix(in srgb, var(--hq) 22%, var(--surface));opacity:1}to{background:var(--hq-tint);opacity:0}}}.skeleton-row td{padding:14px 12px}.skeleton{background:linear-gradient(90deg, var(--line-soft) 25%, var(--line) 50%, var(--line-soft) 75%);background-size:200% 100%;border-radius:6px;height:12px;display:block}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.2s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}}.chip{border:1px solid color-mix(in srgb, currentColor 22%, transparent);white-space:nowrap;border-radius:6px;align-items:center;padding:1px 8px;font-size:12px;font-weight:600;line-height:1.5;display:inline-flex}.chip-warn{color:var(--warn);background:var(--warn-tint)}.chip-info{color:var(--in);background:var(--in-tint)}.chip-muted{color:var(--muted);background:var(--line-soft)}.filters,.bulk,.ctls,.actions{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.actions{gap:8px}.bulk{background:var(--raised);border:1px solid var(--line-soft);border-radius:12px;padding:8px 12px}.field-inline{align-items:center;gap:8px;display:inline-flex}.field-inline label{color:var(--muted);white-space:nowrap;font-size:13px}.check{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.tabs{border-bottom:1px solid var(--line);gap:4px;display:flex}.tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:500;transition:color .15s,border-color .2s}.tabs button:hover{color:var(--ink)}.tabs button.on{color:var(--ink);border-bottom-color:var(--ink);font-weight:700}.ctls .grp{background:var(--line-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:2px;padding:3px;display:inline-flex}.ctls .lbl{color:var(--muted);margin:0 6px 0 8px;font-size:12.5px}.seg{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:5px 12px;font-weight:500;transition:background-color .15s,color .15s,box-shadow .15s}.seg:hover{color:var(--ink)}.seg.on{background:var(--surface);color:var(--ink);font-weight:700;box-shadow:0 1px 3px #1118271f}.report td:first-child{white-space:nowrap}.report tr.sec td{background:var(--raised);color:var(--muted);letter-spacing:.02em;font-size:12px;font-weight:700}.report tr.lv1 td:first-child{font-weight:600}.report tr.lv2 td:first-child{color:var(--muted);padding-left:30px}.report tr.sum td{border-top:1px solid var(--line);background:var(--hq-tint);color:var(--ink);font-weight:800}.report td .link{font-family:var(--mono);color:inherit}.report td .link:hover{color:var(--hq)}tr.warn-row td{color:var(--warn);font-weight:600}.checks{flex-wrap:wrap;gap:6px 18px;font-size:13px;display:flex}.checks a{color:inherit}.checks a.warn{color:var(--warn)}.drop{border:1.5px dashed var(--line);background:var(--raised);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;padding:18px;transition:border-color .15s,background-color .15s;display:flex}.drop:hover{border-color:var(--hq);background:var(--hq-tint)}.preview{gap:10px;display:grid}.facts{flex-wrap:wrap;gap:8px 24px;margin:0;display:flex}.facts div{display:grid}.facts dt{color:var(--muted);font-size:12px}.facts dd{margin:0;font-weight:600}.plan{flex-wrap:wrap;gap:8px;display:flex}.plan-item{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:6px 14px}.plan-item b{margin-left:4px;font-size:17px}.plan-add{border-color:color-mix(in srgb, var(--hq) 40%, transparent);background:var(--hq-tint);color:var(--hq)}.plan-warn{border-color:color-mix(in srgb, var(--warn) 40%, transparent);background:var(--warn-tint);color:var(--warn)}.plan-ok{color:var(--hq)}.map{gap:14px;display:grid}.map-head{gap:6px;max-width:80ch;margin-bottom:6px;display:grid}.layer{grid-template-columns:88px 1fr;align-items:stretch;gap:12px;display:grid}.layer-label{color:var(--muted);align-content:start;padding-top:10px;font-size:13px;font-weight:600;display:grid}.layer-label small{font-weight:400}.layer-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.layer-row.screens{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.sources{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.source{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px}.source-out{color:var(--muted);background:0 0;border-style:dashed}.box{background:var(--surface);border:1px solid var(--line);color:var(--ink);min-height:92px;transition:border-color .15s, box-shadow .2s, transform .2s var(--ease);border-radius:12px;align-content:start;gap:2px;padding:12px 14px;text-decoration:none;display:grid}a.box:hover{border-color:var(--hq);box-shadow:var(--shadow-md);transform:translateY(-2px)}.box-strong{border-color:var(--ink)}.box-pending{background:0 0}.box-pending .box-title{color:var(--muted)}.box-title{font-weight:700}.box-line{color:var(--muted);font-size:12px}.box-foot{justify-content:space-between;align-items:end;gap:6px;margin-top:auto;padding-top:6px;display:flex}.box-badges{flex-wrap:wrap;gap:4px;display:flex}.box-route{font-family:var(--code);color:var(--muted);font-size:11px}.badge{white-space:nowrap;border-radius:6px;padding:0 7px;font-size:11px;font-weight:600}.badge-warn{background:var(--warn-tint);color:var(--warn)}.badge-info{background:var(--in-tint);color:var(--in)}.badge-muted{border:1px solid var(--line);color:var(--muted);font-weight:400}.stages{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.stage{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-content:start;gap:2px;padding:8px 10px;font-weight:600;display:grid}.stage small{color:var(--muted);font-size:12px;font-weight:400}.stage .badge{justify-self:start}.stage-pending{color:var(--muted);background:0 0}@media (width<=640px){.layer{grid-template-columns:1fr;gap:4px}.layer-label{padding-top:0}}.auth{background:radial-gradient(1200px 500px at 50% -10%, var(--hq-tint), transparent 70%), var(--ground);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow-md);border-radius:20px;gap:10px;padding:32px;display:grid}.form{gap:6px;margin-top:8px;display:grid}.form label{color:var(--muted);margin-top:8px;font-size:13px}.form input{min-height:44px}.form .btn{min-height:46px;margin-top:14px;font-size:15px}.placeholder{justify-items:start;gap:10px;max-width:70ch;padding:24px 0;display:grid}.modal-back{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#1118276b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--line);width:min(640px,100%);max-height:88vh;box-shadow:var(--shadow-lg);border-radius:20px;grid-template-rows:auto 1fr;display:grid;overflow:hidden}.modal-wide{width:min(1100px,100%)}.modal-head{justify-content:space-between;align-items:center;gap:12px;padding:18px 16px 10px 24px;display:flex}.modal-head h2{font-size:19px}.modal-body{align-content:start;gap:14px;padding:8px 24px 24px;display:grid;overflow:auto}@media (prefers-reduced-motion:no-preference){.modal-back{animation:.18s ease-out both fade-in}.modal{animation:pop-in .26s var(--ease) both}.modal-back.closing{animation:.16s ease-in forwards fade-out}.modal-back.closing .modal{animation:.16s ease-in forwards pop-out}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}@keyframes pop-out{to{opacity:0;transform:translateY(8px)scale(.98)}}}.toast{color:#fff;z-index:60;cursor:pointer;max-width:min(640px,100% - 32px);box-shadow:var(--shadow-lg);background:#1f2630;border-radius:14px;align-items:center;gap:10px;padding:12px 18px 12px 12px;font-weight:500;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-icon{color:#fff;background:#2aa35e;border-radius:999px;flex:none;place-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:inline-grid}.toast-error .toast-icon{background:#e0332a}@media (prefers-reduced-motion:no-preference){.toast{animation:rise .3s var(--ease)}.toast.leaving{animation:.2s ease-in forwards sink}@keyframes rise{0%{opacity:0;transform:translate(-50%,16px)scale(.96)}to{opacity:1;transform:translate(-50%)}}@keyframes sink{to{opacity:0;transform:translate(-50%,10px)}}}.app{grid-template:"header header"60px"nav content"1fr/240px minmax(0,1fr);min-height:100vh;display:grid}.app-header{z-index:20;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);grid-area:header;align-items:center;gap:16px;padding:0 20px;display:flex;position:sticky;top:0}.app-header .brand{min-width:204px}.nav-toggle{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:4px 10px;display:none}.office-switch{background:var(--line-soft);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.office-switch button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:5px 16px;font-size:13px;font-weight:500;transition:background-color .15s,color .15s,box-shadow .15s}.office-switch button:hover{color:var(--ink)}.office-switch button.on{background:var(--surface);color:var(--hq);font-weight:700;box-shadow:0 1px 3px #1118271f}.sidebar{background:var(--surface);border-right:1px solid var(--line);height:calc(100vh - 60px);color:var(--ink-2);grid-area:nav;padding:12px 12px 40px;position:sticky;top:60px;overflow-y:auto}.nav-group{padding:4px 0 8px}.nav-group-label{color:var(--muted);align-items:center;gap:10px;padding:10px 10px 4px;font-size:13px;font-weight:600;display:flex}.nav-icon{color:var(--faint);flex:none}.nav-item{color:var(--ink-2);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:1px 0;padding:8px 10px 8px 38px;font-size:14px;text-decoration:none;transition:background-color .12s,color .12s;display:flex}.nav-group:first-child .nav-item{padding-left:10px;font-weight:600}.nav-label{align-items:center;gap:10px;display:inline-flex}.nav-item:hover{background:var(--line-soft);color:var(--ink)}.nav-item.on{background:var(--hq-tint);color:var(--hq);font-weight:700}.nav-item.on .nav-icon{color:var(--hq)}.nav-item.pending{color:var(--faint)}.nav-item:focus-visible{outline:2px solid var(--hq);outline-offset:-2px}.nav-badge{background:var(--warn);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 7px;font-size:11px;font-weight:700;line-height:18px}.nav-soon{color:var(--faint);font-size:11px}.content{grid-area:content;min-width:0;max-width:1560px;padding:28px 40px 64px}.content .crumb{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:500}@media (prefers-reduced-motion:no-preference){.page-enter{animation:page-in .32s var(--ease)}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}}.nav-scrim{display:none}@media (width<=900px){.app{grid-template-columns:minmax(0,1fr);grid-template-areas:"header""content"}.nav-toggle{display:inline-block}.app-header{gap:10px;padding:0 12px}.app-header .brand{min-width:0}.who-name{display:none}.sidebar{z-index:30;width:264px;transition:transform .24s var(--ease);box-shadow:var(--shadow-lg);position:fixed;top:60px;left:0;transform:translate(-100%)}.app.nav-open .sidebar{transform:none}.app.nav-open .nav-scrim{z-index:25;background:#11182759;display:block;position:fixed;inset:60px 0 0}.content{padding:18px 16px 48px}}@media (width<=560px){.office-switch button{padding:5px 9px}.brand-name{display:none}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.dash{gap:20px;display:grid}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px 16px;display:flex}.kpis{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:box-shadow .2s, transform .2s var(--ease);border-radius:16px;align-content:start;gap:6px;padding:20px 22px;display:grid}.kpi:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-label{color:var(--muted);font-size:14px;font-weight:500}.kpi-value{font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:28px;font-weight:800;line-height:1.2}.kpi-value .unit{color:var(--ink-2);margin-left:2px;font-size:16px;font-weight:600}.kpi-value.neg{color:var(--warn)}.kpi-sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.kpi-sub.up{color:var(--hq)}.kpi-sub.down{color:var(--warn)}.kpi-bar{background:var(--line-soft);border-radius:999px;height:6px;margin-top:6px;overflow:hidden}.kpi-bar>span{border-radius:inherit;background:var(--hq);height:100%;transition:width .8s var(--ease);display:block}.kpi-bar>span.neg{background:var(--warn)}.dash-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=1000px){.dash-cols{grid-template-columns:1fr}}.todo{margin:0;padding:0;list-style:none}.todo li a{color:var(--ink);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 -10px;padding:12px 10px;text-decoration:none;transition:background-color .12s;display:flex}.todo li a:after{content:"›";color:var(--faint);margin-left:-4px;font-size:18px;line-height:1}.todo li a:hover{background:var(--raised)}.todo .count{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.todo .count.warn{color:var(--warn);background:var(--warn-tint);border-radius:999px;padding:0 10px}.todo .count.zero{color:var(--faint);font-weight:400}.steps{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step}.steps a,.steps .step{background:var(--surface);border:1px solid var(--line);height:100%;color:var(--ink);transition:border-color .15s, box-shadow .2s, transform .2s var(--ease);border-radius:14px;gap:2px;padding:14px 16px;text-decoration:none;display:grid}.steps a:hover{border-color:var(--hq);box-shadow:var(--shadow-md);transform:translateY(-2px)}.steps b:before{content:counter(step);background:var(--hq-tint);width:20px;height:20px;color:var(--hq);vertical-align:1px;border-radius:999px;place-items:center;margin-right:8px;font-size:11px;font-weight:800;display:inline-grid}.steps small{color:var(--muted)}.steps .step{color:var(--muted);background:0 0;border-style:dashed}.list-summary{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:6px 22px;font-size:13px;display:flex}.list-summary b{font-variant-numeric:tabular-nums;color:var(--ink);margin:0 2px;font-size:15px;font-weight:700}.grid tr.sum-row td{border-top:1px solid var(--line);background:var(--raised);font-weight:700}.kinds{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;display:grid}.kind{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:2px;padding:10px 14px;transition:border-color .15s,background-color .15s;display:grid}.kind small{color:var(--muted)}.page-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;display:flex}.page-top>.btn{flex:none;text-decoration:none}.kind.on{background:var(--hq-tint);border-color:var(--hq)}.kind.on b{color:var(--hq)}.from-origin{color:var(--hq);font-size:13px}.grid tr.group-row td{background:var(--raised);border-top:1px solid var(--line)}.small{margin-top:2px;font-size:12px}.cls-cell{min-width:180px}.ai-note{color:var(--muted);max-width:320px;margin-top:2px;font-size:12px;display:block}.progress{background:var(--line-soft);border-radius:999px;height:8px;overflow:hidden}.progress>span{background:linear-gradient(90deg, #2aa35e, var(--hq));border-radius:inherit;height:100%;transition:width .4s var(--ease);display:block}.choice{border:1px solid var(--line);border-radius:12px;gap:6px;padding:12px 14px;display:grid}.choice legend{padding:0 4px;font-weight:700}.review-group{gap:10px;display:grid}.review-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.review-head h2{margin:0}.variants{flex-wrap:wrap;gap:6px;display:flex}.bulk input:not([type]){flex:220px;min-width:0}pre.code{font-family:var(--code);background:var(--raised);border:1px solid var(--line);border-radius:10px;padding:10px 14px;overflow-x:auto}.grid th .sort-btn{all:unset;cursor:pointer;font:inherit;color:inherit;align-items:center;gap:4px;transition:color .12s;display:inline-flex}.grid th .sort-btn:hover{color:var(--ink)}.grid th .sort-btn:focus-visible{outline:2px solid var(--hq);outline-offset:2px;border-radius:2px}.grid th.r .sort-btn{flex-direction:row;justify-content:flex-end}.sort-mark{color:var(--faint);font-size:10px}.sort-mark.on{color:var(--hq)}.grid thead tr.filter-row th{border-bottom:1px solid var(--line);padding:0 6px 8px;top:43px}.grid thead tr:first-child:has(+.filter-row) th{border-bottom:0}.filter-input{box-sizing:border-box;border-radius:6px;width:100%;min-width:60px;height:28px;min-height:28px;padding:3px 8px;font-size:12px}.filter-input.r{text-align:right}.cls-cell .link{margin-top:4px;font-size:12px;display:block}.grid.reclass select,.grid.reclass input{box-sizing:border-box;width:100%;min-width:160px}.grid.reclass td{vertical-align:middle}.seg-row{background:var(--line-soft);border-radius:12px;flex-wrap:wrap;justify-self:start;gap:2px;padding:4px;display:flex}.grid.pivot td .link{color:inherit;text-decoration:none}.grid.pivot td .link:hover{color:var(--hq);text-decoration:underline}.grid.pivot td:first-child{max-width:28ch}.chip.ev{white-space:nowrap}.ev-matched{color:var(--hq);background:var(--hq-tint)}.ev-other{color:var(--in);background:var(--in-tint)}.ev-requested{color:var(--req);background:var(--req-tint)}.ev-not_needed,.ev-small,.ev-plain{color:var(--muted);background:var(--line-soft)}.ev-classify,.ev-missing{color:var(--pending);background:var(--pending-tint)}.ev-missing_old{color:var(--warn);background:var(--warn-tint);font-weight:700}.ev-text-missing_old{color:var(--warn)}.ev-text-requested{color:var(--req)}.ev-cell{justify-items:start;gap:3px;min-width:150px;display:grid}.ev-cell .link{font-size:12px}.grid tr.row-ev-missing_old td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.grid tr.row-ev-missing_old{background:color-mix(in srgb, var(--warn-tint) 50%, transparent)}.grid tr.row-ev-missing td:first-child{box-shadow:inset 3px 0 0 var(--pending)}.grid tr.row-ev-requested td:first-child{box-shadow:inset 3px 0 0 var(--req)}.ev-badges{flex-wrap:wrap;gap:10px;display:flex}.ev-badge{border:1px solid color-mix(in srgb, currentColor 18%, transparent);min-width:120px;font:inherit;text-align:left;cursor:pointer;transition:transform .15s var(--ease), box-shadow .2s;border-radius:12px;gap:0;padding:10px 14px;display:grid}.ev-badge:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.ev-badge:disabled{cursor:default}.ev-badge span{font-size:12px;font-weight:500}.ev-badge b{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;line-height:1.25}.ev-badge small{opacity:.85;font-size:11px}.ev-howto{border-top:1px solid var(--line-soft);gap:6px;max-width:100ch;padding-top:10px;display:grid}.ev-howto p,.ev-howto ol{margin:0}.ev-howto ol{gap:4px;padding-left:20px;display:grid}.choice-grid{flex-wrap:wrap;gap:6px 16px;display:flex}.report tr.subtotal td{color:var(--in);background:var(--in-tint);border-top:1px solid var(--line);font-weight:700}.report tr.subtotal td.warn{color:var(--warn)}.report .fold{all:unset;cursor:pointer;font:inherit;color:inherit;align-items:center;gap:6px;display:inline-flex}.report .fold:focus-visible{outline:2px solid var(--hq);outline-offset:2px;border-radius:4px}.report .fold small{color:var(--muted);background:var(--line-soft);opacity:0;border-radius:999px;margin-left:2px;padding:0 7px;font-size:11px;font-weight:500;transition:opacity .15s}.report tr.has-children:hover .fold small,.report .fold:focus-visible small,.report .fold[aria-expanded=false] small{opacity:1}.report .fold-caret{width:18px;height:18px;color:var(--muted);transition:transform .2s var(--ease), background-color .15s, color .15s;border-radius:5px;place-items:center;font-size:15px;line-height:1;display:inline-grid}.report .fold:hover .fold-caret{background:var(--line-soft);color:var(--hq)}.report .fold[aria-expanded=true] .fold-caret{color:var(--hq);transform:rotate(90deg)}.report tr.has-children:hover td{background:var(--raised)}.report tr.child td{background:color-mix(in srgb, var(--raised) 60%, transparent)}
