.brand-logo{width:48px;height:48px;object-fit:cover;border-radius:10px}.welcome-logo{width:115px;height:115px;object-fit:cover;border-radius:20px;margin-bottom:22px}
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#143c32;background:#f0f3f1;font-synthesis:none;--green:#083d32;--muted:#60756c;--line:#dce4df;--silver:#d5dfda;--red:#a14232}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ac8642;outline-offset:3px}button{border:0;background:none;color:inherit}header{height:90px;max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-size:22px;letter-spacing:5px;font-weight:500}.monogram{display:grid;place-items:center;border:1px solid #a3b7ac;background:var(--green);color:var(--silver);width:42px;height:46px;border-radius:12px;font:32px Georgia;letter-spacing:0}.private{font-size:13px;color:var(--muted)}.layout{max-width:1280px;margin:auto;display:grid;grid-template-columns:205px 1fr;min-height:calc(100vh - 90px)}nav{padding:35px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:9px}nav button{display:flex;align-items:center;gap:12px;text-align:left;padding:14px;border-radius:10px;color:var(--muted);font-size:14px;font-weight:600}nav button.active{background:#dce8e0;color:var(--green)}nav .navfoot{margin-top:auto;font-size:12px;line-height:1.7;color:var(--muted);padding:20px 12px}main{padding:35px 38px 50px;min-width:0}.topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:27px}h1{font-size:29px;letter-spacing:-1px;font-weight:550;margin:0 0 7px}h2{font-size:18px;font-weight:600;letter-spacing:-.3px;margin:0}h3{font-size:15px;margin:0 0 5px}p{line-height:1.6}.muted{color:var(--muted)}.small{font-size:14px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-weight:600}.month{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:4px;white-space:nowrap}.month button{padding:6px 10px;font-size:20px}.month span{font-size:14px;font-weight:600;min-width:125px;text-align:center}.primary{background:var(--green);color:white;border-radius:9px;padding:13px 18px;font-size:14px;font-weight:600}.secondary{border:1px solid var(--line);border-radius:9px;padding:11px 14px;background:white;font-size:14px}.hero{background:var(--green);color:#fff;border-radius:18px;padding:29px 30px;position:relative;overflow:hidden}.hero .eyebrow{color:#b4c9be}.hero .big{font-size:clamp(38px,5vw,56px);font-weight:450;letter-spacing:-2px;line-height:1.2;margin:14px 0}.hero p{font-size:14px;color:#c5d7ce;margin:6px 0}.hero-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:23px;padding-top:19px;border-top:1px solid #ffffff25}.hero-bottom strong{font-size:18px;font-weight:500}.hero-bottom span{font-size:12px;color:#bed1c6}.hero .pill{color:#d6e8dd;background:#ffffff12;border:1px solid #ffffff18}.pill{display:inline-block;padding:5px 9px;border-radius:6px;font-size:12px;background:#eef3ef;color:#4f6a5a;white-space:nowrap}.grid{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.panel{border:1px solid var(--line);background:#fff;border-radius:15px;padding:23px;min-width:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}.section-title button{font-size:13px;color:#436754}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0 28px}.metric{padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fafcfb}.metric strong{display:block;font-weight:550;font-size:23px;margin-top:9px;letter-spacing:-.5px}.metric span{font-size:13px;color:var(--muted)}.row{display:flex;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid #edf1ee;min-width:0}.row:last-child{border-bottom:0}.row .grow{flex:1;min-width:0}.row strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.row small{display:block;font-size:12px;color:var(--muted);margin-top:4px;line-height:1.5}.row .amount{font-size:15px;font-weight:600;white-space:nowrap}.datebox{background:#f0f4f1;min-width:40px;text-align:center;padding:8px 4px;border-radius:9px;font-size:16px;font-weight:600}.datebox small{margin:0;font-size:10px;text-transform:uppercase}.positive{color:#2b7252}.negative{color:var(--red)}.notice{background:#f2eee4;color:#745529;border:1px solid #e9dfcb;border-radius:10px;padding:13px 15px;font-size:13px;line-height:1.6;margin-top:15px}.envelope{padding:15px 0}.envelope+.envelope{border-top:1px solid #edf1ee}.envelope-head{display:flex;justify-content:space-between;align-items:center;gap:9px;font-size:14px}.track{height:6px;background:#e9eeea;border-radius:4px;margin:12px 0 7px;overflow:hidden}.track i{display:block;height:100%;background:#51836a;border-radius:4px}.envelope small{font-size:12px;color:var(--muted)}.envelope .over{background:#ae6755}.empty{text-align:center;padding:32px 15px;color:var(--muted);font-size:14px;line-height:1.7}.empty h2{color:var(--green);font-size:22px;margin-bottom:8px}.empty .primary{margin:10px}.welcome{max-width:670px;margin:25px auto}.welcome p{max-width:490px;margin:14px auto}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:left;margin:30px 0}.steps div{border:1px solid var(--line);padding:18px;border-radius:12px}.steps span{font:26px Georgia;color:#749280;display:block;margin-bottom:10px}.steps strong{font-size:14px}.steps p{font-size:12px;margin:6px 0}.actions{display:flex;gap:7px;align-items:center}.icon-btn{border:1px solid var(--line);border-radius:7px;padding:7px 9px;font-size:13px}.list-panel{margin-bottom:20px}.demo-banner{background:#e0e9e3;display:flex;justify-content:center;gap:16px;align-items:center;padding:9px;font-size:13px}.demo-banner button{text-decoration:underline}.full{width:100%}.stack{display:grid;gap:18px}.settings{max-width:640px}.details{font-size:13px;line-height:1.7;color:var(--muted)}details summary{cursor:pointer;font-size:13px;margin-top:18px}dl{display:grid;grid-template-columns:1fr auto;gap:10px;font-size:13px}dd{margin:0;text-align:right}dialog{border:1px solid var(--line);border-radius:17px;box-shadow:0 30px 100px #00261933;width:min(490px,calc(100% - 24px));padding:25px;color:var(--green);max-height:90dvh}dialog::backdrop{background:#0b2f2866;backdrop-filter:blur(3px)}.formhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.formhead button{font-size:23px}label{display:block;font-size:13px;font-weight:600;margin:15px 0 7px}input,select{display:block;width:100%;padding:12px;border:1px solid #cbd8cf;border-radius:8px;color:var(--green);background:white;font-size:16px}input:focus,select:focus{outline:2px solid #6d9c82;outline-offset:1px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.error{color:var(--red);font-size:14px;line-height:1.5}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#163f32;color:#fff;padding:13px 20px;border-radius:10px;box-shadow:0 6px 35px #0002;z-index:20;display:none;font-size:14px;max-width:90%;text-align:center}.help{font-size:12px;color:var(--muted);line-height:1.6}.account-card{padding:23px;background:white;border:1px solid var(--line);border-radius:14px}.account-card .balance{font-size:30px;letter-spacing:-1px;margin:20px 0}.spacer{height:22px}button:disabled{opacity:.35;cursor:default}@media(max-width:950px){main{padding:28px 22px}.layout{grid-template-columns:175px 1fr}.grid{grid-template-columns:1fr}header{padding:0 24px}}@media(max-width:640px){header{height:72px;padding:0 20px}.brand{font-size:18px;letter-spacing:4px}.monogram{width:34px;height:38px;font-size:26px}.private{font-size:11px;max-width:92px;text-align:right}.layout{display:block}.layout nav{position:fixed;z-index:10;bottom:0;left:0;right:0;flex-direction:row;justify-content:space-around;background:#f9fcfaf5;backdrop-filter:blur(15px);border-top:1px solid var(--line);border-right:0;padding:7px 6px max(8px,env(safe-area-inset-bottom));gap:2px}nav button{flex-direction:column;gap:4px;font-size:10px;padding:8px 10px}nav button .navicon{font-size:20px}nav .navfoot{display:none}main{padding:25px 18px 110px}h1{font-size:26px}.topline{flex-wrap:wrap;gap:18px;margin-bottom:22px}.topline>div:first-child{flex:1}.month{padding:2px}.month span{min-width:103px;font-size:12px}.month button{padding:5px 6px}.hero{padding:25px 23px;border-radius:15px}.hero .big{font-size:44px}.hero-bottom{gap:10px}.hero-bottom strong{font-size:16px}.metrics{gap:8px;margin:14px 0 23px}.metric{padding:13px 10px}.metric strong{font-size:18px}.metric span{font-size:11px}.panel{padding:20px}.steps{grid-template-columns:1fr;text-align:left;gap:8px;margin:20px 0}.steps div{padding:14px}.steps span{display:inline;margin-right:12px;font-size:20px}.steps p{margin:5px 0}.row{gap:9px}.row .amount{font-size:13px}.actions{gap:4px;flex-wrap:wrap}.icon-btn{padding:7px}.demo-banner{font-size:11px}.envelope-head{font-size:13px}#toast{bottom:90px}.account-card .balance{font-size:27px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,opacity .15s}main{animation:appear .2s ease}@keyframes appear{from{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:none}}}

