:root{color-scheme:light;--canvas:#f5f7fc;--surface:#fff;--surface-soft:#f2f5fa;--surface-hover:#f8faff;--ink:#202a40;--muted:#53617b;--line:#e1e6f1;--primary:#4169e1;--primary-hover:#3153bd;--on-primary:#fff;--accent-text:#2447a3;--accent-soft:#edf2ff;--accent-line:#dae3fc;--accent-bar:#aebff0;--rail:#193a99;--rail-hover:#3153bd;--rail-active:#edf2ff;--rail-active-ink:#193a99;--paid-bg:#eaf4ed;--paid-ink:#346540;--partial-bg:#fff4df;--partial-ink:#865e1b;--unpaid-bg:#fceee9;--unpaid-ink:#96523e;--expense-bg:#fbf2e7;--expense-ink:#886327;--bg:var(--canvas);--white:var(--surface);--deep:var(--rail)}
:root[data-mode="dark"]{color-scheme:dark;--canvas:#101722;--surface:#192230;--surface-soft:#202d3f;--surface-hover:#233044;--ink:#edf1f8;--muted:#b3bfd1;--line:#344258;--paid-bg:#1d3c2d;--paid-ink:#a1dfb6;--partial-bg:#45371e;--partial-ink:#f1ce88;--unpaid-bg:#462c2a;--unpaid-ink:#f6b5a6;--expense-bg:#3c3021;--expense-ink:#edc48c}
::selection{background:var(--accent-line);color:var(--accent-text)}:focus-visible{outline-color:var(--primary)}::-webkit-scrollbar-thumb{background:var(--line)}
.sidebar{background:var(--rail);color:#e9edf6}.sidebar .brand{color:white}.brand-symbol>span{color:#e0e8ff}.branch,.sidebar-foot{border-color:#ffffff30}.branch{color:#f0f3fb}.branch small,.branch-icon,.nav-label,.sidebar-bottom p,.sidebar-foot,.demo-symbol{color:#c9d3e7}.sidebar-bottom strong{color:#f0f3fb}.sidebar nav a{color:#e1e7f4}.sidebar nav a:hover{background:var(--rail-hover);color:#fff}.sidebar nav a.active{background:var(--rail-active);color:var(--rail-active-ink)}.active .nav-count{background:var(--accent-line);color:var(--accent-text)}
.topbar,.summary-card,.panel,.month-control,.search,dialog,.form-fields input,.form-fields select,.form-fields textarea,.button.secondary{background:var(--surface)}
.breadcrumb strong,.button.secondary,.month-control,.month-control input,.summary-top,.business-name,.row-name,.amount,.form-fields label,.empty strong{color:var(--ink)}
.breadcrumb>span{color:var(--muted)}.demo-notice,.demo-notice strong,.demo-notice svg,.panel-subtitle,.chart-legend,.chart-axis,.bar-label,.chart-footer,.business-name small,.business-amount small,.business-total,.row-sub,.row-button,.table-bottom,.page-footer,.empty,.report-note,.dialog-heading p,.dialog-footer>span,.summary-foot,.search,.icon-button{color:var(--muted)}
.demo-pill,.owner-avatar,.summary-icon,.service-icon,.row-service>span:first-child,.count-tag,.form-calc{background:var(--accent-soft);color:var(--accent-text)}.demo-pill{border-color:var(--accent-line)}.demo-pill>span,.legend-dot,.status-dot{background:var(--primary)}
.button.primary{background:var(--primary);color:var(--on-primary)}.button.primary:hover{background:var(--primary-hover)}.text-button,details summary,.form-calc strong,.report-line.total{color:var(--accent-text)}.button.secondary:hover,.icon-button:hover,.row-button:hover{background:var(--surface-hover);color:var(--ink)}
.month-control,.search,.button.secondary,.form-fields input,.form-fields select,.form-fields textarea{border-color:var(--line)}.search:focus-within,.form-fields input:focus,.form-fields select:focus,.form-fields textarea:focus{outline-color:var(--primary)}input::placeholder,textarea::placeholder{color:var(--muted)}
.summary-card.profit{background:var(--accent-soft);border-color:var(--accent-line)}.summary-card.profit .summary-icon{background:var(--accent-line);color:var(--accent-text)}.summary-card.profit .summary-value{color:var(--accent-text)}.summary-foot b,.business-total strong,.chart-footer strong{color:var(--accent-text)}
.summary-card.due .summary-icon,.service-icon.expense,.row-service.expense>span:first-child{background:var(--expense-bg);color:var(--expense-ink)}.service-icon.transfer,.row-service.transfer>span:first-child{background:var(--surface-soft);color:var(--muted)}
.bar{background:var(--accent-bar)}.bar.current,.bar:hover,.bar:focus{background:var(--accent-text)}.bar-tip{background:var(--ink);color:var(--surface)}.chart-area,.chart-lines span,.business-row,.business-total,th,td,.table-bottom,.dialog-footer,.report-line,.form-section{border-color:var(--line)}
.business-total,th,.table-tabs,.entry-type,.dialog-footer{background:var(--surface-soft)}th{color:var(--muted)}tbody tr:hover{background:var(--surface-hover)}.table-tabs button,.entry-type button{color:var(--muted)}.table-tabs button.selected,.entry-type button.selected{background:var(--surface);color:var(--accent-text)}
.badge{background:var(--paid-bg);color:var(--paid-ink)}.badge.partial{background:var(--partial-bg);color:var(--partial-ink)}.badge.unpaid{background:var(--unpaid-bg);color:var(--unpaid-ink)}:root[data-mode="dark"] .form-error{color:#ffb3a7}
.theme-button{padding:7px 10px;min-height:34px;gap:7px}.theme-button svg{height:17px;width:17px}.theme-panel{position:fixed;inset:70px 30px auto auto;margin:0;width:332px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 90px);overflow:auto;padding:20px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px #00000026;font-family:var(--font)}.theme-panel::backdrop{background:transparent}.theme-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.theme-panel h2{font-size:17px;font-weight:700;margin:0}.theme-panel p{font-size:12px;color:var(--muted);margin:4px 0 18px}.theme-panel fieldset{border:0;padding:0;margin:0 0 19px;min-width:0}.theme-panel legend{font-size:12px;font-weight:650;margin-bottom:9px}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.theme-choice{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;border:1px solid var(--line);background:var(--surface);border-radius:6px;color:var(--ink);font-size:12px;font-weight:600;cursor:pointer;user-select:none}.theme-choice input{position:absolute;opacity:0;width:1px;height:1px}.theme-choice svg{width:17px;height:17px}.theme-choice:has(input:checked){border-color:var(--primary);background:var(--accent-soft);color:var(--accent-text)}.theme-choice:has(input:focus-visible){outline:3px solid var(--primary);outline-offset:3px}.theme-choice:hover{background:var(--surface-hover)}.colour-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.colour-choice{justify-content:flex-start;padding:10px}.theme-dot{height:16px;width:16px;border-radius:50%;flex-shrink:0;background:var(--swatch)}.choice-check{margin-left:auto;visibility:hidden}.theme-choice:has(input:checked) .choice-check{visibility:visible}.theme-saved{border-top:1px solid var(--line);padding-top:13px;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;line-height:1.6}.theme-saved svg{width:14px;height:14px;flex-shrink:0}
@media(max-width:760px){.topbar-right{gap:8px}.topbar .breadcrumb{font-size:0}.topbar .breadcrumb>span{display:none}.topbar .breadcrumb strong{font-size:12px}.theme-panel{top:60px;right:16px}.theme-button{padding:7px 9px}.topbar .demo-pill{display:none}}
@media(max-width:380px){.topbar-left{gap:5px}.topbar-right{gap:6px}.theme-button{font-size:12px}}
@media print{:root[data-mode]{--canvas:#fff;--surface:#fff;--surface-soft:#f2f4f8;--ink:#202a40;--muted:#47536b;--line:#cdd4e0;--accent-text:#2447a3;--accent-soft:#edf2ff;--accent-line:#dae3fc;--primary:#4169e1;--paid-bg:#eaf4ed;--paid-ink:#346540;--partial-bg:#fff4df;--partial-ink:#865e1b;--unpaid-bg:#fceee9;--unpaid-ink:#96523e;color-scheme:light}.theme-panel{display:none!important}}

