:root{--ink:#243149;--ink-soft:#41536e;--muted:#627089;--background:#f5f7fc;--surface:#fff;--surface-soft:#f7f9fd;--line:#e6ebf4;--line-strong:#ccd7e9;--primary-900:#a62b46;--primary-800:#b82e4c;--primary-600:#d43b59;--primary-100:#ffe5eb;--primary-50:#fff1f4;--success:#126649;--success-soft:#e1f1e8;--warning:#976014;--warning-soft:#fbefd9;--danger:#b33a3a;--danger-soft:#fbe7e7;--radius:16px;--radius-sm:10px;--shadow-sm:0 1px 2px #2431490a;--sidebar:220px;--font-sans:"Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--background);color:var(--ink);font-family:var(--font-sans);font-size:14px;line-height:1.6}a{color:var(--primary-800)}.shell{grid-template-columns:var(--sidebar) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:20px 12px}.brand{flex-direction:column;padding:0 10px 20px;display:flex}.brand strong{font-size:18px}.brand small{color:var(--muted)}.primary-nav{flex-direction:column;gap:4px;display:flex}.primary-nav a{border-radius:var(--radius-sm);color:#5d6d85;padding:10px 12px;text-decoration:none}.primary-nav a:hover{color:#344a6c;background:#f1f5fc}.primary-nav a[aria-current=page]{color:var(--primary-800);background:#ffedf1;font-weight:600}.main{width:100%;min-width:0;max-width:1280px;padding:28px 32px 48px}.page-header{margin-bottom:20px}.page-header h1{margin:0 0 4px;font-size:22px}.page-header p{color:var(--muted);margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px 24px}.card h2{margin:0 0 12px;font-size:16px}.muted{color:var(--muted)}.button{background:var(--primary-600);border:1px solid var(--primary-600);border-radius:var(--radius-sm);color:#fff;cursor:pointer;font:inherit;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-block}.button:hover{background:var(--primary-800);border-color:var(--primary-800)}.button.is-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.button.is-secondary:hover{background:var(--surface-soft)}.button.is-small{padding:4px 10px;font-size:13px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 16px;margin-bottom:12px;display:grid}.field{flex-direction:column;gap:4px;display:flex}.field span{color:var(--ink-soft);font-size:13px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);font:inherit;padding:8px 10px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary-600);outline:2px solid var(--primary-100)}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.table th{color:var(--muted);font-size:12px;font-weight:600}.table td.num,.table th.num{font-variant-numeric:tabular-nums;text-align:right}.badge{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;padding:1px 10px;font-size:12px;display:inline-block}.badge.is-vital{background:var(--primary-50);border-color:var(--primary-100);color:var(--primary-800)}.notice{border-radius:var(--radius-sm);margin-bottom:16px;padding:10px 14px}.notice.is-error{background:var(--danger-soft);color:var(--danger)}.notice.is-warning{background:var(--warning-soft);color:var(--warning)}.notice.is-success{background:var(--success-soft);color:var(--success)}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (max-width:760px){.shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line)}.main{padding:20px 16px 40px}}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin-bottom:20px;display:flex}.tabs a{color:var(--muted);border-bottom:2px solid #0000;padding:8px 12px;text-decoration:none}.tabs a[aria-current=page]{border-bottom-color:var(--primary-600);color:var(--primary-800);font-weight:600}.inline-form{display:inline}.section-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.table-scroll{max-height:640px;margin-top:16px;overflow:auto}.table-scroll thead th{background:var(--surface);position:sticky;top:0}.cell-note{font-size:11px;display:block}.facts{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 24px;margin:0 0 16px;display:grid}.facts dt{color:var(--muted);font-size:12px}.facts dd{margin:0}.plain-fieldset{border:0;min-width:0;margin:0;padding:0}.plain-fieldset:disabled .button,.plain-fieldset:disabled input,.plain-fieldset:disabled select,.plain-fieldset:disabled textarea{cursor:not-allowed;opacity:.55}.user-switcher{border-top:1px solid var(--line);margin-top:24px;padding:16px 10px 0}.user-switcher select{width:100%}.table.is-compact-columns td:not(:last-child),.table.is-compact-columns th:not(:last-child){white-space:nowrap}.section-row-tr th{background:var(--surface-soft);color:var(--ink-soft);font-size:13px}.statement-table td.is-indented{padding-left:24px}.statement-table tr.is-total td{border-top:1px solid var(--line-strong);font-weight:600}.statement-table .is-emphasis{background:var(--surface-soft)}.table td.is-negative{color:var(--danger)}.statement-table th:first-child,.statement-table td:first-child{white-space:nowrap;min-width:240px}.statement-table td.num,.statement-table th.num{white-space:nowrap}.driver-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.driver-form input,.driver-form select{border:1px solid var(--line-strong);font:inherit;border-radius:8px;width:110px;padding:4px 6px;font-size:13px}.driver-form select{width:auto}.add-details{margin-top:16px}.add-details summary{color:var(--primary-800);cursor:pointer;margin-bottom:12px;font-weight:600}.checkbox-list{border:1px solid var(--line);border-radius:var(--radius-sm);gap:6px;margin:0 0 12px;padding:10px 14px;display:grid}.checkbox-list label{align-items:center;gap:8px;display:flex}.table tr.is-total-row td{border-bottom:2px solid var(--line-strong)}.waterfall{width:760px;max-width:100%;height:auto;display:block}.waterfall-axis{stroke:var(--line-strong)}.waterfall-label,.waterfall-value{fill:var(--ink);font-size:12px}.waterfall-value{font-variant-numeric:tabular-nums}.waterfall-bar.is-total{fill:#243149}.waterfall-bar.is-up{fill:#2f8f6b}.waterfall-bar.is-down{fill:#d43b59}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:16px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px}.kpi.is-primary{background:#f1f4fb}.kpi-label{color:var(--ink-soft);font-size:13px;font-weight:600}.kpi-value{font-variant-numeric:tabular-nums;margin:4px 0;font-size:26px;font-weight:700}.kpi-note{color:var(--muted);font-size:12px}.cash-chart{width:760px;max-width:100%;height:auto;display:block}.chart-grid{stroke:var(--line)}.chart-zero{stroke:#b33a3a;stroke-dasharray:4 3}.chart-tick{fill:var(--muted);font-size:11px}.chart-line{fill:none;stroke-width:2px}.chart-line.is-plan,.chart-marker.is-plan{stroke:#243149}.chart-marker.is-plan{fill:#243149}.chart-line.is-baseline{stroke:#999;stroke-dasharray:5 4}.chart-marker.is-baseline{fill:#999}.chart-series{font-size:12px;font-weight:600}.chart-series.is-plan{fill:#243149}.chart-series.is-baseline{fill:#767676}.rank-bars{gap:8px;display:grid}.rank-bar{grid-template-columns:minmax(140px,240px) 1fr 120px;align-items:center;gap:12px;display:grid}.rank-bar-track{background:var(--surface-soft);border-radius:4px;height:14px}.rank-bar-fill{background:#2f8f6b;border-radius:4px;height:14px}.rank-bar-fill.is-negative{background:#d43b59}.setup-steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.setup-step{align-items:flex-start;gap:12px;display:flex}.setup-status{border-radius:999px;flex:none;padding:2px 10px;font-size:12px;font-weight:700}.setup-step.is-done .setup-status{background:var(--success-soft);color:var(--success)}.setup-step.is-todo .setup-status{background:var(--primary-100);color:var(--primary-800)}.setup-step.is-optional .setup-status{background:var(--surface-soft);color:var(--muted)}.grid-heading{grid-column:1/-1;margin:12px 0 0;font-size:14px}.source-list{margin:0 0 12px;padding-left:20px}.source-list li{margin-bottom:4px}.demo-banner{background:var(--warning-soft);border-radius:var(--radius-sm);color:var(--warning);margin-bottom:16px;padding:8px 14px;font-size:13px}.sign-in-card{max-width:520px}.preset{border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:16px}.preset h3{margin:0 0 8px;font-size:15px}