.reconcile{border:1px solid var(--line);border-radius:10px;margin-top:20px;padding:12px}.reconcile legend{font-size:14px}.check-row{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5}.check-row input{width:20px;height:20px;flex-shrink:0;margin-top:2px}.check-row span{font-size:14px}

.auth-page{max-width:560px;margin:5vh auto;padding:20px}.auth-page h1{font-size:1.8rem}.auth-page button{margin-top:20px}.auth-page .welcome-logo{display:block;margin:0 auto 24px}.settings button{margin:8px 6px 0 0}

.envelope-summary{margin:8px 0}.envelope-release{margin-top:4px}.envelope{padding-bottom:18px}

/* Explicit surfaces and control colors keep Chrome and installed windows consistent. */
:root{color-scheme:dark;color:#e7f0e9;background:#101713;--green:#b9e5cb;--muted:#afc3b6;--line:#3e5547;--silver:#d5dfda;--red:#ffaaa0;--surface:#19251e;--raised:#24372b}
html,body{background:#101713;color:#e7f0e9;min-height:100%}
.panel,.account-card,.metric,.month,dialog{background:var(--surface);color:#e7f0e9}
.primary,.section-title button.primary{background:#a9dfbf;color:#10291b;border:1px solid #a9dfbf}
.secondary,.section-title button.secondary{background:var(--raised);color:#e7f0e9;border-color:#678572}
.section-title button{color:#c8ecd6}
button{color:inherit}
.icon-btn,.month button{background:#24372b;color:#e7f0e9}
nav button{color:#b8cbbf}
nav button.active{background:#304f3b;color:#d8f6e3}
.layout nav{background:#152019}
.hero{background:#123e2b;color:#f1fff5;border:1px solid #49745a}
.hero .eyebrow,.hero p,.hero .help{color:#c4e3ce}
.hero .secondary{background:#d0eedb;color:#153320;border-color:#d0eedb}
.datebox,.pill,.demo-banner{background:#293e30;color:#dceee2}
.row,.envelope+.envelope{border-color:#354b3d}
.track{background:#35493c}.track i{background:#8cd3a8}.envelope .over{background:#ffac9d}
.positive{color:#9ae3b8}.negative,.error{color:#ffaaa0}
.notice{background:#3a3020;color:#ffe0a8;border-color:#79613b}
.empty{color:var(--muted)}.empty h2{color:#c1ebd2}
input,select,textarea{color-scheme:dark;background:#101b14;color:#edf7f0;border-color:#6d8977;accent-color:#a9dfbf}
input::placeholder,textarea::placeholder{color:#a8bcae;opacity:1}
input::file-selector-button{background:#304f3b;color:#edf7f0;border:1px solid #678572;border-radius:6px;padding:8px;margin-right:10px}
dialog::backdrop{background:#000a}
#toast{background:#d0eedb;color:#153320;border:1px solid #8cbea0}
button:disabled{opacity:.55}
a{color:#b8e6cb}
