:root{color-scheme:dark;--bg:#071018;--side:#0b151f;--surface:#101d29;--surface2:#172736;--line:#293b4d;--text:#eef5fb;--muted:#96aabc;--green:#55d39d;--blue:#65a9ff;--yellow:#efc667;--red:#ff7b82;--purple:#ac99ff;--cyan:#63d5dc}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted,.caption{color:var(--muted)}.caption{font-size:12px}.eyebrow{margin:0 0 5px;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}h1{margin:0;letter-spacing:-.04em;font-size:clamp(25px,3vw,36px)}h2{margin:0 0 12px;font-size:18px;letter-spacing:-.02em}p{margin:0}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#123348 0,transparent 37%),radial-gradient(circle at 80% 90%,#17332b 0,transparent 34%),var(--bg)}.login-card{width:min(430px,100%);border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 94%,transparent);padding:34px;box-shadow:0 24px 90px #0008}.brand-mark{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(140deg,var(--green),var(--blue));color:#061019;font-size:24px;font-weight:900;margin-bottom:20px}.brand-mark.small{width:40px;height:40px;border-radius:11px;font-size:17px;margin:0}.login-card .muted{margin:8px 0 24px}.field{display:grid;gap:7px;color:var(--muted);font-size:12px}.field input,.control input[type=number],.control select,.inline-controls input,.calc-grid input{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--surface2);color:var(--text);padding:10px 11px;outline:none}.field input:focus,input:focus,select:focus{border-color:var(--blue)}.primary{border:0;border-radius:9px;background:var(--green);color:#071018;font-weight:800;padding:11px 14px}.wide{width:100%;margin-top:14px}.error{min-height:21px;color:var(--red);font-size:12px;margin-top:9px}
.app{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--side);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column}.side-brand{display:flex;gap:11px;align-items:center;padding:0 5px 20px}.side-brand b,.side-brand small{display:block}.side-brand small{color:var(--muted);font-size:10px}.sidebar nav{display:grid;gap:5px}.sidebar nav button,.ghost{border:1px solid transparent;background:transparent;color:var(--muted);text-align:left;border-radius:8px;padding:10px 12px}.sidebar nav button:hover,.sidebar nav button.active{background:var(--surface2);color:var(--text);border-color:var(--line)}.sidebar nav button.active{color:var(--green)}.side-bottom{display:grid;gap:4px;margin-top:auto}.ghost{border-color:var(--line)}.ghost:hover{color:var(--text);border-color:var(--blue)}.ghost.danger:hover{border-color:var(--red);color:var(--red)}.ghost.compact{padding:6px 9px;font-size:12px}
.content{min-width:0;padding:26px 28px 70px;max-width:1600px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.topbar .muted{margin-top:5px;font-size:12px}.status{border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted);font-size:11px;white-space:nowrap}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:6px}.page{padding-top:20px}
.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.kpi-grid.four{grid-template-columns:repeat(4,1fr)}.kpi{padding:15px;min-height:100px;border-right:1px solid var(--line)}.kpi:last-child{border:0}.kpi span,.kpi small{display:block;color:var(--muted);font-size:11px}.kpi strong{display:block;font-size:21px;letter-spacing:-.03em;margin:8px 0 3px}.positive{color:var(--green)!important}.negative{color:var(--red)!important}
.alert{margin-top:16px;padding:12px 14px;background:color-mix(in srgb,var(--blue) 7%,var(--surface));border-left:3px solid var(--blue);color:var(--muted)}.alert b{color:var(--text)}.alert.warn{border-color:var(--yellow);background:color-mix(in srgb,var(--yellow) 7%,var(--surface))}.grid{display:grid;gap:18px;margin-top:18px}.grid.two{grid-template-columns:1fr 1fr}.model-grid{grid-template-columns:1fr 1fr .85fr}.panel{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:18px;min-width:0}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.badge,.chip{border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--muted);background:transparent;font-size:11px}.badge.good{border-color:var(--green);color:var(--green)}.badge.bad{border-color:var(--red);color:var(--red)}
.waterfall{display:grid;gap:10px}.wf-row{display:grid;grid-template-columns:110px 1fr 105px;gap:10px;align-items:center}.wf-track{height:14px;background:var(--surface2);border-radius:3px;overflow:hidden}.wf-track i{display:block;height:100%;background:var(--blue)}.wf-row.cost .wf-track i{background:var(--yellow)}.wf-row.profit .wf-track i{background:var(--green)}.wf-row.loss .wf-track i{background:var(--red)}.wf-row b{text-align:right;font-variant-numeric:tabular-nums}.bars{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:70px 1fr 90px;gap:9px;align-items:center}.bar-pair{display:grid;gap:3px}.bar-pair i{display:block;height:8px;border-radius:2px;background:var(--green)}.bar-pair i.out{background:var(--yellow)}.bar-row b{text-align:right;font-size:12px}.bar-row small{color:var(--muted)}
.insights{display:grid;gap:10px}.insight{padding:11px 12px;background:var(--surface2);border-radius:8px;color:var(--muted)}.insight b{color:var(--text)}.donut-layout{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center}.donut{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) 0 35%,var(--blue) 35% 68%,var(--yellow) 68% 88%,var(--purple) 88%)}.donut:before{content:"";grid-area:1/1;width:105px;height:105px;border-radius:50%;background:var(--surface)}.donut>div{grid-area:1/1;z-index:1;text-align:center}.donut strong,.donut span{display:block}.donut span{font-size:11px;color:var(--muted)}.legend{display:grid;gap:9px}.legend-row{display:grid;grid-template-columns:9px 1fr auto;gap:8px;align-items:center}.legend-row i{width:9px;height:9px;border-radius:2px}.legend-row span{color:var(--muted)}
.scenario-row{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:7px 12px}.chip:hover,.chip.active{color:var(--text);border-color:var(--green);background:color-mix(in srgb,var(--green) 8%,transparent)}.controls{display:grid;align-content:start;gap:14px}.control{display:grid;gap:6px;color:var(--muted);font-size:12px}.control span{display:flex;justify-content:space-between}.control i{font-style:normal;color:var(--blue);font-weight:700}.control input[type=range]{width:100%;accent-color:var(--blue)}.control input[type=number],.control select{color:var(--blue);font-weight:700}.output-card{background:linear-gradient(155deg,color-mix(in srgb,var(--green) 8%,var(--surface)),var(--surface) 45%)}.hero-number{font-size:clamp(32px,4vw,50px);font-weight:900;letter-spacing:-.05em;margin:22px 0 2px}.mini-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.mini-kpis div{padding:10px;background:var(--surface2);border-radius:8px}.mini-kpis span,.mini-kpis b{display:block}.mini-kpis span{font-size:10px;color:var(--muted)}.decision{padding:12px;background:var(--surface2);border-radius:8px;color:var(--muted);margin-top:12px}.decision b{color:var(--text)}
.inline-controls,.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}.inline-controls label,.calc-grid label{color:var(--muted);font-size:11px}.inline-controls input,.calc-grid input{margin-top:5px;color:var(--blue)}.projection{grid-template-columns:repeat(12,1fr);height:230px;align-items:end;gap:7px}.projection .month-bar{display:grid;grid-template-rows:1fr auto;height:100%;align-items:end;gap:5px;text-align:center}.projection i{display:block;background:linear-gradient(var(--blue),color-mix(in srgb,var(--blue) 30%,var(--green)));border-radius:4px 4px 0 0;min-height:2px}.projection small{font-size:9px;color:var(--muted)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}.table-wrap.tall{max-height:610px}table{width:100%;border-collapse:collapse;white-space:nowrap;font-variant-numeric:tabular-nums}th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:right}th{position:sticky;top:0;background:var(--surface2);color:var(--muted);font-size:10px;z-index:1}th:nth-child(2),td:nth-child(2){text-align:left}td input[type=text],td input[type=number],td select{max-width:170px;border:1px solid var(--line);border-radius:6px;background:var(--surface2);color:var(--blue);padding:5px 7px}td input[type=number]{width:120px;text-align:right}.confidence{font-size:10px;padding:3px 6px;border-radius:999px;border:1px solid var(--line)}.confidence.높음{color:var(--green)}.confidence.중간{color:var(--yellow)}.confidence.낮음{color:var(--red)}
.strategy-list{display:grid;gap:11px}.strategy-item{display:grid;grid-template-columns:38px 1fr;gap:10px;padding-bottom:11px;border-bottom:1px solid var(--line)}.strategy-item:last-child{border:0}.strategy-item .num{width:32px;height:32px;border-radius:8px;background:var(--surface2);display:grid;place-items:center;color:var(--green);font-weight:800}.strategy-item p,.strategy-item small{display:block;color:var(--muted);margin-top:3px}.strategy-item small{color:var(--yellow)}.timeline{display:grid;gap:0}.timeline>div{border-left:2px solid var(--line);padding:0 0 18px 17px;position:relative}.timeline>div:before{content:"";position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--green)}.timeline p{color:var(--muted);margin-top:4px}.price-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.price-cards>div,.method-grid>div{background:var(--surface2);padding:14px;border-radius:8px}.price-cards b,.price-cards strong,.price-cards p{display:block}.price-cards strong{font-size:18px;margin:6px 0;color:var(--green)}.price-cards p,.method-grid p{color:var(--muted)}.source-list{display:grid;gap:10px}.source{display:grid;grid-template-columns:1fr 130px 1.4fr;gap:12px;padding:11px;background:var(--surface2);border-radius:8px}.source span{color:var(--muted)}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:1250px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.kpi:nth-child(3n){border-right:0}.model-grid{grid-template-columns:1fr 1fr}.output-card{grid-column:1/-1}.season-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(3,1fr)}.side-bottom{grid-template-columns:repeat(2,1fr);margin-top:15px}.grid.two,.model-grid{grid-template-columns:1fr}.method-grid{grid-template-columns:1fr 1fr}.content{padding:20px 14px 50px}.kpi-grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.topbar{flex-direction:column}.kpi-grid{grid-template-columns:1fr 1fr}.kpi:nth-child(even){border-right:0}.sidebar nav{grid-template-columns:1fr 1fr}.donut-layout{grid-template-columns:1fr}.price-cards,.method-grid{grid-template-columns:1fr}.source{grid-template-columns:1fr}.projection{gap:3px}.login-card{padding:24px}.strategy{grid-template-columns:40px 1fr}}
