:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:#0b0b10;color:#f5f5ff}#root{min-height:100vh}input,select,button{font:inherit;color:inherit}button{background:transparent;border:none}:root{--bg: #050508;--fg: #f5f5ff;--muted: #12121a;--surface: #0d0d14;--border: #1e1e2e;--accent: #8b5cf6;--accent-light: #a78bfa;--accent-glow: rgba(139, 92, 246, .15);--accent-glow-soft: rgba(139, 92, 246, .05);--accent-glow-softer: rgba(139, 92, 246, .03);--accent-border: #3a3572;--danger: #ef4444;--danger-border: #451a1a;--danger-text: #ffb4b4;--success: #10b981;--radius: 14px;--radius-lg: 18px;--gap: 16px;--small-gap: 8px;--cat-money: #fbbf24;--cat-money-bg: rgba(251, 191, 36, .1);--cat-money-border: rgba(251, 191, 36, .2);--cat-health: #10b981;--cat-health-bg: rgba(16, 185, 129, .1);--cat-health-border: rgba(16, 185, 129, .2);--cat-work: #3b82f6;--cat-work-bg: rgba(59, 130, 246, .1);--cat-work-border: rgba(59, 130, 246, .2);--cat-home: #f472b6;--cat-home-bg: rgba(244, 114, 182, .1);--cat-home-border: rgba(244, 114, 182, .2);--cat-other: #94a3b8;--cat-other-bg: rgba(148, 163, 184, .1);--cat-other-border: rgba(148, 163, 184, .2)}html,body,#root{height:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 0% 0%,var(--accent-glow-soft) 0%,transparent 50%),radial-gradient(circle at 100% 100%,var(--accent-glow-softer) 0%,transparent 50%)}.app-root{min-height:100vh}.app-center{display:flex;justify-content:center}.app-container{width:100%;max-width:1020px;margin:0 auto;padding:24px 16px}.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:24px}.brand-title{font-size:26px;font-weight:900;letter-spacing:-.5px;background:linear-gradient(135deg,#fff 0%,var(--accent-light) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-email{opacity:.5;font-size:13px;margin-top:2px}.topbar-actions{display:flex;gap:10px}.card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;background:var(--surface);box-shadow:0 4px 20px #0003;transition:transform .2s ease,border-color .2s ease}.card:hover{border-color:#2a2a3f}.card-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-title{font-weight:900;font-size:16px}.card-value{font-size:28px;font-weight:900;color:var(--accent)}.muted{opacity:.6;color:var(--fg)}.small{font-size:13px}.mt-10{margin-top:10px}.mt-12{margin-top:12px}.mt-14{margin-top:14px}.mt-18{margin-top:18px}.mb-12{margin-bottom:12px}.form-grid{display:grid;gap:16px}.padded{padding:24px}.danger{color:var(--danger)}.btn{padding:10px 16px;border-radius:12px;border:1px solid var(--border);font-weight:700;color:var(--fg);cursor:pointer;background:var(--muted);transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover:not(:disabled){background:#1a1a26;border-color:var(--accent);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:#7c3aed;border-color:#7c3aed;box-shadow:0 0 15px var(--accent-glow)}.btn-accent{background:transparent;border-color:var(--accent);color:var(--accent)}.btn-accent:hover:not(:disabled){background:var(--accent);color:#fff}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-outline{background:transparent}.btn.small{padding:6px 10px;font-size:12px;border-radius:10px}.input{width:100%;padding:12px;border-radius:12px;border:1px solid var(--border);margin-top:6px;background:var(--bg);color:var(--fg);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input-inline{min-width:180px}.label{display:grid;font-size:12px;font-weight:800;opacity:.7;text-transform:uppercase;letter-spacing:.5px}.grid-two{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:900px){.grid-two{grid-template-columns:1fr 1fr}}.stack{margin-top:10px;display:grid;gap:12px}.grid-cols-1{display:grid;grid-template-columns:1fr;gap:12px}.grid-cols-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-cols-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.flex-wrap{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.inline-label{display:inline-flex;align-items:center;gap:8px}.row{border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--surface)}.preset-line{font-size:13px;opacity:.8}.min{min-width:0;flex:1}.pill{padding:4px 10px;border-radius:8px;background:#1e1e2e;color:var(--fg);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.pill.cadence{background:#3b82f61a;color:#60a5fa;border:1px solid rgba(59,130,246,.2)}.task-card{border:1px solid var(--border);border-radius:18px;padding:16px;margin-bottom:12px;background:var(--surface);display:flex;flex-direction:column;gap:12px;transition:all .2s ease}.task-card:hover{border-color:var(--accent-border);box-shadow:0 4px 12px #0000001a}.task-main{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.task-info{flex:1;min-width:0}.task-actions{display:flex;gap:8px;align-items:center;justify-content:flex-start;margin-top:4px}.task-actions .btn{padding:8px;border-radius:10px}.progress{height:8px;background:var(--bg);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.progress-main{height:20px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-light) 100%);border-radius:999px;transition:width .4s cubic-bezier(.4,0,.2,1)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:100;padding:12px 20px;border-radius:14px;border:1px solid var(--accent-border);background:var(--surface);color:var(--fg);font-weight:700;box-shadow:0 8px 32px #0006;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}.auth-root{min-height:100vh;padding:16px;display:flex;align-items:center;justify-content:center}.auth-container{width:100%;max-width:420px;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:24px}.auth-title{font-size:32px;font-weight:900;margin-bottom:8px;letter-spacing:-1px}.btn:focus,.input:focus{outline:2px solid var(--accent);outline-offset:2px}.card-row--center{align-items:center}.card-row--start{align-items:flex-start}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.archived{opacity:.4;filter:grayscale(.5)}.just-now{margin-left:10px;font-size:12px;color:var(--success);font-weight:700}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.desktop-only{display:none}@media(min-width:600px){.desktop-only{display:inline}}.accent{color:var(--accent)}.section-title{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:1px;opacity:.5;margin-bottom:12px}.controls{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:24px}@media(min-width:600px){.controls{grid-template-columns:1fr 1fr 1fr}}.controls-meta{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center}.mobile-add-button{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:28px;padding:0;font-size:24px;box-shadow:0 4px 16px var(--accent-glow);z-index:50;background:var(--accent);border:none;color:#fff;display:flex;align-items:center;justify-content:center}.grid-responsive-2{margin-top:16px;display:grid;grid-template-columns:1fr;gap:16px;align-items:start}@media(min-width:900px){.grid-responsive-2{grid-template-columns:1fr 1fr}}@media(max-width:899px){.app-root.add-open .grid-responsive-2 .add-panel{display:block}.app-root.add-open .grid-responsive-2 .list-section,.grid-responsive-2 .add-panel{display:none}.grid-responsive-2 .list-section,.mobile-only{display:block}}@media(min-width:900px){.mobile-only{display:none}}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-card{background:var(--surface);border:1px solid var(--accent-border);border-radius:var(--radius-lg);padding:24px;width:100%;max-width:400px;box-shadow:0 20px 50px #00000080}
