.theme-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.theme-swatch{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 2px;border-radius:var(--radius);transition:box-shadow var(--dur) var(--ease)}.theme-swatch-active{box-shadow:var(--nm-in-sm)}.theme-preview{display:flex;align-items:flex-end;justify-content:flex-end;gap:3px;width:40px;height:40px;padding:5px;border-radius:12px}.theme-dot{width:9px;height:9px;border-radius:50%;border:1px solid rgba(255,255,255,.35)}.theme-name{font-size:var(--fs-xs);font-weight:600;color:var(--text-dim)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.row-label{display:flex;align-items:center;gap:10px;font-weight:620;color:var(--text)}.row-label svg{color:var(--accent)}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.settings-note{margin-top:12px;font-size:var(--fs-sm);color:var(--text-dim)}.settings-ok{color:var(--ok);font-weight:600}.settings-footer{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0 4px;font-size:var(--fs-xs);color:var(--text-faint)}.dashboard{padding-bottom:8px}.dash-hello{display:flex;flex-direction:column;gap:2px;margin-bottom:16px}.dash-date{font-size:var(--fs-sm);color:var(--text-faint);text-transform:capitalize}.dash-greeting{font-size:var(--fs-xl);font-weight:750;letter-spacing:-.3px}.dash-alerts{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.alert-danger{color:var(--danger)}.alert-warn{color:var(--warn)}.dash-focus{margin-bottom:16px}.focus-list{display:flex;flex-direction:column;gap:8px}.focus-row{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius);background:var(--surface-2);border-left:3px solid transparent}.focus-danger{border-left-color:var(--danger)}.focus-warn{border-left-color:var(--warn)}.focus-main{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px;text-align:left}.focus-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:var(--accent);flex:0 0 auto}.focus-text{display:flex;flex-direction:column;min-width:0}.focus-title{font-weight:650}.focus-sub{font-size:var(--fs-xs);color:var(--text-dim)}.focus-hint{font-size:var(--fs-xs);color:var(--accent);margin-top:2px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.quick-actions .btn:first-child{grid-column:1 / -1}.quick-card{margin-bottom:14px}.quick-row{display:flex;gap:10px;margin-top:10px}.quick-row .input:first-child{max-width:140px}.quick-note{margin-top:10px;font-size:var(--fs-xs);color:var(--text-faint)}.dash-summary{display:flex;gap:8px;flex-wrap:wrap}.dash-forecast{margin-bottom:16px}.forecast-text{font-size:var(--fs-sm);color:var(--text-dim);line-height:1.5}.forecast-missing{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.inventory{padding-bottom:8px}.alert{display:flex;align-items:center;gap:10px;padding:12px 14px;margin:14px 0;border-radius:var(--radius);color:var(--warn);font-size:var(--fs-sm);font-weight:600}.alert svg{flex:0 0 auto}.zone-chips{display:flex;gap:8px;overflow-x:auto;padding:14px 2px;margin:0 -2px;scrollbar-width:none}.zone-chips::-webkit-scrollbar{display:none}.zone-chips .chip{white-space:nowrap}.item-list{display:flex;flex-direction:column;gap:10px}.item-row{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;border-radius:var(--radius-lg)}.item-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:7px;text-align:left}.item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.item-name{font-weight:650;font-size:var(--fs-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level{height:7px;border-radius:6px;background:var(--surface-2);box-shadow:var(--nm-in-sm);overflow:hidden}.level-fill{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width var(--dur-slow) var(--ease-out)}.level-low .level-fill{background:linear-gradient(90deg,var(--danger),var(--warn))}.item-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.item-zone{font-size:var(--fs-xs);color:var(--text-faint)}.item-actions{display:grid;grid-template-columns:repeat(2,auto);gap:6px;flex:0 0 auto}.shopping{margin-top:14px}.quick-add{display:flex;gap:8px;align-items:center;margin-bottom:16px}.quick-add-dept{max-width:120px}.shopping-group{margin-bottom:14px}.shopping-dept{font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);padding:0 6px 8px}.shopping-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius);margin-bottom:8px}.shopping-title{flex:1 1 auto;font-weight:600}.shopping-item-done .shopping-title{text-decoration:line-through;color:var(--text-faint)}.shopping-empty{display:flex;align-items:center;gap:12px;color:var(--text-dim);font-size:var(--fs-sm)}.shopping-empty svg{color:var(--accent);flex:0 0 auto}.shopping-done-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 8px}.shopping-done-head .shopping-dept{padding:0}.routine{padding-bottom:8px}.task-list{display:flex;flex-direction:column;gap:12px}.task-row{padding:14px;border-radius:var(--radius-lg);border-left:3px solid transparent}.task-overdue,.task-today{border-left-color:var(--danger)}.task-soon{border-left-color:var(--warn)}.task-head{display:flex;align-items:flex-start;gap:12px}.task-cat{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:var(--accent);flex:0 0 auto}.task-title-wrap{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.task-title{font-weight:680;font-size:var(--fs-base)}.task-cat-label{font-size:var(--fs-xs);color:var(--text-faint)}.task-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 0}.task-date{font-size:var(--fs-sm);color:var(--text-dim)}.task-tag{font-size:var(--fs-xs);font-weight:600;color:var(--text-faint);padding:2px 8px;border-radius:var(--radius-pill);background:var(--surface-2)}.task-hint{margin-top:10px;font-size:var(--fs-sm);color:var(--text-dim);padding:8px 10px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 10%,transparent)}.task-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.task-archive{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-dim)}.history{display:flex;flex-direction:column;gap:2px}.history-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--border-soft)}.history-row svg{color:var(--text-faint);flex:0 0 auto}.history-title{flex:1 1 auto;font-size:var(--fs-sm);font-weight:600}.history-date{font-size:var(--fs-sm);color:var(--text-faint)}.history-empty{font-size:var(--fs-sm);color:var(--text-dim)}.archived-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 2px}.payments{padding-bottom:8px}.pay-summary{display:flex;flex-direction:column;gap:4px;margin-bottom:4px}.pay-total-label{font-size:var(--fs-sm);color:var(--text-dim)}.pay-total{font-size:var(--fs-2xl);font-weight:780;letter-spacing:-.5px}.pay-breakdown{margin-top:12px;display:flex;flex-direction:column;gap:8px}.pay-breakdown-row{display:flex;align-items:center;gap:10px;font-size:var(--fs-sm)}.pay-breakdown-row svg{color:var(--accent);flex:0 0 auto}.pay-breakdown-name{flex:1 1 auto;color:var(--text-dim)}.pay-breakdown-val{font-weight:650}.pay-list{display:flex;flex-direction:column;gap:12px}.pay-row{padding:14px;border-radius:var(--radius-lg)}.pay-head{display:flex;align-items:center;gap:12px}.pay-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:var(--accent);flex:0 0 auto}.pay-title-wrap{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.pay-title{font-weight:680}.pay-kind{font-size:var(--fs-xs);color:var(--text-faint)}.pay-amount{font-weight:700;white-space:nowrap}.pay-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.pay-account{font-size:var(--fs-xs);color:var(--text-faint)}.pay-foot{display:flex;align-items:center;gap:8px;margin-top:14px;position:relative}.pay-foot .btn{margin-right:auto}.copied-hint{position:absolute;right:0;top:-22px;font-size:var(--fs-xs);font-weight:600;color:var(--ok)}.bar-chart{position:relative;width:100%;padding-bottom:22px}.bar-chart-svg{width:100%;height:100%;overflow:visible}.bar{fill:color-mix(in srgb,var(--accent) 55%,transparent);transition:fill var(--dur) var(--ease)}.bar-highlight{fill:var(--accent)}.bar-chart-labels{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-around}.bar-chart-label{flex:1 1 0;text-align:center;font-size:var(--fs-xs);color:var(--text-faint)}.bar-chart-max{position:absolute;top:0;right:0;font-size:var(--fs-xs);color:var(--text-faint)}.meters{padding-bottom:8px}.meter-list{display:flex;flex-direction:column;gap:12px}.meter-card{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--radius-lg);text-align:left;width:100%}.meter-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:var(--accent);flex:0 0 auto}.meter-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.meter-name{font-weight:680}.meter-sub{font-size:var(--fs-xs);color:var(--text-faint)}.meter-status{display:flex;align-items:center;gap:8px;flex:0 0 auto}.meter-anomaly{display:grid;place-items:center;color:var(--danger)}.meter-note{font-size:var(--fs-sm);color:var(--text-dim)}.reading-input{display:flex;gap:10px;align-items:center}.reading-input .input{flex:1 1 auto}.reading-chart{padding:16px 14px 10px;border-radius:var(--radius);margin:6px 0 16px}.chart-caption{display:block;font-size:var(--fs-xs);color:var(--text-faint);margin-bottom:10px}.history-block,.submit-block{margin-bottom:18px}.history-heading{font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);margin-bottom:8px}.sms-template{margin-top:10px;min-height:56px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-sm)}.infobase{padding-bottom:8px}.search-box{display:flex;align-items:center;gap:10px;padding:0 14px;border-radius:var(--radius);margin-bottom:4px}.search-box svg{color:var(--text-faint);flex:0 0 auto}.search-input{border:0!important;background:transparent!important;box-shadow:none!important;padding-left:0!important;height:46px}.info-list{display:flex;flex-direction:column}.info-card{position:relative}.info-head{display:flex;align-items:flex-start;gap:8px}.info-title-wrap{flex:1 1 auto;min-width:0}.info-title{font-size:var(--fs-lg);font-weight:700}.info-group{font-size:var(--fs-xs);color:var(--text-faint)}.info-fields{margin:12px 0 0;display:flex;flex-direction:column;gap:8px}.info-field{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--border-soft)}.info-field-label{font-size:var(--fs-sm);color:var(--text-dim);flex:0 1 auto}.info-field-value{display:flex;align-items:center;gap:8px;margin:0;font-weight:620;text-align:right;min-width:0}.info-field-value span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-note{margin-top:12px;font-size:var(--fs-sm);color:var(--text-dim)}.field-list{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.field-pair{display:grid;grid-template-columns:1fr 1.3fr auto;gap:8px;width:100%}.field-pair .input{height:42px}.app{position:relative;min-height:100%;display:flex;flex-direction:column;padding-top:var(--safe-top)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--topbar-h);margin:8px 12px 0;padding:0 14px;border-radius:var(--radius-lg)}.topbar-brand{display:flex;align-items:center;gap:10px}.brand-mark{width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 45%,transparent)}.brand-name{font-weight:700;letter-spacing:.2px}.icon-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:var(--text-dim);background:var(--surface);box-shadow:var(--nm-out-sm)}.boot{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:70vh;color:var(--text-dim)}.boot-mark{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 45%,transparent);animation:boot-pulse 1.4s var(--ease) infinite}.boot-text{font-size:var(--fs-sm);font-weight:600}@keyframes boot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.88);opacity:.7}}.screen{flex:1 1 auto;padding:18px 16px calc(var(--tabbar-h) + var(--safe-bottom) + 26px);max-width:640px;width:100%;margin:0 auto}.screen-title{font-size:24px;font-weight:750;letter-spacing:-.3px;margin-bottom:16px}.placeholder{padding:22px}.placeholder-title{font-size:17px;font-weight:700;margin-bottom:8px}.placeholder-text{color:var(--text-dim);font-size:14px}.tabbar{position:fixed;left:10px;right:10px;bottom:calc(var(--safe-bottom) + 10px);z-index:30;display:grid;grid-template-columns:repeat(6,1fr);gap:2px;padding:8px 6px;border-radius:var(--radius-xl)}.tab{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;color:var(--text-faint);border-radius:var(--radius);transition:color var(--dur) var(--ease)}.tab-active{color:var(--accent)}.tab-icon{display:grid;place-items:center;width:34px;height:30px;border-radius:10px}.tab-label{font-size:10.5px;font-weight:600;letter-spacing:.1px}@media (min-width: 720px){.tab-label{font-size:11.5px}.tabbar{max-width:620px;margin:0 auto}}:root{--radius-xs: 8px;--radius-sm: 10px;--radius: 16px;--radius-lg: 22px;--radius-xl: 28px;--radius-pill: 999px;--blur: 18px;--tabbar-h: 64px;--topbar-h: 56px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--dur: .18s;--dur-slow: .32s;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--fs-xs: 11px;--fs-sm: 13px;--fs-base: 15px;--fs-lg: 17px;--fs-xl: 21px;--fs-2xl: 26px}:root,[data-theme=graphite]{--bg: #eef1f7;--bg-2: #e6eaf3;--surface: #e8ecf4;--surface-2: #e2e7f1;--surface-glass: rgba(255, 255, 255, .45);--surface-glass-strong: rgba(255, 255, 255, .64);--border-soft: rgba(255, 255, 255, .6);--text: #232839;--text-dim: #5b6478;--text-faint: #8b93a7;--accent: #6c8cff;--accent-2: #8f7bff;--accent-contrast: #ffffff;--ok: #3fb98a;--warn: #e0a13a;--danger: #e2646b;--shadow-light: rgba(255, 255, 255, .95);--shadow-dark: rgba(160, 170, 195, .55);--nm-out: 6px 6px 14px var(--shadow-dark), -6px -6px 14px var(--shadow-light);--nm-out-sm: 3px 3px 7px var(--shadow-dark), -3px -3px 7px var(--shadow-light);--nm-in: inset 4px 4px 9px var(--shadow-dark), inset -4px -4px 9px var(--shadow-light);--nm-in-sm: inset 2px 2px 5px var(--shadow-dark), inset -2px -2px 5px var(--shadow-light);color-scheme:light}[data-theme=graphite][data-mode=night]{--bg: #1b1e27;--bg-2: #171a22;--surface: #232733;--surface-2: #2a2f3d;--surface-glass: rgba(46, 52, 68, .42);--surface-glass-strong: rgba(54, 61, 80, .64);--border-soft: rgba(255, 255, 255, .08);--text: #eef1f8;--text-dim: #aeb6c9;--text-faint: #7c8499;--accent: #7c9bff;--accent-2: #9a87ff;--shadow-light: rgba(60, 68, 90, .5);--shadow-dark: rgba(9, 11, 17, .85);color-scheme:dark}[data-theme=ocean]{--bg: #e9f2f7;--bg-2: #dfeaf2;--surface: #e4eef5;--surface-2: #dce8f1;--surface-glass: rgba(240, 250, 255, .45);--surface-glass-strong: rgba(245, 253, 255, .64);--border-soft: rgba(255, 255, 255, .62);--text: #17303d;--text-dim: #4c6c7b;--text-faint: #7e9aa7;--accent: #1f9fd6;--accent-2: #17c2b0;--accent-contrast: #ffffff;--ok: #22b58a;--warn: #e0a13a;--danger: #e2646b;--shadow-light: rgba(255, 255, 255, .95);--shadow-dark: rgba(150, 178, 196, .6);--nm-out: 6px 6px 14px var(--shadow-dark), -6px -6px 14px var(--shadow-light);--nm-out-sm: 3px 3px 7px var(--shadow-dark), -3px -3px 7px var(--shadow-light);--nm-in: inset 4px 4px 9px var(--shadow-dark), inset -4px -4px 9px var(--shadow-light);--nm-in-sm: inset 2px 2px 5px var(--shadow-dark), inset -2px -2px 5px var(--shadow-light);color-scheme:light}[data-theme=ocean][data-mode=night]{--bg: #0e1d26;--bg-2: #0b1720;--surface: #14303d;--surface-2: #17323f;--surface-glass: rgba(20, 52, 66, .44);--surface-glass-strong: rgba(26, 61, 78, .66);--border-soft: rgba(150, 220, 255, .1);--text: #e6f4fb;--text-dim: #a3c4d4;--text-faint: #6f93a3;--accent: #35b6e8;--accent-2: #2ad0bd;--shadow-light: rgba(40, 78, 96, .5);--shadow-dark: rgba(4, 12, 17, .85);color-scheme:dark}[data-theme=ember]{--bg: #f6eeea;--bg-2: #f1e6e0;--surface: #f3eae4;--surface-2: #efe3dc;--surface-glass: rgba(255, 246, 240, .46);--surface-glass-strong: rgba(255, 249, 244, .66);--border-soft: rgba(255, 255, 255, .62);--text: #3a2420;--text-dim: #7a5449;--text-faint: #a9887c;--accent: #e2703a;--accent-2: #e0555f;--accent-contrast: #ffffff;--ok: #3fb98a;--warn: #d99a2b;--danger: #d94f57;--shadow-light: rgba(255, 255, 255, .95);--shadow-dark: rgba(198, 168, 156, .6);--nm-out: 6px 6px 14px var(--shadow-dark), -6px -6px 14px var(--shadow-light);--nm-out-sm: 3px 3px 7px var(--shadow-dark), -3px -3px 7px var(--shadow-light);--nm-in: inset 4px 4px 9px var(--shadow-dark), inset -4px -4px 9px var(--shadow-light);--nm-in-sm: inset 2px 2px 5px var(--shadow-dark), inset -2px -2px 5px var(--shadow-light);color-scheme:light}[data-theme=ember][data-mode=night]{--bg: #241713;--bg-2: #1c110e;--surface: #33221b;--surface-2: #37241d;--surface-glass: rgba(66, 40, 30, .44);--surface-glass-strong: rgba(78, 47, 35, .66);--border-soft: rgba(255, 190, 150, .1);--text: #fbeee7;--text-dim: #d3b3a5;--text-faint: #a3806f;--accent: #f08148;--accent-2: #ec5f69;--shadow-light: rgba(96, 60, 46, .5);--shadow-dark: rgba(14, 7, 5, .85);color-scheme:dark}[data-theme=forest]{--bg: #eaf3ec;--bg-2: #e0ece3;--surface: #e6f0e8;--surface-2: #dfeadf;--surface-glass: rgba(242, 253, 244, .45);--surface-glass-strong: rgba(246, 255, 248, .64);--border-soft: rgba(255, 255, 255, .6);--text: #1b3225;--text-dim: #4c6d59;--text-faint: #7d9a88;--accent: #2fa86a;--accent-2: #7bbf4a;--accent-contrast: #ffffff;--ok: #2fa86a;--warn: #d99a2b;--danger: #d9534f;--shadow-light: rgba(255, 255, 255, .95);--shadow-dark: rgba(158, 184, 166, .6);--nm-out: 6px 6px 14px var(--shadow-dark), -6px -6px 14px var(--shadow-light);--nm-out-sm: 3px 3px 7px var(--shadow-dark), -3px -3px 7px var(--shadow-light);--nm-in: inset 4px 4px 9px var(--shadow-dark), inset -4px -4px 9px var(--shadow-light);--nm-in-sm: inset 2px 2px 5px var(--shadow-dark), inset -2px -2px 5px var(--shadow-light);color-scheme:light}[data-theme=forest][data-mode=night]{--bg: #101e16;--bg-2: #0c1710;--surface: #1a2e21;--surface-2: #1d3125;--surface-glass: rgba(30, 56, 40, .44);--surface-glass-strong: rgba(36, 66, 47, .66);--border-soft: rgba(150, 240, 190, .1);--text: #e8f5ec;--text-dim: #aacbbb;--text-faint: #749683;--accent: #45c07f;--accent-2: #93d05f;--shadow-light: rgba(46, 84, 62, .5);--shadow-dark: rgba(4, 12, 8, .85);color-scheme:dark}[data-theme=orchid]{--bg: #f1ecf8;--bg-2: #e9e3f3;--surface: #ece5f5;--surface-2: #e6ddf1;--surface-glass: rgba(250, 245, 255, .46);--surface-glass-strong: rgba(252, 248, 255, .66);--border-soft: rgba(255, 255, 255, .62);--text: #2c2340;--text-dim: #62567f;--text-faint: #928aa8;--accent: #8a5cf6;--accent-2: #d95fbf;--accent-contrast: #ffffff;--ok: #3fb98a;--warn: #e0a13a;--danger: #d9536a;--shadow-light: rgba(255, 255, 255, .95);--shadow-dark: rgba(178, 166, 200, .6);--nm-out: 6px 6px 14px var(--shadow-dark), -6px -6px 14px var(--shadow-light);--nm-out-sm: 3px 3px 7px var(--shadow-dark), -3px -3px 7px var(--shadow-light);--nm-in: inset 4px 4px 9px var(--shadow-dark), inset -4px -4px 9px var(--shadow-light);--nm-in-sm: inset 2px 2px 5px var(--shadow-dark), inset -2px -2px 5px var(--shadow-light);color-scheme:light}[data-theme=orchid][data-mode=night]{--bg: #1c1530;--bg-2: #161027;--surface: #281f40;--surface-2: #2c2246;--surface-glass: rgba(50, 40, 78, .44);--surface-glass-strong: rgba(60, 48, 92, .66);--border-soft: rgba(210, 170, 255, .1);--text: #f1ecfb;--text-dim: #bfb1dd;--text-faint: #8f83ab;--accent: #9d74ff;--accent-2: #e578cb;--shadow-light: rgba(66, 56, 100, .5);--shadow-dark: rgba(8, 4, 16, .85);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;overscroll-behavior-y:none;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}h1,h2,h3,h4,p{margin:0}button{font:inherit;color:inherit;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:var(--accent);text-decoration:none}input,textarea,select{font:inherit;color:inherit}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}*{scrollbar-width:thin;scrollbar-color:var(--text-faint) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-faint) 55%,transparent);border-radius:8px}.nm-out{background:var(--surface);box-shadow:var(--nm-out);border-radius:var(--radius)}.nm-out-sm{background:var(--surface);box-shadow:var(--nm-out-sm);border-radius:var(--radius-sm)}.nm-in{background:var(--surface-2);box-shadow:var(--nm-in);border-radius:var(--radius)}.nm-in-sm{background:var(--surface-2);box-shadow:var(--nm-in-sm);border-radius:var(--radius-sm)}.nm-press{transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.nm-press:active{box-shadow:var(--nm-in-sm);transform:translateY(1px)}.glass{background:var(--surface-glass);backdrop-filter:blur(var(--blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--blur)) saturate(140%);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:0 8px 30px #0a0e191f}.glass-strong{background:var(--surface-glass-strong);backdrop-filter:blur(calc(var(--blur) + 6px)) saturate(150%);-webkit-backdrop-filter:blur(calc(var(--blur) + 6px)) saturate(150%);border:1px solid var(--border-soft);border-radius:var(--radius)}.app-ambient{position:fixed;inset:0;z-index:-1;background:radial-gradient(60% 45% at 12% 8%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 70%),radial-gradient(55% 40% at 92% 12%,color-mix(in srgb,var(--accent-2) 24%,transparent),transparent 72%),radial-gradient(70% 55% at 50% 108%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 70%);pointer-events:none}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass,.glass-strong{background:var(--surface)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius);font-weight:650;letter-spacing:.1px;color:var(--text);background:var(--surface);box-shadow:var(--nm-out-sm);border:1px solid transparent;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease),background-color var(--dur) var(--ease)}.btn-sm{height:36px;padding:0 14px;font-size:var(--fs-sm)}.btn-md{height:44px;padding:0 18px;font-size:var(--fs-base)}.btn-lg{height:52px;padding:0 22px;font-size:var(--fs-lg);border-radius:var(--radius-lg)}.btn-block{display:flex;width:100%}.btn-ico{display:inline-flex;align-items:center;justify-content:center;margin:0 -2px}.btn-primary{color:var(--accent-contrast);background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 42%,transparent)}.btn-primary:active{box-shadow:0 3px 12px color-mix(in srgb,var(--accent) 45%,transparent)}.btn-soft{color:var(--text);background:var(--surface)}.btn-ghost{background:transparent;box-shadow:none;color:var(--text-dim)}.btn-ghost:active{box-shadow:var(--nm-in-sm)}.btn-danger{color:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{padding:16px;border-radius:var(--radius-lg);margin-bottom:14px}.card-pressable{cursor:pointer}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.card-title{font-size:var(--fs-lg);font-weight:700}.card-subtitle{font-size:var(--fs-sm);color:var(--text-dim);margin-top:2px}.card-action{flex:0 0 auto}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field-label{font-size:var(--fs-sm);font-weight:600;color:var(--text-dim);padding-left:4px}.field-hint{font-size:var(--fs-xs);color:var(--text-faint);padding-left:4px}.field-error{font-size:var(--fs-xs);color:var(--danger);padding-left:4px}.input{width:100%;height:46px;padding:0 14px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-2);color:var(--text);outline:none;transition:box-shadow var(--dur) var(--ease)}.input::placeholder{color:var(--text-faint)}.input:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.textarea{height:auto;min-height:92px;padding:12px 14px;resize:vertical;line-height:1.5}.toggle{position:relative;width:54px;height:32px;border-radius:var(--radius-pill);background:var(--surface-2);transition:background-color var(--dur) var(--ease);flex:0 0 auto}.toggle-knob{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:var(--surface);box-shadow:var(--nm-out-sm);transition:transform var(--dur) var(--ease-out)}.toggle-on{background:linear-gradient(135deg,var(--accent),var(--accent-2))}.toggle-on .toggle-knob{transform:translate(22px)}.segmented{display:flex;gap:4px;padding:4px;border-radius:var(--radius)}.segmented-item{flex:1 1 0;height:38px;border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:620;color:var(--text-dim);transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.segmented-active{color:var(--text);background:var(--surface);box-shadow:var(--nm-out-sm)}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:600;color:var(--text-dim);background:var(--surface);box-shadow:var(--nm-out-sm)}.chip-active{color:var(--accent-contrast);background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:none}.chip-ok{color:var(--ok)}.chip-warn{color:var(--warn)}.chip-danger{color:var(--danger)}.sheet-root{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center}.sheet-backdrop{position:absolute;inset:0;background:#080a106b;backdrop-filter:blur(3px);animation:fade-in var(--dur) var(--ease)}.sheet{position:relative;width:100%;max-width:640px;max-height:88vh;overflow-y:auto;padding:10px 18px calc(var(--safe-bottom) + 22px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:sheet-up var(--dur-slow) var(--ease-out)}.sheet-grabber{width:44px;height:4px;border-radius:4px;background:var(--text-faint);opacity:.5;margin:6px auto 12px}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.sheet-title{font-size:var(--fs-xl);font-weight:720}.empty{padding:26px 20px;border-radius:var(--radius-lg);text-align:center}.empty-icon{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:var(--radius);color:var(--accent);margin-bottom:12px}.empty-title{font-size:var(--fs-lg);font-weight:700;margin-bottom:6px}.empty-text{font-size:var(--fs-sm);color:var(--text-dim);max-width:320px;margin:0 auto}.empty-action{margin-top:16px;display:flex;justify-content:center}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.form-error{color:var(--danger);font-size:var(--fs-sm);margin:4px 0 8px;padding-left:4px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.mini-btn{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;font-size:18px;font-weight:700;color:var(--text-dim);background:var(--surface);box-shadow:var(--nm-out-sm);flex:0 0 auto}.mini-danger{color:var(--danger)}.fab{position:fixed;right:18px;bottom:calc(var(--safe-bottom) + var(--tabbar-h) + 26px);z-index:40;display:grid;place-items:center;width:58px;height:58px;border-radius:20px;color:var(--accent-contrast);background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 45%,transparent);transition:transform var(--dur) var(--ease)}.fab:active{transform:scale(.94)}.check{appearance:none;width:24px;height:24px;border-radius:8px;border:1px solid var(--border-soft);background:var(--surface-2);box-shadow:var(--nm-in-sm);flex:0 0 auto;cursor:pointer;position:relative}.check:checked{background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:none;border-color:transparent}.check:checked:after{content:"";position:absolute;left:8px;top:4px;width:6px;height:11px;border:solid var(--accent-contrast);border-width:0 2px 2px 0;transform:rotate(45deg)}.badge-auto{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--accent);padding:2px 7px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 16%,transparent)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}
