:root {
    color-scheme: dark;
    --bg: #0a121a; --sidebar: #0e1923; --surface: #111d27; --surface-2: #162431;
    --text: #f3f6f9; --muted: #96a4b4; --line: rgba(154, 177, 199, .13);
    --green: #61d49a; --green-rgb: 97,212,154; --blue: #7eb6ff; --orange: #ffb85c;
    --red: #ff7c85; --purple: #bc85ff; --shadow: 0 22px 60px rgba(0,0,0,.22);
    --radius: 18px; --sidebar-w: 252px; --font: "DM Sans", system-ui, sans-serif;
    --hand: "Caveat", "Segoe Print", cursive;
}
[data-theme="light"] {
    color-scheme: light; --bg: #f3f7f6; --sidebar: #f9fcfb; --surface: #fff; --surface-2: #edf5f2;
    --text: #14212a; --muted: #60717c; --line: rgba(33, 65, 58, .12); --shadow: 0 20px 50px rgba(41,76,65,.09);
}
* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text); font-family: var(--font); font-size: 16px; line-height: 1.5; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
.skip-link { position: fixed; z-index: 100; left: 1rem; top: -5rem; padding: .75rem 1rem; background: var(--green); color: #082016; border-radius: 10px; }
.skip-link:focus { top: 1rem; }
.visually-hidden { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.handwritten { font-family: var(--hand); }
.eyebrow { color: var(--green); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.muted { color: var(--muted); }

.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 20; width: var(--sidebar-w); padding: 26px 18px; display: flex; flex-direction: column; border-right: 1px solid var(--line); background: linear-gradient(180deg, var(--sidebar), color-mix(in srgb, var(--sidebar) 84%, #071018)); }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px 28px; }
.brand-mark { display: grid; place-items: center; width: 40px; height: 40px; color: var(--green); font-size: 2rem; transform: rotate(-30deg); }
.brand strong { display: block; font-size: 1.35rem; letter-spacing: -.02em; }
.brand small { display: block; margin-top: 1px; color: var(--muted); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.side-nav { display: grid; gap: 5px; }
.side-nav a { min-height: 46px; display: flex; align-items: center; gap: 13px; padding: 0 14px; color: color-mix(in srgb, var(--text) 78%, transparent); border-radius: 11px; font-size: .94rem; transition: .18s ease; }
.side-nav a:hover { background: color-mix(in srgb, var(--surface-2) 72%, transparent); color: var(--text); transform: translateX(2px); }
.side-nav a.active { background: linear-gradient(90deg, rgba(126,182,255,.16), rgba(126,182,255,.06)); color: var(--text); box-shadow: inset 3px 0 var(--blue); }
.nav-icon { width: 21px; height: 21px; display: inline-grid; place-items: center; color: currentColor; }
.nav-icon::before { font-size: 1.18rem; line-height: 1; }
.icon-home::before { content: "⌂"; }.icon-wallet::before { content: "▣"; }.icon-target::before { content: "◎"; }.icon-check::before { content: "☑"; }.icon-calendar::before { content: "□"; }.icon-book::before { content: "▤"; }.icon-moon::before { content: "☾"; }.icon-chart::before { content: "▥"; }.icon-settings::before { content: "⚙"; }.icon-more::before { content: "•••"; }
.sidebar blockquote { margin: auto 8px 0; padding: 22px 8px; color: color-mix(in srgb, var(--text) 74%, transparent); font-family: var(--hand); font-size: 1.35rem; line-height: 1.1; border-top: 1px solid var(--line); }
.sidebar-sprout { color: var(--green); text-align: center; font-size: 1.5rem; transform: rotate(-30deg); }

.app-shell { width: calc(100% - var(--sidebar-w)); min-height: 100vh; margin-left: var(--sidebar-w); padding: 24px clamp(18px, 3vw, 42px) 92px; }
.topbar { min-height: 70px; display: grid; grid-template-columns: minmax(210px,1fr) auto minmax(280px,1fr); align-items: start; gap: 30px; margin-bottom: 24px; }
.topbar h1 { margin: 1px 0 0; font-size: clamp(1.75rem, 3vw, 2.4rem); line-height: 1.12; letter-spacing: -.04em; }
.topbar p { margin: 4px 0 0; color: var(--muted); }
.top-quote { align-self: center; color: color-mix(in srgb, var(--text) 86%, transparent)!important; text-align: center; font-size: clamp(1.15rem,1.7vw,1.5rem); line-height: 1.05; }
.top-actions { justify-self: end; align-self: center; display: flex; gap: 10px; align-items: center; }
.search { width: min(285px, 25vw); height: 44px; display: flex; align-items: center; gap: 9px; padding: 0 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--muted); }
.search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 16px; }
.search kbd { padding: 2px 5px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); font-size: .65rem; white-space: nowrap; }
.icon-button, .avatar { flex: 0 0 auto; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); cursor: pointer; }
.icon-button:hover { border-color: var(--green); }
.avatar { border-radius: 50%; background: linear-gradient(145deg, #d896b9, #6f85cc 50%, #203a31); color: white; font-size: .72rem; font-weight: 700; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 16px; }
.metric { min-height: 112px; display: flex; align-items: center; gap: 16px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.metric.income { background: linear-gradient(135deg, rgba(41,126,91,.3), var(--surface)); }.metric.expense { background: linear-gradient(135deg, rgba(133,55,63,.3), var(--surface)); }.metric.balance { background: linear-gradient(135deg, rgba(44,104,155,.3), var(--surface)); }.metric.tasks { background: linear-gradient(135deg, rgba(99,70,160,.3), var(--surface)); }
.metric-icon { flex: 0 0 auto; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.09); font-size: 1.7rem; }
.metric div { min-width: 0; }.metric small { display: block; color: var(--green); }.expense small { color: var(--red); }.balance small { color: var(--blue); }.tasks small { color: #d5b1ff; }
.metric strong { display: block; margin: 3px 0; font-size: clamp(1.2rem, 1.8vw, 1.5rem); white-space: nowrap; }.metric div > span { color: var(--muted); font-size: .78rem; }

.dashboard-grid { display: grid; grid-template-columns: 1.05fr 1.1fr .95fr; grid-template-areas: "expenses plans agenda" "today journal dreams"; gap: 16px; }
.panel { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, var(--surface), color-mix(in srgb,var(--surface) 88%,#08111a)); box-shadow: var(--shadow); }
.panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.panel h2 { margin: 0; font-size: 1rem; letter-spacing: -.02em; }.panel header p { margin: 1px 0 0; color: var(--muted); font-size: .78rem; }
.text-link { padding: 2px; border: 0; background: transparent; color: var(--blue); font-size: .76rem; cursor: pointer; white-space: nowrap; }
.expenses-panel { grid-area: expenses; }.plans-panel { grid-area: plans; }.agenda-panel { grid-area: agenda; }.today-panel { grid-area: today; }.journal-panel { grid-area: journal; }.dreams-panel { grid-area: dreams; }
.chart-wrap { min-height: 208px; display: grid; grid-template-columns: minmax(120px,1fr) minmax(130px,.85fr); align-items: center; gap: 17px; }
.donut { width: min(190px,100%); aspect-ratio: 1; display: grid; place-items: center; margin: auto; border-radius: 50%; background: conic-gradient(#55c78b 0 35%,#f3b857 35% 57%,#ff8b63 57% 73%,#e56c9d 73% 85%,#829cf2 85%); position: relative; }
.donut::after { content:""; position: absolute; width: 55%; height: 55%; border-radius: inherit; background: var(--surface); box-shadow: 0 0 0 8px rgba(10,18,26,.1); }
.donut span { position: relative; z-index: 1; text-align: center; }.donut strong,.donut small { display:block; }.donut strong { font-size: .95rem; }.donut small { color: var(--muted); font-size: .7rem; }
.legend { display: grid; gap: 8px; padding: 0; margin: 0; list-style: none; }.legend li { display: grid; grid-template-columns: 10px 1fr auto; align-items:center; gap: 8px; font-size: .75rem; }.legend i { width: 9px; height: 9px; border-radius: 50%; background: var(--dot); }.legend b { font-weight: 500; color: var(--muted); }
.plan-list { display: grid; gap: 9px; }.plan { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }.plan.green { background: rgba(50,135,96,.19); }.plan.blue { background: rgba(53,98,153,.19); }.plan.purple { background: rgba(110,70,155,.19); }.plan-icon { font-size: 1.75rem; color: var(--green); }.plan.blue .plan-icon,.plan.blue small { color:var(--blue); }.plan.purple .plan-icon,.plan.purple small {color:var(--purple);}.plan div { min-width:0; }.plan small {color:var(--green);font-size:.7rem;}.plan p {margin:2px 0 7px;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.plan b{font-size:.72rem;align-self:end}.progress{height:7px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit;background:var(--green)}.blue .progress i{background:var(--blue)}.purple .progress i{background:var(--purple)}
.timeline { padding: 0; margin: 0; list-style: none; }.timeline li { min-height: 43px; display:grid;grid-template-columns:42px 8px 1fr;align-items:center;column-gap:10px;border-bottom:1px solid var(--line);font-size:.79rem}.timeline li:last-child{border:0}.timeline time{color:var(--muted)}.timeline i{width:8px;height:8px;border-radius:50%;}.green-dot{background:var(--green)}.blue-dot{background:var(--blue)}.orange-dot{background:var(--orange)}.purple-dot{background:var(--purple)}.timeline small{grid-column:3;color:var(--muted);font-size:.66rem;margin-top:-12px}
.check-list{display:grid;padding:0;margin:0;list-style:none}.check-list li{min-height:41px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);font-size:.8rem}.check-list label{display:flex;align-items:center;gap:9px;cursor:pointer}.check-list input{appearance:none;width:18px;height:18px;border:1px solid var(--muted);border-radius:4px;display:grid;place-items:center}.check-list input:checked{background:var(--green);border-color:var(--green)}.check-list input:checked::after{content:"✓";color:#092117;font-weight:800;font-size:.7rem}.check-list input:checked+span{text-decoration:line-through;color:var(--muted)}.check-list small{color:var(--muted);font-size:.67rem}.add-row{width:100%;margin-top:10px;padding:10px 12px;border:1px dashed color-mix(in srgb,var(--green) 40%,var(--line));border-radius:10px;background:rgba(var(--green-rgb),.05);color:var(--muted);text-align:left;cursor:pointer}
.journal-list,.dream-list{display:grid;gap:7px}.journal-list article,.dream-list article{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:10px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.018)}.journal-list time,.dream-list time{display:grid;place-content:center;text-align:center;border-radius:9px;background:var(--surface-2)}.journal-list time b,.dream-list time b{font-size:1rem}.journal-list time small,.dream-list time small{font-size:.62rem;color:var(--muted)}.journal-list h3{margin:0 0 3px;font-size:.82rem}.journal-list p,.dream-list p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--muted);font-size:.72rem}.dream-type{color:var(--blue);font-size:.74rem}.dream-type.lucid{color:var(--purple)}
.reflection-card{margin-top:16px;display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,2fr) auto;align-items:center;gap:18px;padding:22px;border:1px solid rgba(var(--green-rgb),.18);border-radius:var(--radius);background:radial-gradient(circle at 10% 50%,rgba(var(--green-rgb),.12),transparent 32%),var(--surface);box-shadow:var(--shadow)}.reflection-card h2{margin:2px 0 0;font-size:1.65rem;font-weight:500}.writing-input{width:100%;min-height:76px;resize:vertical;padding:15px 18px;border:1px solid rgba(var(--green-rgb),.22);outline:0;border-radius:14px;background:linear-gradient(135deg,rgba(232,220,190,.11),rgba(var(--green-rgb),.08));color:var(--text);font-family:var(--hand);font-size:1.35rem;line-height:1.35;box-shadow:inset 0 1px rgba(255,255,255,.04)}.writing-input::placeholder{color:color-mix(in srgb,var(--muted) 74%,transparent)}.writing-input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(var(--green-rgb),.1)}
.button{min-height:44px;padding:0 18px;border:0;border-radius:11px;font-weight:700;cursor:pointer}.button.primary{background:var(--green);color:#092117}.button.soft{background:rgba(var(--green-rgb),.16);color:var(--green);border:1px solid rgba(var(--green-rgb),.24)}.fab{position:fixed;z-index:12;right:28px;bottom:24px;min-height:48px;padding:0 18px;border:0;border-radius:13px;background:linear-gradient(135deg,#8455e9,#a566f1);color:white;font-weight:700;box-shadow:0 14px 30px rgba(93,49,188,.35);cursor:pointer}
.quick-dialog{width:min(520px,calc(100% - 30px));padding:0;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.5)}.quick-dialog::backdrop{background:rgba(3,8,13,.72);backdrop-filter:blur(5px)}.quick-dialog form{padding:22px}.quick-dialog header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.quick-dialog h2{margin:3px 0 18px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-grid button{min-height:66px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer}.quick-grid button:hover{border-color:var(--green)}.quick-grid span{display:block;color:var(--green);font-size:1.2rem}
.toast-region{position:fixed;z-index:80;right:22px;bottom:82px;display:grid;gap:8px}.toast{max-width:330px;padding:13px 16px;border:1px solid rgba(var(--green-rgb),.3);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);animation:toast-in .25s ease}.toast strong{display:block;color:var(--green);font-size:.8rem}.toast span{color:var(--muted);font-size:.76rem}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}}
.mobile-nav{display:none}

.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 20%,rgba(var(--green-rgb),.14),transparent 30%),radial-gradient(circle at 85% 75%,rgba(132,85,233,.12),transparent 32%),var(--bg)}.auth-card{width:min(440px,100%);display:grid;gap:22px;padding:clamp(26px,5vw,42px);border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.auth-brand{display:flex;align-items:center;gap:8px;font-size:1.35rem}.auth-brand .brand-mark{width:32px;height:32px}.auth-quote{margin:0;color:var(--muted);font-size:1.4rem}.auth-card h1{margin:4px 0 0;font-size:1.8rem}.form-stack{display:grid;gap:16px}.form-stack label{display:grid;gap:7px;font-size:.82rem;font-weight:600}.form-stack input{width:100%;height:48px;padding:0 14px;border:1px solid rgba(var(--green-rgb),.2);outline:0;border-radius:11px;background:linear-gradient(135deg,rgba(232,220,190,.1),rgba(var(--green-rgb),.06));color:var(--text);font-family:var(--hand);font-size:1.15rem}.form-stack input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(var(--green-rgb),.09)}.form-alert{padding:11px 13px;border:1px solid rgba(255,124,133,.3);border-radius:10px;background:rgba(255,124,133,.08);color:var(--red);font-size:.82rem}
.compact-topbar{grid-template-columns:1fr auto}.empty-state{min-height:calc(100vh - 150px);display:grid;place-content:center;justify-items:center;text-align:center}.empty-state .empty-icon{width:70px;height:70px;display:grid;place-items:center;border-radius:22px;background:rgba(var(--green-rgb),.12);color:var(--green);font-size:2rem}.empty-state h2{margin:18px 0 5px;font-size:1.4rem}.empty-state p{max-width:520px;margin:0 0 22px;color:var(--muted)}.empty-state .button{display:inline-grid;place-items:center}

@media (max-width: 1199px){.top-quote{display:none}.topbar{grid-template-columns:1fr auto}.dashboard-grid{grid-template-columns:1fr 1fr;grid-template-areas:"expenses plans" "agenda today" "journal dreams"}.metric-grid{grid-template-columns:1fr 1fr}.reflection-card{grid-template-columns:1fr 1.6fr}.reflection-card .button{grid-column:2}}
@media (max-width: 900px){:root{--sidebar-w:82px}.brand span:last-child,.side-nav a span:last-child,.sidebar blockquote{display:none}.brand{justify-content:center;padding-inline:0}.side-nav a{justify-content:center;padding:0}.sidebar-sprout{margin-top:auto}.app-shell{padding-inline:20px}.search{width:min(300px,38vw)}.dashboard-grid{grid-template-columns:1fr 1fr}.reflection-card{grid-template-columns:1fr}.reflection-card .button{grid-column:auto}}
@media (max-width: 700px){.sidebar{display:none}.app-shell{width:100%;margin:0;padding:18px 14px 105px}.topbar{grid-template-columns:1fr auto;gap:12px}.topbar h1{font-size:1.75rem}.topbar .eyebrow{display:none}.top-actions{align-self:start}.search{position:absolute;left:14px;right:14px;top:88px;width:auto}.search kbd{display:none}.topbar{margin-bottom:72px}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric{min-height:100px;padding:13px;gap:10px}.metric-icon{width:40px;height:40px;font-size:1.25rem}.metric strong{font-size:1.08rem}.dashboard-grid{grid-template-columns:1fr;grid-template-areas:"agenda" "today" "expenses" "plans" "journal" "dreams"}.panel{padding:15px}.mobile-nav{position:fixed;z-index:30;inset:auto 8px 8px;min-height:64px;display:grid;grid-template-columns:repeat(5,1fr);padding:6px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--sidebar) 92%,transparent);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.mobile-nav a,.mobile-nav button{display:grid;place-content:center;justify-items:center;gap:1px;border:0;border-radius:11px;background:transparent;color:var(--muted)}.mobile-nav .active{background:rgba(var(--green-rgb),.11);color:var(--green)}.mobile-nav small{font-size:.62rem}.fab{right:18px;bottom:84px;width:50px;height:50px;padding:0;border-radius:50%;font-size:1.3rem}.fab span{display:none}.toast-region{left:14px;right:14px;bottom:152px}.toast{max-width:none}.quick-dialog{margin:auto auto 8px;width:calc(100% - 16px);border-radius:20px 20px 14px 14px}.reflection-card{padding:18px}.writing-input{min-height:110px}}
@media (max-width: 420px){.app-shell{padding-inline:10px}.topbar{padding-inline:4px}.search{left:10px;right:10px}.metric-grid{grid-template-columns:1fr}.metric{min-height:84px}.chart-wrap{grid-template-columns:1fr}.donut{width:155px}.legend{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:1fr}.panel>header{align-items:center}.journal-list article,.dream-list article{grid-template-columns:42px 1fr}.reflection-card h2{font-size:1.45rem}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Finanças */
.finance-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.finance-head h1{margin:2px 0;font-size:clamp(2rem,4vw,2.7rem);letter-spacing:-.05em}.finance-head p{margin:0;color:var(--muted)}.finance-actions{display:flex;align-items:center;gap:9px}.finance-tabs{display:flex;gap:5px;margin-bottom:18px;padding:5px;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow-x:auto;scrollbar-width:none}.finance-tabs button{min-height:39px;padding:0 16px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:600;white-space:nowrap;cursor:pointer}.finance-tabs button.active{background:rgba(var(--green-rgb),.14);color:var(--green)}.finance-view{display:none}.finance-view.active{display:block;animation:finance-in .2s ease}@keyframes finance-in{from{opacity:0;transform:translateY(4px)}}
.finance-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.finance-metrics article{min-height:122px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.finance-metrics span,.finance-metrics small{display:block;color:var(--muted);font-size:.78rem}.finance-metrics strong{display:block;margin:6px 0;font-size:clamp(1.35rem,2.3vw,1.75rem);letter-spacing:-.04em}.finance-metrics .positive{color:var(--green)}.finance-metrics .progress{margin-top:12px}
.finance-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:15px}.cashflow-card,.recent-card{min-height:280px}.cashflow-card select{padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--text)}.bar-chart{height:170px;display:flex;align-items:flex-end;justify-content:space-around;gap:20px;padding:20px 12px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0 41px,var(--line) 42px)}.bar-chart>i{position:relative;width:44px;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px;font-style:normal}.bar-chart>i::before,.bar-chart>i::after{content:"";width:15px;border-radius:5px 5px 1px 1px}.bar-chart>i::before{height:var(--in);background:var(--green)}.bar-chart>i::after{height:var(--out);background:var(--red)}.bar-chart b{position:absolute;bottom:-20px;font-size:.68rem;color:var(--muted)}.chart-key{display:flex;justify-content:center;gap:18px;margin-top:24px;color:var(--muted);font-size:.72rem}.chart-key i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%}.income-key{background:var(--green)}.expense-key{background:var(--red)}.insight-card{padding:22px;background:linear-gradient(145deg,rgba(var(--green-rgb),.13),var(--surface))}.insight-card h2{margin:8px 0 18px;font-size:1.25rem}.insight-card>strong{font-size:2rem;color:var(--green)}.insight-card>p{margin:3px 0 20px;color:var(--muted);font-size:.8rem}.insight-card ul{display:grid;gap:9px;padding:14px 0 0 18px;margin:0;border-top:1px solid var(--line);font-size:.76rem}.budget-card{grid-column:2}.budget-list{display:grid;gap:15px}.budget-list p{display:flex;justify-content:space-between;gap:10px;margin:0 0 7px;font-size:.78rem}.budget-list p small{color:var(--muted);font-weight:400}.budget-list>div>small{display:block;margin-top:5px;color:var(--muted);font-size:.66rem}.progress.warning i{background:var(--orange)}.progress.danger i{background:var(--red)}
.transaction-list{display:grid}.transaction-list article{display:grid;grid-template-columns:38px minmax(130px,1fr) 52px 70px 110px 28px;align-items:center;gap:10px;min-height:58px;border-bottom:1px solid var(--line)}.transaction-list article:last-child{border:0}.transaction-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px}.transaction-icon.income{background:rgba(var(--green-rgb),.12);color:var(--green)}.transaction-icon.expense{background:rgba(255,124,133,.11);color:var(--red)}.transaction-list h3{margin:0;font-size:.79rem}.transaction-list p{margin:1px 0 0;color:var(--muted);font-size:.67rem}.transaction-list time{color:var(--muted);font-size:.72rem}.transaction-list strong{text-align:right;font-size:.78rem}.transaction-list strong.income{color:var(--green)}.transaction-list strong.expense{color:var(--text)}.status{padding:4px 7px;border-radius:99px;text-align:center;font-size:.63rem;background:var(--surface-2);color:var(--muted)}.status.paid{color:var(--green);background:rgba(var(--green-rgb),.1)}.status.pending{color:var(--orange);background:rgba(255,184,92,.1)}.status.overdue{color:var(--red);background:rgba(255,124,133,.1)}.row-menu{border:0;background:transparent;color:var(--muted);cursor:pointer}.view-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:25px 0 16px}.view-toolbar h2{margin:0;font-size:1.5rem}.view-toolbar p{margin:3px 0 0;color:var(--muted)}.view-toolbar>div:last-child{display:flex;gap:8px}.filter-input,.view-toolbar select{min-height:44px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);font-size:16px}.transaction-full{padding-inline:20px}
.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.account-card{position:relative;min-height:190px;padding:21px;border:1px solid color-mix(in srgb,var(--account) 28%,var(--line));border-radius:20px;background:radial-gradient(circle at 90% 5%,color-mix(in srgb,var(--account) 22%,transparent),transparent 42%),var(--surface);box-shadow:var(--shadow)}.account-card>span,.account-card>small{display:block;color:var(--muted);font-size:.72rem}.account-card h3{margin:10px 0 25px}.account-card strong{display:block;color:var(--account);font-size:1.65rem}.account-card button{position:absolute;right:16px;top:15px;border:0;background:transparent;color:var(--muted)}
.credit-layout{display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:18px}.credit-card{min-height:260px;display:flex;flex-direction:column;padding:25px;border-radius:24px;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.2),transparent 35%),linear-gradient(145deg,#553393,#172e56 58%,#123f39);color:white;box-shadow:0 25px 60px rgba(23,24,60,.3)}.credit-card>span{letter-spacing:.18em;font-size:.73rem}.credit-card>strong{margin:auto 0 25px;font-size:1.3rem;letter-spacing:.12em}.credit-card div small,.credit-card div b{display:block}.credit-card div b{font-size:1.8rem}.credit-card footer{display:flex;justify-content:space-between;margin-top:22px;font-size:.7rem;color:rgba(255,255,255,.7)}.card-summary{padding:25px}.card-summary>strong{display:block;margin:8px 0 16px;color:var(--green);font-size:1.8rem}.card-summary>p{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}.card-summary hr{border:0;border-top:1px solid var(--line);margin:20px 0}.card-summary p b{color:var(--text)}
.budget-board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.budget-board article{padding:20px}.budget-board header{display:flex;justify-content:space-between}.budget-board header button{border:0;background:transparent;color:var(--muted)}.budget-board h3{margin:0;font-size:.95rem}.budget-board>article>strong{font-size:1.55rem}.budget-board>article>span{color:var(--muted);font-size:.76rem}.budget-board .progress{margin:18px 0 8px}.budget-board footer{display:flex;justify-content:space-between;font-size:.72rem}.budget-board footer span{color:var(--muted)}
.goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.goal-card{display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:18px;padding:22px}.goal-ring{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--green) calc(var(--goal)*3.6),var(--surface-2) 0);position:relative}.goal-ring::after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--surface)}.goal-ring span{position:relative;z-index:1;font-size:.72rem}.goal-card h3{margin:4px 0}.goal-card p{margin:0;color:var(--muted);font-size:.78rem}.goal-card p strong{color:var(--text)}.goal-card small{color:var(--green)}
.finance-dialog{width:min(610px,calc(100% - 24px));padding:0;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--text);box-shadow:0 35px 100px rgba(0,0,0,.55)}.finance-dialog::backdrop{background:rgba(2,8,13,.78);backdrop-filter:blur(5px)}.finance-dialog form{padding:24px}.finance-dialog header,.finance-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.finance-dialog h2{margin:2px 0 20px}.finance-dialog footer{justify-content:flex-end;margin-top:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:6px;color:var(--muted);font-size:.75rem}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:45px;padding:10px 12px;border:1px solid rgba(var(--green-rgb),.18);outline:0;border-radius:10px;background:linear-gradient(135deg,rgba(232,220,190,.08),rgba(var(--green-rgb),.05));color:var(--text);font-family:var(--hand);font-size:1.05rem}.form-grid textarea{min-height:80px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(var(--green-rgb),.08)}.form-grid .check-field{display:flex;align-items:center;gap:8px}.form-grid .check-field input{width:18px;min-height:18px}
@media(max-width:1100px){.finance-metrics{grid-template-columns:1fr 1fr}.finance-layout{grid-template-columns:1fr}.budget-card{grid-column:auto}.account-grid,.budget-board{grid-template-columns:1fr 1fr}.goal-grid{grid-template-columns:1fr}}
@media(max-width:700px){.finance-head{align-items:flex-start}.finance-head .finance-actions .soft{display:none}.finance-head p{font-size:.8rem}.finance-tabs{margin-inline:-4px}.finance-layout{grid-template-columns:1fr}.view-toolbar{align-items:flex-start}.view-toolbar>div:last-child{width:100%;display:grid;grid-template-columns:1fr 1fr}.view-toolbar .button{grid-column:1/-1}.transaction-list article{grid-template-columns:38px 1fr auto}.transaction-list time,.transaction-list .status,.transaction-list .row-menu{display:none}.transaction-list strong{grid-column:3}.account-grid,.budget-board{grid-template-columns:1fr}.credit-layout{grid-template-columns:1fr}.goal-card{grid-template-columns:64px 1fr}.goal-card>.button{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.finance-dialog{margin:auto auto 8px;border-radius:22px 22px 14px 14px}}
@media(max-width:420px){.finance-metrics{grid-template-columns:1fr}.finance-head{display:block}.finance-actions{margin-top:14px}.finance-actions .button.primary{flex:1}.bar-chart{gap:8px}.view-toolbar>div:last-child{grid-template-columns:1fr}.goal-card{grid-template-columns:1fr}.goal-ring{margin:auto}}
.finance-form-error{margin:-8px 0 16px;padding:11px 13px;border:1px solid rgba(255,124,133,.35);border-radius:10px;background:rgba(255,124,133,.1);color:var(--red);font-size:.8rem}.finance-form-error[hidden]{display:none}.finance-dialog [data-submit-finance]:disabled{cursor:wait;opacity:.65}
