/* Moneta V2 • blue / white bento theme with system-independent dark mode */
:root {
  --bg:#f7f9ff;
  --ink:#172744;
  --sub:#5c6980;
  --muted:#8490a6;
  --line:#e7edfa;
  --accent:#1460ea;
  --green:#11a586;
  --purple:#8165ec;
  --shadow:0 10px 25px rgba(30,72,143,.035);
  --radius:18px;
  --surface:#fff;
  --soft:#f5f8ff;
  --divider:#eaf0f9;
}
body{background:var(--bg);color:var(--ink)}
.sidebar{background:var(--surface);border-color:var(--line)}
.brand-name{font-size:23px;letter-spacing:-1.1px}
.brand-name span{color:var(--accent)}
.brand-mark{color:#1460ea}
.brand-sub,.nav-caption{color:#91a0bb}
.nav-item{color:#6c7a90}
.nav-item:hover{background:#f2f6ff;color:#1a59ca}
.nav-item.active{background:#eaf1ff;color:#1257d9;font-weight:760}
.tip-card{background:#edf4ff}
.tip-head{color:#1b4eaf}
.tip-card p{color:#6c80a4}
.tip-icon{color:#1460ea}
.topbar{background:linear-gradient(111deg,#1354d9 0%,#1466ed 60%,#3484ff 100%);border-color:transparent;color:#fff;box-shadow:0 10px 22px rgba(35,91,201,.1)}
.topbar-kicker{color:#b8d5ff;letter-spacing:1.8px}
.topbar h1{color:#fff;font-weight:800}
.topbar .month-control{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(8px)}
.topbar .icon-button{color:#eef5ff}
.topbar .icon-button:hover{background:rgba(255,255,255,.18);color:#fff}
.topbar .button-primary{background:#fff;color:#145bdf;border-color:transparent;box-shadow:0 5px 15px rgba(0,36,102,.13)}
.topbar .button-primary:hover{background:#eaf1ff}
.theme-toggle{height:41px;display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.13);border-radius:11px;color:#fff;padding:0 13px;white-space:nowrap;font-size:11.5px;font-weight:750;transition:background .15s}
.theme-toggle:hover{background:rgba(255,255,255,.24)}
.theme-toggle .icon{width:16px;height:16px}
main{padding-top:31px}
.eyebrow{color:var(--accent)}
.page-heading h2,.section-intro h2{font-weight:800;letter-spacing:-.7px}
.page-heading p,.section-intro p{color:var(--muted)}
.date-pill,.section-pill{border-color:var(--line);background:var(--surface);color:var(--sub)}
.surface,.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.stat-card{min-height:165px;padding:22px 21px}
.stat-head{color:var(--sub)}
.stat-number{color:var(--ink);font-size:26px}
.stat-desc{color:var(--muted);line-height:1.5}
.stat-card:nth-child(2){background:linear-gradient(132deg,#ffffff 56%,#e8faf5 100%)}
.stat-card:nth-child(3){background:linear-gradient(132deg,#ffffff 56%,#fff0f3 100%)}
.stat-card:nth-child(4){background:linear-gradient(132deg,#ffffff 56%,#f0eaff 100%)}
.stat-card:nth-child(2)::after,.stat-card:nth-child(3)::after,.stat-card:nth-child(4)::after{content:'';position:absolute;top:0;left:22px;right:22px;height:3px;border-radius:0 0 9px 9px}
.stat-card:nth-child(2)::after{background:#13b995}.stat-card:nth-child(3)::after{background:#f77991}.stat-card:nth-child(4)::after{background:#9579f1}
.balance-card,.stat-card.balance-card{background:linear-gradient(130deg,#165bdc 0%,#3386fb 100%);color:#fff;border-color:transparent}
.balance-card .stat-number{color:#fff}
.balance-card .stat-head,.balance-card .stat-desc{color:#e3eefd}
.balance-card .stat-symbol.dark{background:rgba(255,255,255,.2)}
.balance-art{opacity:.24}
.stat-symbol.mint,.setting-icon.mint{background:#e4f9f3;color:#079b7d}
.stat-symbol.peach,.setting-icon.peach{background:#ffebf0;color:#dc617b}
.stat-symbol.lilac,.setting-icon.lilac{background:#f0ebff;color:#805dde}
.setting-icon.blue{background:#e7efff;color:#1460ea}
.flow-panel,.breakdown-panel,.recent-panel{border-radius:20px}
.surface-head h3{color:var(--ink)}
.surface-head p,.chart-legend span{color:var(--muted)}
.legend-square.in,.chart-bar.income{background:#16b997}
.legend-square.out,.chart-bar.expense{background:#669cff}
.chart-grid span{border-color:var(--divider)}
.chart-y,.chart-months{color:var(--muted)}
.donut-hole{background:var(--surface)}
.donut-hole small{color:var(--muted)}
.donut-hole strong{color:var(--ink)}
.breakdown-legend-item{color:var(--sub)}
.breakdown-legend-item strong{color:var(--ink)}
.recent-item{border-color:var(--divider)}
.tx-title,.empty-state strong,.account-card .account-title,.budget-card h3{color:var(--ink)}
.tx-meta,.account-card .account-type,.budget-card p,.account-card .account-note{color:var(--muted)}
.tx-icon.expense{background:#eaf1ff;color:#2b68d8}
.tx-icon.income{background:#def9f2;color:#079c7b}
.tx-icon.transfer{background:#eeeaff;color:#7351d4}
.tx-amount.expense{color:#e1627d}.tx-amount.income{color:#059c77}
.filters{border-color:var(--line)}
.search-field,.filter-select-wrap{background:var(--soft);border-color:var(--line);color:var(--sub)}
.search-field input,.filter-select-wrap select{color:var(--ink)}
.ledger-table th{background:var(--soft);color:var(--muted)}
.ledger-table td{border-color:var(--divider);color:var(--sub)}
.ledger-table .row-title{color:var(--ink)}
.ledger-table tr:hover td{background:rgba(30,102,223,.018)}
.tx-category{color:var(--sub)}
.row-actions button:hover{background:var(--soft);color:var(--ink)}
.review-tag{display:inline-block;margin-left:7px;padding:3px 7px;border-radius:6px;font-size:10px;font-weight:750;background:#fff0d6;color:#925b13;vertical-align:middle}
.text-link{color:var(--accent)}
.budget-summary span,.small-stat span,.budget-card-bottom,.budget-card-footer{color:var(--muted)}
.budget-card-bottom strong,.budget-summary strong,.small-stat strong{color:var(--ink)}
.budget-summary-progress,.progress-track{background:var(--divider)}
.budget-summary-progress span{background:#4c88f4}
.small-btn,.close-button{background:var(--soft);color:var(--sub)}
.small-btn:hover,.close-button:hover{background:var(--divider)}
.account-avatar{background:#e7efff;color:#3479e8}
.account-avatar.credit{background:#fff0f4;color:#ea6687}
.account-card .account-value{color:var(--ink)}
.account-card .account-value.debt{color:#e56482}
.info-strip{background:#edf4ff;color:#526c9f}
.info-strip .icon{color:#4375d4}
.setting-copy p,.setting-detail,.fine-print{color:var(--muted)}
.setting-copy code{color:var(--sub);background:var(--soft)}
.button-primary{background:#1460ea;box-shadow:0 5px 15px rgba(20,96,234,.15)}
.button-primary:hover{background:#1252c7}
.button-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}
.button-secondary:hover{background:var(--soft)}
.modal{background:var(--surface);color:var(--ink)}
.modal-actions{border-color:var(--divider)}
.type-switch{background:var(--soft)}
.type-switch button{color:var(--muted)}
.type-switch button.active{background:var(--surface);color:var(--accent)}
.field label{color:var(--sub)}
.field input,.field select{border-color:var(--line);background:var(--surface);color:var(--ink)}
.field input:focus,.field select:focus{border-color:#1460ea;box-shadow:0 0 0 3px rgba(20,96,234,.1)}
.field-help{color:var(--muted)}
.toast{background:#173b75}
.import-banner{display:flex;align-items:center;gap:14px;padding:17px 19px;margin-bottom:21px;background:#edf4ff;border:1px solid #d6e5ff;border-radius:16px;color:#27559e}
.import-banner[hidden]{display:none}
.import-banner-mark{background:#d8e8ff;color:#1460ea;border-radius:12px;display:grid;place-items:center;flex:0 0 37px;height:37px}
.import-banner-copy{flex:1;min-width:0}
.import-banner-copy strong{font-size:12.5px;color:#1b4691}
.import-banner-copy p{font-size:11.5px;line-height:1.55;margin:5px 0 0;color:#607eaf}
.review-link{background:#fff;color:#1460ea;border:1px solid #d8e6fc;border-radius:10px;padding:11px 13px;display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;font-weight:800}
.review-link:hover{background:#f8fbff}
.review-link .icon{width:14px;height:14px}
/* Dark palette */
:root[data-theme="dark"]{
 color-scheme:dark;
 --bg:#0c1526;--ink:#ecf2ff;--sub:#b2bfd8;--muted:#90a0bd;--line:#243656;--accent:#74a7ff;--green:#39cfad;--purple:#ae94ff;--shadow:0 10px 28px rgba(0,0,0,.14);--surface:#152239;--soft:#1b2d49;--divider:#283954;
}
[data-theme="dark"] .sidebar{background:#101c31}
[data-theme="dark"] .brand-mark{color:#6ca1ff}
[data-theme="dark"] .brand-sub,[data-theme="dark"] .nav-caption{color:#7d91b4}
[data-theme="dark"] .nav-item{color:#a6b6d1}
[data-theme="dark"] .nav-item:hover{background:#1d3556;color:#d3e2ff}
[data-theme="dark"] .nav-item.active{background:#203e6d;color:#94bfff}
[data-theme="dark"] .tip-card{background:#1a3154}
[data-theme="dark"] .tip-icon{background:#263f67;color:#bdd8ff}
[data-theme="dark"] .tip-head{color:#d3e3ff}
[data-theme="dark"] .tip-card p{color:#a6bcdf}
[data-theme="dark"] .topbar{background:linear-gradient(115deg,#122e71,#174baa 65%,#2463c7)}
[data-theme="dark"] .topbar-kicker{color:#bfd5ff}
[data-theme="dark"] .topbar .button-primary{background:#dceaff;color:#17479d}
[data-theme="dark"] .topbar .button-primary:hover{background:#fff}
[data-theme="dark"] .stat-card:nth-child(2){background:linear-gradient(125deg,#152239 55%,#173f40)}
[data-theme="dark"] .stat-card:nth-child(3){background:linear-gradient(125deg,#152239 55%,#44283d)}
[data-theme="dark"] .stat-card:nth-child(4){background:linear-gradient(125deg,#152239 55%,#302a58)}
[data-theme="dark"] .stat-card.balance-card{background:linear-gradient(125deg,#1751ae,#2b70d6);border-color:#2760b9}
[data-theme="dark"] .stat-card.balance-card .stat-head,[data-theme="dark"] .balance-card .stat-desc{color:#dae9ff}
[data-theme="dark"] .stat-symbol.mint,[data-theme="dark"] .setting-icon.mint{background:#184a42;color:#60e0c1}
[data-theme="dark"] .stat-symbol.peach,[data-theme="dark"] .setting-icon.peach{background:#4e2c40;color:#ff9ab1}
[data-theme="dark"] .stat-symbol.lilac,[data-theme="dark"] .setting-icon.lilac{background:#362c63;color:#b3a0ff}
[data-theme="dark"] .setting-icon.blue{background:#243c67;color:#92bdff}
[data-theme="dark"] .review-tag{background:#573e1f;color:#ffcc78}
[data-theme="dark"] .tx-icon.expense{background:#253f67;color:#a9c8ff}
[data-theme="dark"] .tx-icon.income{background:#18493e;color:#81e8c8}
[data-theme="dark"] .tx-icon.transfer{background:#34305c;color:#b7a7ff}
[data-theme="dark"] .tx-amount.expense{color:#ff95ac}
[data-theme="dark"] .tx-amount.income{color:#76e0c0}
[data-theme="dark"] .account-avatar{background:#263e66;color:#92b9ff}
[data-theme="dark"] .account-avatar.credit{background:#4b293f;color:#ff9ab8}
[data-theme="dark"] .account-card .account-value.debt{color:#ff9eb0}
[data-theme="dark"] .info-strip{background:#1a3154;color:#bbd1f3}
[data-theme="dark"] .info-strip .icon{color:#9dbdff}
[data-theme="dark"] .import-banner{background:#1c3253;border-color:#294b7a;color:#d6e6ff}
[data-theme="dark"] .import-banner-mark{background:#274671;color:#afcfff}
[data-theme="dark"] .import-banner-copy strong{color:#e1ebff}
[data-theme="dark"] .import-banner-copy p{color:#abbfe1}
[data-theme="dark"] .review-link{background:#234373;color:#d7e7ff;border-color:#3763a0}
[data-theme="dark"] .review-link:hover{background:#2d5184}
[data-theme="dark"] .setting-icon.red{background:#522b3a;color:#ff9db2}
[data-theme="dark"] .button-danger{background:#3a2534;color:#ffb2c2;border-color:#67394c}
[data-theme="dark"] .type-switch button.active{box-shadow:0 2px 10px rgba(0,0,0,.15)}
[data-theme="dark"] .modal-overlay{background:rgba(3,9,20,.72)}
[data-theme="dark"] .field input::placeholder{color:#8698b9}
[data-theme="dark"] .ledger-table tr:hover td{background:#1b2c45}
[data-theme="dark"] select option{background:#152239;color:#eef2ff}
[data-theme="dark"] .empty-illustration{background:#27365c;color:#a4c2ff}
[data-theme="dark"] .account-card .account-note{color:#97a9c8}
[data-theme="dark"] .setting-copy code{background:#213451}
[data-theme="dark"] .mini-dot{filter:brightness(1.15)}
@media(max-width:1000px){.theme-toggle span{display:none}.theme-toggle{width:40px;padding:0;justify-content:center}}
@media(max-width:760px){
 .sidebar{background:var(--surface);border-color:var(--line)}
 [data-theme="dark"] .sidebar{background:#101c31}
 .topbar{height:86px;padding:14px 16px}
 .topbar-actions{gap:7px}
 .theme-toggle{height:38px;width:34px;flex:0 0 34px}
 .topbar .month-control{height:38px;min-width:132px;padding:1px}
 .topbar .month-control .icon-button{width:25px}
 .topbar .button{background:#fff;color:#145bdf}
 main{padding:21px 15px 100px}
 .stats-grid{gap:10px}
 .stat-card{padding:16px 13px;min-height:137px}
 .stat-number{font-size:20px}
 .import-banner{align-items:flex-start;flex-wrap:wrap;padding:14px;gap:10px}
 .review-link{margin-left:47px}
 .nav-item.active{background:#e8f0ff;color:#1b57cb}
 [data-theme="dark"] .nav-item.active{background:#203e6d;color:#94bfff}
}
@media(max-width:450px){
 .topbar .month-control{min-width:116px;font-size:9px}
 .topbar-actions{gap:5px}
 .theme-toggle{width:30px;flex-basis:30px}
 .stat-number{font-size:19px}
 .stat-card{border-radius:14px}
 .topbar h1{font-size:19px}
 .import-banner-mark{display:none}
 .review-link{margin-left:0}
}

html[data-theme="dark"] .sidebar .nav-item.active{background:#203e6d !important;color:#b4d1ff !important}
