:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#142033;background:#f6f8fb;line-height:1.5;--bg: #f6f8fb;--text: #142033;--muted: #64748b;--card: rgba(255, 255, 255, .82);--border: rgba(100, 116, 139, .18);--soft: rgba(15, 23, 42, .055);--primary: #0ea5e9;--primary-strong: #0369a1;--income: #16a34a;--expense: #dc2626;--warning: #b45309;--shadow: rgba(15, 23, 42, .11)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(14,165,233,.23),transparent 32rem),var(--bg)}a{color:var(--primary-strong);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.shell{width:min(1460px,calc(100% - 32px));margin:0 auto;padding:18px 0 30px}.nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.brand{display:flex;align-items:center;gap:11px;font-weight:900;font-size:1.15rem;letter-spacing:-.03em;color:var(--text)}.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#22c55e,#0ea5e9);box-shadow:0 12px 34px #0ea5e93d}.nav-actions{display:flex;align-items:center;gap:12px;color:var(--muted)}.nav-actions a{color:#334155;font-weight:800}.nav-actions form{margin:0}.hero{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:4px 0 18px}.hero h1{margin:0;font-size:clamp(2rem,5vw,4rem);line-height:.95;letter-spacing:-.08em}.hero p{margin:8px 0 0;max-width:720px}.eyebrow{margin:0 0 5px;color:var(--primary-strong);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.muted{color:var(--muted)}.card,.metric-card,.login-card{border:1px solid var(--border);background:var(--card);border-radius:22px;box-shadow:0 18px 60px var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.card{padding:16px}.card.flat{box-shadow:none;background:#ffffffa8}.card h2{margin:0;letter-spacing:-.04em}.card-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:12px}.card-head p{margin:0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.metric-card{padding:16px;display:grid;gap:5px}.metric-card span{color:var(--muted);font-weight:700}.metric-card strong{font-size:clamp(1.45rem,3vw,2.35rem);line-height:1;letter-spacing:-.07em}.metric-card small{color:var(--muted)}.metric-card.income strong,.positive{color:var(--income)}.metric-card.expense strong,.negative{color:var(--expense)}.metric-card.balance strong{color:var(--primary-strong)}.metric-card.balance.negative strong{color:var(--expense)}.metric-card.goals strong{color:#7c3aed}.app-grid{display:grid;gap:14px;margin-bottom:14px}.top-grid,.analysis-grid,.focus-grid,.lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-grid{grid-template-columns:minmax(340px,.85fr) minmax(420px,1.15fr)}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}form{display:grid;gap:10px}label{display:grid;gap:5px;color:#334155;font-weight:700;font-size:.9rem}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:14px;padding:10px 12px;color:var(--text);background:#ffffffe0;outline:none}input:focus,select:focus,textarea:focus{border-color:#0ea5e9b3;box-shadow:0 0 0 4px #0ea5e91f}textarea{min-height:70px;resize:vertical}button,.button{border:0;border-radius:14px;padding:10px 14px;background:linear-gradient(135deg,#22c55e,#0ea5e9);color:#fff;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}button.secondary,.button.secondary{color:var(--text);background:var(--soft);border:1px solid var(--border)}button.ghost{padding:4px 9px;color:var(--muted);background:transparent;border:1px solid var(--border)}button:hover,.button:hover{filter:brightness(.98);text-decoration:none}.badge{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:999px;padding:3px 8px;color:#475569;background:#f8fafce6;font-size:.75rem;font-weight:800;white-space:nowrap}.badge.income{color:var(--income);border-color:#16a34a40}.badge.expense{color:var(--expense);border-color:#dc262640}.alert{margin:0 0 12px;padding:10px 12px;border-radius:14px;border:1px solid rgba(180,83,9,.24);background:#fef3c7cc;color:var(--warning)}.alert.success{border-color:#16a34a3d;background:#dcfce7d9;color:var(--income)}.distribution-list,.goal-list,.transaction-list,.detail-list,.daily-list{display:grid;gap:11px}.distribution-row{display:grid;gap:7px}.distribution-top,.goal-title,.goal-meta{display:flex;justify-content:space-between;align-items:center;gap:10px}.distribution-top span{display:flex;align-items:center;gap:8px;font-weight:800}.distribution-top i{width:10px;height:10px;border-radius:50%;display:inline-block}.distribution-top strong,.goal-meta{color:var(--muted);font-size:.88rem}.bar{height:9px;border-radius:999px;background:var(--soft);overflow:hidden}.bar span{display:block;height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(135deg,#22c55e,#0ea5e9)}.goal-form{grid-template-columns:62px minmax(140px,1fr) 120px 140px 145px auto;align-items:end;margin-bottom:12px}.goal-card{padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--soft);display:grid;gap:8px}.goal-title span{font-size:1.35rem}.goal-title em{font-style:normal;color:var(--primary-strong);font-weight:900}.goal-actions{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}.goal-actions>form{justify-items:end}.edit-panel{width:100%}.edit-panel summary{cursor:pointer;color:var(--primary-strong);font-weight:900;font-size:.86rem}.edit-panel[open] summary{margin-bottom:10px}.edit-form{padding:10px;border:1px solid var(--border);border-radius:14px;background:#ffffff94}.edit-form button{justify-self:start}.transaction-list{max-height:560px;overflow:auto;padding-right:2px}.transaction-list.compact{max-height:420px}.transaction-item{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:start;padding:11px;border:1px solid var(--border);border-radius:16px;background:var(--soft)}.transaction-item>div:first-child{min-width:0;flex:1 1 220px}.transaction-item span,.transaction-item small{display:block;color:var(--muted);font-size:.86rem;margin-top:2px}.transaction-amount{display:grid;justify-items:end;gap:7px;white-space:nowrap}.transaction-amount form{display:inline-grid}.wide-card{grid-column:span 1}.month-chart{min-height:260px;display:grid;grid-template-columns:repeat(12,minmax(46px,1fr));gap:10px;align-items:end;overflow-x:auto;padding-top:10px}.month-column{display:grid;grid-template-rows:170px 1.1rem 1.1rem;gap:7px;align-items:end;text-align:center;color:var(--muted);font-size:.78rem}.month-column strong,.month-column small{min-height:1.1rem;white-space:nowrap}.month-bars{height:170px;display:flex;align-items:end;justify-content:center;gap:4px;padding:7px;border-radius:14px;background:var(--soft)}.month-bars span{width:14px;min-height:4px;border-radius:999px 999px 2px 2px}.income-bar{background:linear-gradient(180deg,#22c55e,#86efac)}.expense-bar{background:linear-gradient(180deg,#ef4444,#fca5a5)}.donut-layout{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(220px,1fr);gap:18px;align-items:center}.donut-chart{width:min(250px,100%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;margin:0 auto;box-shadow:inset 0 0 0 1px var(--border),0 16px 40px #0f172a1f}.donut-hole{width:58%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;gap:3px;text-align:center;background:#ffffffeb;border:1px solid var(--border);box-shadow:0 10px 30px #0f172a14}.donut-hole span{color:var(--muted);font-size:.78rem;font-weight:800}.donut-hole strong{color:var(--text);font-size:clamp(1rem,2vw,1.35rem);letter-spacing:-.06em}.donut-legend{display:grid;gap:8px;max-height:280px;overflow:auto;padding-right:2px}.legend-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 10px;border-radius:14px;background:var(--soft);border:1px solid var(--border)}.legend-row span{display:flex;align-items:center;gap:8px;font-weight:800;min-width:0}.legend-row i{width:11px;height:11px;border-radius:50%;flex:none}.legend-row strong{color:var(--muted)}.detail-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.detail-list>div:last-child{border-bottom:0}.detail-list span{color:var(--muted)}.daily-row{display:grid;grid-template-columns:120px minmax(100px,1fr) 110px;align-items:center;gap:10px}.daily-row span{color:var(--muted);font-size:.9rem}.daily-row strong{text-align:right}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:760px}th{color:var(--muted);text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}th,td{padding:11px 9px;border-bottom:1px solid var(--border);vertical-align:middle}td small{display:block;color:var(--muted);margin-top:2px}.right{text-align:right}td form{display:inline-grid}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(980px,100%);padding:24px;display:grid;gap:18px}.login-card h1{margin:0;font-size:clamp(2rem,5vw,4rem);line-height:.95;letter-spacing:-.08em}.auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media(max-width:1040px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-grid,.analysis-grid,.focus-grid,.lower-grid,.auth-grid{grid-template-columns:1fr}.goal-form{grid-template-columns:60px 1fr}.goal-form button{grid-column:1 / -1}}@media(max-width:680px){.shell{width:min(100% - 20px,1460px);padding-top:10px}.nav,.hero{align-items:start;flex-direction:column}.nav-actions{align-items:start;flex-wrap:wrap}.metric-grid,.row,.daily-row,.donut-layout,.goal-actions{grid-template-columns:1fr}.goal-actions>form{justify-items:start}}
