:root{--bg: #0f172a;--panel: #1e293b;--panel-2: #273449;--border: #334155;--text: #e2e8f0;--muted: #94a3b8;--accent: #38bdf8;--good: #34d399;--bad: #f87171;--warn: #fbbf24}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Hiragino Kaku Gothic ProN,Meiryo,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px}.app{max-width:1280px;margin:0 auto;padding:16px}header.topbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 16px;background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:16px}header.topbar h1{font-size:18px;margin:0}.unit-badge{margin-left:auto;color:var(--muted);font-size:12px;border:1px dashed var(--border);padding:4px 8px;border-radius:6px}.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tab{padding:8px 16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--muted)}.tab.active{background:var(--accent);color:#04293a;font-weight:600;border-color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px}.panel h2{font-size:15px;margin:0 0 12px}.panel h3{font-size:13px;margin:16px 0 8px;color:var(--muted)}.summary-bar{background:linear-gradient(90deg,#0c4a6e,#155e75);border:1px solid var(--accent);border-radius:10px;padding:16px 20px;margin-bottom:16px;font-size:16px;line-height:1.6}.summary-bar b{color:var(--accent)}.summary-bar .neg{color:var(--warn)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.kpi-card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:14px}.kpi-card .label{color:var(--muted);font-size:12px}.kpi-card .value{font-size:22px;font-weight:700;margin-top:4px}.kpi-card .sub{color:var(--muted);font-size:12px;margin-top:2px}.kpi-card.good{border-left:4px solid var(--good)}.kpi-card.bad{border-left:4px solid var(--bad)}.kpi-card .value.good{color:var(--good)}.kpi-card .value.bad{color:var(--bad)}.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px}.chart-box{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px}.chart-box h3{margin:0 0 8px;font-size:13px}.chart-note{color:var(--muted);font-size:11px;margin-top:4px}.chart-box.clickable{cursor:pointer}.chart-box.clickable:hover{border-color:var(--accent)}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.chart-head h3{margin:0 0 8px}.chart-expand{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:6px;cursor:pointer;font-size:14px;line-height:1;padding:2px 6px}.chart-expand:hover{border-color:var(--accent);color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#020617b3;display:flex;align-items:center;justify-content:center;padding:24px}.modal-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;width:min(1100px,92vw);max-height:90vh;overflow:auto;box-shadow:0 20px 60px #00000080}.modal-panel .chart-head h3{font-size:15px}.modal-chart{width:100%;height:70vh}.modal-close{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:6px;cursor:pointer;font-size:18px;line-height:1;padding:2px 9px}.modal-close:hover{border-color:var(--accent);color:var(--text)}table.grid{border-collapse:collapse;width:100%;font-size:13px}table.grid th,table.grid td{border:1px solid var(--border);padding:4px 8px;text-align:right}table.grid th{background:var(--panel-2);color:var(--muted);font-weight:600;position:sticky}table.grid td.row-head,table.grid th.row-head{text-align:left;white-space:nowrap}table.grid input{width:88px;background:transparent;border:none;color:var(--text);text-align:right;font:inherit}table.grid input.inherited{color:var(--muted);font-style:italic}table.grid input:focus{outline:1px solid var(--accent);background:#0b1220}.grid-scroll{overflow-x:auto}.btn{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:6px;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:#04293a;border-color:var(--accent);font-weight:600}.btn.danger{color:var(--bad)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row+.row{margin-top:8px}label.field{display:inline-flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}label.field input,label.field select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:5px 8px;border-radius:6px;font:inherit}input.num-field{text-align:right}details.collapsible>summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}details.collapsible>summary::-webkit-details-marker{display:none}details.collapsible>summary .collapse-title{font-size:18px;font-weight:700}details.collapsible>summary:before{content:"▸";color:var(--muted);margin-right:2px}details.collapsible[open]>summary:before{content:"▾"}.collapse-digest{font-size:12px}details.collapsible h3{margin:12px 0 6px;font-size:13px;color:var(--muted)}details.collapsible>summary+*{margin-top:12px}.assump-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.assump-item{margin:0}.assump-item .k{color:var(--muted);font-size:12px}.assump-item .v{font-size:15px;margin:2px 0 0;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.assump-item .v.big{font-size:20px;font-weight:700}.tag.var{color:var(--warn);border-color:var(--warn)}.muted{color:var(--muted)}.empty{color:var(--muted);padding:24px;text-align:center;border:1px dashed var(--border);border-radius:8px}.tag{font-size:11px;padding:1px 6px;border-radius:4px;background:var(--panel-2);border:1px solid var(--border)}.tag.on{color:var(--good);border-color:var(--good)}.warnbox{background:#422006;border:1px solid var(--warn);color:#fde68a;padding:8px 12px;border-radius:8px}.manual p{line-height:1.7;margin:8px 0}.manual ol,.manual ul{line-height:1.8;margin:8px 0;padding-left:22px}.manual h3{font-size:13px;margin:14px 0 8px;color:var(--muted)}.manual-qa dt{line-height:1.6}.manual-qa dd{line-height:1.7}.manual-qa .warnbox dd{color:#fde68a}
