:root{font-family:Segoe UI,system-ui,sans-serif;color:#24392d;background:#f5f6f3;font-size:16px;--accent:#285c42;--soft:#eaf1e9;--line:#dce4dd;--muted:#627269;--panel:#fff;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;min-height:44px;border:1px solid var(--line);background:white;color:inherit;padding:10px 14px;border-radius:9px}button:hover{background:var(--soft)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #669373;outline-offset:3px}input,select,textarea{width:100%;padding:12px;border:1px solid #b8c6bd;border-radius:8px;background:white;color:inherit;min-height:44px}textarea{min-height:110px;resize:vertical}input[type=checkbox]{width:21px;min-height:21px;accent-color:var(--accent)}h1{font-size:clamp(1.65rem,3vw,2.15rem);line-height:1.2;letter-spacing:-.7px;margin:8px 0 12px}h2{font-size:1.12rem;margin:0 0 15px}h3{font-size:1rem;margin:0 0 8px}p{line-height:1.6;margin:8px 0;color:var(--muted)}small,.small{font-size:.82rem;color:var(--muted)}strong{font-weight:650}a{color:var(--accent)}.shell{display:grid;grid-template-columns:215px 1fr;min-height:100dvh}.sidebar{background:var(--panel);padding:30px 17px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:30px}.brand{font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:10px}.brandmark{background:var(--accent);color:white;border-radius:12px;padding:7px 12px}.nav{display:grid;gap:6px}.nav button{text-align:left;display:flex;gap:12px;align-items:center;background:transparent;border:0;color:var(--muted)}.nav button.active{background:var(--soft);color:var(--accent);font-weight:650}.nav-icon{font-size:20px;width:23px;text-align:center}.sidefoot{margin-top:auto}.main{padding:28px 34px;max-width:1280px;width:100%;min-width:0}.topbar,.row,.heading,.panelhead,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.topbar{margin-bottom:27px;color:var(--muted);font-size:.8rem}.heading{margin-bottom:25px}.eyebrow{font-size:.75rem;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted);font-weight:600}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover{background:#1f4934}.badge{font-size:.76rem;background:var(--soft);color:var(--accent);padding:5px 9px;border-radius:7px}.hero{background:var(--soft);padding:24px;border-radius:15px;margin-bottom:23px}.hero h2{font-size:1.3rem;margin:7px 0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.split{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}.panel{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:22px;margin-bottom:20px;min-width:0}.panelhead{margin-bottom:10px}.panelhead h2{margin:0}.panelhead button{font-size:.85rem}.stat{font-size:1.85rem;letter-spacing:-.7px;font-weight:650;margin:10px 0;font-variant-numeric:tabular-nums}.listrow{display:flex;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.listrow:last-child{border-bottom:0}.grow{flex:1;min-width:0;overflow-wrap:anywhere}.plain{background:transparent;border:0;padding:4px;min-height:44px;text-align:left}.completed{text-decoration:line-through;color:var(--muted)}.empty{padding:25px 0;color:var(--muted);font-size:.92rem}.meter{height:7px;background:var(--line);border-radius:8px;margin:12px 0;overflow:hidden}.meter span{display:block;height:100%;background:var(--accent)}.danger,.negative{color:#a33d33}.danger{border-color:#ddbbb4}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.toolbar input,.toolbar select{width:auto;max-width:100%}.toolbar .spacer{flex:1}.weekgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.weekgrid .panel{margin:0}.event{padding:12px;border-left:3px solid var(--accent);background:#f5f8f4;margin:12px 0;border-radius:0 8px 8px 0}.event button{display:block;width:100%}.eventtime{font-size:.85rem;color:var(--muted)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:6px;margin:13px 0;min-width:0}.field.full{grid-column:1/-1}.actions{justify-content:flex-end;margin-top:22px}.actions .danger{margin-right:auto}dialog{border:1px solid var(--line);border-radius:18px;padding:25px;max-width:590px;width:calc(100% - 26px);max-height:90dvh;overflow:auto;color:inherit;background:white}dialog::backdrop{background:#17271fcc}.icon-button{font-size:24px;border:0;padding:2px 12px}.error{color:#a33d33;font-size:.9rem}.auth{max-width:510px;margin:8vh auto;padding:30px}.auth .brand{margin-bottom:35px}.auth .panel{margin-top:25px}.auth button{width:100%;margin-top:12px}.notice{padding:14px;background:var(--soft);border-radius:8px;font-size:.9rem}.review-check{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.review-check input{flex-shrink:0}.ledger{width:100%;border-collapse:collapse}.ledger td,.ledger th{text-align:left;border-bottom:1px solid var(--line);padding:13px 5px;font-size:.9rem}.ledger td:last-child,.ledger th:last-child{text-align:right}.tablewrap{overflow:auto}.muted{color:var(--muted)}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#203c2c;color:white;max-width:calc(100% - 30px);padding:0;border-radius:10px;z-index:20;box-shadow:0 4px 20px #0002}#toast:not(:empty){padding:14px 20px}[hidden]{display:none!important}.review-notes{white-space:pre-wrap}.inline-help{font-size:.83rem;margin-bottom:12px}.areahead{margin-bottom:12px}.auth footer{font-size:.8rem}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.loading{padding:20vh 25px;text-align:center}.save-state{font-size:.8rem}.help-list{line-height:1.8;padding-left:20px}
@media(min-width:901px){.sidebar{position:sticky;top:0;height:100dvh}.mobile-brand{display:none}}@media(max-width:900px){.shell{display:block}.sidebar{display:block;padding:0;border:0}.sidebar>.brand,.sidefoot{display:none}.nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(6,1fr);background:white;padding:7px 3px max(7px,env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:10;gap:0}.nav button{flex-direction:column;gap:3px;font-size:.68rem;padding:5px 1px;border-radius:7px;min-height:55px}.nav-icon{font-size:21px}.main{padding:23px 20px 110px}.topbar{margin-bottom:20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.heading .primary{width:100%}.settings-grid{grid-template-columns:1fr}}@media(max-width:480px){.main{padding:20px 14px 110px}.grid,.weekgrid,.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.panel{padding:18px}.stat{font-size:1.65rem}.auth{padding:22px 16px}.ledger th:nth-child(2),.ledger td:nth-child(2){display:none}.topbar{gap:7px}.topbar .badge{font-size:.7rem}.toolbar button{flex:1}.heading{gap:7px}}
/* Financial overview */
.savings-hero{display:flex;align-items:center;gap:38px;padding:34px;margin-bottom:24px;border-radius:22px;background:linear-gradient(125deg,#173d30,#10281f);color:#fff7df;overflow:hidden}.savings-hero .eyebrow,.savings-hero .small{color:#d8d6bf}.savings-hero h2{font-size:1.8rem;margin:8px 0 14px}.savings-hero button{color:#f8d477}.savings-value{font-size:1.8rem;font-weight:650}.savings-value small{font-size:.95rem;font-weight:400;color:#ddd7bf}.gold-coin{flex:0 0 176px;height:176px;position:relative;isolation:isolate;border-radius:50%;overflow:hidden;border:7px solid #d6ad53;background:radial-gradient(circle at 35% 25%,#68552c,#2e291e);box-shadow:0 0 0 3px #7e622e,0 12px 28px #0005,inset 0 0 0 5px #f6dc8333;display:grid;place-items:center}.gold-liquid{position:absolute;bottom:0;left:0;width:100%;height:var(--fill);background:linear-gradient(110deg,#b77a12,#ffe59a 48%,#dfa82e);transition:height 1s ease;z-index:-1}.gold-liquid:before{content:'';position:absolute;top:-5px;left:-25%;width:150%;height:13px;border-radius:50%;background:#f9d56c;animation:gold-wave 4s ease-in-out infinite alternate}.gold-coin span{font-size:3rem;font-weight:700;color:#ffe49b;text-shadow:0 2px 3px #694715}.financial-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.financial-cards .panel{padding:20px}.financial-cards .stat{font-size:1.65rem}.invoice-panel details{margin:16px 0}.invoice-panel summary{cursor:pointer;padding:10px 0}.notice ul{padding-left:20px;max-height:190px;overflow:auto}#payment-preview:empty{display:none}@keyframes gold-wave{from{transform:translateX(-6px) rotate(-3deg)}to{transform:translateX(6px) rotate(3deg)}}@media(max-width:1100px){.financial-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.savings-hero{flex-direction:column;text-align:center;padding:26px 20px;gap:23px}.gold-coin{flex-basis:auto;width:150px;height:150px}.savings-value{font-size:1.55rem}.savings-value small{display:block;margin-top:7px}.financial-cards{gap:10px}.financial-cards .panel{padding:14px}.financial-cards .stat{font-size:1.3rem}.invoice-panel .grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.gold-liquid{transition:none}.gold-liquid:before{animation:none}}
.savings-hero p{color:#e6dcc0}.savings-hero p strong{color:#ffe6a4}
.expense-detail-button{display:flex;flex-direction:column;width:100%;align-items:flex-start}.expense-detail-button:hover{color:var(--accent)}.expense-detail-button .stat{display:block}textarea[readonly]{font-family:monospace;font-size:.8rem}

/* Financial workspace, with device-local appearance preference. */
:root{--bg:#f5f7f5;--text:#172e27;background:var(--bg);color:var(--text)}
:root[data-theme=dark]{--bg:#101b18;--text:#e7eee9;--panel:#192923;--soft:#243c31;--line:#34493e;--muted:#adbbb2;--accent:#8ac5a0;color-scheme:dark}
body{background:var(--bg)}button,input,select,textarea,dialog,.nav{background:var(--panel)}
.plain{background:transparent}.primary{background:#285c42;color:#fff;border-color:#285c42}.brandmark{background:#285c42}.nav button.active{color:var(--accent)}
.main{max-width:1550px}.panel{box-shadow:0 3px 14px #142f2310}.heading .eyebrow{display:none}.heading h1{margin-top:0}.savings-hero{border-radius:17px}.savings-hero button:hover{background:#31533d}.financial-cards .panel{min-height:135px}
.chart-toolbar{justify-content:flex-end}.chart-toolbar input{margin-left:10px}.line-chart svg{width:100%;height:auto;min-height:150px}.line-chart text{font-size:11px;fill:var(--muted)}.chart-grid{stroke:var(--line)}.chart-values{max-height:200px;overflow:auto;padding:12px}.chart-values .row{padding:7px;border-bottom:1px solid var(--line)}details summary{cursor:pointer;min-height:44px;padding-top:10px;color:var(--muted)}
.category-chart{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.donut{width:155px;height:155px;flex-shrink:0;border-radius:50%;display:grid;place-items:center}.donut>div{background:var(--panel);border-radius:50%;width:115px;height:115px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.donut strong{font-size:.9rem}.category-legend{flex:1;min-width:180px}.category-item{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:8px;font-size:.82rem;padding:7px 0}.category-item small{grid-column:3;text-align:right}.dot{width:9px;height:9px;border-radius:50%}.quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}.income-card h3{margin-top:14px}.income-card button{width:100%}.monthly-income input{width:auto}.action-picker{display:grid;gap:12px}.action-picker button{text-align:left;font-weight:650;padding:15px}.action-picker small{display:block;margin-top:5px;font-weight:400}.settings-grid>.panel>.panel{box-shadow:none}
[data-theme=dark] .error,[data-theme=dark] .negative,[data-theme=dark] .danger{color:#ffb0a7}
@media(max-width:900px){.nav{grid-template-columns:repeat(4,1fr)}.nav button{font-size:.76rem}.monthly-income .grid{grid-template-columns:1fr}.income-card{margin-bottom:0}.monthly-income{margin-bottom:24px}.quick-actions{display:grid;grid-template-columns:1fr 1fr}.quick-actions .primary{grid-column:1/-1}}
@media(max-width:480px){.category-chart{justify-content:center}.financial-cards .panel{min-height:125px}.financial-cards .stat{font-size:1.18rem}.savings-hero{gap:18px}.savings-hero h2{font-size:1.5rem}.chart-toolbar label{width:100%}.chart-toolbar input{margin-left:0;width:100%}.quick-actions button{font-size:.85rem}.income-card .stat{font-size:1.6rem}}

/* Meu Norte: independent multi-account workspace. */
.sidebar .brand{font-size:1.05rem}.panel>h2{margin-top:14px}.onboarding{max-width:620px}.auth .badge{display:inline-block;margin-bottom:16px}.financial-cards:empty{display:none}.grid .panel .actions{justify-content:flex-start}.grid .panel h2{overflow-wrap:anywhere}.main>.toolbar label{max-width:100%}.line-chart{overflow:hidden}.project-row{display:flex;justify-content:space-between;gap:16px}
@media(max-width:900px){.nav{grid-template-columns:repeat(5,minmax(0,1fr))}.nav button{font-size:.65rem;overflow-wrap:anywhere}.main{padding-bottom:120px}}
