:root{--ink:#1b2c43;--muted:#52647a;--accent:#245aa7;--ground:#f3f6fa;--surface:#fff;--line:#d8e0eb;--danger:#a42a36;--warning:#795214;--nav:#172d4a;--focus:#156cce;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--ground);font-size:16px;line-height:1.5;color-scheme:light}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:.2em}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button,input{min-height:44px;border-radius:6px}button{padding:.6rem 1rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600}button:hover{background:#eaf0f8}input{padding:.65rem .8rem;border:1px solid #8493a7;color:var(--ink);background:#fff;max-width:100%;caret-color:var(--accent)}input::placeholder{color:var(--muted)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{color:#fff;background:var(--accent)}h1,h2,h3,p{margin:0}h1{font-size:1.9rem;line-height:1.2;letter-spacing:-.025em;font-weight:650}h2{font-size:1.25rem;line-height:1.35;letter-spacing:-.015em}h3{font-size:1rem;line-height:1.4}p{max-width:72ch}p+p{margin-top:.6rem}.muted{color:var(--muted)}.small{font-size:.84rem}.skip{position:fixed;top:-100px;left:16px;z-index:10;padding:12px;background:#fff}.skip:focus{top:12px}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover{background:#19467f}.secondary{white-space:nowrap}.wordmark{font-size:1.45rem;font-weight:750;letter-spacing:-.035em;color:inherit;text-decoration:none}.wordmark span{font-weight:400}.login-layout{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}.login-brand{padding:clamp(32px,6vw,100px);background:var(--nav);color:#fff;display:flex;flex-direction:column;justify-content:center}.login-brand .wordmark{margin-bottom:80px;align-self:flex-start}.login-brand>p:first-of-type{font-size:3rem;line-height:1.18;letter-spacing:-.035em;font-weight:550}.brand-rule{width:56px;height:2px;background:#aac4e8;margin:32px 0}.brand-note{color:#c6d6eb}.login-panel{display:grid;place-items:center;padding:40px}.login-form-wrap{width:100%;max-width:350px}.login-form-wrap>p{margin-top:10px}#login-form{margin:32px 0 24px;display:grid;gap:10px}#login-form button{margin-top:12px}#login-error:empty{display:none}.error-text{color:var(--danger);font-size:.9rem}.app-shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100svh}.sidebar{padding:32px 24px;background:var(--nav);color:#fff;position:sticky;top:0;height:100svh;display:flex;flex-direction:column}.sidebar nav{display:grid;gap:8px;margin-top:48px}.sidebar nav a{display:block;color:#d8e4f4;text-decoration:none;padding:10px 12px;margin-left:-12px;border-radius:6px;font-size:.92rem}.sidebar nav a:hover,.sidebar nav a:focus-visible{background:#294463;color:#fff}.sidebar-foot{margin-top:auto;display:grid;gap:6px;color:#c6d6eb}.text-button{background:transparent;border:0;color:inherit;padding:8px 0;text-align:left;align-self:start;font-size:.9rem}.text-button:hover{background:transparent;text-decoration:underline}.workspace{padding:36px 44px 24px;max-width:1500px;width:100%;margin:auto}.page-header{display:flex;justify-content:space-between;gap:24px;align-items:center}.page-header p{margin-top:8px}.page-header label{font-size:.8rem;color:var(--muted);display:block;margin-bottom:4px}.inline{display:flex;gap:8px}.inline input{min-width:0}.operating-state{background:#e9eff7;border:1px solid #c9d7e9;padding:14px 18px;display:flex;gap:14px;align-items:center;margin:28px 0 30px;font-size:.86rem;border-radius:6px}.operating-state strong{white-space:nowrap}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.metrics{display:grid;grid-template-columns:1.2fr 1fr 1fr;margin:24px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}.metrics>div{padding:22px 20px;min-width:0}.metrics>div+div{border-left:1px solid var(--line)}dt{font-size:.85rem;color:var(--muted)}dd{font-size:1.7rem;font-weight:650;margin:8px 0 4px;font-variant-numeric:tabular-nums;letter-spacing:-.025em}.currency{font-size:1rem;font-weight:400}.loss{color:var(--danger)}.chart-section{background:var(--surface);padding:24px 20px;margin-bottom:30px}.chart-wrap{height:230px}.chart-empty{min-height:190px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#f7f9fc;text-align:center;padding:24px;color:var(--muted)}.chart-empty p{font-size:.87rem;margin-top:8px}.data-details{margin:16px 0;font-size:.85rem}summary{cursor:pointer;min-height:36px;display:list-item;color:var(--accent)}details[open] summary{margin-bottom:12px}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.module{min-width:0;padding:0 0 24px;border-bottom:1px solid var(--line);scroll-margin-top:20px}.module-total{display:flex;justify-content:space-between;font-size:.9rem;margin:10px 0 16px;gap:12px}.module-total strong{font-variant-numeric:tabular-nums}.module h3{margin:24px 0 8px}.tag{font-size:.73rem;color:#3a526f;background:#e8eef5;padding:4px 8px;border-radius:4px;white-space:nowrap}.table-scroll{overflow:auto;max-width:100%;margin:14px 0;scrollbar-color:#8293aa #edf1f7}table{border-collapse:collapse;min-width:100%;font-size:.85rem;text-align:left}th{font-weight:500;color:var(--muted);font-size:.78rem;background:#eaf0f7;white-space:nowrap}th,td{padding:12px 14px;border-bottom:1px solid var(--line)}td{font-variant-numeric:tabular-nums;vertical-align:top}td:not(:first-child){white-space:nowrap}.empty-text{font-size:.9rem;color:var(--muted);padding:20px 0}.ledger-section{padding:28px 0 8px;border-bottom:1px solid var(--line);scroll-margin-top:20px}.notice{padding:20px;background:#eaf0f7;border:1px solid #cbd8e7;border-radius:6px;margin:16px 0}.notice p{font-size:.9rem;margin-top:6px}.warning{background:#fff7e7;border-color:#e8d7b8;color:#69460f}.error{background:#fff1f2;border-color:#e7c2c6;color:var(--danger)}.notice button{margin-top:16px}.event-list{list-style:none;padding:0;margin:0}.event-list li{display:grid;grid-template-columns:180px 1fr;gap:8px;padding:16px 0;border-bottom:1px solid var(--line)}.event-list span{grid-column:2}.event-list time{font-size:.82rem;color:var(--muted)}.page-footer{font-size:.76rem;color:var(--muted);padding:28px 0 0}.loading{padding:30px 0}.loading p{margin:10px 0 28px;color:var(--muted)}.skeleton{height:96px;width:100%;background:#e0e7f0;border-radius:6px;margin:16px 0}.skeleton.wide{height:240px;background:#e8edf4}.report-sheet{padding:32px;background:#fff}.report-sheet h2{margin:24px 0 12px}.report-sheet .metrics{margin:20px 0}.report-head{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:24px}
@media(max-width:1100px){.workspace{padding:28px}.app-shell{grid-template-columns:180px 1fr}.sidebar{padding:28px 20px}.metrics dd{font-size:1.4rem}.module-grid{grid-template-columns:1fr}.page-header{align-items:start;flex-direction:column}.operating-state{align-items:start;flex-direction:column;gap:4px}}
@media(max-width:650px){.login-layout{display:block}.login-brand{padding:28px}.login-brand .wordmark{margin-bottom:26px}.login-brand>p:first-of-type{font-size:2rem}.brand-rule,.brand-note{display:none}.login-panel{padding:36px 24px}.app-shell{display:block}.sidebar{position:static;height:auto;padding:18px 20px;display:block}.sidebar nav{display:flex;gap:18px;overflow:auto;margin:18px 0 0;padding-bottom:5px}.sidebar nav a{padding:7px 0;margin:0;white-space:nowrap;font-size:.85rem}.sidebar-foot{position:absolute;right:20px;top:18px}.sidebar-foot>span{display:none}.text-button{min-height:32px}.workspace{padding:24px 20px}.page-header{gap:20px}.page-header h1{font-size:1.65rem}.page-header p{font-size:.9rem}.operating-state{margin:24px 0;font-size:.8rem}.metrics{grid-template-columns:1fr}.metrics>div{padding:16px}.metrics>div+div{border-left:0;border-top:1px solid var(--line)}.metrics dd{font-size:1.7rem}.section-heading{align-items:start;flex-wrap:wrap;gap:6px}.chart-section{padding:20px 16px}.chart-wrap{height:200px}.module-grid{gap:24px}.notice{padding:16px}.event-list li{grid-template-columns:1fr}.event-list span{grid-column:1}.report-sheet{padding:20px 16px}.report-head{flex-direction:column}.inline{max-width:100%}h2{font-size:1.15rem}.table-scroll{margin-left:0;margin-right:0}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s ease-out}}

.metrics dd.metric-note{font-size:.84rem;font-weight:400;letter-spacing:normal;color:var(--muted);margin:4px 0 0}
