:root{--bg:#f6efe8;--surface:#fffbf7c7;--surface-strong:#fffbf7ed;--line:#1f26361f;--ink:#1f2636;--muted:#596275;--accent:#e76f51;--accent-soft:#e76f5124;--navy:#274c77;--navy-soft:#274c771f;--teal:#2a9d8f;--teal-soft:#2a9d8f1f;--gold:#f4a261;--gold-soft:#f4a26129;--danger:#b42318;--shadow:0 24px 60px #1c212e24;--radius-xl:28px;--radius-lg:22px;--radius-md:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 0 0,#e76f5138,#0000 26%),radial-gradient(circle at 85% 15%,#2a9d8f2e,#0000 22%),radial-gradient(circle at 80% 85%,#274c7729,#0000 30%),linear-gradient(160deg,#f8f1e8 0%,#efe5d8 100%);margin:0;font-family:Trebuchet MS,Avenir Next,sans-serif}body:before,body:after{content:"";pointer-events:none;z-index:0;border-radius:999px;position:fixed;inset:auto}body:before{filter:blur(20px);background:#f4a26129;width:320px;height:320px;bottom:8%;left:-120px}body:after{filter:blur(22px);background:#274c7724;width:260px;height:260px;top:18%;right:-90px}.app-shell{z-index:1;max-width:1240px;margin:0 auto;padding:28px;position:relative}.hero,.tabs,.panel,.metric-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero{box-shadow:var(--shadow);background:linear-gradient(135deg,#fffbf7c7,#fffbf780),linear-gradient(120deg,#e76f5114,#274c7714);border:1px solid #ffffff6b;border-radius:32px;justify-content:space-between;gap:24px;padding:34px;animation:.6s both rise-in;display:flex}.hero-copy{max-width:720px}.eyebrow,.panel-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin:0 0 10px;font-size:.78rem;font-weight:700}.hero h1,.panel h2,.panel h3,.metric-card strong{font-family:Georgia,Times New Roman,serif}.hero h1{margin:0 0 12px;font-size:clamp(2.6rem,6vw,4.6rem);line-height:.92}.hero-text{max-width:640px;color:var(--muted);margin:0;font-size:1.05rem;line-height:1.7}.hero-aside{align-content:start;gap:14px;min-width:220px;display:grid}.hero-chip{background:#ffffff85;border:1px solid #ffffff7a;border-radius:18px;padding:16px 18px}.chip-label{color:var(--muted);margin-bottom:6px;font-size:.82rem;display:block}.hero-chip strong{font-size:1.08rem}.tabs{background:#fffbf799;border:1px solid #ffffff6b;border-radius:999px;gap:10px;margin:24px 0;padding:8px;display:inline-flex;box-shadow:0 12px 28px #1f26361a}.tab-button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:12px 18px;font-weight:700;transition:background-color .22s,color .22s,transform .22s}.tab-button:hover,.tab-button:focus-visible{color:var(--ink);outline:none;transform:translateY(-1px)}.tab-button.is-active{color:#fff;background:linear-gradient(135deg, var(--navy), #476e96);box-shadow:0 10px 20px #274c7740}.tab-panel{animation:.45s both rise-in;display:none}.tab-panel.is-active{display:block}.utility-grid,.metric-grid,.dashboard-grid,.split-layout,.category-columns{gap:18px;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.utility-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.metric-card{border-radius:var(--radius-xl);background:#fffbf7bd;border:1px solid #fff6;padding:24px;position:relative;overflow:hidden;box-shadow:0 16px 36px #1c212e1a}.metric-card:after{content:"";opacity:.75;border-radius:999px;width:140px;height:140px;position:absolute;top:-40px;right:-55px}.metric-card-income:after{background:#2a9d8f1f}.metric-card-expense:after{background:#e76f5124}.metric-card-balance:after{background:#274c7729}.metric-card-task:after{background:#f4a2612e}.metric-card p{color:var(--muted);margin:0 0 12px;font-size:.98rem}.metric-card strong{margin-bottom:10px;font-size:clamp(1.85rem,3vw,2.6rem);line-height:1;display:block}.metric-card span{color:var(--muted);font-size:.94rem}.dashboard-grid{grid-template-columns:1.3fr .9fr}.split-layout{grid-template-columns:minmax(320px,.95fr) minmax(420px,1.15fr)}.panel{border-radius:var(--radius-xl);background:var(--surface);border:1px solid #ffffff70;padding:24px;box-shadow:0 16px 40px #1f26361a}.archive-panel{margin-top:18px}.utility-card{gap:16px;display:grid}.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.panel-heading h2,.panel-heading h3{margin:0;font-size:1.7rem}.panel-note{min-height:40px;color:var(--muted);background:#fff9;border-radius:999px;align-items:center;padding:8px 14px;font-size:.92rem;display:inline-flex}.status-note{border:1px solid #0000}.status-note-local{color:var(--muted);background:#fff9}.status-note-ready{color:var(--navy);background:#274c771f;border-color:#274c771f}.status-note-connected{color:var(--teal);background:#2a9d8f1f;border-color:#2a9d8f1f}.status-note-syncing{color:#8c4a04;background:#f4a2612e;border-color:#f4a2612e}.status-note-error{color:var(--danger);background:#b423181f;border-color:#b423181f}.utility-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.utility-header h2{margin:0;font-size:1.55rem}.utility-text,.sync-meta{color:var(--muted);margin:0;line-height:1.6}.category-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.category-columns h3{margin:0 0 14px;font-size:1.2rem}.category-breakdown,.task-stack,.item-list{gap:12px;display:grid}.category-row,.task-card,.record-card{border:1px solid var(--line);background:var(--surface-strong);border-radius:18px;padding:14px 16px}.category-row{gap:10px;display:grid}.category-row header,.record-main,.task-main{justify-content:space-between;align-items:center;gap:12px;display:flex}.category-label{font-weight:700}.category-value{color:var(--muted)}.category-bar{background:#1f263614;border-radius:999px;width:100%;height:10px;overflow:hidden}.category-bar>span{border-radius:inherit;background:linear-gradient(90deg, var(--navy), #5c85ae);height:100%;display:block}.category-row.expense .category-bar>span{background:linear-gradient(90deg, var(--accent), #f4a261)}.stack-form{gap:16px;display:grid}.form-mode{color:var(--navy);background:#274c7714;border:1px solid #274c7724;border-radius:16px;margin:0;padding:12px 14px;font-size:.94rem;font-weight:700}.stack-form label{color:var(--ink);gap:8px;font-weight:700;display:grid}.stack-form input,.stack-form select,.stack-form textarea{width:100%;font:inherit;color:var(--ink);background:#ffffffb8;border:1px solid #1f26361f;border-radius:16px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,background-color .2s}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{background:#fff;border-color:#274c7766;outline:none;box-shadow:0 0 0 4px #274c771f}.primary-button,.ghost-button,.small-button{font:inherit;cursor:pointer;border:0;border-radius:999px;font-weight:700;transition:transform .2s,box-shadow .2s,background-color .2s,color .2s}.form-actions,.inline-form{flex-wrap:wrap;gap:12px;display:flex}.inline-form input{min-width:240px;font:inherit;color:var(--ink);background:#ffffffb8;border:1px solid #1f26361f;border-radius:16px;flex:1;padding:12px 14px;transition:border-color .2s,box-shadow .2s,background-color .2s}.inline-form input:focus{background:#fff;border-color:#274c7766;outline:none;box-shadow:0 0 0 4px #274c771f}#syncCode{text-align:center;letter-spacing:.14em;font-variant-numeric:tabular-nums;flex:0 0 210px;max-width:210px}.inline-form input[readonly]{color:var(--muted);background:#ffffff85}.inline-form button:disabled,.ghost-button:disabled,.primary-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.primary-button{color:#fff;background:linear-gradient(135deg, var(--navy), #496f99);padding:14px 18px;box-shadow:0 14px 28px #274c7738}.primary-button:hover,.primary-button:focus-visible,.ghost-button:hover,.ghost-button:focus-visible,.small-button:hover,.small-button:focus-visible{outline:none;transform:translateY(-1px)}.ghost-button,.small-button{color:var(--ink);background:#ffffffb3;padding:10px 14px}.small-button[data-action=complete]{color:#fff;background:linear-gradient(135deg, var(--teal), #3ab3a4)}.small-button[data-action=edit],.small-button[data-action=restore]{color:var(--navy);background:#274c771a}.small-button[data-action=delete]{color:var(--danger)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.is-hidden{display:none}.inline-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.inline-metrics article{border:1px solid var(--line);background:#ffffff94;border-radius:18px;padding:14px}.inline-metrics span{color:var(--muted);margin-bottom:8px;font-size:.9rem;display:block}.inline-metrics strong{font-size:1.08rem}.record-card,.task-card{gap:12px;display:grid}.record-main,.task-main{align-items:flex-start}.record-title,.task-title{margin:0;font-size:1.02rem;font-weight:700}.record-subtitle,.task-meta,.record-note,.task-note{color:var(--muted);margin:4px 0 0;line-height:1.5}.amount-chip,.status-pill,.type-pill{border-radius:999px;justify-content:center;align-items:center;padding:7px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.type-pill-income,.amount-income{color:var(--teal);background:var(--teal-soft)}.type-pill-expense,.amount-expense{color:var(--accent);background:var(--accent-soft)}.status-pill-today{color:#8c4a04;background:var(--gold-soft)}.status-pill-overdue{color:var(--danger);background:#b423181f}.status-pill-upcoming,.status-pill-done{color:var(--navy);background:var(--navy-soft)}.record-actions,.task-actions{flex-wrap:wrap;gap:10px;display:flex}.empty-state{color:var(--muted);text-align:center;background:#ffffff6b;border:1px dashed #1f26362e;border-radius:20px;padding:20px}.flash-message{color:#fff;opacity:0;pointer-events:none;background:#1f2636eb;border-radius:18px;max-width:320px;padding:14px 18px;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;right:24px;transform:translateY(10px);box-shadow:0 16px 40px #1f263638}.flash-message.is-visible{opacity:1;transform:translateY(0)}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=1080px){.utility-grid,.metric-grid,.dashboard-grid,.split-layout{grid-template-columns:1fr 1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=780px){.app-shell{padding:18px}.hero{padding:24px}.hero,.panel-heading,.utility-header,.record-main,.task-main{flex-direction:column;align-items:stretch}.tabs{justify-content:space-between;width:100%}.tab-button{text-align:center;flex:1}.metric-grid,.utility-grid,.dashboard-grid,.split-layout,.category-columns,.inline-metrics{grid-template-columns:1fr}.record-actions,.task-actions,.inline-form,.form-actions{width:100%}.inline-form input{width:100%;min-width:0}#syncCode{flex-basis:auto;max-width:none}.record-actions button,.task-actions button,.inline-form button,.form-actions button{flex:1}}
