:root{--bg:#f5f6f8;--card:#fff;--text:#17202a;--muted:#667085;--line:#dfe3e8;--accent:#2358a6;--soft:#eef4ff;--ok:#176b43;--warn:#8a5a00}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.wrap{max-width:960px;margin:auto;padding:28px 18px 60px}.hero{padding:20px 0 16px}.hero h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.05;margin:.25rem 0}.hero p{max-width:760px;color:var(--muted);font-size:1.08rem}.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.step{border:1px solid var(--line);background:var(--card);padding:12px;border-radius:12px;text-align:left;color:var(--muted)}.step.active{border-color:var(--accent);background:var(--soft);color:var(--accent);font-weight:700}.step span{margin-left:6px}.panel,.result-card,.analysis-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}.stage{display:none}.stage.active{display:block}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label{display:flex;flex-direction:column;gap:7px;font-weight:650}input,select{width:100%;min-height:46px;border:1px solid #cbd2da;border-radius:10px;padding:10px 12px;font:inherit;background:white}small,.muted{color:var(--muted);font-weight:400}.hidden{display:none!important}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}button{min-height:44px;border-radius:10px;padding:10px 16px;font:inherit;cursor:pointer}.primary{border:1px solid var(--accent);background:var(--accent);color:white}.secondary{border:1px solid var(--line);background:white;color:var(--text)}.notice{margin-top:20px;border-left:4px solid #d8a223;background:#fff9e8;padding:13px 15px;border-radius:8px;color:#614500}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.kpi{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:18px}.kpi span{display:block;color:var(--muted);font-size:.85rem}.kpi strong{display:block;font-size:1.45rem;margin-top:4px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px}.scenario{border:1px solid var(--line);border-radius:15px;padding:18px;background:var(--card)}.scenario.best{border:2px solid var(--ok)}.scenario h3{margin-top:0}.big{font-size:1.8rem;font-weight:800}.tag{display:inline-block;padding:4px 8px;border-radius:999px;background:#eaf7f0;color:var(--ok);font-size:.78rem;font-weight:800}.analysis-card{margin-top:16px}.range{width:100%}.sens-table{width:100%;border-collapse:collapse;margin-top:12px}.sens-table th,.sens-table td{padding:10px;border-bottom:1px solid var(--line);text-align:right}.sens-table th:first-child,.sens-table td:first-child{text-align:left}.bar-wrap{height:10px;background:#edf0f3;border-radius:99px;overflow:hidden}.bar{height:100%;background:var(--accent)}.memory{margin-top:16px}.memory summary{cursor:pointer;font-weight:700}.memory pre{white-space:pre-wrap;background:#f7f8fa;padding:14px;border-radius:10px;font-size:.85rem}.error{color:#9b1c1c;background:#fff1f1;border:1px solid #f1c2c2;padding:12px;border-radius:10px}footer{margin-top:24px;color:var(--muted);font-size:.85rem}
@media(max-width:680px){.grid,.comparison,.kpis{grid-template-columns:1fr}.step span{display:none}.panel{padding:18px}.actions>*{flex:1}}
@media print{body{background:white}.wrap{max-width:none;padding:0}.hero,.steps,.no-print,footer{display:none!important}.stage{display:none!important}.stage[data-stage="3"]{display:block!important}.result-card,.analysis-card,.scenario,.kpi{break-inside:avoid;box-shadow:none}.analysis-card.interactive{display:none}}
.accountant-panel{margin-top:18px}.accountant-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.accountant-head h2{margin:.2rem 0}
.zone-wrap{margin-top:18px;overflow-x:auto}.zone{border-collapse:separate;border-spacing:5px;width:100%;min-width:600px}.zone th{font-size:.78rem;color:var(--muted);font-weight:700;padding:6px}.zone td{padding:12px 8px;border-radius:9px;text-align:center;font-size:.78rem;font-weight:800;border:1px solid var(--line)}
.zone .sn{background:#f2f4f7;color:#344054}.zone .hy{background:#eaf7f0;color:#176b43}.zone .eq{background:#fff7df;color:#805800}.zone .current{outline:3px solid var(--accent);outline-offset:1px}
.zone-legend{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0;color:var(--muted);font-size:.82rem}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:5px}.dot.sn{background:#cfd4dc}.dot.hy{background:#8bc5a6}.dot.eq{background:#e9c55e}
.accountant-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
@media(max-width:680px){.accountant-head{display:block}.accountant-head button{margin-top:10px}.accountant-summary{grid-template-columns:1fr}}

.classification{grid-column:1/-1;border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:16px}
.classification strong{font-size:1.08rem}.classification .why{display:block;color:var(--muted);margin-top:4px}
.classification.review{background:#fff9e8;border-color:#ead49a}

.multi-block{grid-column:1/-1}.multi-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.activity-row{display:grid;grid-template-columns:1.4fr 1.8fr 1fr auto;gap:10px;align-items:end;padding:14px 0;border-bottom:1px solid var(--line)}
.activity-row label{font-size:.86rem}.activity-row .remove{border:1px solid var(--line);background:white;min-width:44px}
.activity-note{grid-column:1/-1;color:var(--muted);font-size:.8rem;margin-top:-4px}
.multi-total{display:flex;justify-content:space-between;padding:14px 0;font-size:1.05rem}
.readonly-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#f8fafc;display:flex;flex-direction:column}.readonly-card span,.readonly-card small{color:var(--muted)}.readonly-card strong{font-size:1.35rem}
.breakdown{width:100%;border-collapse:collapse;margin-top:10px}.breakdown th,.breakdown td{padding:9px;border-bottom:1px solid var(--line);text-align:right}.breakdown th:first-child,.breakdown td:first-child{text-align:left}
@media(max-width:760px){.activity-row{grid-template-columns:1fr}.activity-note{grid-column:1}.multi-head{display:block}.multi-head button{margin-top:10px;width:100%}}

.timeline-card{margin-top:16px}.timeline-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:14px 0}.year-pill{border:1px solid var(--line);border-radius:10px;padding:10px 5px;text-align:center;background:white}.year-pill strong{display:block}.year-pill small{font-size:.7rem;color:var(--muted)}
.projection-table{width:100%;border-collapse:collapse;min-width:760px}.projection-table th,.projection-table td{padding:9px;border-bottom:1px solid var(--line);text-align:right}.projection-table th:first-child,.projection-table td:first-child{text-align:left}
.proj-wrap{overflow-x:auto}.status-official{font-size:.72rem;color:var(--ok);font-weight:800}.status-proj{font-size:.72rem;color:var(--warn);font-weight:800}
.chart{display:flex;align-items:flex-end;gap:10px;height:210px;padding:18px 4px 0;border-bottom:1px solid var(--line);margin-top:14px}.chart-col{flex:1;height:100%;display:flex;gap:3px;align-items:flex-end;justify-content:center;position:relative;padding-bottom:25px}.chart-bar{width:32%;min-width:10px;border-radius:5px 5px 0 0;background:#b7c1cf}.chart-bar.hybrid{background:#75b48f}.chart-year{position:absolute;bottom:2px;font-size:.72rem;color:var(--muted)}.chart-legend{display:flex;gap:16px;font-size:.8rem;color:var(--muted);margin-top:8px}.swatch{display:inline-block;width:12px;height:8px;border-radius:2px;background:#b7c1cf;margin-right:5px}.swatch.hybrid{background:#75b48f}
@media(max-width:680px){.timeline-grid{grid-template-columns:repeat(4,1fr)}}
