:root{color-scheme:dark;--color-bg: #0b0d10;--color-bg-elevated: #11161c;--color-card: #171d24;--color-card-strong: #1d252e;--color-border: #2a3440;--color-border-strong: #3a4654;--color-text: #f8fafc;--color-muted: #aeb8c7;--color-faint: #727d8c;--color-income: #7ddf9b;--color-expense: #ff7a59;--color-warning: #f7c948;--color-accent: #66d9ef;--color-danger: #ff5f67;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--shadow-card: 0 18px 42px rgba(0, 0, 0, .28);--shadow-soft: 0 10px 24px rgba(0, 0, 0, .2);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font-xs: 12px;--font-sm: 14px;--font-md: 16px;--font-lg: 20px;--font-xl: 28px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:linear-gradient(180deg,rgba(102,217,239,.06),transparent 260px),var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 98px);max-width:760px;margin:0 auto}.page{display:flex;flex-direction:column;gap:var(--space-5)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.page-title{margin:0;font-size:var(--font-xl);line-height:1.12}.page-subtitle{color:var(--color-muted);margin:6px 0 0;line-height:1.6}.grid{display:grid;gap:var(--space-3)}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:var(--space-4)}.card.tight{padding:var(--space-3)}.card.needs-review{border-color:#f7c9488c}.metric{display:flex;flex-direction:column;gap:6px;min-height:92px}.metric-label{color:var(--color-muted);font-size:var(--font-sm)}.metric-value{font-size:var(--font-lg);font-weight:750;line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.income{color:var(--color-income)}.expense,.danger{color:var(--color-expense)}.warning{color:var(--color-warning)}.muted{color:var(--color-muted)}.faint{color:var(--color-faint)}.button{min-height:44px;min-width:44px;border:0;border-radius:14px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--color-card-strong);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.button:active{transform:scale(.98)}.button.primary{background:#f8fafc;color:#0b0d10;border-color:#f8fafc}.button.accent{background:#66d9ef24;border-color:#66d9ef73;color:#d8f7ff}.button.danger{background:#ff5f671f;border-color:#ff5f676b}.button.ghost{background:transparent}.button.full{width:100%}.button:disabled{cursor:not-allowed;opacity:.55}.field{display:flex;flex-direction:column;gap:8px}.field label,.field>span{color:var(--color-muted);font-size:var(--font-sm)}.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid var(--color-border);background:#10151b;color:var(--color-text);border-radius:14px;padding:10px 12px;outline:none}.field textarea{min-height:92px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-accent)}.field-error{color:var(--color-warning);font-size:var(--font-xs)}.segmented{display:grid;gap:6px;padding:4px;background:#0f141a;border:1px solid var(--color-border);border-radius:16px}.segmented button{min-height:40px;border:0;border-radius:12px;background:transparent;color:var(--color-muted)}.segmented button.active{background:var(--color-card-strong);color:var(--color-text)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:8px 14px calc(env(safe-area-inset-bottom) + 8px);background:#0b0d10db;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.08)}.bottom-nav-inner{max-width:760px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);align-items:center}.nav-item{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--color-muted);font-size:11px}.nav-item.active{color:var(--color-text)}.nav-item.add{color:#0b0d10}.nav-item.add span:first-child{width:52px;height:52px;border-radius:19px;background:#f8fafc;display:grid;place-items:center;margin-top:-20px;box-shadow:var(--shadow-card)}.list-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-height:64px}.icon-bubble{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:var(--color-card-strong);border:1px solid var(--color-border)}.pill{display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--color-border);border-radius:999px;padding:0 10px;color:var(--color-muted);font-size:var(--font-xs)}.empty{text-align:center;padding:30px 20px;color:var(--color-muted)}.toast{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 92px);z-index:30;max-width:520px;margin:0 auto;background:#f8fafc;color:#0b0d10;border-radius:16px;padding:14px 16px;box-shadow:var(--shadow-card)}.progress{width:100%;height:8px;overflow:hidden;border-radius:999px;background:#0f141a;border:1px solid var(--color-border)}.progress>span{display:block;height:100%;border-radius:inherit;background:var(--color-accent)}.chart{width:100%;height:220px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekday{min-height:28px;display:grid;place-items:center;color:var(--color-muted);font-size:var(--font-xs);font-weight:700}.calendar-day{min-height:72px;border-radius:14px;border:1px solid var(--color-border);background:#11161c;padding:8px;font-size:var(--font-xs)}.calendar-day.blank{border-color:transparent;background:transparent}.onboarding{min-height:calc(100vh - 160px);display:grid;place-items:center}@media(min-width:680px){.app-shell{padding-inline:28px}}@media(max-width:420px){.grid.three,.grid.form-grid{grid-template-columns:1fr}}
