:root{--ink:#20332e;--green:#173f35;--green2:#275d4f;--sage:#dfe9df;--cream:#f6f3ec;--paper:#fffdf9;--line:#e6e1d7;--muted:#7b827f;--red:#a84e4e;--gold:#a67c3e;--shadow:0 18px 50px rgba(31,52,45,.08)}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;margin:0 0 8px}.green{color:var(--green2)}.muted{color:var(--muted)}.brand{display:flex;align-items:center;gap:11px;font-family:'Playfair Display',serif;font-weight:700;font-size:22px}.brand-light{color:white}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--green);color:#fff;display:grid;place-items:center;font-family:'Playfair Display',serif}.brand-light .brand-mark{background:#fff;color:var(--green)}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.auth-art{background:linear-gradient(145deg,#12372f,#28584a);padding:44px 7vw;color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-art:after{content:'';position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(255,255,255,.15);right:-220px;top:12%;box-shadow:0 0 0 70px rgba(255,255,255,.03),0 0 0 150px rgba(255,255,255,.02)}.auth-copy{max-width:590px;position:relative;z-index:1}.auth-copy h1{font-family:'Playfair Display',serif;font-size:clamp(44px,5vw,76px);line-height:1.02;margin:12px 0 25px;font-weight:600}.auth-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:520px;color:#dce9e4}.mini-preview{margin-top:45px;padding:22px 24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:20px;max-width:460px;backdrop-filter:blur(10px)}.mini-preview>div:first-child{display:flex;justify-content:space-between;align-items:end}.mini-preview strong{font-size:27px}.preview-bars{display:flex;gap:8px;align-items:end;height:58px;margin-top:14px}.preview-bars i{display:block;flex:1;border-radius:8px 8px 2px 2px;background:#d5e7dd}.preview-bars i:nth-child(1){height:30%}.preview-bars i:nth-child(2){height:45%}.preview-bars i:nth-child(3){height:38%}.preview-bars i:nth-child(4){height:65%}.preview-bars i:nth-child(5){height:55%}.preview-bars i:nth-child(6){height:82%}.preview-bars i:nth-child(7){height:72%}.auth-art small{color:#b9d0c7;position:relative;z-index:1}.auth-panel{display:grid;place-items:center;padding:40px;background:var(--paper)}.auth-card{width:min(430px,100%)}.auth-card h2{font-family:'Playfair Display',serif;font-size:38px;margin:0 0 8px}.form-stack{display:grid;gap:17px;margin-top:30px}.form-stack label,.modal-form label{font-size:12px;font-weight:700;display:grid;gap:8px;color:#465651}.form-stack input,.modal-form input,.modal-form select,.modal-form textarea,.month-picker,.search input{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 14px;outline:none;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:#7ba295;box-shadow:0 0 0 3px rgba(39,93,79,.08)}.btn{border:0;border-radius:12px;padding:12px 17px;font-weight:700}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:#0f332a}.btn.secondary{background:#e4ece7;color:var(--green)}.btn.danger{background:#f6e6e4;color:#934540}.text-btn{border:0;background:none;color:var(--green2);font-weight:700;padding:0}.auth-switch{text-align:center;color:var(--muted);margin-top:24px}.mobile-brand{display:none;margin-bottom:50px}
.app{min-height:100vh;display:grid;grid-template-columns:242px 1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:242px;background:#fbfaf6;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;z-index:5}.sidebar .brand{padding:0 9px 30px}.sidebar nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;padding:11px 12px;border-radius:11px;text-align:left;color:#65716d;display:flex;gap:11px;align-items:center;font-weight:600}.nav-item span{width:20px;text-align:center}.nav-item:hover,.nav-item.active{background:#e8eee9;color:var(--green)}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:16px}.user-pill{display:flex;align-items:center;gap:10px;padding:8px}.avatar{width:36px;height:36px;border-radius:50%;background:#dbe7df;color:var(--green);display:grid;place-items:center;font-weight:800}.user-pill div:last-child{min-width:0}.user-pill strong,.user-pill small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-pill small{font-size:10px;color:var(--muted);margin-top:2px}.nav-item.subtle{width:100%;margin-top:9px}.main{grid-column:2;padding:34px 40px 60px;max-width:1500px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.topbar h1{font-family:'Playfair Display',serif;margin:0;font-size:32px}.top-actions{display:flex;gap:10px;align-items:center}.month-picker{width:155px;background:#fff;padding:11px 12px}.page{display:none}.page.active{display:block}.hero-card{background:linear-gradient(130deg,#173f35,#2c5d50);min-height:180px;border-radius:24px;color:white;padding:32px 36px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative;box-shadow:var(--shadow)}.hero-card:after{content:'';position:absolute;width:270px;height:270px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-60px;top:-80px}.hero-card p{color:#cfe0d9;margin:0 0 8px}.hero-card h2{font-family:'Playfair Display',serif;font-size:32px;margin:0 0 9px}.hero-card span{color:#c7d9d2}.hero-orb{width:125px;height:125px;border-radius:50%;border:1px solid rgba(255,255,255,.35);display:grid;place-content:center;text-align:center;position:relative;z-index:1;background:rgba(255,255,255,.06)}.hero-orb span{font-size:30px;font-weight:800;color:#fff}.hero-orb small{color:#cfe0d9}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.stat{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:19px;display:flex;gap:13px;align-items:center}.stat-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;font-size:18px}.stat-icon.income{background:#e0eee5;color:#2c795b}.stat-icon.expense{background:#f5e5df;color:#a04c42}.stat-icon.savings{background:#e9e2f1;color:#755d8b}.stat-icon.budget{background:#f1eadc;color:#9c7535}.stat span,.stat small{display:block;color:var(--muted)}.stat strong{display:block;font-size:19px;margin:2px 0}.stat small{font-size:10px}.grid-2{display:grid;grid-template-columns:1.35fr .85fr;gap:16px;margin-bottom:16px}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 7px 24px rgba(45,53,49,.03)}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card h3{font-size:17px;margin:0}.chart-wrap{height:270px;position:relative}.chart-wrap.donut{height:270px}.empty-overlay{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);background:rgba(255,253,249,.75)}.transaction-list{display:grid}.txn-row{display:grid;grid-template-columns:44px 1.5fr 1fr 1fr auto;align-items:center;gap:12px;padding:13px 4px;border-top:1px solid #eee9e0}.txn-row:first-child{border-top:0}.txn-icon{width:38px;height:38px;border-radius:12px;background:#ecf0ea;display:grid;place-items:center}.txn-main strong,.txn-main small{display:block}.txn-main small,.txn-meta{color:var(--muted);font-size:11px}.txn-amount{font-weight:800;text-align:right}.txn-amount.income{color:#2c795b}.txn-amount.expense{color:#9d4d43}.empty-state{text-align:center;padding:48px 20px;color:var(--muted)}.empty-state strong{display:block;color:var(--ink);font-size:16px;margin-bottom:6px}.page-tools,.section-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.search{width:min(480px,55%);display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding-left:13px}.search input{border:0;box-shadow:none;padding-left:8px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:750px}.data-table th{text-align:left;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:9px 10px;border-bottom:1px solid var(--line)}.data-table td{padding:14px 10px;border-bottom:1px solid #eee9e0}.data-table tr:last-child td{border-bottom:0}.icon-btn{border:0;background:#f0eee8;border-radius:8px;padding:6px 9px;color:#6c7470}.section-intro h2{font-family:'Playfair Display',serif;font-size:30px;margin:0}.section-intro p:not(.eyebrow){color:var(--muted);margin:7px 0 0}.budget-summary{margin-bottom:16px}.summary-strip{background:var(--green);color:white;border-radius:18px;padding:20px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.summary-strip span,.summary-strip small{display:block;color:#cfe0d9}.summary-strip strong{font-size:23px}.budget-grid,.goal-grid,.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.budget-card,.goal-card,.account-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px}.budget-top,.goal-top,.account-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.budget-top h3,.goal-top h3,.account-top h3{margin:0}.progress{height:8px;background:#ebe8df;border-radius:20px;overflow:hidden;margin:18px 0 9px}.progress i{display:block;height:100%;background:var(--green2);border-radius:20px;max-width:100%}.progress.over i{background:var(--red)}.progress-line{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.goal-amount{font-family:'Playfair Display',serif;font-size:26px;margin:18px 0 5px}.goal-actions{display:flex;gap:8px;margin-top:15px}.goal-actions .btn{flex:1;padding:9px}.account-card{min-height:160px;display:flex;flex-direction:column;justify-content:space-between}.account-card .balance{font-family:'Playfair Display',serif;font-size:28px}.account-type{font-size:11px;color:var(--muted)}
.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(19,35,30,.48);backdrop-filter:blur(3px)}.modal-card{position:relative;background:var(--paper);width:min(530px,100%);border-radius:20px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.25);max-height:90vh;overflow:auto}.modal-x{position:absolute;right:16px;top:13px;border:0;background:none;font-size:26px;color:var(--muted)}.modal-card h2{font-family:'Playfair Display',serif;margin:0 0 7px;font-size:29px}.modal-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:23px}.modal-form .full{grid-column:1/-1}.modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:5px}#toast{position:fixed;right:22px;bottom:22px;background:#163b31;color:white;padding:12px 16px;border-radius:11px;z-index:50;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;box-shadow:var(--shadow)}#toast.show{opacity:1;transform:none}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.budget-grid,.goal-grid,.account-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-art{display:none}.mobile-brand{display:flex}.auth-panel{min-height:100vh}.app{grid-template-columns:78px 1fr}.sidebar{width:78px;padding:25px 12px}.sidebar .brand span:last-child,.nav-item:not(.subtle){font-size:0}.sidebar .brand{padding-left:9px}.nav-item span{font-size:17px}.user-pill div:last-child{display:none}.main{grid-column:2;padding:28px 24px}.sidebar-foot .nav-item{font-size:0}}
@media(max-width:720px){.app{display:block}.sidebar{position:fixed;top:auto;bottom:0;width:100%;height:68px;display:flex;flex-direction:row;padding:8px 12px;border-top:1px solid var(--line);border-right:0}.sidebar .brand,.sidebar-foot{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(5,1fr);width:100%;gap:2px}.nav-item:not(.subtle){display:grid;place-items:center;font-size:0;padding:7px}.nav-item span{font-size:19px}.main{padding:24px 16px 90px}.topbar{align-items:flex-start;gap:15px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.top-actions .btn{font-size:0;padding:11px}.top-actions .btn:first-letter{font-size:16px}.topbar h1{font-size:25px}.hero-card{padding:25px}.hero-orb{display:none}.stats-grid{grid-template-columns:1fr 1fr}.stat{padding:14px}.stat-icon{display:none}.budget-grid,.goal-grid,.account-grid{grid-template-columns:1fr}.summary-strip{grid-template-columns:1fr}.page-tools,.section-intro{align-items:flex-start;gap:12px}.section-intro{flex-direction:column}.search{width:100%}.txn-row{grid-template-columns:38px 1fr auto}.txn-row .txn-meta:nth-of-type(1),.txn-row .txn-meta:nth-of-type(2){display:none}.modal-form{grid-template-columns:1fr}.modal-form .full,.modal-actions{grid-column:auto}.chart-wrap{height:240px}}


/* Ledgerly V3 — grand dashboard + settings */
.dashboard-welcome{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:2px 0 18px;padding:0 2px}.dashboard-welcome h2{font-family:'Playfair Display',serif;font-size:31px;line-height:1.1;margin:2px 0 7px}.dashboard-welcome>div>p:last-child{margin:0;color:var(--muted)}.eyebrow.soft{color:#76877f}.privacy-badge{display:flex;align-items:center;gap:10px;background:#eef5f0;border:1px solid #d9e7dd;border-radius:999px;padding:10px 15px;color:var(--green);min-width:285px}.privacy-badge>span{font-size:11px;color:#42a278}.privacy-badge strong,.privacy-badge small{display:block}.privacy-badge strong{font-size:12px}.privacy-badge small{font-size:9px;color:#708079;margin-top:2px}.grand-hero{min-height:228px;background:radial-gradient(circle at 82% 20%,rgba(255,255,255,.12),transparent 32%),linear-gradient(135deg,#102f28 0%,#1c4b3f 55%,#315f52 100%);box-shadow:0 22px 50px rgba(26,64,54,.18)}.grand-hero:before{content:'';position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-135px;bottom:-290px}.hero-copy{position:relative;z-index:2;max-width:750px}.hero-mini-grid{display:flex;gap:34px;margin-top:28px}.hero-mini-grid div{border-left:1px solid rgba(255,255,255,.22);padding-left:14px}.hero-mini-grid small,.hero-mini-grid strong{display:block}.hero-mini-grid small{color:#bcd0c8;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.hero-mini-grid strong{font-size:18px;color:#fff;margin-top:3px}.premium-orb{width:150px;height:150px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 8px rgba(255,255,255,.035)}.premium-orb>i{position:absolute;inset:-1px;border-radius:50%;background:conic-gradient(#d9c38f var(--p,0%),transparent 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 0)}.stat.luxe{position:relative;overflow:hidden;transition:.18s transform,.18s box-shadow}.stat.luxe:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(27,52,44,.07)}.stat.luxe:after{content:'';position:absolute;width:60px;height:60px;border-radius:50%;right:-25px;top:-25px;background:rgba(31,77,64,.03)}.pulse-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:14px;margin:0 0 16px}.pulse-card{background:linear-gradient(180deg,#fff,#fbfaf6);border:1px solid var(--line);border-radius:17px;padding:18px 20px}.pulse-card.accent{background:#ede8dc;border-color:#e3dac6}.pulse-label{font-size:9px;font-weight:800;letter-spacing:.13em;color:#7a8983}.pulse-card strong{display:block;font-family:'Playfair Display',serif;font-size:26px;margin:3px 0 7px}.pulse-card small{color:var(--muted);font-size:10px}.micro-progress{height:5px;background:#ece9e1;border-radius:99px;overflow:hidden;margin:3px 0 8px}.micro-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#29594c,#7ca18f);border-radius:99px;transition:width .5s ease}.recent-card{margin-top:0}.settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:start}.settings-card{padding:26px}.settings-icon{width:44px;height:44px;border-radius:14px;background:#e8f0eb;color:var(--green);display:grid;place-items:center;font-size:20px;margin-bottom:17px}.settings-card h3{font-family:'Playfair Display',serif;font-size:25px;margin:1px 0 6px}.settings-form{display:grid;gap:13px;margin-top:23px}.settings-form .btn{justify-self:start;min-width:175px}.privacy-card{grid-row:span 2}.privacy-points{display:grid;gap:12px;margin-top:22px}.privacy-points>div{display:flex;gap:11px;align-items:flex-start;padding:13px 0;border-top:1px solid var(--line)}.privacy-points>div>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e3efe8;color:#2c795b;font-weight:800;flex:none}.privacy-points p{margin:0}.privacy-points strong,.privacy-points small{display:block}.privacy-points strong{font-size:12px}.privacy-points small{color:var(--muted);margin-top:3px;line-height:1.45}.profile-card{padding:20px 24px}.profile-line{display:flex;align-items:center;gap:13px}.avatar.large{width:48px;height:48px}.profile-line strong,.profile-line small{display:block}.profile-line small{color:var(--muted);margin-top:3px}.sidebar nav{overflow:auto}.sidebar nav::-webkit-scrollbar{display:none}
@media(max-width:1050px){.pulse-grid{grid-template-columns:1fr 1fr}.pulse-card.accent{grid-column:1/-1}.settings-grid{grid-template-columns:1fr}.privacy-card{grid-row:auto}.dashboard-welcome{align-items:flex-start}.privacy-badge{display:none}}
@media(max-width:720px){.sidebar nav{grid-template-columns:repeat(6,1fr)}.dashboard-welcome h2{font-size:25px}.grand-hero{min-height:205px}.hero-mini-grid{gap:18px;flex-direction:column}.pulse-grid{grid-template-columns:1fr}.pulse-card.accent{grid-column:auto}.settings-card{padding:20px}}


/* V4 role-based access */
.role-chip{display:inline-flex;align-items:center;gap:6px;width:max-content;margin-top:7px;padding:5px 9px;border-radius:999px;background:#edf2ee;color:#315f52;font-size:10px;font-weight:800;letter-spacing:.12em}.role-chip.superadmin{background:#173f35;color:#fff}.admin-privacy-note{display:flex;gap:14px;align-items:center;margin:0 0 18px;padding:16px 18px;border:1px solid #dfe7e2;background:#f4f8f5;border-radius:16px;color:#173f35}.admin-privacy-note>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#173f35;color:#fff}.admin-privacy-note div{display:flex;flex-direction:column;gap:3px}.admin-privacy-note small{color:#68756f}.role-select{min-width:132px;border:1px solid #d9ddd9;background:#fff;border-radius:10px;padding:9px 11px;font:inherit}.you-tag{display:inline-block;margin-left:7px;padding:3px 6px;border-radius:999px;background:#efe9db;color:#725f36;font-size:9px;font-weight:800;letter-spacing:.08em}

/* Theme controls */
.theme-toggle{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;padding:10px 13px;display:flex;align-items:center;gap:8px;font-weight:700;transition:.2s ease;box-shadow:0 4px 14px rgba(31,52,45,.04)}
.theme-toggle:hover{transform:translateY(-1px);border-color:#9db1aa}.theme-icon{font-size:16px;line-height:1}.theme-label{font-size:12px}.appearance-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.appearance-option{border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:14px;padding:15px;text-align:left;display:grid;grid-template-columns:32px 1fr;column-gap:8px;row-gap:2px;align-items:center}.appearance-option>span{grid-row:1/3;font-size:20px;width:32px;height:32px;border-radius:10px;background:var(--paper);display:grid;place-items:center}.appearance-option strong{font-size:13px}.appearance-option small{color:var(--muted);font-size:10px}.appearance-option.active{border-color:var(--green2);box-shadow:0 0 0 3px rgba(39,93,79,.10);background:var(--sage)}

/* Dark mode */
html[data-theme="dark"]{color-scheme:dark;--ink:#edf6f1;--green:#d8efe4;--green2:#8fc6ae;--sage:#1d3b32;--cream:#0d1714;--paper:#14211d;--line:#2a3b35;--muted:#9caaa5;--red:#ef9a92;--gold:#d7b578;--shadow:0 20px 55px rgba(0,0,0,.30)}
html[data-theme="dark"] body{background:var(--cream);color:var(--ink)}
html[data-theme="dark"] .sidebar{background:#101b18;border-color:var(--line)}
html[data-theme="dark"] .brand-mark{background:#dceee5;color:#143a31}
html[data-theme="dark"] .nav-item{color:#aebbb6}
html[data-theme="dark"] .nav-item:hover,html[data-theme="dark"] .nav-item.active{background:#1b2c27;color:#dff4e9}
html[data-theme="dark"] .avatar{background:#203a31;color:#bfe2d1}
html[data-theme="dark"] .auth-panel{background:#111c18}
html[data-theme="dark"] .auth-card h2{color:#f2f6f4}
html[data-theme="dark"] .form-stack label,html[data-theme="dark"] .modal-form label{color:#bdc9c4}
html[data-theme="dark"] .form-stack input,html[data-theme="dark"] .modal-form input,html[data-theme="dark"] .modal-form select,html[data-theme="dark"] .modal-form textarea,html[data-theme="dark"] .month-picker,html[data-theme="dark"] .search input{background:#172521;color:#edf6f1;border-color:#30443c}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#73837d}
html[data-theme="dark"] input:focus,html[data-theme="dark"] select:focus,html[data-theme="dark"] textarea:focus{border-color:#6ea58e;box-shadow:0 0 0 3px rgba(143,198,174,.12)}
html[data-theme="dark"] .btn.primary{background:#75ad95;color:#0c1713}
html[data-theme="dark"] .btn.primary:hover{background:#8fc6ae}
html[data-theme="dark"] .btn.secondary{background:#21352e;color:#c8ead9}
html[data-theme="dark"] .btn.danger{background:#3a2423;color:#f0aaa3}
html[data-theme="dark"] .text-btn{color:#8fc6ae}
html[data-theme="dark"] .card,html[data-theme="dark"] .stat,html[data-theme="dark"] .budget-card,html[data-theme="dark"] .goal-card,html[data-theme="dark"] .account-card{background:#14211d;border-color:#2a3b35;box-shadow:0 7px 24px rgba(0,0,0,.12)}
html[data-theme="dark"] .theme-toggle{background:#14211d;color:#edf6f1;border-color:#31443d;box-shadow:none}
html[data-theme="dark"] .theme-toggle:hover{border-color:#6ea58e}
html[data-theme="dark"] .month-picker{background:#14211d}
html[data-theme="dark"] .hero-card{background:linear-gradient(130deg,#16372f,#244d41);box-shadow:0 22px 55px rgba(0,0,0,.26)}
html[data-theme="dark"] .stat-icon.income{background:#17372c;color:#8dd4b0}
html[data-theme="dark"] .stat-icon.expense{background:#3a2522;color:#ef9a92}
html[data-theme="dark"] .stat-icon.savings{background:#30283b;color:#c8ade5}
html[data-theme="dark"] .stat-icon.budget{background:#3a3221;color:#e2c17c}
html[data-theme="dark"] .empty-overlay{background:rgba(20,33,29,.86)}
html[data-theme="dark"] .txn-row,html[data-theme="dark"] .data-table td{border-color:#263832}
html[data-theme="dark"] .txn-icon{background:#1d302a}
html[data-theme="dark"] .search{background:#14211d;border-color:#2a3b35}
html[data-theme="dark"] .icon-btn{background:#1e2d28;color:#b8c6c0}
html[data-theme="dark"] .progress,html[data-theme="dark"] .micro-progress{background:#25342f}
html[data-theme="dark"] .progress i,html[data-theme="dark"] .micro-progress i{background:#75ad95}
html[data-theme="dark"] .summary-strip{background:#15362e}
html[data-theme="dark"] .pulse-card{background:#14211d;border-color:#2a3b35}
html[data-theme="dark"] .pulse-card.accent{background:linear-gradient(145deg,#1b3c33,#23483d)}
html[data-theme="dark"] .privacy-badge{background:#14211d;border-color:#2a3b35}
html[data-theme="dark"] .modal-backdrop{background:rgba(0,0,0,.62)}
html[data-theme="dark"] .modal-card{background:#14211d;border:1px solid #2a3b35;box-shadow:0 28px 90px rgba(0,0,0,.5)}
html[data-theme="dark"] .modal-x{background:#1f302a;color:#dce8e3}
html[data-theme="dark"] .role-chip{background:#21332d;color:#a9b8b2}
html[data-theme="dark"] .role-chip.superadmin{background:#3a311f;color:#e5c783}
html[data-theme="dark"] .admin-privacy-note{background:#132920;border-color:#29483c}
html[data-theme="dark"] .appearance-option{background:#101b18;border-color:#2a3b35;color:#edf6f1}
html[data-theme="dark"] .appearance-option>span{background:#1d302a}
html[data-theme="dark"] .appearance-option.active{background:#1c392f;border-color:#75ad95;box-shadow:0 0 0 3px rgba(117,173,149,.12)}
html[data-theme="dark"] .settings-icon{background:#1d302a;color:#8fc6ae}
html[data-theme="dark"] .privacy-points>div{border-color:#293a34}
html[data-theme="dark"] .privacy-points>div>span{background:#1d3a30;color:#8fd0b4}
html[data-theme="dark"] .data-table th{border-color:#2a3b35;color:#8f9e98}
html[data-theme="dark"] .role-select{background:#172521;color:#edf6f1;border-color:#30443c}
html[data-theme="dark"] ::selection{background:#376b59;color:#fff}

@media(max-width:700px){.theme-label{display:none}.theme-toggle{padding:10px 12px}.appearance-options{grid-template-columns:1fr}}
\n/* V6 Monthly Plan, income budget, loans & installments */
.budget-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.monthly-plan-hero{background:linear-gradient(135deg,#173f35,#2b5d50);color:#fff;border-radius:22px;padding:26px 28px;margin-bottom:16px;display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;box-shadow:var(--shadow);overflow:hidden;position:relative}.monthly-plan-hero:after{content:'';position:absolute;width:260px;height:260px;border-radius:50%;border:1px solid rgba(255,255,255,.13);right:-90px;top:-120px;box-shadow:0 0 0 55px rgba(255,255,255,.025)}.plan-hero-copy,.plan-hero-grid{position:relative;z-index:1}.plan-hero-copy .eyebrow{color:#bcd8cd}.plan-hero-copy h3{font-family:'Playfair Display',serif;font-size:29px;margin:3px 0 8px}.plan-hero-copy>p:last-child{margin:0;color:#cfe0d9;line-height:1.55}.plan-hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.plan-hero-grid>div{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:15px}.plan-hero-grid span,.plan-hero-grid small{display:block;color:#c9dcd4}.plan-hero-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.plan-hero-grid strong{display:block;font-size:18px;margin:5px 0}.plan-hero-grid strong.negative{color:#ffc2b9}.plan-hero-grid small{font-size:9px}.summary-strip.four{grid-template-columns:repeat(4,1fr)}.budget-section-head{display:flex;align-items:end;justify-content:space-between;margin:26px 0 12px}.budget-section-head h3{font-family:'Playfair Display',serif;font-size:23px;margin:0}.budget-section-head p:not(.eyebrow){margin:5px 0 0;color:var(--muted)}.category-head{margin-top:30px}.obligation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.obligation-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px;position:relative}.obligation-card.paid{border-color:#b9d9ca}.obligation-top{display:flex;justify-content:space-between;gap:12px}.obligation-top h3{margin:3px 0 2px;font-size:16px}.obligation-top small{color:var(--muted)}.obligation-kind{font-size:9px;letter-spacing:.11em;font-weight:800;color:var(--green2)}.obligation-amount{font-family:'Playfair Display',serif;font-size:29px;margin:20px 0 12px}.obligation-amount span{font-family:'DM Sans',sans-serif;font-size:10px;color:var(--muted);margin-left:4px}.obligation-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;margin-bottom:12px}.obligation-meta strong{color:var(--ink)}.obligation-status{display:inline-flex;margin-top:13px;padding:6px 9px;border-radius:999px;background:#f3eadb;color:#836628;font-size:10px;font-weight:800}.obligation-status.paid{background:#e2efe8;color:#2d7359}.obligation-card .goal-actions{margin-top:13px}.modal-note{grid-column:1/-1;padding:12px 13px;border-radius:12px;background:#f0f5f1;color:#567068;font-size:11px;line-height:1.5}html[data-theme="dark"] .monthly-plan-hero{background:linear-gradient(135deg,#123228,#234d40)}html[data-theme="dark"] .obligation-card{background:#14211d;border-color:#2a3b35}html[data-theme="dark"] .obligation-card.paid{border-color:#426b59}html[data-theme="dark"] .obligation-status{background:#3a321f;color:#dfc17d}html[data-theme="dark"] .obligation-status.paid{background:#1c392f;color:#91d2b4}html[data-theme="dark"] .modal-note{background:#172a24;color:#9eb2aa}@media(max-width:1100px){.monthly-plan-hero{grid-template-columns:1fr}.obligation-grid{grid-template-columns:1fr 1fr}.summary-strip.four{grid-template-columns:1fr 1fr}}@media(max-width:720px){.budget-actions{justify-content:flex-start}.section-intro{align-items:flex-start}.monthly-plan-hero{padding:21px}.plan-hero-grid{grid-template-columns:1fr}.obligation-grid{grid-template-columns:1fr}.summary-strip.four{grid-template-columns:1fr}.budget-section-head{align-items:flex-start}}

/* V7 grand dashboard + detailed money plan */
.dashboard-accounts-card{margin:18px 0}.dashboard-account-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dash-account-pill{border:1px solid var(--line);background:linear-gradient(145deg,var(--paper),var(--paper2));border-radius:16px;padding:16px;display:flex;align-items:end;justify-content:space-between;gap:12px;min-height:92px}.dash-account-pill span{display:block;font-size:9px;letter-spacing:.12em;color:var(--green2);font-weight:800}.dash-account-pill strong{display:block;margin-top:4px;font-size:13px}.dash-account-pill b{font-family:'Playfair Display',serif;font-size:20px;white-space:nowrap}.second-chart-row{margin-top:16px}.plan-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 6px}.plan-detail-card{padding:20px}.plan-detail-list{display:flex;flex-direction:column;gap:0}.plan-detail-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.plan-detail-row:first-child{border-top:0}.plan-detail-row strong{display:block;font-size:12px}.plan-detail-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.plan-detail-money{display:flex;align-items:center;gap:9px}.plan-detail-money b{font-family:'Playfair Display',serif;font-size:16px;white-space:nowrap}html[data-theme="dark"] .dash-account-pill{background:linear-gradient(145deg,#14211d,#182923)}@media(max-width:1200px){.dashboard-account-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.plan-details-grid{grid-template-columns:1fr}}@media(max-width:640px){.dashboard-account-strip{grid-template-columns:1fr}.dash-account-pill{min-height:auto}}


/* Ledgerly V9 — Grand Dashboard */
.dashboard-intro{padding:8px 3px 2px}.dashboard-intro h2{font-size:36px;letter-spacing:-.025em}.dashboard-intro>div>p:last-child{font-size:13px}
.v9-hero{min-height:315px;padding:42px 46px;border-radius:30px;background:linear-gradient(135deg,#0f2d27 0%,#19483c 43%,#2e6657 100%);isolation:isolate;box-shadow:0 30px 70px rgba(10,44,36,.24)}
.v9-hero:after{width:400px;height:400px;right:-80px;top:-170px;border-color:rgba(255,255,255,.12);box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.hero-glow{position:absolute;border-radius:999px;filter:blur(2px);pointer-events:none}.hero-glow-one{width:330px;height:330px;right:16%;bottom:-210px;background:radial-gradient(circle,rgba(195,222,207,.17),transparent 67%)}.hero-glow-two{width:260px;height:260px;left:36%;top:-190px;background:radial-gradient(circle,rgba(231,211,157,.11),transparent 68%)}
.v9-hero-copy{max-width:760px}.hero-kicker{font-size:10px!important;letter-spacing:.18em!important;font-weight:800!important;color:#c4d9d1!important}.hero-balance{font-family:'Playfair Display',serif;font-size:58px;line-height:1;margin:8px 0 17px;letter-spacing:-.035em;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.08)}
.v9-hero h2{font-size:25px;margin-bottom:7px}.v9-mini-grid{margin-top:30px}.v9-mini-grid div{min-width:180px}.hero-side-panel{position:relative;z-index:3;width:240px;display:flex;flex-direction:column;align-items:center;gap:20px}.hero-side-caption{width:100%;border-top:1px solid rgba(255,255,255,.17);padding-top:17px;text-align:center}.hero-side-caption span,.hero-side-caption strong,.hero-side-caption small{display:block}.hero-side-caption span{font-size:8px;letter-spacing:.17em;color:#bcd0c8;font-weight:800}.hero-side-caption strong{color:#fff;margin:5px 0 3px;font-size:13px}.hero-side-caption small{color:#bcd0c8;line-height:1.45;font-size:9px}
.dashboard-section-title{display:flex;justify-content:space-between;align-items:end;margin:26px 2px 11px}.dashboard-section-title span{font-size:9px;letter-spacing:.17em;font-weight:800;color:var(--green2)}.dashboard-section-title h3{font-family:'Playfair Display',serif;font-size:24px;margin:4px 0 0}.dashboard-section-title>small{color:var(--muted);font-size:10px}
.stats-grid{gap:16px}.stat.luxe{min-height:105px;border-radius:20px;padding:22px;background:linear-gradient(145deg,var(--paper),var(--paper2))}.stat.luxe strong{font-family:'Playfair Display',serif;font-size:24px}.stat.luxe span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.stat-icon{border-radius:15px}
.pulse-grid{gap:16px}.pulse-card{border-radius:20px;padding:21px 22px;box-shadow:0 10px 28px rgba(37,52,46,.035)}.pulse-card strong{font-size:30px}.pulse-card.accent{background:linear-gradient(135deg,#eee7d8,#e6dcc7)}
.dashboard-accounts-card,.dashboard-charts .card,.recent-card{border-radius:22px}.dashboard-account-strip{gap:14px}.dash-account-pill{min-height:104px;border-radius:18px;padding:18px}.dash-account-pill b{font-size:23px}.dash-account-pill{transition:transform .18s ease,box-shadow .18s ease}.dash-account-pill:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(21,48,40,.08)}
.dashboard-charts{gap:18px}.dashboard-charts .card{padding:25px}.dashboard-charts .card h3{font-family:'Playfair Display',serif;font-size:20px}.chart-wrap{height:300px}.recent-card{padding:25px}
.topbar h1{letter-spacing:-.025em}.topbar .eyebrow{letter-spacing:.16em}
html[data-theme="dark"] .v9-hero{background:linear-gradient(135deg,#0c211c 0%,#12382e 48%,#245244 100%);box-shadow:0 30px 70px rgba(0,0,0,.32)}
html[data-theme="dark"] .stat.luxe{background:linear-gradient(145deg,#14211d,#172721)}html[data-theme="dark"] .pulse-card.accent{background:linear-gradient(135deg,#2e2a20,#363023)}
@media(max-width:1050px){.v9-hero{padding:34px}.hero-side-panel{width:190px}.hero-balance{font-size:48px}}
@media(max-width:780px){.v9-hero{min-height:unset;display:block;padding:27px}.hero-balance{font-size:41px}.hero-side-panel{display:none}.v9-mini-grid{flex-direction:row;flex-wrap:wrap}.dashboard-section-title{align-items:flex-start;flex-direction:column;gap:5px}.dashboard-intro h2{font-size:29px}.dashboard-intro{margin-bottom:15px}.chart-wrap{height:260px}}
