:root{--brand:#FD6501;--brand-ink:#C24C00;--brand-subtle:#FFF6F0;--canvas:#FFFFFF;--danger:#B91C1C;--danger-subtle:#FDECEC;--growth:#15803D;--growth-subtle:#EEF8F1;--ink:#111111;--ink-muted:#666666;--ink-faint:#8A8A8A;--line:#E4E4E4;--on-brand:#FFFFFF;--surface:#F5F5F5;--surface-subtle:#FAFAFA;--warn:#B45309;--warn-subtle:#FCF3E6;--r-chip:6px;--r-control:12px;--r-card:16px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--shadow-card:0 1px 3px rgba(17,17,17,.05),0 10px 22px rgba(17,17,17,.05);--shadow-lifted:0 2px 4px rgba(17,17,17,.05),0 14px 28px rgba(17,17,17,.07);--shadow-raised:0 2px 8px rgba(0,0,0,.10);--fast:120ms;--base:200ms;--standard:cubic-bezier(.2,0,0,1)}@font-face{font-family:PretendardWeb;font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Regular.woff2) format("woff2")}@font-face{font-family:PretendardWeb;font-style:normal;font-weight:500;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Medium.woff2) format("woff2")}@font-face{font-family:PretendardWeb;font-style:normal;font-weight:700;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Bold.woff2) format("woff2")}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--surface-subtle);color:var(--ink);font-family:PretendardWeb,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:15px;line-height:1.55;font-feature-settings:"tnum" 1}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.2px}h1{font-size:20px;line-height:1.4}h2{font-size:17px;line-height:1.45;letter-spacing:-.1px}a{color:var(--brand-ink)}.shell{display:flex;min-height:100vh}.side{width:208px;flex:0 0 208px;background:var(--canvas);border-right:1px solid var(--line);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.side-head{background:var(--brand-ink);color:var(--on-brand);padding:var(--s4) var(--s5);border-bottom:3px solid var(--brand)}.side-head .mark{display:block;font-size:17px;font-weight:700}.side-head .sub{font-size:13px;font-weight:500;opacity:.85}.nav{padding:var(--s3) var(--s2);flex:1 1;overflow-y:auto}.nav a{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:0 var(--s3);margin-bottom:2px;border-radius:var(--r-chip);color:var(--ink-muted);text-decoration:none;font-size:15px;font-weight:500;transition:background var(--fast) var(--standard)}.nav a:hover{background:var(--surface);color:var(--ink)}.nav a.on{background:var(--brand-subtle);color:var(--brand-ink);font-weight:700}.nav .count{font-size:13px;font-weight:700;color:var(--warn);background:var(--warn-subtle);border-radius:var(--r-chip);padding:0 6px}.side-foot{padding:var(--s3) var(--s5);border-top:1px solid var(--line);font-size:13px;color:var(--ink-faint)}.side-foot button{margin-top:var(--s2);font-size:13px;color:var(--ink-muted);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.main{flex:1 1;min-width:0;padding:var(--s6) var(--s8) var(--s10)}.main>header{margin-bottom:var(--s6)}.main>header p{margin:var(--s1) 0 0;color:var(--ink-muted);font-size:13px}.card{background:var(--canvas);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:var(--s5);margin-bottom:var(--s6)}.card.lifted{box-shadow:var(--shadow-lifted)}.card.flat{box-shadow:none;border:1px solid var(--line)}.section-label{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s4)}.section-label:before{content:"";width:3px;height:16px;background:var(--brand);border-radius:2px}.section-label h2{color:var(--brand-ink)}.section-label .meta{margin-left:auto;font-size:13px;color:var(--ink-faint);font-weight:500}.grid{display:grid;grid-gap:var(--s4);gap:var(--s4)}.grid.g4{grid-template-columns:repeat(4,1fr)}.grid.g3{grid-template-columns:repeat(3,1fr)}.grid.g2{grid-template-columns:repeat(2,1fr)}.split{display:grid;grid-template-columns:260px 1fr;grid-gap:var(--s5);gap:var(--s5);align-items:start}@media (max-width:1100px){.grid.g4{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.main{padding:var(--s5)}}.stat .k{font-size:13px;font-weight:500;color:var(--ink-muted)}.stat .v{font-size:36px;font-weight:700;line-height:1.2;letter-spacing:-.5px}.stat .v.sm{font-size:28px;letter-spacing:-.3px}.stat .m{font-size:13px;color:var(--ink-faint)}.stat .v.warn{color:var(--warn)}.stat .v.growth{color:var(--growth)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-weight:700;font-size:13px;color:var(--ink-muted);white-space:nowrap}td,th{padding:var(--s2) var(--s3);border-bottom:1px solid var(--line)}td{vertical-align:middle}tbody tr:hover{background:var(--surface-subtle)}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td.strong{font-weight:700;font-size:15px}.muted,td.muted{color:var(--ink-muted)}.faint,td.faint{color:var(--ink-faint)}.nowrap{white-space:nowrap}.chip{display:inline-block;padding:1px 6px;border-radius:var(--r-chip);font-size:13px;font-weight:500;background:var(--surface);color:var(--ink-muted)}.chip.growth{background:var(--growth-subtle);color:var(--growth)}.chip.warn{background:var(--warn-subtle);color:var(--warn)}.chip.danger{background:var(--danger-subtle);color:var(--danger)}.chip.brand{background:var(--brand-subtle);color:var(--brand-ink)}.btn,button{font-family:inherit;font-size:15px;font-weight:700;border-radius:var(--r-control);border:1px solid var(--line);background:var(--canvas);color:var(--ink);padding:0 var(--s4);min-height:40px;cursor:pointer;transition:background var(--fast) var(--standard)}button:disabled,button:hover:not(:disabled){background:var(--surface)}button:disabled{color:var(--ink-faint);cursor:not-allowed}button.primary{background:var(--brand-ink);color:var(--on-brand);border-color:var(--brand-ink)}button.primary:hover:not(:disabled){background:#a94200}button.primary:disabled{background:var(--surface);border-color:var(--line)}button.danger{color:var(--danger);border-color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-subtle)}button.sm{min-height:32px;font-size:13px;padding:0 var(--s3);border-radius:var(--r-chip)}button.text{border:none;background:none;color:var(--brand-ink);padding:0 var(--s2)}:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px}input,select,textarea{font-family:inherit;font-size:15px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-control);padding:0 var(--s3);min-height:40px;width:100%}textarea{padding:var(--s2) var(--s3);line-height:1.55;resize:vertical}input:disabled{color:var(--ink-faint)}input.sm,select.sm{min-height:32px;font-size:13px;border-radius:var(--r-chip)}input.err,textarea.err{border-color:var(--danger)}.field{margin-bottom:var(--s4)}.field label{display:block;font-size:13px;font-weight:700;color:var(--ink-muted);margin-bottom:var(--s1)}.field .help{color:var(--ink-faint)}.field .err,.field .help{font-size:13px;margin-top:var(--s1)}.field .err{color:var(--danger)}.row{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}.row.end{justify-content:flex-end}.bar{display:flex;gap:var(--s2);align-items:center;margin-bottom:var(--s4);flex-wrap:wrap}.bar .grow{flex:1 1;min-width:160px}.tabs{display:flex;gap:var(--s1)}.tabs button{min-height:32px;font-size:13px;padding:0 var(--s3);border-radius:9999px;border:1px solid var(--line);font-weight:500}.tabs button.on{background:var(--brand-subtle);color:var(--brand-ink);border-color:var(--brand-subtle);font-weight:700}.note{border-radius:var(--r-control);padding:var(--s3) var(--s4);font-size:13px;margin-bottom:var(--s4)}.note.ok{background:var(--growth-subtle);color:var(--growth)}.note.warn{background:var(--warn-subtle);color:var(--warn)}.note.err{background:var(--danger-subtle);color:var(--danger)}.note.info{background:var(--surface-subtle)}.empty,.note.info{color:var(--ink-muted)}.empty{padding:var(--s8) 0;text-align:center;font-size:15px}.empty .act{margin-top:var(--s4)}.skeleton{background:var(--surface);border-radius:var(--r-chip);height:14px;margin:var(--s2) 0}.scrim{position:fixed;inset:0;background:rgba(17,17,17,.35);display:flex;align-items:center;justify-content:center;z-index:20}.dialog,.scrim{padding:var(--s5)}.dialog{background:var(--canvas);border-radius:var(--r-card);box-shadow:var(--shadow-raised);width:100%;max-width:420px}.dialog h2{margin-bottom:var(--s3)}.dialog p{margin:0 0 var(--s4);color:var(--ink-muted);font-size:15px}.dialog dl{margin:0 0 var(--s4);padding:var(--s3) var(--s4);background:var(--surface-subtle);border-radius:var(--r-control);font-size:13px}.dialog dl div{display:flex;justify-content:space-between;padding:2px 0}.dialog dl dt{color:var(--ink-muted);margin:0}.dialog dl dd{margin:0;font-weight:700}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--s5)}.login .card{max-width:440px;width:100%;margin:0}.login .brandline{height:3px;background:var(--brand);border-radius:2px;margin:0 0 var(--s5);width:40px}.spark{display:block}