:root{color-scheme:dark;--bg:#05070d;--surface:#0a0f1c;--surface-2:#0f1830;--surface-3:#16213d;--border:#1b2d4d;--border-strong:#2c4368;--text:#e7eefb;--muted:#7c8bab;--muted-2:#6b7a9a;--accent:#39c6ff;--accent-2:#7dd8ff;--accent-ink:#031621;--green:#57e6b8;--red:#ff5c7a;--amber:#ffcf5c;--violet:#4fd1f5;--radius:18px;--radius-sm:11px}
*{box-sizing:border-box} [hidden]{display:none!important} html{background:var(--bg);min-height:100%;scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 80% -10%,#12335e1f,transparent 55%),var(--bg);color:var(--text);font:16px/1.5 Inter,system-ui,-apple-system,sans-serif;min-height:100vh}::selection{background:var(--accent);color:var(--accent-ink)}button,input,select{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}button{min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-ink);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}button:hover{filter:brightness(1.07)}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:focus:not(:focus-visible){outline:none}.icon{width:22px;height:22px;flex:none;vertical-align:middle}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-100px;z-index:40;background:var(--accent);color:var(--accent-ink);padding:12px;border-radius:8px}.skip-link:focus{top:12px}
.sidebar{position:fixed;inset:0 auto 0 0;width:220px;padding:36px 18px 24px;background:#10151c;border-right:1px solid #ffffff09;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 12px;color:var(--text);font:600 36px 'Space Grotesk',Inter,sans-serif;letter-spacing:-1.5px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:40px;height:40px;color:var(--accent);border:1px solid #39c6ff33;border-radius:13px;background:#39c6ff0b}.brand-mark .icon{width:27px;height:27px}.brand-dot,.title-dot{color:var(--accent)}.nav-caption{margin:48px 12px 16px;font-size:12px;letter-spacing:.16em;color:var(--muted-2)}.tabs{display:flex;flex-direction:column;gap:8px}.tab{display:flex;align-items:center;gap:12px;padding:14px 12px;min-height:52px;background:transparent;color:var(--muted);font-size:14px;font-weight:500;text-align:left}.tab:hover{background:#ffffff05;color:var(--text)}.tab.active{color:var(--accent);background:#39c6ff0d;border-color:#39c6ff18}.tab-arrow{margin-left:auto;opacity:0}.tab.active .tab-arrow{opacity:1}.sidebar-foot{margin-top:auto;border-top:1px solid var(--border);padding:20px 8px 0;display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#2e3543;color:#cfd8e6;font-size:14px}.sidebar-foot strong{font-size:14px;font-weight:500;display:block}.sidebar-foot div>span{display:block;color:var(--muted-2);font-size:12px;margin-top:2px}
.shell{max-width:1540px;margin:0 0 0 220px;padding:42px clamp(24px,4vw,64px) 70px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:36px}.topbar h1{font-size:clamp(30px,3.5vw,44px);line-height:1.12;letter-spacing:-.05em;font-weight:600;margin:0}.eyebrow{color:var(--muted-2);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:0 0 8px}.topbar .eyebrow{text-transform:none;letter-spacing:0;font-size:14px;margin-bottom:10px}.topbar-actions{display:flex;gap:14px;align-items:center}.quiet-button,.secondary-action{background:#ffffff04;color:var(--text);border-color:var(--border)}.refresh-button{display:flex;gap:8px;align-items:center;font-size:14px;padding:10px 12px}.refresh-button .icon{width:18px;height:18px}.sync-status{color:var(--muted);font-size:12px;white-space:nowrap}.sync-status:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:7px}.sync-status[data-status='offline']:before,.sync-status[data-status='error']:before{background:var(--amber)}
.panel{display:none}.panel.active{display:block;animation:panel-in .18s ease}@keyframes panel-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.section-head h2{margin:0;font-size:18px;font-weight:500;letter-spacing:-.02em}.section-head .eyebrow{display:none}.counter{font-size:12px;color:var(--muted);padding:5px 0;text-align:right}.planning-glance{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 28px;margin-bottom:24px;border:1px solid #39c6ff20;border-radius:18px;background:linear-gradient(115deg,#122c4665,#0d1d3035 55%,#0f162640)}.planning-glance>div{display:flex;align-items:baseline;gap:12px}.planning-glance>div+div{border-left:1px solid #ffffff0c;padding-left:28px}.planning-glance span:last-child{font-size:14px;color:var(--muted)}.glance-value{font:500 38px/1.2 'Space Grotesk',Inter,sans-serif;letter-spacing:-.06em}.overdue-value{color:var(--amber)}.section-action{display:flex;gap:12px;margin-bottom:28px}.primary-action{background:var(--accent);min-height:46px;box-shadow:0 4px 24px -4px #39c6ff80}.health-actions{flex-wrap:wrap}
.snapshot{display:grid;gap:16px;margin-bottom:24px}.finance-snapshot{grid-template-columns:repeat(3,minmax(0,1fr))}.health-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:24px;border:1px solid var(--border);border-radius:17px;background:var(--surface);min-width:0}.metric-balance{background:linear-gradient(125deg,#0f2440,#0a1628);border-color:#39c6ff25}.metric-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.metric-head>span:first-child{font-size:14px;color:#b5c2cf}.metric-icon{display:grid;place-items:center;color:var(--accent);width:28px;height:28px}.metric-expense .metric-icon{color:var(--red)}.metric-weight .metric-icon{color:var(--violet)}.metric-icon .icon{width:20px;height:20px}.metric strong{display:block;font:500 clamp(26px,3vw,38px)/1.15 'Space Grotesk',Inter,sans-serif;letter-spacing:-.045em;margin-top:20px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.metric small{display:block;color:var(--muted-2);font-size:12px;margin-top:10px}
.view-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:22px;border-top:1px solid var(--border);padding-top:24px}.view-switch{display:inline-flex;padding:4px;background:#151c25;border:1px solid var(--border);border-radius:11px;gap:4px}.view-btn{min-height:38px;padding:6px 18px;font-size:14px;font-weight:500;background:transparent;color:var(--muted);border-radius:7px}.view-btn.active{background:#303c4b;color:#fff;box-shadow:0 2px 5px #0003}.calendar-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.nav-arrow{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:23px;min-width:44px;padding:0}.nav-today{font-size:14px}.cal-label{font-size:14px;color:var(--muted);margin-left:6px}.task-filters{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.scope-switch{display:flex;gap:6px}.scope-btn{font-size:14px;font-weight:500;padding:8px 14px;color:var(--muted);background:transparent;border-radius:8px}.scope-btn.active{color:var(--accent);background:#39c6ff0b}.task-search{max-width:260px;width:100%}.task-search input{font-size:14px;min-height:42px;background:transparent}.task-group-title{margin:16px 0 4px;color:var(--muted);font-size:12px;font-weight:500;letter-spacing:.07em;text-transform:uppercase}.task-group-title.overdue-value{color:var(--amber)}.list{display:grid;gap:8px}.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;min-height:78px;padding:16px 18px;border:1px solid #25303c;border-radius:12px;background:var(--surface);transition:background .15s}.row:hover{background:#18212c}.row-title{font-size:16px;font-weight:500;line-height:1.45;overflow-wrap:anywhere}.row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:7px;font-size:13px;color:var(--muted);font-weight:400}.area-badge{padding:2px 7px;border-radius:5px;font-size:12px;font-weight:500}.row-value{font:500 18px 'Space Grotesk',Inter,sans-serif;text-align:right;font-variant-numeric:tabular-nums}.row-value.income{color:var(--green)}.row-value.expense{color:var(--red)}.done-button{display:grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;font-size:20px;color:var(--muted);background:transparent;border:1px solid #3b495a;border-radius:50%}.done-button:hover{color:var(--accent);border-color:var(--accent);background:#39c6ff12}.load-more{margin:20px auto;display:block;background:var(--surface);border-color:var(--border);color:var(--muted);font-size:14px}.empty{margin:8px 0;border:1px dashed #344353;border-radius:14px;padding:40px 28px;text-align:center;color:var(--muted);font-size:15px;line-height:1.65;background:#ffffff01}.empty:before{content:'✓';display:grid;place-items:center;margin:0 auto 14px;width:40px;height:40px;border-radius:50%;background:#39c6ff09;border:1px solid #39c6ff25;color:var(--accent);font-size:19px}.list-heading{font-size:14px;font-weight:500;margin:0 0 16px;color:var(--muted)}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.entry-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:28px;border:1px solid #3b4858;border-radius:22px;background:#141b24;color:var(--text);overflow-y:auto;box-shadow:0 30px 100px #0008}.entry-dialog::backdrop{background:#03070cad;backdrop-filter:blur(8px)}body:has(dialog[open]){overflow:hidden}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.dialog-head h2{margin:0;font-size:26px;font-weight:600;letter-spacing:-.035em}.close-dialog{display:grid;place-items:center;width:44px;height:44px;flex:none;padding:0;background:#ffffff06;color:var(--muted);border:1px solid var(--border);font-size:26px;border-radius:50%;font-weight:400}.entry-form,.advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;align-items:end}.entry-form label{min-width:0}.entry-form-task>label:first-child,.entry-form .wide,.entry-form>button[type=submit],.advanced-fields,.date-shortcuts,.chip-field{grid-column:1/-1}.entry-form>button[type=submit]{margin-top:6px;min-height:48px}.entry-form-task>label:first-child input{font-size:18px;min-height:52px}.entry-form label>span,.chip-field>span{display:block;font-size:14px;font-weight:400;color:#bbc7d5;margin-bottom:8px}.entry-form input,.entry-form select,.task-search input{width:100%;min-width:0;min-height:46px;border:1px solid #354254;background:#0e151f;color:var(--text);border-radius:10px;padding:10px 12px;font-size:16px;transition:border-color .15s}.entry-form input::placeholder,.task-search input::placeholder{color:#8292a6}.entry-form input:focus,.entry-form select:focus,.task-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #39c6ff10}.date-shortcuts{display:flex;gap:8px;margin-top:-6px;flex-wrap:wrap}.date-shortcuts button{background:transparent;color:var(--muted);border:1px solid var(--border);padding:6px 12px;font-size:13px;min-height:40px;border-radius:8px}.date-shortcuts button:hover{color:var(--accent);border-color:#39c6ff66}.advanced-fields{border-top:1px solid var(--border);padding-top:16px}.advanced-fields summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;list-style:none;color:var(--muted);font-size:14px;cursor:pointer}.advanced-fields summary::-webkit-details-marker{display:none}.advanced-fields[open] summary{margin-bottom:14px;color:var(--text)}.chip-row{display:flex;gap:6px;flex-wrap:wrap}.day-chip{padding:0 8px;min-width:44px;min-height:44px;border-radius:8px;background:#202b39;color:var(--muted);border:1px solid var(--border);font-size:14px}.day-chip.active{background:var(--accent);color:var(--accent-ink)}.form-feedback{font-size:14px;color:var(--accent);margin:16px 0 0}.form-feedback:empty{display:none}.form-feedback.is-error{color:var(--red)}
.notice{position:fixed;right:24px;bottom:24px;max-width:min(460px,calc(100% - 32px));border:1px solid var(--border-strong);border-radius:12px;padding:14px 20px;margin:0;background:#263346;box-shadow:0 8px 36px #0005;font-size:14px;z-index:15}.notice:empty{display:none}.update-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #7dd8ff40;background:#282639;border-radius:12px;padding:16px;margin-bottom:24px;font-size:14px}.update-banner button{flex:none}
.timeline-wrap{max-height:490px;margin-bottom:16px;overflow-y:auto;background:#101720;border:1px solid var(--border);border-radius:12px}.timeline{position:relative}.hour-row{position:absolute;left:0;right:0;border-top:1px solid #25303c}.hour-row:first-child{border-top:0}.hour-label{position:absolute;top:-8px;left:10px;background:#101720;color:var(--muted);padding:0 4px;font-size:12px}.timeline-tracks{position:absolute;inset:0 8px 0 60px}.timeline-block{position:absolute;overflow:hidden;border-left:3px solid;border-radius:7px;padding:3px 8px}.timeline-block-title{font-size:13px;font-weight:500;line-height:1.25;color:var(--text);overflow-wrap:anywhere}.timeline-block-time{font-size:12px;margin-top:1px}.now-line{position:absolute;left:0;right:0;height:2px;background:var(--red);z-index:2}.now-line:before{content:'';position:absolute;left:53px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--red)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.week-day{display:flex;flex-direction:column;gap:10px;min-height:200px;padding:12px 8px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.week-day.is-today{border-color:#39c6ff75;background:#39c6ff05}.week-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:10px}.week-day-name{font-size:14px;font-weight:500}.week-day.is-today .week-day-name{color:var(--accent)}.week-day-date{font-size:12px;color:var(--muted)}.week-day-tasks{display:flex;flex-direction:column;gap:8px}.week-day-empty{font-size:14px;text-align:center;color:var(--muted-2)}.week-chip{border-left:3px solid;border-radius:6px;padding:8px;background:#222c39}.week-chip-title{font-size:13px;line-height:1.4;overflow-wrap:anywhere;display:flex;align-items:center}.chip-dot{width:5px;height:5px;border-radius:50%;margin-right:5px;flex:none}.week-chip-time{font-size:12px;color:var(--muted);margin-top:4px}
.login-shell{display:grid;place-items:center;min-height:100vh;padding:24px}.login-box{width:min(420px,100%);display:grid;gap:16px;padding:28px;border:1px solid var(--border);border-radius:20px;background:var(--surface)}.login-box h1{margin:0;font-size:28px}.login-box label span{display:block;margin-bottom:8px;color:var(--muted)}.login-box input{width:100%;padding:12px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px}
@media(min-width:1800px){.shell{margin-inline:auto;padding-left:250px}}
@media(max-width:1150px){.sidebar{width:190px;padding-inline:12px}.shell{margin-left:190px;padding:32px 24px 60px}.planning-glance{padding:22px}.planning-glance>div{flex-direction:column;gap:4px}.planning-glance>div+div{padding-left:22px}.planning-glance span:last-child{font-size:13px}.refresh-button span{display:none}.metric{padding:20px}.week-grid{grid-template-columns:repeat(7,minmax(92px,1fr));overflow-x:auto;padding-bottom:8px}.task-search{max-width:220px}}
@media(max-width:850px){.topbar-actions{gap:8px}.topbar-actions .sync-status{max-width:110px;white-space:normal;text-align:right}.task-filters{flex-wrap:wrap;gap:10px}.task-search{max-width:none}.finance-snapshot{grid-template-columns:1fr 1fr}.metric-balance{grid-column:1/-1}.metric strong{font-size:30px}.two-columns{grid-template-columns:1fr;gap:28px}.cal-label{flex-basis:100%;margin:0}.entry-dialog{padding:24px}}
@media(max-width:700px){.sidebar{inset:auto 0 0;width:100%;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#111922f5;backdrop-filter:blur(20px);border:0;border-top:1px solid #ffffff10}.sidebar .brand,.nav-caption,.sidebar-foot{display:none}.tabs{flex-direction:row;gap:8px}.tab{flex:1;flex-direction:column;justify-content:center;gap:4px;min-height:56px;padding:6px 4px;border:0;border-radius:10px;text-align:center;font-size:12px}.tab .icon{width:21px;height:21px}.tab-arrow{display:none}.shell{margin:0;width:100%;padding:max(26px,env(safe-area-inset-top)) 20px calc(110px + env(safe-area-inset-bottom))}.topbar{margin-bottom:30px;gap:12px}.topbar h1{font-size:34px;letter-spacing:-.055em}.topbar .eyebrow{font-size:13px;margin-bottom:8px}.topbar-actions{flex-direction:column-reverse;align-items:flex-end;gap:5px}.refresh-button{width:40px;min-height:40px;height:40px;display:grid;place-items:center;padding:0;background:transparent}.topbar-actions .sync-status{font-size:12px;max-width:115px}.section-head{margin-bottom:16px;gap:12px}.section-head h2{font-size:16px}.counter{font-size:12px;max-width:55%}.planning-glance{padding:18px 16px;margin-bottom:18px;border-radius:15px}.planning-glance>div{gap:6px}.planning-glance>div+div{padding-left:16px}.glance-value{font-size:32px}.planning-glance span:last-child{font-size:12px;line-height:1.4}.section-action{margin-bottom:24px}.primary-action{width:100%;min-height:48px;font-size:15px}.health-actions{gap:10px}.health-actions>*{flex:1;min-width:0;width:auto;font-size:14px;padding:10px}.view-toolbar{padding-top:20px;margin-bottom:16px}.view-switch{width:100%;gap:4px}.view-btn{flex:1;padding:8px;font-size:14px;min-height:40px}.task-filters{display:block}.scope-switch{margin-bottom:12px;gap:4px}.scope-btn{flex:1;padding:8px 6px;min-height:44px;font-size:14px}.task-search{display:block}.task-search input{min-height:44px}.row{padding:14px 12px;gap:12px;border-radius:11px}.row-title{font-size:15px}.row-meta{gap:6px;font-size:12px}.row-meta-text{flex-basis:100%}.row-value{font-size:17px}.snapshot{gap:10px;margin-bottom:18px}.metric{padding:18px 16px;border-radius:15px}.metric strong{font-size:28px;margin-top:16px}.metric-balance strong{font-size:36px}.metric-head>span:first-child{font-size:13px}.metric-icon{width:22px;height:22px}.metric small{font-size:12px}.health-snapshot .metric-head{align-items:flex-start}.calendar-nav{width:100%;gap:8px}.cal-label{font-size:13px}.week-grid{grid-template-columns:1fr;overflow:visible}.week-day{min-height:auto;padding:14px}.week-chip{padding:10px}.week-chip-title{font-size:14px}.week-day-head{flex-wrap:nowrap}.notice{right:16px;bottom:calc(92px + env(safe-area-inset-bottom))}.entry-dialog{width:100%;max-height:calc(100dvh - 14px);margin:auto 0 0;padding:22px 20px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;border-bottom:0;border-left:0;border-right:0}.dialog-head{margin-bottom:22px}.dialog-head h2{font-size:25px}.entry-form,.advanced-grid{gap:16px 12px}.entry-form>button[type=submit]{position:sticky;bottom:0;box-shadow:0 8px 20px #10151caa}.update-banner{flex-direction:column;align-items:stretch}.empty{padding:32px 20px;font-size:14px}.two-columns{gap:26px}.health-actions{flex-wrap:nowrap}}
@media(max-width:370px){.shell{padding-inline:14px}.topbar h1{font-size:30px}.planning-glance{padding:16px 12px}.planning-glance>div+div{padding-left:10px}.planning-glance span:last-child{font-size:12px}.health-actions{flex-direction:column}.health-actions>*{width:100%}.entry-form,.advanced-grid{grid-template-columns:1fr}.metric-icon{display:none}.metric strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* weight goal + chart block */
.progress-track{height:8px;border-radius:999px;background:#ffffff10;overflow:hidden;margin:2px 0 22px}
.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent-2),var(--accent));border-radius:999px;transition:width .3s ease}
.chart-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:20px;margin-bottom:24px}
.chart-card svg{width:100%;height:auto;display:block}
.chart-axis{display:flex;justify-content:space-between;margin-top:10px;font-size:12px;color:var(--muted-2)}
#weightGlance{text-align:center}
#weightGlance .weight-hero-value{display:block;margin-top:0;font:600 clamp(34px,6vw,44px)/1.1 'Space Grotesk',Inter,sans-serif;letter-spacing:-.03em}
.weight-hero-label{margin:6px 0 18px}
.start-target-row{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);margin-bottom:8px}
#weightGlance .start-target-row strong{margin-top:0;display:inline;font-size:14px;color:var(--text);font-weight:700}
.dual-stat-row{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:20px}
.dual-stat{text-align:center}
#weightGlance .dual-stat strong{display:block;margin-top:0;font:700 22px 'Space Grotesk',Inter,sans-serif}
.dual-stat span{display:block;margin-top:4px;color:var(--muted);font-size:13px}
.dual-stat-divider{width:1px;height:36px;background:var(--border)}
#weightNudgeCard{text-align:center}
#weightNudgeCard strong{display:block;margin-top:0;font:700 18px 'Space Grotesk',Inter,sans-serif}
#weightNudgeCard small{display:block;margin:6px 0 16px;color:var(--muted)}
.wide-action{width:100%}
#chartRangeSwitch{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;margin-bottom:14px}
#chartRangeSwitch .scope-btn{flex:none;white-space:nowrap}
.row-value-delta{margin-top:4px;text-align:right;font-size:13px;font-weight:700;color:var(--muted-2)}
.stat-value-gain{color:var(--red)}
.stat-value-loss{color:var(--accent)}
.stat-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border)}
.stat-row:first-child{border-top:0}
.stat-row>span:first-child{flex:0 0 84px;color:var(--muted);font-size:14px}
.stat-row>strong{flex:0 0 60px;text-align:right;font-family:'Space Grotesk',Inter,sans-serif;font-variant-numeric:tabular-nums;font-weight:700}
.stat-value-muted{color:var(--muted-2)}
.stat-bar{position:relative;flex:1;height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}
.stat-bar:before{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;width:1px;background:var(--border-strong)}
.stat-bar-fill{position:absolute;top:0;bottom:0;border-radius:999px}
.stat-bar-fill.gain{left:50%;background:var(--red)}
.stat-bar-fill.loss{right:50%;background:var(--accent)}
@media(max-width:700px){.chart-card{padding:16px}}

/* accounts block */
#accountsView{margin-bottom:24px}
#accountsTotalCard{text-align:center;margin-bottom:20px}
#accountsTotalCard .weight-hero-value{display:block;margin-top:0;font:600 clamp(30px,5vw,40px)/1.1 'Space Grotesk',Inter,sans-serif;letter-spacing:-.03em}
#accountsTotalCard small{display:block;margin-top:8px;color:var(--muted)}
.account-row-main{display:flex;align-items:center;gap:12px;min-width:0}
.account-icon{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,158,172,.15);color:var(--red)}
.account-icon .icon{width:19px;height:19px}
.checkbox-row{display:flex!important;flex-direction:row;align-items:center;gap:10px}
.checkbox-row input[type=checkbox]{width:auto;min-height:auto;flex:none}
.checkbox-row span{margin:0;text-transform:none;letter-spacing:0;font-size:14px;font-weight:400;color:var(--text)}
.danger-action{width:100%;margin-top:10px;color:var(--red);border-color:var(--red)}
.limit-block{padding:0 14px 14px}
.limit-track{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin-top:6px}
.limit-fill{height:100%;border-radius:999px;transition:width .3s ease}
.limit-fill.ok{background:var(--accent)}
.limit-fill.warn{background:var(--amber)}
.limit-fill.over{background:var(--red)}
.limit-caption{margin-top:6px;font-size:12px;color:var(--muted)}
.budget-row + .budget-row{margin-top:18px}
.recurring-due-actions{display:flex;gap:10px;padding:12px 14px 14px}
.recurring-due-actions button{flex:1;min-height:40px;padding:8px 14px}
#recurringDueList .row{border-color:var(--amber)}
.quick-chip.has-value{color:var(--accent);border-color:#39c6ff66;background:#39c6ff0b}
/* Фіксована нижня навігація (мобільна) лишається "приклеєною" до низу LAYOUT-в'юпорту,
   який iOS Safari не звужує під клавіатуру — тому при відкритій клавіатурі (діалог з
   полем вводу) її напівпрозорий/розмитий фон опиняється візуально позаду панелі
   клавіатури і просвічує крізь неї. Найпростіший надійний фікс — просто ховати нав-бар,
   поки відкрито будь-який діалог (взаємодія з ним однаково заблокована бекдропом). */
@media(max-width:700px){
  body:has(dialog[open]) .sidebar{display:none}
}
/* Затискання рядка для видалення (задачі, операції, вага, рахунки, категорії,
   регулярні платежі) — короткий відгук під час утримання, до появи confirm(). */
.row{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.row.press-armed{transform:scale(.97);border-color:var(--red);transition:transform .5s ease,border-color .5s ease}
.week-chip{cursor:pointer;transition:background .15s ease}
.week-chip:hover{background:#283445}
.week-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.week-chip{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.week-chip.drag-source{opacity:.3}
.drag-ghost{position:fixed;pointer-events:none;z-index:999;box-shadow:0 12px 30px -6px #000c,0 0 0 2px var(--accent);transform:scale(1.04);opacity:.96}
.week-day.drop-hover{border-color:var(--accent);background:#0f1830}
.week-day{transition:border-color .15s ease,background .15s ease}
.timeline-block{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:box-shadow .15s ease}
.timeline-block.dragging{box-shadow:0 10px 26px -6px #000a,0 0 0 2px var(--accent);z-index:5;cursor:grabbing}
.budget-source-note{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);font-size:12px;color:var(--muted);line-height:1.5}
.account-icon{font-size:18px;line-height:1}
.icon-picker{max-height:190px;overflow-y:auto;padding:2px}
.icon-picker .day-chip{min-width:44px;font-size:18px;padding:0}
.icon-picker .day-chip.active{background:var(--accent);box-shadow:0 0 0 2px var(--accent-2) inset}
