:root{--blue:#2f6fd0;--red:#c8483c;--amber:#b8791b;--ink:#16191f;--ink-2:#5b6572;--ink-3:#8a94a1;--ink-body:#3c454f;--ink-4:#a3acb8;--ink-5:#b3bcc7;--ground:#eceef1;--surface:#fff;--surface-main:#f4f5f7;--surface-subtle:#fafbfc;--surface-muted:#f0f2f5;--border:#dfe3e8;--border-soft:#e7eaee;--border-strong:#c8cfd6;--border-faint:#e3e7ec;--blue-050:#eaf1fb;--blue-025:#f2f7fe;--blue-border:#cadcf6;--red-050:#fdf3f2;--red-border:#f0cdc8;--amber-050:#fdf3e2;--amber-border:#e8d3a8;--amber-line:#d9b877;--amber-ink:#8a5f14;--amber-ink-2:#8a6d24;--green:#2f7d4f;--green-2:#3f7d5c;--green-050:#eef6f1;--green-border:#b9d2c4;--teal:#1f7a8c;--teal-050:#e9f4f6;--purple:#7a5aa8;--purple-050:#f3eefa;--mark-excellent:#2f7d4f;--mark-good:#5b6572;--mark-caution:#b8791b;--mark-bad:#c8483c;--shell-width:1440px;--sidebar-width:210px;--header-height:52px;--version-bar-height:36px;--basis-band-height:28px;--card-radius:7px;--panel-gap:14px;--card-gap:12px;--font-sans:"Noto Sans JP",-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--font-mono:"Roboto Mono",ui-monospace,"SFMono-Regular","Menlo",monospace}body,html{margin:0;padding:0;background:var(--ground);font-family:var(--font-sans);color:var(--ink);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}a{color:var(--blue);text-decoration:none}a:hover{color:#1f56a8;text-decoration:underline}button{font-family:inherit;cursor:pointer}table{border-collapse:collapse}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px;border:2px solid #fff}.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shell{width:var(--shell-width);margin:0 auto;background:var(--surface);min-height:100vh;box-shadow:0 0 0 1px var(--border)}.header{gap:14px;height:var(--header-height);padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);position:relative;z-index:40}.brand,.header{display:flex;align-items:center}.brand{gap:8px;padding-right:14px;border-right:1px solid var(--border-soft)}.brand-mark{width:16px;height:16px;border-radius:3px;background:var(--ink)}.brand-name{font-size:13px;font-weight:700;letter-spacing:.04em}.chip-button{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px;background:var(--surface-main);border:1px solid var(--border);border-radius:4px;font-size:12.5px;font-weight:500;color:var(--ink)}.chip-button .label{font-size:10.5px;color:var(--ink-3)}.chip-button.accent,.chip-button.on-white{background:var(--surface)}.chip-button.accent{border-color:var(--blue);color:var(--blue)}.count-pill{min-width:18px;height:17px;padding:0 5px;border-radius:9px;background:var(--blue);color:#fff;font-family:var(--font-mono);font-size:10.5px;display:inline-flex;align-items:center;justify-content:center}.spacer{flex:1 1}.avatar{width:26px;height:26px;border-radius:13px;background:var(--border-faint);font-size:11px;font-weight:700;display:inline-flex;justify-content:center}.avatar,.user-block{color:var(--ink-2);align-items:center}.user-block{display:flex;gap:8px;padding-left:12px;border-left:1px solid var(--border-soft);font-size:12px}.version-bar{display:flex;align-items:center;gap:10px;height:var(--version-bar-height);padding:0 16px;background:var(--surface-subtle);border-bottom:1px solid var(--border)}.eyebrow{font-size:10.5px;color:var(--ink-3);letter-spacing:.04em}.version-chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:11px;font-size:11.5px;font-weight:500;background:var(--surface-main);border:1px solid transparent}.version-chip[data-status=draft]{background:var(--surface);border-style:dashed}.version-chip .dot{width:6px;height:6px;border-radius:3px}.meta-right{font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.basis-band{display:flex;align-items:center;gap:8px;height:var(--basis-band-height);padding:0 16px;font-size:11.5px}.basis-band[data-basis="実態"]{background:var(--amber-050);border-bottom:1px solid #edd9b0;color:var(--amber-ink);font-weight:500}.basis-band[data-basis="記帳"]{background:#f6f7f9;border-bottom:1px solid var(--border-soft);color:var(--ink-2)}.basis-band .dot{width:7px;height:7px;border-radius:4px;background:currentColor}.body{display:flex;min-height:900px}.sidebar{width:var(--sidebar-width);flex:none;border-right:1px solid var(--border);background:var(--surface);padding:10px 0 40px}.nav-section{padding:14px 16px 6px;font-size:10.5px;color:var(--ink-3);letter-spacing:.06em}.nav-item{display:flex;align-items:center;gap:8px;padding:7px 16px;font-size:12.5px;color:var(--ink-body);border-left:3px solid transparent}.nav-item .dot{width:7px;height:7px;border-radius:4px;background:var(--border-strong);flex:none}.nav-item[data-loop=false] .dot{background:transparent}.nav-item .note{font-size:10.5px;color:var(--ink-5)}.nav-item[aria-current=page]{background:var(--blue-050);color:var(--blue);font-weight:700;border-left-color:var(--blue)}.nav-item[aria-current=page] .note{color:#7fa3d8}.nav-item[aria-current=page] .dot{background:var(--blue)}.main{flex:1 1;min-width:0;padding:18px 20px 60px;background:var(--surface-main)}.page-title{font-size:17px;font-weight:700;margin:0}.page-subtitle{font-size:12px;color:var(--ink-3);margin:4px 0 0}.page-head{display:flex;align-items:flex-end;gap:14px}.card,.page-head{margin-bottom:var(--panel-gap)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);padding:14px 16px}.card-title{font-size:13px;font-weight:700;margin:0 0 2px}.card-note{font-size:11.5px;color:var(--ink-3);margin:0 0 10px}.card-grid{display:grid;grid-gap:var(--card-gap);gap:var(--card-gap)}.tabs{display:flex;gap:6px;margin-bottom:var(--panel-gap);flex-wrap:wrap}.tab{height:30px;padding:0 12px;border-radius:15px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);font-size:12px}.tab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:500}.table{width:100%;font-size:12.5px}.table th{text-align:right;font-weight:500;font-size:11.5px;color:var(--ink-2);padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.table th:first-child{text-align:left}.table td{padding:5px 10px;border-bottom:1px solid var(--surface-muted);text-align:right;white-space:nowrap}.table td:first-child{text-align:left}.table tr[data-emphasis=subtotal] td{font-weight:700;background:var(--surface-subtle)}.table tr[data-emphasis=total] td{font-weight:700;background:var(--blue-025);border-top:1px solid var(--border)}.table td.num,.table th.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table .indent-1{padding-left:26px;color:var(--ink-2)}.value-good{color:var(--blue)}.value-bad{color:var(--red)}.badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:3px;font-size:10.5px;font-weight:500;border:1px solid transparent}.mark{font-family:var(--font-mono);font-size:12px;padding:1px 6px;border-radius:3px}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:4px;overflow:hidden;background:var(--surface)}.segmented button{height:24px;padding:0 10px;border:0;background:transparent;font-size:11.5px;color:var(--ink-2)}.segmented button[aria-pressed=true]{background:var(--ink);color:#fff;font-weight:500}.waterfall{display:flex;align-items:flex-end;gap:10px;height:220px;padding-top:10px}.waterfall-col{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative}.waterfall-bar{width:100%;max-width:68px;border-radius:2px}.waterfall-label{font-size:10.5px;color:var(--ink-2);margin-top:6px;text-align:center;line-height:1.3}.waterfall-value{font-family:var(--font-mono);font-size:11px;margin-bottom:4px}.stack{display:flex;height:26px;border-radius:3px;overflow:hidden}.legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:11px;color:var(--ink-2)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:9px;height:9px;border-radius:2px}.blocks{display:flex;gap:18px}.block-column{flex:1 1}.block-row{display:flex;align-items:center;justify-content:space-between;padding:0 8px;font-size:11.5px;border-radius:2px;margin-bottom:2px;min-height:18px}.empty-note{font-size:11.5px;color:var(--ink-3)}