:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-deep:#0f766e;--bg-mid:#134e4a;--bg-soft:#f7f8fa;--bg:#f7f8fa;--bg-panel:#fff;--panel:#fff;--surface:#fff;--surface-2:#f3f5f7;--surface-3:#e8ecf0;--ink:#111827;--ink-soft:#4b5563;--muted:#9ca3af;--brand:#0d9488;--brand-deep:#0f766e;--brand-light:#14b8a6;--brand-mist:#0d94881a;--accent:#0d9488;--accent-hover:#0f766e;--accent-soft:#ccfbf1;--accent-danger:#dc2626;--accent-danger-hover:#b91c1c;--accent-danger-soft:#fee2e2;--gold:#d97706;--gold-soft:#fbbf24;--gold-deep:#b45309;--income:#059669;--expense:#dc2626;--warning:#d97706;--warning-soft:#fef3c7;--line:#11182717;--border:var(--line);--shadow:0 1px 3px #1118270f;--shadow-hover:0 6px 20px #11182714;--shadow-soft:0 1px 2px #1118270a;--shadow-dock:0 -1px 0 var(--line), 0 -8px 24px #1118270f;--glow-brand:none;--glow-gold:none;--radius-sm:8px;--radius-md:12px;--radius:12px;--radius-lg:16px;--radius-pill:999px;--font-display:"Plus Jakarta Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-ui:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-brand:var(--font-display);--font-body:var(--font-ui);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-soft:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.22, 1, .36, 1);--ease-craft:var(--ease-out);--dur-fast:.14s;--dur-med:.22s;--dur-slow:.36s;--chrome-motion:.32s cubic-bezier(.32, .72, 0, 1);--z-toast:1200;--z-modal:1400;--z-select:1500;--z-sheet:1150;--z-ai:1100;--z-nav:900;--bp-xs:480px;--bp-sm:520px;--bp-md:720px;--bp-shell:860px;--bp-lg:1100px;--bp-xl:1200px;--bp-2xl:1500px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--page-gap:20px;--card-gap:14px;--section-gap:16px;--panel-pad:18px;--panel-pad-sm:14px;--page-pad-x:clamp(16px, 2.2vw, 28px);--space-page:var(--page-pad-x);--content-max:1180px;--text-page-title:1.28rem;--text-page-title-dash:1.36rem;--text-section:1rem;--text-stat:clamp(1.22rem, 2.2vw, 1.48rem);--text-stat-sm:1.2rem;--text-body:.92rem;--text-muted:.86rem;--text-micro:.72rem;--ops-topnav-h:60px;--ops-sidebar-w:0px;--ops-topbar-h:60px;--topbar-h:60px;--topbar-float-gap:0px;--mobile-nav-h:64px;--touch-min:44px;--control-h:40px;--mobile-dock-inset:0px;--mobile-dock-bottom:env(safe-area-inset-bottom,0px);--mobile-dock-stack:calc(var(--mobile-nav-h) + var(--mobile-dock-bottom));--ai-fab-gap:14px;--ai-fab-size:52px;--fab-bottom:calc(var(--mobile-dock-stack) + var(--ai-fab-gap));--toast-bottom:calc(var(--mobile-dock-stack) + var(--ai-fab-size) + var(--ai-fab-gap) + 8px);--focus-ring:0 0 0 3px #0d948847;--focus-ring-accent:0 0 0 3px #dc262633}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-deep:#0f766e;--bg-mid:#134e4a;--bg-soft:#0c1214;--bg:#0c1214;--bg-panel:#151c1f;--panel:#151c1f;--surface:#151c1f;--surface-2:#1c2529;--surface-3:#243036;--ink:#e8eef0;--ink-soft:#9aa8ae;--muted:#6b7a82;--brand:#14b8a6;--brand-deep:#2dd4bf;--brand-light:#5eead4;--brand-mist:#14b8a629;--accent:#14b8a6;--accent-hover:#2dd4bf;--accent-soft:#14b8a62e;--accent-danger:#f87171;--accent-danger-hover:#ef4444;--accent-danger-soft:#f8717129;--gold:#fbbf24;--gold-soft:#fcd34d;--gold-deep:#d97706;--income:#34d399;--expense:#f87171;--warning:#fbbf24;--warning-soft:#fbbf2429;--line:#e8eef01a;--border:var(--line);--shadow:0 1px 3px #0006;--shadow-hover:0 8px 24px #00000073;--shadow-soft:0 1px 2px #00000047;--shadow-dock:0 -1px 0 var(--line), 0 -8px 24px #00000059;--focus-ring:0 0 0 3px #14b8a659;--focus-ring-accent:0 0 0 3px #f8717147}@media (width<=860px){:root,[data-theme=light],[data-theme=dark]{--page-gap:14px;--panel-pad:14px;--panel-pad-sm:12px;--page-pad-x:14px;--mobile-nav-h:64px;--content-max:100%;--text-page-title:1.18rem;--text-page-title-dash:1.22rem;--text-stat:clamp(1.12rem, 3.6vw, 1.32rem)}}@media (width<=480px){:root,[data-theme=light],[data-theme=dark]{--page-gap:12px;--page-pad-x:12px;--text-page-title:1.12rem;--text-page-title-dash:1.16rem;--text-stat-sm:1.12rem}}*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%;height:auto;min-height:100%;margin:0}html{overflow:clip auto}body{color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:var(--bg-soft);margin:0;line-height:1.5;overflow:clip auto}#root{overflow:visible}html.scroll-locked,html.scroll-locked body,html.scroll-locked .ops-workspace{overscroll-behavior:none}body:before,body:after{display:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{z-index:1;flex-direction:column;width:100%;height:auto;min-height:100dvh;display:flex;position:relative;overflow:visible}.brand-mark{border-radius:var(--radius-md);background:var(--surface);width:42px;height:42px;color:var(--brand);font-family:var(--font-ui);border:1px solid var(--line);box-shadow:var(--shadow-soft);flex-shrink:0;justify-content:center;align-items:center;margin-bottom:12px;padding:7px;font-size:1.3rem;font-weight:700;display:inline-flex;overflow:hidden}.brand-mark svg{width:100%;height:100%;display:block}.brand-mark--photo{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);padding:0}.brand-mark-img{object-fit:cover;object-position:center 18%;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.brand-mark.sm{border-radius:10px;width:34px;height:34px;margin-bottom:0;padding:5px}.brand-mark--photo.sm{padding:0}.brand-mark.lg{border-radius:16px;width:56px;height:56px;margin-bottom:14px;padding:10px}.brand-mark--photo.lg{border-radius:20px;width:72px;height:72px;padding:0}.nav-icon{border-radius:var(--radius-sm);background:var(--brand-mist);width:34px;height:34px;color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;transition:background .14s,color .14s;display:inline-flex}.nav-icon svg{display:block}.content-col{flex-direction:column;width:100%;min-width:0;display:flex;overflow:visible}.main{width:100%;max-width:min(100%, var(--content-max));min-width:0;padding:var(--space-page) var(--page-pad-x) 48px;box-sizing:border-box;flex:1;margin-inline:auto;overflow:clip visible}.page-head{border-bottom:none;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;padding-bottom:0;animation:none;display:flex}.page-head h2{font-family:var(--font-display);font-size:var(--text-page-title);letter-spacing:-.03em;color:var(--ink);margin:0;font-weight:800;line-height:1.25}.page-head p{color:var(--ink-soft);max-width:40rem;line-height:1.5;font-size:var(--text-muted);margin:6px 0 0}.page-head-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.panel{background:var(--panel);-webkit-backdrop-filter:none;border:1px solid var(--line);border-radius:var(--radius);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-soft);padding:var(--panel-pad);transition:border-color var(--dur-med) ease, box-shadow var(--dur-med) ease;overflow-x:clip}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,18px);width:100%;margin-bottom:20px;display:grid}.hero-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;width:100%;display:flex}.hint{color:var(--ink-soft);margin-top:4px;font-size:.88rem}.quick-amounts{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.actions{align-items:center;gap:6px;display:flex}table.data td.actions{background:linear-gradient(90deg, transparent, var(--panel) 12px);z-index:1;padding-left:18px;position:sticky;right:0}@media (width<=860px){table.data td.actions{z-index:auto;background:0 0;padding-left:8px;position:static}.page-ledger table.data td.actions{white-space:normal;flex-wrap:wrap;gap:6px;min-width:7.5rem;display:flex}.page-ledger table.data td.actions .btn{flex:calc(50% - 4px);justify-content:center;min-height:40px}}.field-action{align-items:flex-end;display:flex}.field-action .btn{width:100%}.empty.compact{text-align:left;border:1px dashed var(--line);border-radius:12px;padding:12px 14px}.grid-2>.panel-fit,.grid-2.align-start>.panel{align-self:start;height:fit-content}.pager{color:var(--ink-soft);font-variant-numeric:tabular-nums;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:10px;margin-top:16px;padding:10px 12px;font-size:.86rem;display:flex}.pager>span{text-align:center;min-width:0;color:var(--ink-soft);font-weight:600}.pager .btn{flex:none;min-width:4.5rem}.pager-label-short{display:none}.pager-label-full{display:inline}@media (width<=520px){.pager{gap:8px;padding:8px 10px}.pager .btn{min-width:3.5rem;padding-inline:10px}.pager-label-full{display:none}.pager-label-short{display:inline}}.color-picks{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.color-dot{cursor:pointer;width:30px;height:30px;transition:transform .15s var(--ease-out), box-shadow .15s ease;border:2px solid #ffffffe6;border-radius:50%;padding:0;box-shadow:inset 0 0 0 1px #00000014,0 1px 3px #0000001f}.color-dot:hover{transform:scale(1.08)}.color-dot.active{border-color:var(--ink);box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ink);transform:scale(1.05)}.stat-card{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);width:100%;min-width:0;box-shadow:var(--shadow-soft);transition:border-color var(--dur-med) ease, box-shadow var(--dur-med) ease;padding:16px 18px;animation:none;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--brand);opacity:.55;width:3px;transition:opacity .2s;position:absolute;top:0;bottom:0;left:0;transform:none}.stat-card:hover{box-shadow:var(--shadow);border-color:#0d948838;transform:none}.stat-card:hover:before{opacity:1;transform:none}.stat-card:nth-child(2),.stat-card:nth-child(3),.stat-card:nth-child(4){animation-delay:0s}.stat-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:700}.stat-value{font-family:var(--font-display);font-size:var(--text-stat);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800;line-height:1.2}.stat-value.income{color:var(--income)}.stat-value.expense{color:var(--expense)}.stat-value.gold{color:var(--gold)}.stat-sub{color:var(--ink-soft);margin-top:8px;font-size:.82rem}.grid-2{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:clamp(14px,1.5vw,20px);width:100%;display:grid}.grid-2.align-start{align-items:start}.dash-stack{gap:var(--page-gap);flex-direction:column;width:100%;display:flex}.dash-cards{align-items:flex-start;gap:var(--page-gap);flex-wrap:wrap;width:100%;display:flex}.dash-cards>.panel{flex:300px;align-self:flex-start;width:auto;max-width:100%;height:fit-content;min-height:0}.dash-trio{gap:var(--page-gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);align-items:start;width:100%;display:grid}.dash-card{height:100%;min-height:0;padding:var(--panel-pad-sm);flex-direction:column;display:flex}.dash-card .section-title{margin-bottom:var(--section-gap);flex-shrink:0}.dash-card-body{scrollbar-gutter:stable;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden auto}.dash-card-empty{text-align:center;background:var(--surface-2);border:none;flex:1;justify-content:center;align-items:center;display:flex}.rank-list{gap:var(--space-2,8px);flex-direction:column;width:100%;min-width:0;margin:0;padding:0;list-style:none;display:flex}.rank-row{box-sizing:border-box;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);grid-template-columns:1.25rem minmax(0,1fr) minmax(3.5rem,1.1fr) 5.25rem;align-items:center;gap:8px 10px;width:100%;min-width:0;max-width:100%;padding:8px 10px;transition:background .14s,border-color .14s;display:grid}.rank-row:hover{background:var(--surface-2);box-shadow:none;border-color:#0d948833}.rank-index{color:var(--ink-soft);text-align:center;font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:700}.rank-row:first-child .rank-index{color:var(--gold)}.rank-row:nth-child(2) .rank-index{color:#8a95a5}.rank-row:nth-child(3) .rank-index{color:#b87333}.rank-meta{align-items:center;gap:8px;min-width:0;display:flex}.rank-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-size:.88rem;font-weight:600;overflow:hidden}.rank-bar{border-radius:var(--radius-pill);background:#0d948814;width:100%;min-width:0;height:8px;position:relative;overflow:hidden}.rank-bar>i{border-radius:inherit;transform-origin:0;max-width:100%;height:100%;animation:none;display:block}.shell-ops .rank-bar>i{animation:none!important;transform:none!important}@keyframes rankBarIn{0%{opacity:.55;transform:scaleX(.08)}to{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.rank-bar>i{animation:none}}.rank-value{text-align:right;flex-direction:column;justify-content:center;align-items:flex-end;gap:1px;min-width:0;display:flex}.rank-value .amount{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--brand-deep);font-size:.86rem;font-weight:700}.rank-share{font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap;font-size:.7rem}@media (width<=1200px){.dash-trio{grid-template-columns:1fr}.rank-row{grid-template-columns:1.25rem minmax(0,7rem) minmax(0,1fr) 5.25rem}}@media (width<=640px){.rank-row{grid-template-columns:1.1rem minmax(0,1fr) 4.5rem;grid-template-areas:"idx meta value""bar bar bar"}.rank-index{grid-area:idx}.rank-meta{grid-area:meta}.rank-bar{grid-area:bar;height:7px}.rank-value{grid-area:value}}.panel-fit{align-self:flex-start;height:fit-content;min-height:0;padding:16px 18px}.panel-fit .section-title{margin-bottom:10px}.panel-fit .table-wrap{margin-bottom:0}.panel-fit .data th,.panel-fit .data td{padding:8px}.dash-card .table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;margin:0;overflow:auto hidden}.dash-card .data{table-layout:fixed;width:100%}.dash-card .data th,.dash-card .data td{text-overflow:ellipsis;white-space:nowrap;padding:8px 6px;overflow:hidden}.dash-card .data th:first-child,.dash-card .data td:first-child{width:28%}.dash-card .data th:nth-child(2),.dash-card .data td:nth-child(2){width:16%}.dash-card .data th:nth-child(3),.dash-card .data td:nth-child(3){width:28%}.dash-card .data th:nth-child(4),.dash-card .data td:nth-child(4){text-align:right;font-variant-numeric:tabular-nums;text-overflow:clip;white-space:nowrap;width:28%;font-weight:700;overflow:visible}.chart-box{width:100%;min-width:0}.chart-trend{height:clamp(200px,28vw,260px)}.chart-pie{flex:0 0 120px;width:120px;height:120px}.split-compact{flex-wrap:wrap;align-items:flex-start;gap:12px 16px;display:flex}.split-compact .channel-list{flex:200px;min-width:0}.channel-list.dense{gap:6px}.list-row.compact{border-radius:12px;padding:8px 10px}.list-row .amount{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:600}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.5vw,20px);width:100%;display:grid}.section-title{margin-bottom:var(--section-gap);justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title h3{font-family:var(--font-display);font-size:var(--text-section);letter-spacing:-.02em;color:var(--ink);margin:0;font-weight:800}.btn{appearance:none;cursor:pointer;border-radius:var(--radius-sm);letter-spacing:0;min-height:var(--control-h);border:none;padding:10px 16px;font-weight:600;transition:background .14s,border-color .14s,color .14s,opacity .14s}.btn:active:not(:disabled){opacity:.92;transform:none}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn:focus-visible,.channel-pick:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn-primary{background:var(--brand);color:#fff;box-shadow:none}.btn-primary:hover{box-shadow:none;filter:none;background:var(--accent-hover)}.btn-gold{background:var(--brand);color:#fff;box-shadow:none}.btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.btn-danger{background:var(--accent-danger-soft);color:var(--expense)}.btn-sm{border-radius:var(--radius-sm);min-height:34px;padding:6px 10px;font-size:.82rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;min-width:0;display:grid}.form-grid>*{min-width:0;max-width:100%}.field{min-width:0;max-width:100%}.field label{color:var(--ink-soft);margin-bottom:5px;font-size:.8rem;font-weight:600;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);width:100%;min-width:0;max-width:100%;min-height:var(--control-h);color:var(--ink);transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;outline:none;padding:10px 12px}.field input:hover,.field select:hover,.field textarea:hover{border-color:#0d948847}.field input[type=datetime-local],.field input[type=date],.field input[type=time],.field input[type=month]{appearance:none;min-width:0;max-width:100%;display:block}.field input[type=datetime-local]::-webkit-calendar-picker-indicator{flex-shrink:0;margin-left:4px}.field input[type=date]::-webkit-calendar-picker-indicator{flex-shrink:0;margin-left:4px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-light);box-shadow:var(--focus-ring)}.ui-select{width:100%;min-width:0;max-width:100%;position:relative}.ui-select-trigger{width:100%;min-width:0;max-width:100%;min-height:var(--control-h,40px);border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;transition:border-color .14s,box-shadow .14s,background .14s;display:flex}.ui-select-trigger:focus-visible{border-color:var(--brand-light);box-shadow:var(--focus-ring);outline:none}.ui-select-trigger[aria-expanded=true]{border-color:var(--brand-light);background:var(--surface)}.ui-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.ui-select-placeholder{color:var(--ink-soft)}.ui-select-caret{border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);opacity:.75;flex-shrink:0;width:8px;height:8px;transition:transform .2s;transform:rotate(45deg)translateY(-2px)}.ui-select.is-disabled{opacity:.6;pointer-events:none}.ui-select-menu{z-index:80;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);max-height:240px;box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none;margin:0;padding:4px;list-style:none;animation:.14s both rise;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.ui-select-option{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:4px;min-height:36px;padding:8px 10px;font-size:.88rem;font-weight:500;transition:background .12s,color .12s}.ui-select-option:hover:not(:disabled){color:var(--brand-deep);background:#0d948814}.ui-select-option.is-active{background:var(--brand-mist);color:var(--brand);box-shadow:none}.ui-select-option:disabled{opacity:.45;cursor:not-allowed}.ui-select-ghost{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.type-switch{background:var(--surface-2);border-radius:var(--radius-md);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:4px;padding:3px;display:grid}.type-switch button{border-radius:var(--radius-sm);cursor:pointer;color:var(--ink-soft);min-height:var(--control-h);background:0 0;border:none;padding:9px 10px;font-size:.88rem;font-weight:600;transition:background .14s,color .14s,box-shadow .14s}.type-switch button.active.income{background:var(--surface);color:var(--income);box-shadow:0 1px 2px #0f172a0f,0 0 0 1px #05966933}.type-switch button.active.expense{background:var(--surface);color:var(--expense);box-shadow:0 1px 2px #0f172a0f,0 0 0 1px #dc262638}.channel-picks{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));align-items:stretch;gap:10px;width:100%;min-width:0;margin:-2px;padding:2px;display:grid}.channel-pick{box-sizing:border-box;border:1.5px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:center;width:100%;min-width:0;height:100%;min-height:56px;font:inherit;color:var(--ink);transition:transform .2s var(--ease-out), box-shadow .2s ease, border-color .2s ease, background .2s ease;-webkit-tap-highlight-color:transparent;background:#ffffffb3;justify-content:center;align-items:center;gap:8px;padding:10px 12px;line-height:1.25;display:inline-flex}.channel-pick .channel-dot{flex:none;margin-right:0}.channel-pick-label{-webkit-line-clamp:2;line-clamp:2;word-break:break-word;overflow-wrap:anywhere;text-align:left;-webkit-box-orient:vertical;font-size:.9rem;font-weight:500;display:-webkit-box;overflow:hidden}.channel-pick:hover{transform:translateY(-2px)}.channel-pick:active{transform:scale(.98)}.channel-pick.active{border-color:var(--pick-color,var(--brand));background:color-mix(in srgb, var(--pick-color,var(--brand)) 12%, white);box-shadow:0 8px 18px color-mix(in srgb, var(--pick-color,var(--brand)) 20%, transparent)}.channel-dot{border-radius:50%;width:12px;height:12px;margin-right:6px;display:inline-block}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow:auto}table.data{border-collapse:collapse;width:100%}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 10px}table.data th{color:var(--ink-soft);font-size:.86rem;font-weight:500}table.data tr{animation:.4s both fadein}.badge{border-radius:var(--radius-pill);letter-spacing:.02em;background:var(--brand-mist);color:var(--brand);align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.badge.income{background:color-mix(in srgb, var(--income) 12%, #fff);color:var(--income)}.badge.expense{background:color-mix(in srgb, var(--expense) 12%, #fff);color:var(--expense)}.filters{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px;display:flex}.filters .field{flex:1;min-width:140px}.progress{border-radius:var(--radius-pill);background:var(--surface-3);height:6px;margin-top:10px;overflow:hidden}.progress>span{border-radius:inherit;background:var(--brand);height:100%;transition:width .4s;display:block}.channel-list,.category-list{flex-direction:column;gap:10px;display:flex}.list-row{border-radius:var(--radius);border:1px solid var(--line);box-sizing:border-box;background:#ffffff8c;justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;max-width:100%;padding:12px 14px;display:flex}.list-row .meta{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.list-row .meta>div{flex:auto;min-width:0}.list-row .meta strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.list-row .meta .hint{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:4px;overflow:hidden}.list-row .bar{border-radius:var(--radius-pill);background:#0d948814;width:100%;min-width:0;height:6px;margin:0;overflow:hidden}.list-row .bar>i{border-radius:inherit;max-width:100%;height:100%;display:block}.list-row .actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;display:flex}.empty{text-align:center;color:var(--ink-soft);padding:28px 16px}.toast{z-index:var(--z-toast);background:var(--ink);color:#f8fafc;border-radius:var(--radius-sm);box-shadow:var(--shadow);border:1px solid #ffffff14;padding:10px 14px;font-size:.88rem;animation:.2s both rise;position:fixed;bottom:20px;right:20px}.toast-undo{align-items:center;gap:12px;display:flex}.toast-undo .btn{color:#f8fafc;border-color:#f8fafc59}.error-banner{background:var(--accent-danger-soft);color:#991b1b;border-radius:var(--radius-sm);border:1px solid #dc262640;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;padding:10px 14px;font-size:.88rem;display:flex}.mobile-nav,.mobile-nav-more-btn,.mobile-more-backdrop{display:none}@keyframes rise{0%{opacity:0}to{opacity:1}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes fadeout{0%{opacity:1}to{opacity:0}}@keyframes modalIn{0%{opacity:0}to{opacity:1}}@keyframes modalOut{0%{opacity:1}to{opacity:0}}@keyframes pageIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width>=1600px){.main{padding-left:clamp(28px,3vw,48px);padding-right:clamp(28px,3vw,48px)}.grid-2{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}.chart-trend{height:280px}}@media (width<=1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3{grid-template-columns:1fr}.dash-cards>.panel{flex:100%}.dash-trio{grid-template-columns:1fr}}@media (width<=640px){.stats-grid{grid-template-columns:1fr}.actions{flex-wrap:wrap;justify-content:flex-end}.table-wrap{margin:0 -4px}.filters .field{min-width:100%}}@media (width<=860px){.stats-grid.stats-3{grid-template-columns:1fr}.hero-row .btn{text-align:center;width:100%}.page-head{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.mobile-nav{z-index:var(--z-nav);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:4px 6px calc(4px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-dock);min-height:var(--mobile-nav-h);background:#fffffffa;border-radius:0;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav a,.mobile-nav-more-btn{color:var(--muted);text-align:center;letter-spacing:0;border-radius:var(--radius-sm);min-width:0;min-height:var(--touch-min);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 2px;font-family:inherit;font-size:.68rem;font-weight:600;transition:color .14s,background .14s;display:flex}.mobile-nav a.active,.mobile-nav-more-btn.active,.mobile-nav-more-btn.is-active{color:var(--brand);background:var(--brand-mist)}.mobile-nav a:active,.mobile-nav-more-btn:active{transform:none}.mobile-nav .nav-icon{background:0 0;border-radius:6px;width:26px;height:26px}.mobile-nav a.active .nav-icon,.mobile-nav-more-btn.active .nav-icon,.mobile-nav-more-btn.is-active .nav-icon{color:var(--brand);background:0 0}.mobile-nav .nav-icon svg{width:18px;height:18px}}.brand-mark,.panel{transition:border-color .2s,box-shadow .2s}.panel.panel-lift:hover,.dash-card.panel:hover,.stat-card:hover{box-shadow:var(--shadow);border-color:#0d948829;transform:none}.stat-card{transition:border-color .2s,box-shadow .2s}.stat-value{font-variant-numeric:tabular-nums}.list-row{transition:background .2s,border-color .2s,box-shadow .2s}.list-row:hover{background:#ffffffd1;border-color:#0d94882e;box-shadow:0 6px 16px #0f172a0f}.btn{position:relative;overflow:hidden}.btn:after{content:"";transition:transform .55s var(--ease-out);background:linear-gradient(120deg,#0000 30%,#ffffff38,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.btn:hover:not(:disabled):after{transform:translate(120%)}.btn-primary:hover:not(:disabled),.btn-gold:hover:not(:disabled){transform:translateY(-1px)}@keyframes toastIn{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.skeleton-block{flex-direction:column;gap:12px;padding:8px 0;display:flex}.skeleton-line{background:linear-gradient(90deg,#0d94880f,#0d948824,#0d94880f) 0 0/200% 100%;border-radius:999px;height:12px;animation:1.2s ease-in-out infinite shimmer}.skeleton-line.lg{height:22px}.skeleton-card{min-height:112px}.page-fallback{width:100%;min-height:min(42vh,320px);animation:none}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.chip-row{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.chip{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:var(--radius-sm);cursor:pointer;min-height:34px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:border-color .14s,background .14s,color .14s}.chip:hover{color:var(--brand);box-shadow:none;border-color:#0d948847;transform:none}.chip.is-active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:none}.record-amount-preview{color:var(--ink-soft);overflow-wrap:anywhere;word-break:break-word;min-height:1.2em;margin-top:8px;font-size:.92rem}.record-amount-preview strong{color:var(--brand-deep);font-variant-numeric:tabular-nums}.record-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:0;display:flex}.page-record{width:100%;min-width:0;max-width:100%}.page-record .record-stack.daily-card{gap:var(--page-gap,16px);width:100%;box-shadow:none;background:0 0;border:none;flex-direction:column;padding:0;display:flex;overflow:visible}.page-record .record-swap.view-swap-root,.page-record .record-swap .view-swap{gap:var(--page-gap,16px);flex-direction:column;width:100%;min-width:0;display:flex}.page-record .record-section{margin:0}.page-record .record-section--type{padding:var(--panel-pad-sm)}.page-record .record-section--actions{bottom:calc(var(--mobile-dock-stack,0px) + 8px);z-index:20;padding:var(--panel-pad-sm);-webkit-backdrop-filter:blur(10px);background:#fffffff0;margin-top:0;position:sticky}@media (width>=861px){.page-record .record-section--actions{-webkit-backdrop-filter:none;background:var(--surface);position:static;bottom:auto}}.page-record .panel{width:100%;min-width:0;max-width:100%;overflow-x:clip}.page-record .page-head p{overflow-wrap:anywhere;max-width:40rem}.daily-card-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin-bottom:18px;display:grid}.daily-card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.daily-card-head strong{font-family:var(--font-ui);letter-spacing:0;color:var(--ink);font-size:1rem;font-weight:700}.daily-card-head span{color:var(--muted);font-size:.82rem}.daily-card-rows{margin:0 0 var(--space-4,16px);padding:var(--space-3,12px);gap:var(--space-2,8px);border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-soft) 55%, #fff);grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;display:grid;overflow:hidden}.daily-card-row{align-items:center;gap:var(--space-2,8px);padding:var(--space-3,12px);border:1px solid var(--line);border-radius:var(--radius-md,12px);background:#fff;grid-template-columns:minmax(0,1fr) minmax(4.5rem,.9fr);min-width:0;display:grid}.daily-card-row-label{cursor:pointer;align-items:center;gap:10px;min-width:0;margin:0;display:flex}.daily-card-row-label .channel-dot{flex-shrink:0;margin-right:0}.daily-card-row-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.daily-card-row-input{align-items:center;gap:6px;min-width:0;display:flex}.daily-card-currency{color:var(--muted);flex-shrink:0;font-size:.9rem;font-weight:600}.daily-card-amount{text-align:right;width:100%;min-width:0;min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-variant-numeric:tabular-nums;font-weight:700;padding:8px 11px!important;font-size:1rem!important}.daily-card-amount:focus{border-color:var(--brand-light);box-shadow:var(--focus-ring);outline:none}.daily-ops-block{background:0 0;border:none;border-radius:0;flex-direction:column;gap:12px;margin-top:0;padding:0;display:flex}.daily-ops-sales .daily-card-row-label{cursor:default;flex-direction:column;align-items:flex-start;gap:2px;width:100%}.daily-ops-sales.daily-card-rows{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px}.daily-ops-sales .daily-ops-sale-item.daily-card-row{grid-template-columns:unset;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);flex-direction:column;align-items:stretch;gap:6px;min-width:0;padding:10px;display:flex}.daily-ops-portion-total{opacity:.85;font-variant-numeric:tabular-nums;font-weight:600}.daily-ops-platform-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;margin:0;padding-top:6px;display:grid}.daily-ops-pf-field{flex-direction:column;gap:3px;width:auto;min-width:0;margin:0;display:flex}.daily-ops-pf-unit,.daily-ops-pf-qty{flex-direction:column;gap:2px;min-width:0;margin:0;display:flex}.daily-ops-pf-unit-label{opacity:.72;font-size:.68rem;line-height:1.2}.daily-ops-pf-field .daily-card-amount{min-height:34px;padding:6px 8px!important;font-size:.95rem!important}.daily-ops-pf-name{opacity:.9;justify-content:space-between;align-items:baseline;gap:6px;width:100%;min-width:0;font-size:.78em;line-height:1.25;display:flex}.daily-ops-pf-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.daily-ops-meta{opacity:.72;white-space:normal;font-size:.78em;line-height:1.3}.daily-ops-pf-derived{opacity:.9;font-variant-numeric:tabular-nums;color:var(--brand);font-size:.68rem;font-weight:650;line-height:1.2}.daily-ops-pf-derived.is-net{color:var(--gold-deep,#dc2626)}.daily-ops-pf-derived.is-above-list{color:var(--danger,#b91c1c)}.daily-ops-utils{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.daily-ops-utils .field{margin:0}.daily-ops-utils .field>span{opacity:.78;margin-bottom:4px;font-size:.86em;display:block}.daily-ops-preview{margin:0;font-size:.88em}.daily-ops-net{margin:0 0 4px;font-size:1rem;font-weight:600}.daily-ops-net strong{font-variant-numeric:tabular-nums;font-size:1.25rem}.daily-card-summary-sub{margin-top:2px;font-size:.82rem;font-weight:500;display:block}@media (width<=520px){.daily-ops-utils{grid-template-columns:1fr}}.daily-card-note{margin-bottom:14px}.daily-card-summary{justify-content:space-between;align-items:center;gap:var(--space-3,12px);padding:var(--space-3,12px) var(--space-4,16px);margin-bottom:var(--space-2,8px);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-soft) 70%, #fff);border:1px solid var(--line);flex-wrap:wrap;display:flex}.daily-card-summary-label{color:var(--muted);margin-bottom:2px;font-size:.82rem;display:block}.daily-card-summary strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink);font-size:1.45rem}.daily-card-summary strong.income{color:var(--income)}.daily-card-summary strong.expense{color:var(--expense)}.daily-card-summary-count{color:var(--ink-soft);font-size:.86rem;font-weight:500}@media (width<=1200px){.daily-card-rows{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-ops-sales.daily-card-rows{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}}@media (width<=860px){.daily-card-meta{grid-template-columns:1fr}.daily-card-rows{grid-template-columns:1fr;gap:8px;padding:8px}.daily-ops-sales.daily-card-rows{grid-template-columns:1fr}.daily-card-row{grid-template-columns:minmax(0,1fr) minmax(6.5rem,7.5rem);gap:10px;padding:10px 12px}.daily-ops-sales .daily-ops-sale-item.daily-card-row{grid-template-columns:unset;flex-direction:column;display:flex}.daily-card-row-input{width:100%}.daily-card-amount{min-height:var(--touch-min);font-size:1.05rem!important}}@media (width<=520px){.daily-ops-sales.daily-card-rows{grid-template-columns:1fr}}@media (width<=480px){.daily-card-rows{grid-template-columns:1fr;gap:8px}.daily-ops-sales.daily-card-rows{grid-template-columns:1fr}.daily-card-rows:not(.daily-ops-sales) .daily-card-row{grid-template-columns:minmax(0,1fr) minmax(6.25rem,7.25rem);align-items:center}.daily-ops-sales .daily-ops-sale-item.daily-card-row{grid-template-columns:unset;flex-direction:column;display:flex}}.record-amount-input{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700}.input-datetime{width:100%;min-width:0;max-width:100%;display:block}.kbd-hint{color:var(--ink-soft);margin-left:10px;font-size:.78rem;font-weight:500}@media (width<=860px){.kbd-hint{display:none}.chip{min-height:var(--touch-min);padding:10px 14px}.quick-amounts{gap:8px;width:100%;max-width:100%}.channel-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0}.channel-pick{min-height:52px;padding:8px 10px}.channel-pick:hover{transform:none}.channel-pick.active{box-shadow:0 4px 12px color-mix(in srgb, var(--pick-color,var(--brand)) 18%, transparent)}.channel-pick-label{font-size:.84rem}.page-record .form-grid .field{grid-column:1/-1}.record-actions{gap:8px;margin-top:16px}.record-actions .btn{flex:calc(50% - 8px);justify-content:center;min-width:0}.record-actions .btn-primary{flex:100%}.chart-trend{height:200px}.chart-pie{flex:0 0 100px;width:100px;height:100px}.btn{min-height:var(--touch-min)}.btn-sm{min-height:var(--touch-min);padding-left:12px;padding-right:12px}.color-dot{width:var(--touch-min);height:var(--touch-min)}.ai-close,.ai-back{min-width:var(--touch-min);min-height:var(--touch-min);width:auto;height:auto}.ai-bubble-actions .btn{min-height:36px;padding:6px 12px}.filters{flex-direction:column;align-items:stretch}.filters .field{min-width:100%}.filters .btn{width:100%}.table-wrap{scrollbar-width:thin;border-radius:0;margin:0 -8px;padding:0 4px}table.data th,table.data td{padding:10px 8px;font-size:.86rem}table.data td:first-child,table.data td:nth-child(2){text-overflow:ellipsis;max-width:28vw;overflow:hidden}.modal-close{width:var(--touch-min);height:var(--touch-min)}.modal-actions{flex-wrap:wrap}.modal-actions .btn{flex:auto;min-width:120px}.messages-page .msg-card,.channels-list .list-row{min-height:var(--touch-min)}.main{padding:12px 12px calc(var(--mobile-nav-h) + 28px + env(safe-area-inset-bottom,0px))}.col-optional{display:none}.messages-page .msg-card{min-height:var(--touch-min)}.channels-list .list-row .actions{flex-wrap:wrap;justify-content:stretch;width:100%}.channels-list .list-row .actions .btn{flex:auto}.channels-create-actions .btn{width:100%;min-height:var(--touch-min)}.page-head-actions{flex-wrap:wrap;gap:8px;width:100%;display:flex}.page-head-actions .btn{flex:auto}.field input,.field select,.field textarea,.ui-select-trigger{min-height:var(--touch-min);font-size:16px}.field textarea{min-height:88px}.record-amount-input{font-size:1.1rem}.field input[type=datetime-local],.input-datetime{min-height:var(--touch-min);padding-inline:12px;line-height:1.35}.page-record .page-head{margin-bottom:12px}.page-record .page-head p{font-size:var(--text-muted)}.type-switch{width:100%}}.page-head h2{position:relative}.page-head h2:after{display:none}.stagger>:first-child{animation-delay:20ms}.stagger>:nth-child(2){animation-delay:70ms}.stagger>:nth-child(3){animation-delay:.12s}.stagger>:nth-child(4){animation-delay:.17s}.stagger>:nth-child(5){animation-delay:.22s}.stagger>:nth-child(6){animation-delay:.27s}@media (prefers-reduced-motion:reduce){.page-enter,.skeleton-line,.toast,.btn:after,.fade-up,.modal-backdrop,.modal-backdrop.is-leaving,.modal-panel,.modal-backdrop.is-leaving .modal-panel,.mobile-more-sheet,.mobile-more-backdrop,.ai-panel,.login-card,.stat-card,.list-row{animation:none!important}.panel.panel-lift:hover,.dash-card.panel:hover,.stat-card:hover,.list-row:hover,.channel-pick:hover,.msg-card:hover,.ai-fab:hover,body.sheet-open .ai-fab{transform:none}body:has(.modal-backdrop) .ai-fab{transform:none}.ai-fab{transition:none}}.skip-link{clip:rect(0, 0, 0, 0);white-space:nowrap;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{z-index:2000;clip:auto;white-space:normal;pointer-events:auto;background:var(--brand);color:#fff;border-radius:8px;width:auto;height:auto;margin:0;padding:10px 14px;position:fixed;top:8px;left:8px;overflow:visible}.settings-dirty-pill{border-radius:var(--radius-sm);color:var(--gold-deep);background:var(--warning-soft);border:1px solid #d9770647;align-items:center;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.settings-cat-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.settings-cat-search{border:1px solid var(--line);border-radius:var(--radius-sm);min-width:min(220px,100%);max-width:280px;min-height:var(--control-h);background:var(--surface);color:var(--ink);flex:1;padding:8px 11px}.settings-cat-search:focus{border-color:var(--brand-light);outline:none;box-shadow:0 0 0 3px #0d948838}.list-row.is-inactive{opacity:.72}.settings-links .settings-link-row{flex-wrap:wrap;gap:10px;display:flex}.settings-footer-pair,.settings-category-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(14px,1.5vw,22px);width:100%;display:grid}.settings-footer-pair>.settings-block,.settings-category-pair>.settings-block{flex-direction:column;min-width:0;height:100%;display:flex}.settings-cat-create .settings-actions,.settings-security .settings-actions{border-top:none!important;margin-top:auto!important;padding-top:14px!important}.settings-cat-list .category-list,.settings-cat-list .empty{flex:1}.settings-footer-pair .settings-link-list{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;display:grid}.settings-link-item{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:inherit;flex-direction:column;gap:3px;padding:10px 12px;text-decoration:none;transition:border-color .14s,background .14s;display:flex}.settings-link-item:hover{background:var(--surface-2);box-shadow:none;border-color:#0d948847}.settings-link-item strong{color:var(--ink);font-size:.92rem;font-weight:600}.settings-link-item span{color:var(--muted);font-size:.78rem;line-height:1.35}.settings-security .settings-actions{border-top:none!important;margin-top:auto!important;padding-top:14px!important}@media (width<=900px){.settings-footer-pair,.settings-category-pair,.settings-footer-pair .settings-link-list{grid-template-columns:1fr}}.settings-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.page-settings{gap:var(--page-gap,12px);flex-direction:column;width:100%;display:flex}.settings-block{width:100%;padding:var(--panel-pad);box-shadow:var(--shadow-soft);border:1px solid var(--line);border-radius:var(--radius)}.appearance-theme-row{margin-top:4px}.appearance-theme-hint{margin:10px 0 0}.settings-mobile-logout{margin:0 0 14px;display:none}@media (width<=860px){.settings-mobile-logout{display:block}.settings-mobile-logout .btn{width:100%;min-height:var(--touch-min)}}.settings-block .section-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.page-channels{gap:var(--page-gap,20px);flex-direction:column;width:100%;min-width:0;max-width:none;display:flex}.channels-create,.channels-list{width:100%;box-shadow:var(--shadow-soft)}.channels-create{padding:var(--panel-pad-sm,16px)}.channels-create-actions{margin-top:var(--space-3,12px);justify-content:flex-end;display:flex}.channels-list{padding:var(--panel-pad-sm,16px)}.channels-list .section-title{justify-content:space-between;align-items:baseline;gap:var(--space-3,12px);display:flex}.page-profit{gap:var(--page-gap,20px);box-sizing:border-box;flex-direction:column;width:100%;min-width:0;max-width:none;display:flex}.page-profit>.panel,.page-profit>.profit-formula-banner,.page-profit>.profit-calc-panel,.page-profit>.profit-warn,.page-profit>.stats-grid{width:100%;max-width:none}.page-profit .profit-main{width:100%}.page-head-desc{color:var(--ink-soft);margin:6px 0 0;font-size:.88rem;line-height:1.5}.page-head-inline-badge{border-radius:var(--radius-sm);background:var(--brand-mist);color:var(--brand-deep);vertical-align:middle;white-space:nowrap;align-items:center;margin-left:8px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.page-head-actions--status{flex:none;width:auto!important;display:flex!important}.profit-formula-banner{border-radius:var(--radius-md);background:linear-gradient(120deg, #0d948817, #14b8a624 55%, var(--surface));box-shadow:var(--shadow-soft);border:1px solid #0d948824;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:14px 18px;display:flex}.profit-formula-eq{font-family:var(--font-ui);color:var(--brand-deep);letter-spacing:0;font-size:clamp(.92rem,1.5vw,1.05rem);font-weight:600;line-height:1.45}.profit-formula-dirty{color:#9a5b12;background:#14b8a659;border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:600}.profit-stats{margin-bottom:0}.stat-card--accent{background:var(--brand-mist);box-shadow:none;border-color:#0d948833}.stat-card--accent .stat-label{color:var(--brand)}.profit-calc-panel{border-radius:var(--radius-sm);background:#ffffff8c;border:1px dashed #0d948838;padding:12px 16px}.profit-calc-panel strong{letter-spacing:.06em;text-transform:uppercase;color:var(--brand);margin-bottom:6px;font-size:.78rem;display:block}.profit-calc-panel p{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:0;font-size:.86rem;line-height:1.55}.profit-warn{border-radius:var(--radius-sm);background:linear-gradient(135deg, #fef3c7e6, var(--surface));color:#6b4a12;border:1px solid #b4781e47;padding:12px 14px;font-size:.88rem;line-height:1.5}.profit-warn--estimate{background:linear-gradient(135deg,#ffedd5f2,#fef3c7d9);border-color:#b45a1466;font-weight:500}.profit-toolbar,.profit-main{width:100%;box-shadow:0 8px 22px #0f172a0d}.profit-toolbar{padding:14px 18px}.profit-toolbar-row{flex-wrap:wrap;align-items:center;gap:12px 14px;display:flex}.profit-toolbar-title{color:var(--brand-deep);margin-right:4px;font-size:1rem}.profit-inline-field{color:var(--ink-soft);align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:inline-flex}.profit-inline-field input,.profit-rate-input{min-width:148px;min-height:var(--touch-min);background:var(--surface);font:inherit;color:var(--ink);border:1px solid #0d948838;border-radius:12px;padding:8px 12px;transition:border-color .2s,box-shadow .2s}.profit-inline-field input:focus,.profit-rate-input:focus,.profit-table .profit-cell-input:focus{border-color:var(--brand-light);outline:none;box-shadow:0 0 0 3px #0d948838}.profit-toolbar-chips{margin:0}.profit-toolbar-chips .chip{min-height:36px;padding:6px 14px}.profit-main{padding:18px 20px 20px}.profit-main .section-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.profit-tip{margin:0 0 16px;line-height:1.55}.profit-rate-block{border-radius:var(--radius-md);background:linear-gradient(135deg,#0d94880f,#14b8a61a);border:1px solid #0d94881a;grid-template-columns:minmax(160px,220px) 1fr;align-items:center;gap:14px 20px;margin-bottom:16px;padding:14px 16px;display:grid}.profit-rate-block .profit-inline-field{flex-direction:column;align-items:stretch;gap:6px;margin:0}.profit-rate-block .profit-rate-input{font-variant-numeric:tabular-nums;width:100%;min-width:0;color:var(--brand-deep);font-size:1.25rem;font-weight:700}.profit-rate-formula{color:var(--ink-soft);margin:0;padding:0;font-size:.92rem;font-weight:500;line-height:1.4}.profit-rate-formula em{color:var(--brand-deep);font-variant-numeric:tabular-nums;font-style:normal;font-weight:700}.profit-table-wrap{border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch;background:#ffffff73;border:1px solid #0d94881a;overflow-x:auto}.profit-table{margin:0}.profit-table th{white-space:nowrap;background:#0d94880a}.profit-table .profit-cell-input{background:var(--surface);width:100%;min-width:0;min-height:40px;font:inherit;color:var(--ink);border:1px solid #0d948833;border-radius:10px;padding:8px 10px}.profit-table .profit-alloc{font-variant-numeric:tabular-nums;color:var(--brand-deep);white-space:nowrap;font-weight:600}.profit-cost-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}:root{--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.22, 1, .36, 1);--ease-soft:cubic-bezier(.4, 0, .2, 1);--ease-inout:cubic-bezier(.65, 0, .35, 1);--dur-fast:.16s;--dur-med:.28s;--dur-slow:.42s;--motion-exit-ms:280}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0,0)}}@keyframes riseSoft{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0,0)}}@keyframes fadeScaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes backdropOut{0%{opacity:1}to{opacity:0}}@keyframes modalPanelIn{0%{opacity:0;transform:translateY(22px)scale(.94)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes modalPanelOut{0%{opacity:1;transform:translate(0,0)scale(1)}to{opacity:0;transform:translateY(12px)scale(.96)}}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:translate(0,0)}}@keyframes sheetOut{0%{transform:translate(0,0)}to{transform:translateY(105%)}}@keyframes aiDesktopIn{0%{opacity:0;transform:translateY(28px)scale(.96)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes aiDesktopOut{0%{opacity:1;transform:translate(0,0)scale(1)}to{opacity:0;transform:translateY(18px)scale(.97)}}@keyframes aiMobileIn{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translate(0,0)}}@keyframes aiMobileOut{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translateY(32px)}}@keyframes fabPop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes selectMenuIn{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes chipTap{0%{transform:scale(1)}40%{transform:scale(.96)}to{transform:scale(1)}}@keyframes navActivePop{0%{opacity:.7;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes listRowIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes rankBarGrow{0%{opacity:.4;transform:scaleX(.08)}to{opacity:1;transform:scaleX(1)}}@keyframes errorShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.page-enter{will-change:opacity, transform;animation:pageEnter .28s var(--ease-out) both!important}.page-enter .stats-grid>.stat-card,.page-enter .stagger>*{animation:riseSoft .38s var(--ease-out) both}.page-enter .stats-grid>.stat-card:first-child,.page-enter .stagger>:first-child{animation-delay:40ms}.page-enter .stats-grid>.stat-card:nth-child(2),.page-enter .stagger>:nth-child(2){animation-delay:80ms}.page-enter .stats-grid>.stat-card:nth-child(3),.page-enter .stagger>:nth-child(3){animation-delay:.12s}.page-enter .stats-grid>.stat-card:nth-child(4),.page-enter .stagger>:nth-child(4){animation-delay:.16s}.page-enter .stats-grid>.stat-card:nth-child(5),.page-enter .stagger>:nth-child(5){animation-delay:.2s}.page-enter .stats-grid>.stat-card:nth-child(n+6),.page-enter .stagger>:nth-child(n+6){animation-delay:.24s}.page-enter .cost-recipe-wrap,.page-enter .recipe-cost-section,.page-enter .recipe-cost-banner,.page-enter .recipe-mat-row,.page-enter .recipe-card,.page-enter .view-swap .stat-card,.page-enter .view-swap .list-row,.page-enter .view-swap .rank-row{animation:none!important;transform:none!important}.fade-up{animation:riseSoft .4s var(--ease-out) both}.stagger>*{animation:riseSoft .38s var(--ease-out) both}.modal-backdrop{animation:backdropIn .28s var(--ease-soft) both!important}.modal-backdrop.is-leaving{pointer-events:none;animation:backdropOut .26s var(--ease-soft) both!important}.modal-panel{will-change:opacity, transform;animation:modalPanelIn .4s var(--ease-spring) both!important}.modal-backdrop:not(.is-leaving) .modal-panel{animation-fill-mode:forwards!important}.modal-backdrop.is-leaving .modal-panel{animation:modalPanelOut .26s var(--ease-soft) both!important}.mobile-more-backdrop{animation:backdropIn .28s var(--ease-soft) both!important}.mobile-more-backdrop.is-leaving{pointer-events:none;animation:backdropOut .28s var(--ease-soft) both!important}.mobile-more-sheet{will-change:transform;animation:sheetIn .42s var(--ease-spring) both!important}.mobile-more-backdrop.is-leaving .mobile-more-sheet{animation:sheetOut .3s var(--ease-soft) both!important}.mobile-more-links a,.mobile-more-link{transition:background .2s ease, color .2s ease, transform .2s var(--ease-spring)!important}.mobile-more-links a:active,.mobile-more-link:active{transform:scale(.98)}.ai-fab{animation:fabPop .45s var(--ease-spring) both!important;transition:transform .28s var(--ease-spring), box-shadow .28s ease, opacity .2s ease!important}.ai-fab:hover{transform:translateY(-3px)scale(1.05)!important}.ai-fab:active{transform:scale(.94)!important}.ai-panel.is-desktop{animation:aiDesktopIn .42s var(--ease-spring) both!important}.ai-panel.is-desktop.is-leaving{animation:aiDesktopOut .28s var(--ease-soft) both!important}.ai-panel.is-mobile{animation:aiMobileIn .38s var(--ease-out-expo) both!important}.ai-panel.is-mobile.is-leaving{animation:aiMobileOut .28s var(--ease-soft) both!important}.ai-msg,.ai-bubble{animation:riseSoft .35s var(--ease-out-expo) both}.ui-select-menu{transform-origin:top;animation:selectMenuIn .22s var(--ease-out-expo) both!important}.ui-select-trigger{transition:border-color .2s ease, box-shadow .2s ease, transform .2s var(--ease-spring)!important}.ui-select.is-open .ui-select-trigger{transform:none}.ui-select-caret{transition:transform .25s var(--ease-spring)!important}.ui-select.is-open .ui-select-caret{transform:rotate(180deg)}.toast{animation:toastIn .4s var(--ease-spring) both!important}.error-banner{animation:riseSoft .4s var(--ease-out-expo) both, errorShake .45s var(--ease-soft) .12s both!important}.btn{transition:background .2s ease, border-color .2s ease, color .2s ease, box-shadow .25s ease, transform .25s var(--ease-spring)!important}.btn:hover:not(:disabled){transform:none!important}.btn:active:not(:disabled){transform:scale(.98)!important}.btn-primary:hover:not(:disabled),.btn-gold:hover:not(:disabled){box-shadow:0 4px 14px #0d948847!important}.ops-top-link{transition:background .22s,color .22s,border-color .22s!important}.chip{transition:background .2s,border-color .2s,color .2s!important}.chip:hover{transform:none!important}.chip:active{animation:none!important}.chip.is-active{transition:background .25s,border-color .25s,color .25s!important}.type-switch button{transition:background .25s,color .25s,box-shadow .25s!important}.type-switch button.active{animation:none!important}.topbar-nav a,.mobile-nav a,.mobile-nav-more-btn{transition:background .22s,color .22s!important}.topbar-nav a:active,.mobile-nav a:active{transform:none}.topbar-nav a.active .nav-icon,.mobile-nav a.active .nav-icon{animation:none!important;transform:none!important}.topbar{transition:transform .48s var(--ease-spring), opacity .32s var(--ease-out-expo), box-shadow .28s ease, background .28s ease, border-color .28s ease!important}.msg-card,.list-row,.rank-row,.stat-card{transition:border-color .22s ease, box-shadow .28s ease, background .22s ease, transform .28s var(--ease-spring)!important}.msg-card:hover,.list-row:hover,.rank-row:hover{transform:none!important}.stat-card:hover{box-shadow:var(--shadow-soft)!important;transform:none!important}.daily-card-row{transition:border-color .2s,box-shadow .25s!important}.daily-card-row:focus-within{transform:none;box-shadow:0 4px 12px #0f172a14;border-color:#0d948847!important}.modal-close{transition:background .2s,color .2s!important}.modal-close:hover:not(:disabled){transform:none}.brand-mark{transition:transform .35s var(--ease-spring)!important}.topbar-brand:hover .brand-mark,.login-brand:hover .brand-mark{transform:scale(1.06)rotate(-3deg)}.login-card{animation:riseSoft .55s var(--ease-spring) both!important}.login-brand .brand-mark{animation:fabPop .55s var(--ease-spring) 80ms both!important}@media (prefers-reduced-motion:reduce){.page-enter,.page-enter *,.fade-up,.stagger>*,.modal-backdrop,.modal-panel,.modal-backdrop.is-leaving,.modal-backdrop.is-leaving .modal-panel,.mobile-more-backdrop,.mobile-more-sheet,.ai-fab,.ai-panel,.ai-msg,.ai-bubble,.toast,.error-banner,.ui-select-menu,.login-card,.view-swap,.view-swap *,.type-switch-pill,.chip-row--segment .chip.is-active,.profit-toolbar-chips .chip.is-active,.page-ledger .chip-row .chip.is-active,.recipe-cost-tabs .chip.is-active,.cost-main-tabs .chip.is-active,.recipe-cost-section,.recipe-cost-banner,.cost-recipe-wrap,.recipe-cost-section .recipe-mat-row,.recipe-cost-section .recipe-card,.recipe-card.is-open .recipe-line-row,.recipe-card.is-open .recipe-portion-summary,.recipe-card.is-open .recipe-card-meta,.recipe-card.is-open .recipe-card-actions,.recipe-warn-pill,.recipe-cost-summary,.skeleton-line,.rank-bar>i{filter:none!important;transition:none!important;animation:none!important;transform:none!important}.recipe-card-collapse,.recipe-card-collapse-inner,.recipe-card-chevron,.recipe-card,.recipe-mat-row,.recipe-card-head{transition:none!important}.recipe-card.is-open .recipe-card-collapse{grid-template-rows:1fr!important}.recipe-card:not(.is-open) .recipe-card-collapse{grid-template-rows:0fr!important}.recipe-card.is-open .recipe-card-collapse-inner{opacity:1!important;transform:none!important}.recipe-card:not(.is-open) .recipe-card-collapse-inner{opacity:0!important}.type-switch-pill{transform:translate3d(calc(var(--pill-index,0) * 100%), 0, 0)!important}.btn:hover,.chip:hover,.msg-card:hover,.list-row:hover,.rank-row:hover,.stat-card:hover,.ai-fab:hover,.recipe-mat-row:hover,.recipe-card:hover{transform:none!important}}@media (prefers-reduced-motion:no-preference){.ai-panel.is-desktop{animation-name:aiDesktopIn!important;animation-duration:.42s!important;animation-timing-function:var(--ease-spring)!important}.ai-panel.is-mobile{animation-name:aiMobileIn!important;animation-duration:.38s!important;animation-timing-function:var(--ease-out-expo)!important}}.topbar-nav a.active{transition:background .25s ease, color .25s ease, box-shadow .3s var(--ease-spring)!important}.page-enter .progress>span,.shell-ops .progress>span{transform-origin:0;animation:none!important;transform:none!important}@keyframes viewSwapForward{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0,0)}}@keyframes viewSwapBack{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0,0)}}@keyframes viewSwapFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translate(0,0)}}.view-swap-root{width:100%;min-width:0;position:relative;overflow:clip}.view-swap{will-change:opacity, transform;width:100%;min-width:0}.view-swap--forward{animation:viewSwapForward .28s var(--ease-out) both}.view-swap--back{animation:viewSwapBack .28s var(--ease-out) both}.view-swap--fade{animation:viewSwapFade .22s var(--ease-out) both}.view-swap .daily-card-row,.view-swap .rank-row,.view-swap .list-row,.view-swap .msg-card,.view-swap table.data tbody tr,.view-swap .stat-card,.view-swap .chart-box{animation:none!important;transform:none!important}.type-switch{isolation:isolate;position:relative!important}.type-switch:has(.type-switch-pill){grid-template-columns:repeat(var(--switch-cols,2), minmax(0, 1fr));width:100%;gap:0!important;display:grid!important}.type-switch-pill{z-index:0;width:calc((100% - 8px) / var(--switch-cols,2));border-radius:var(--radius-sm);background:var(--surface);transform:translate3d(calc(var(--pill-index,0) * 100%), 0, 0);transition:transform .4s var(--ease-spring), background .25s ease, box-shadow .3s ease;pointer-events:none;position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 2px 10px #0d94881f}.type-switch[data-tone=income] .type-switch-pill{box-shadow:0 4px 14px #04785729}.type-switch[data-tone=expense] .type-switch-pill{box-shadow:0 4px 14px #0d948824}.type-switch:has(.type-switch-pill) button{z-index:1;position:relative;box-shadow:none!important;background:0 0!important}.type-switch:has(.type-switch-pill) button.active{box-shadow:none!important;background:0 0!important}.type-switch:has(.type-switch-pill) button.active.income{color:var(--income)!important}.type-switch:has(.type-switch-pill) button.active.expense{color:var(--expense)!important}.chip-row--segment .chip.is-active,.profit-toolbar-chips .chip.is-active,.page-ledger .chip-row .chip.is-active,.recipe-cost-tabs .chip.is-active,.cost-main-tabs .chip.is-active{animation:none!important}.recipe-cost-section,.recipe-cost-banner,.cost-recipe-wrap:not([hidden]):not(.is-hidden-tab),.recipe-cost-section .recipe-mat-row,.recipe-cost-section .recipe-card,.recipe-card.is-open .recipe-line-row{animation:none!important;transform:none!important}.recipe-mat-row:hover,.recipe-card:hover{box-shadow:none!important;transform:none!important}.recipe-card.is-open:hover{transform:none}.recipe-card.is-open .recipe-portion-summary,.recipe-card.is-open .recipe-card-meta,.recipe-card.is-open .recipe-card-actions{animation:none!important}.recipe-card-head:active .recipe-card-chevron{transform:rotate(45deg)scale(.9)}.recipe-card.is-open .recipe-card-head:active .recipe-card-chevron{transform:rotate(-135deg)scale(.9)}.recipe-warn-pill,.recipe-cost-summary{animation:none!important;transform:none!important}.sticky-cost-actions .btn{transition:transform .2s var(--ease-spring), box-shadow .22s ease!important}.sticky-cost-actions .btn:active{transform:scale(.97)}.ledger-edit-type-switch{width:100%;margin-bottom:14px}.daily-card-swap{margin-top:4px}.view-swap-root.profit-stats-swap{margin-bottom:4px}.page-dashboard,.page-record,.page-ledger,.page-profit,.page-cost,.page-channels,.page-settings,.messages-page{width:100%;min-width:0;max-width:100%}.page-settings-body,.page-channels-body,.dash-stack,.page-profit,.page-cost,.page-ledger,.page-record,.page-dashboard,.messages-page,.page-channels,.page-settings{width:100%;min-width:0;gap:var(--page-gap)!important;flex-direction:column!important;display:flex!important}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 18px!important;display:grid!important}.form-grid .full{grid-column:1/-1!important}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;display:grid!important}.dash-trio{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:start!important;gap:16px!important;display:grid!important}@media (width>=1500px){:root{--content-max:min(1680px, 94vw);--page-gap:24px;--panel-pad:20px}.page-channels-body{flex-direction:unset!important;gap:var(--page-gap,20px)!important;grid-template-columns:minmax(340px,400px) minmax(0,1fr)!important;align-items:start!important;display:grid!important}.page-channels-body>.channels-create{top:calc(var(--ops-topnav-h,60px) + 16px);position:sticky}.page-settings-body{flex-direction:unset!important;gap:var(--page-gap,20px)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;display:grid!important}.page-settings-body>.settings-span-2,.page-settings-body>form.settings-block:first-of-type{grid-column:1/-1}.settings-footer-pair,.settings-category-pair{gap:var(--page-gap,20px)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;display:grid!important}.settings-footer-pair>.settings-block,.settings-category-pair>.settings-block{flex-direction:column;min-width:0;height:100%;display:flex}.settings-footer-pair .settings-link-list{flex:1;align-content:start;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;display:grid!important}.settings-cat-create .settings-actions,.settings-security .settings-actions{border-top:none!important;margin-top:auto!important;padding-top:14px!important}.settings-cat-list .category-list,.settings-cat-list .empty{flex:1}}@media (width>=1800px){:root{--content-max:min(1760px, 92vw)}}@media (width<=1280px){.stats-grid:not(.stats-3){grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=1200px){.dash-trio{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dash-trio>.dash-card:last-child{grid-column:1/-1}.daily-card-rows,.stats-grid.stats-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (width<=1100px){.stats-grid,.stats-grid:not(.stats-3){grid-template-columns:repeat(2,minmax(0,1fr))!important}.stats-grid.stats-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.profit-toolbar-row{flex-direction:column!important;align-items:stretch!important}.profit-toolbar-chips{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;display:grid!important}.page-ledger .filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=980px) and (width>=861px){.ops-top-label{font-size:.78rem!important}.ops-top-link{padding:8px!important}.ops-topnav-brand-text span{display:none!important}}@media (width<=860px){.shell-ops .main,.main{padding:14px var(--page-pad-x) calc(var(--mobile-dock-stack) + 24px)!important}.form-grid{grid-template-columns:1fr!important;gap:10px 12px!important}.form-grid .full,.form-grid .field.full{grid-column:1/-1!important}.stats-grid,.stats-grid:not(.stats-3),.stats-grid.stats-3{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.dash-trio{grid-template-columns:1fr!important}.dash-trio>.dash-card:last-child{grid-column:auto}.daily-card-rows,.daily-ops-sales.daily-card-rows{grid-template-columns:1fr!important}.daily-card-row{grid-template-columns:minmax(0,1fr) minmax(6.5rem,7.5rem)!important}.daily-ops-sales .daily-ops-sale-item.daily-card-row{grid-template-columns:unset!important}.daily-card-meta{grid-template-columns:1fr 1fr!important;gap:10px!important}.page-head{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.page-head-actions{flex-wrap:wrap!important;align-items:center!important;gap:8px!important;width:100%!important;display:flex!important}.page-head-actions .btn{flex:auto;justify-content:center;min-width:min(100%,7.5rem);padding-left:10px;padding-right:10px}.page-head-actions:has(>:only-child){display:flex!important}.page-head-actions:has(>:only-child) .btn{flex:0 auto;min-width:0}.page-head-actions--buttons .btn,.page-ledger .page-head-actions .btn{flex:calc(50% - 8px)}.settings-cat-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)!important;align-items:center!important;gap:10px!important;display:grid!important}.settings-cat-toolbar .chip-row{width:100%;min-width:0}.settings-cat-search,.settings-cat-toolbar input{width:100%!important;min-width:0!important}.page-ledger .filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}.page-ledger .filters .field-action,.page-ledger .filters .full,.page-ledger .filters .chip-row{grid-column:1/-1}.profit-toolbar-row{grid-template-columns:1fr 1fr!important;align-items:end!important;gap:10px!important;display:grid!important}.profit-toolbar-title,.profit-toolbar-chips{grid-column:1/-1!important}.profit-cost-actions{flex-flow:wrap!important;justify-content:flex-end!important;align-items:center!important}.profit-cost-actions .btn{width:auto}.hero-row{flex-direction:column!important;align-items:stretch!important;gap:14px!important}.hero-row .btn{justify-content:center;width:100%}.section-title{gap:8px!important}.mobile-nav{z-index:var(--z-nav);min-height:var(--mobile-nav-h);justify-content:space-evenly;align-items:center;gap:2px;position:fixed;bottom:0;left:0;right:0;padding:4px 6px calc(4px + env(safe-area-inset-bottom,0px))!important;background:color-mix(in srgb, var(--surface) 98%, transparent)!important;border:none!important;border-top:1px solid var(--line)!important;box-shadow:var(--shadow-dock)!important;border-radius:0!important;display:flex!important}.mobile-nav a,.mobile-nav-more-btn{flex:1;min-width:0;gap:4px!important;min-height:0!important;padding:6px 2px 8px!important;font-size:.72rem!important;line-height:1.4!important;overflow:visible!important}.mobile-nav .nav-label{line-height:1.4!important;overflow:visible!important}.table-wrap{margin-inline:-4px;padding-inline:4px}table.data th,table.data td{padding:8px!important;font-size:.84rem!important}.page-ledger table.data td.actions{flex-direction:column;gap:6px;display:flex!important}.page-ledger table.data td.actions .btn{width:100%}.list-row .actions{width:100%;margin-left:0;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;display:grid!important}.list-row .actions .btn{width:100%}.ai-panel-head{flex-wrap:nowrap!important;align-items:center!important;gap:8px!important}.ai-panel-actions{flex-shrink:0!important;justify-content:flex-end!important;width:auto!important}.daily-card-summary{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}.record-actions{width:100%}.record-actions .btn-primary{flex:1;min-width:0}.settings-link-row{grid-template-columns:1fr!important}.modal-panel{max-width:calc(100vw - 20px)!important;max-height:min(92dvh,720px)!important}}@media (width<=520px){.stats-grid,.stats-grid:not(.stats-3){grid-template-columns:repeat(2,minmax(0,1fr))!important}.stats-grid.stats-3{grid-template-columns:1fr!important;gap:10px!important}.page-ledger .filters{grid-template-columns:1fr!important}.page-ledger .chip-row,.chip-row:not(.chip-row--segment){gap:6px!important}.chip-row:not(.chip-row--segment):not(.chip-row--ledger-presets):not(.recipe-cost-tabs):not(.cost-main-tabs) .chip{text-align:center;flex:calc(50% - 6px);justify-content:center}.recipe-cost-tabs{flex-wrap:nowrap!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important;display:grid!important}.recipe-cost-tabs .chip{text-align:center!important;flex:none!important;justify-content:center!important;width:auto!important;min-width:0!important;padding-inline:6px!important;font-size:.8rem!important}.cost-main-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;display:grid!important}.cost-main-tabs .chip{flex:none!important;justify-content:center!important;min-width:0!important}.chip-row--segment .chip{flex:none!important}.page-head-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}.page-head-actions .btn-primary{grid-column:auto}.profit-toolbar-chips{grid-template-columns:repeat(2,minmax(0,1fr))!important}.stat-card{padding:var(--panel-pad-sm)!important}.stat-label{font-size:var(--text-micro)!important}}@media (width<=480px){.daily-card-rows,.daily-ops-sales.daily-card-rows{grid-template-columns:1fr!important}.daily-card-rows:not(.daily-ops-sales) .daily-card-row{grid-template-columns:minmax(0,1fr) minmax(6.25rem,7.25rem)!important;align-items:center!important}.mobile-nav a,.mobile-nav-more-btn{gap:3px!important;padding:6px 1px 8px!important;font-size:.68rem!important;line-height:1.45!important;overflow:visible!important}.mobile-nav .nav-icon{width:28px!important;height:28px!important}.mobile-brand{padding:10px 12px 4px!important}.login-card{border-radius:var(--radius-lg)!important;width:calc(100% - 20px)!important;padding:22px 16px 18px!important}.login-brand h1{font-size:1.45rem!important}.panel{padding:var(--panel-pad-sm)!important;border-radius:var(--radius)!important}.type-switch{width:100%}.type-switch button{flex:1}.list-row{padding:12px!important}.list-row .meta-title strong{max-width:100%!important}.msg-card{padding:12px!important}.toast{left:12px!important;right:12px!important;bottom:var(--toast-bottom)!important;width:auto!important;transform:none!important}}@media (height<=500px) and (orientation:landscape){:root{--mobile-nav-h:56px}.mobile-nav{min-height:var(--mobile-nav-h);bottom:0;left:0;right:0;border-radius:0!important}.ai-panel.is-mobile{padding-top:0!important}.modal-panel{max-height:88dvh!important}.login-page{align-items:flex-start!important;padding-block:12px!important}}@media print{.ops-topnav,.ops-sidebar,.ops-topbar,.mobile-nav,.mobile-brand,.ai-fab,.ai-panel,.mobile-more-backdrop,.page-head-actions,.no-print{display:none!important}.main{max-width:none!important;padding:0!important}.panel,.stat-card{break-inside:avoid;box-shadow:none!important}}.page-ledger .filters{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;align-items:end!important;gap:12px 14px!important;display:grid!important}.page-ledger .filters .field{flex:unset!important;min-width:0!important}.chart-box.chart-trend{width:100%;min-width:0;min-height:200px;position:relative;height:clamp(200px,32vw,280px)!important}.dash-card-body{max-height:min(380px,48vh)}@media (width<=860px){.dash-card-body{max-height:none}.chart-box.chart-trend{height:220px!important}.page-channels-body,.page-settings-body{flex-direction:column!important;display:flex!important}.page-settings-body>.settings-span-2,.page-settings-body>form.settings-block:first-of-type{grid-column:auto}.settings-footer-pair,.settings-category-pair{flex-direction:column!important;gap:14px!important;display:flex!important}}@media (width>=861px) and (width<=1099px){.stats-grid.stats-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}}.modal-panel.daily-push-modal{border-radius:var(--radius-lg)!important;flex-direction:column!important;width:min(680px,100vw - 24px)!important;max-height:min(90dvh,820px)!important;padding:0!important;display:flex!important;overflow:hidden!important}.daily-push-modal .modal-head{flex-shrink:0;border-bottom:1px solid var(--line)!important;padding:14px 18px 10px!important}.daily-push-modal .modal-head h3{font-size:1.05rem!important;font-weight:700!important}.daily-push-modal .modal-body{flex-direction:column;flex:auto;min-height:0;display:flex;padding:0!important;overflow:hidden!important}.daily-push--sheet{flex-direction:column;flex:1;min-height:0;max-height:100%;display:flex}.daily-push-top{background:var(--surface-2);border-bottom:1px solid var(--line);flex-shrink:0;padding:12px 14px 10px}.daily-push-hero{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.daily-push-hero-text{flex:1;min-width:0}.daily-push-date{border-radius:var(--radius-sm);background:var(--brand-mist);color:var(--brand);align-items:center;padding:3px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.daily-push-heading{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;margin:8px 0 4px;font-size:1.08rem;font-weight:800;line-height:1.35}.daily-push-lead{color:var(--ink-soft);margin:0;font-size:.84rem;line-height:1.45}.daily-push-score-ring{background:var(--surface);border:3px solid #0d948847;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex;box-shadow:0 8px 20px #0f766e1a}.daily-push-score-ring strong{font-variant-numeric:tabular-nums;color:var(--brand-deep);font-size:1.45rem;font-weight:800;line-height:1}.daily-push-score-ring span{color:var(--muted);margin-top:2px;font-size:.68rem;font-weight:600}.daily-push-score-ring.is-good{border-color:#04785773}.daily-push-score-ring.is-good strong{color:var(--income)}.daily-push-score-ring.is-ok{border-color:#ea580c66}.daily-push-score-ring.is-ok strong{color:var(--gold-deep)}.daily-push-score-ring.is-warn{border-color:#e11d4866}.daily-push-score-ring.is-warn strong{color:var(--expense)}.daily-push-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin:0!important;display:grid!important}.daily-push-kpis>div{box-shadow:0 2px 8px #0c4a6e0a;background:var(--surface)!important;border:1px solid #0c4a6e1a!important;border-radius:14px!important;flex-direction:column!important;gap:4px!important;padding:12px 14px!important;display:flex!important}.daily-push-kpis>div span{color:var(--muted)!important;opacity:1!important;font-size:.75rem!important;font-weight:600!important}.daily-push-kpis>div strong{font-variant-numeric:tabular-nums;color:var(--ink)!important;font-size:1.05rem!important;font-weight:800!important}.daily-push-kpis>.is-income strong{color:var(--income)!important}.daily-push-kpis>.is-expense strong{color:var(--expense)!important}.daily-push-kpis>.is-profit strong{color:var(--gold-deep)!important}.daily-push-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#0c4a6e47 transparent;flex:auto;min-height:0;padding:14px 20px 8px;overflow:hidden auto}.daily-push-scroll::-webkit-scrollbar{width:6px}.daily-push-scroll::-webkit-scrollbar-track{background:0 0}.daily-push-scroll::-webkit-scrollbar-thumb{background:#0c4a6e38;border-radius:999px}.daily-push-scroll::-webkit-scrollbar-thumb:hover{background:#0c4a6e61}.daily-push-sections{flex-direction:column;gap:12px;display:flex}.daily-push-section{background:color-mix(in srgb, var(--surface-2) 88%, var(--brand) 4%);border:1px solid color-mix(in srgb, var(--line) 90%, transparent);border-radius:14px;padding:14px 16px}.daily-push-section h5{color:var(--brand-deep);letter-spacing:.01em;margin:0 0 8px;font-size:.92rem;font-weight:800}.daily-push-section-body p{color:var(--ink-soft);white-space:pre-wrap;word-break:break-word;margin:0 0 6px;font-size:.88rem;line-height:1.6}.daily-push-section-body p:last-child{margin-bottom:0}.daily-push-body-fallback{background:color-mix(in srgb, var(--surface-2) 88%, var(--brand) 4%);border:1px solid color-mix(in srgb, var(--line) 90%, transparent);white-space:pre-wrap;color:var(--ink-soft);border-radius:14px;margin:0;padding:14px 16px;font-family:inherit;font-size:.88rem;line-height:1.6}.daily-push-actions{background:#e11d480a;border:1px solid #e11d481f;border-radius:14px;margin-top:14px;padding:14px 16px}.daily-push-actions strong{color:var(--accent);margin-bottom:8px;font-size:.9rem;display:block}.daily-push-actions ul{margin:0;padding-left:1.15em}.daily-push-actions li{color:var(--ink-soft);margin:6px 0;font-size:.88rem;line-height:1.5}.daily-push-foot{border-top:1px solid color-mix(in srgb, var(--line) 90%, transparent);background:linear-gradient(180deg, var(--surface), color-mix(in srgb, var(--surface-2) 70%, var(--surface)));flex-shrink:0;padding:12px 20px 18px}.daily-push-hint{color:var(--muted)!important;opacity:1!important;margin:0 0 10px!important;font-size:.78rem!important;line-height:1.4!important}.daily-push-foot-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.daily-push-foot-actions .btn{min-width:120px}.daily-push-foot-actions .btn-primary{min-width:132px}@media (width<=640px){.modal-panel.daily-push-modal{border-radius:18px!important;width:calc(100vw - 16px)!important;max-height:min(92dvh,860px)!important}.daily-push-hero{align-items:flex-start}.daily-push-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}.daily-push-kpis>div{gap:2px!important;padding:8px 6px!important}.daily-push-kpis>div span{font-size:.68rem!important}.daily-push-kpis>div strong{font-size:.88rem!important}.daily-push-foot-actions{flex-direction:column-reverse}.daily-push-foot-actions .btn{width:100%}.daily-push-score-ring{width:64px;height:64px}.daily-push-top,.daily-push-scroll,.daily-push-foot{padding-left:14px;padding-right:14px}}html,body{font-family:var(--font-ui)}body{background:var(--bg-soft);color:var(--ink);line-height:1.5}body:before,body:after{display:none}#root{min-height:100%;overflow:visible}html:has(.app-shell.shell-ops){height:100%;max-height:100dvh;overflow:hidden}html:has(.app-shell.shell-ops) body{height:100%;max-height:100dvh;overflow:hidden}html:has(.app-shell.shell-ops) #root{height:100%;max-height:100dvh;overflow:hidden}.app-shell.shell-ops{background:radial-gradient(ellipse 70% 45% at 12% -8%, #0d948817, transparent 52%), radial-gradient(ellipse 55% 40% at 92% 0%, #14b8a60f, transparent 48%), var(--bg-soft);flex-direction:column;width:100%;height:100dvh;min-height:0;max-height:100dvh;display:flex;overflow:hidden}.app-shell.shell-ops>.skip-link{position:absolute}.app-shell.shell-ops>.ops-topnav{flex-shrink:0}.app-shell.shell-ops>.ops-workspace{flex:auto;width:100%;min-width:0;min-height:0}.app-shell.shell-ops>.ops-overlays{pointer-events:none;width:0;height:0;z-index:var(--z-nav);position:fixed;inset:0;overflow:visible}.app-shell.shell-ops>.ops-overlays>*{pointer-events:auto}.ops-topnav{z-index:var(--z-nav);min-height:var(--ops-topnav-h);background:color-mix(in srgb, var(--surface) 88%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 color-mix(in srgb, var(--surface) 60%, transparent);align-items:center;gap:16px;padding:0 clamp(16px,2vw,28px);display:flex;position:sticky;top:0}.ops-topnav-brand{flex-shrink:0;align-items:center;gap:10px;min-width:0;display:flex}.ops-topnav-brand .brand-mark,.ops-topnav-brand .brand-mark.sm{border-radius:var(--radius-sm);flex-shrink:0;width:36px;height:36px;margin:0}.ops-topnav-brand-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.ops-topnav-brand-text strong{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:1rem;font-weight:800}.ops-topnav-brand-text span{color:var(--muted);font-size:.68rem;font-weight:500}.ops-topnav-nav{scrollbar-width:none;-ms-overflow-style:none;flex:auto;align-items:center;gap:2px;min-width:0;padding:4px 0;display:flex;overflow:auto hidden}.ops-topnav-nav::-webkit-scrollbar{display:none}.ops-top-link,a.ops-top-link{border-radius:var(--radius-sm);color:var(--ink-soft);white-space:nowrap;min-height:40px;transition:background var(--dur-fast) ease, color var(--dur-fast) ease, border-color var(--dur-fast) ease;background:0 0;border:1px solid #0000;align-items:center;gap:7px;padding:8px 12px;font-size:.86rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.ops-top-link .nav-icon,.ops-top-link .nav-icon svg{width:18px;height:18px;color:inherit;stroke:currentColor;background:0 0;flex-shrink:0;display:inline-flex}.ops-top-link .nav-icon{background:0 0;border-radius:0;width:18px;height:18px}.ops-top-label{white-space:nowrap}.ops-top-link:hover{background:var(--surface-2);color:var(--ink)}.ops-top-link.is-active,.ops-top-link.active{background:var(--brand-mist);color:var(--brand-deep)}.ops-top-link.is-active:after,.ops-top-link.active:after{content:"";background:var(--brand);height:2px;animation:navActivePop var(--dur-med) var(--ease-spring) both;border-radius:2px;position:absolute;bottom:2px;left:12px;right:12px}.ops-topnav-actions{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.ops-topnav-clock{flex-direction:column;align-items:flex-end;padding-right:4px;line-height:1.2;display:none}.ops-topnav-clock strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);font-size:.88rem;font-weight:700}.ops-topnav-clock span{color:var(--muted);font-size:.66rem}@media (width>=1100px){.ops-topnav-clock{display:flex}}.ops-user-chip{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);max-width:120px;color:var(--ink-soft);align-items:center;padding:6px 12px;font-size:.78rem;font-weight:600;display:inline-flex;overflow:hidden}.ops-topnav-logout{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:var(--radius-sm);font:inherit;cursor:pointer;transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease;padding:7px 12px;font-size:.78rem;font-weight:600}.ops-topnav-logout:hover{background:var(--accent-danger-soft);color:var(--expense);border-color:#dc262647}.ops-workspace{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:0 0;flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden auto}.ops-main.main,.shell-ops .main{width:100%;max-width:min(100%, var(--content-max));padding:20px var(--page-pad-x) 40px;box-sizing:border-box;flex:1;margin:0 auto}.mobile-brand{display:none}.ops-sidebar,.ops-topbar,.ops-side-link,.ops-side-brand,.ops-side-nav,.ops-side-foot{display:none!important}.shell-ops .page-head{border:none;align-items:flex-start;gap:12px;margin-bottom:14px;padding-bottom:0}.shell-ops .page-head h2{font-family:var(--font-display);font-size:var(--text-page-title);letter-spacing:-.03em;color:var(--ink);font-weight:800}.shell-ops .page-head p,.shell-ops .ops-dash-head p{font-size:var(--text-muted);color:var(--ink-soft)}.page-dashboard>.page-head,.page-dashboard .ops-dash-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.ops-dash-head h2{font-family:var(--font-display);font-size:var(--text-page-title-dash);letter-spacing:-.03em;color:var(--ink);margin:0;font-weight:800}.panel,.stat-card,.dash-card,.msg-card,.settings-block,.daily-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none}.panel{padding:var(--panel-pad)}.stat-card{transition:border-color var(--dur-med) ease, box-shadow var(--dur-med) ease;padding:14px 16px}.stat-card:hover{box-shadow:var(--shadow);border-color:#0d948838}.stats-grid{gap:var(--card-gap);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:16px}.stats-grid.stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.stat-value,.amount,.rank-value .amount,.list-row .amount{font-family:var(--font-display);font-variant-numeric:tabular-nums}.stat-value{font-size:var(--text-stat);letter-spacing:-.03em;margin-top:6px;font-weight:800}.dash-stack,.dash-trio,.dash-cards{gap:var(--card-gap)}.dash-trio{grid-template-columns:repeat(3,minmax(0,1fr))}.btn,.btn-primary,.btn-gold,.btn-ghost,.btn-danger{border-radius:var(--radius-sm);box-shadow:none;min-height:var(--control-h);font-size:.88rem;font-weight:600}.btn-primary,.btn-gold{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-primary:hover:not(:disabled),.btn-gold:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.chip{border-radius:var(--radius-sm);min-height:34px;font-size:.84rem}.chip.is-active{background:var(--brand);border-color:var(--brand);color:#fff}.shell-ops .btn:hover:not(:disabled),.shell-ops .chip:hover,.shell-ops .chip:active,.shell-ops .type-switch button.active,.shell-ops .stat-card:hover,.shell-ops .list-row:hover,.shell-ops .msg-card:hover,.shell-ops .rank-row:hover,.shell-ops .daily-card-row:focus-within{transform:none}.login-page{background:radial-gradient(60% 50% at 20% 10%,#0d948824,#0000 55%),radial-gradient(50% 40% at 90% 80%,#14b8a61a,#0000 50%),linear-gradient(165deg,#f7f8fa 0%,#eef6f5 45%,#f7f8fa 100%);justify-content:center;align-items:center;min-height:100dvh;padding:28px 20px;display:flex;overflow:auto}.login-page:before,.login-page:after{content:none;display:none}.login-card{border-radius:var(--radius-lg);border:1px solid var(--line);width:100%;max-width:400px;box-shadow:var(--shadow-hover);background:var(--surface);z-index:1;margin:0;position:relative}.login-brand{text-align:center;margin-bottom:28px}.login-brand .brand-mark{margin:0 auto 16px}.login-brand h1{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0;font-size:1.75rem;font-weight:800}.login-tagline,.login-brand p{color:var(--ink-soft);margin:8px 0 0;font-size:.92rem}.login-form .login-submit{border-radius:var(--radius-sm);background:var(--brand);width:100%;min-height:44px;margin-top:18px;font-size:.95rem}.modal-backdrop{z-index:var(--z-modal);padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(6px);background:#1118276b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:auto}.modal-panel{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--line);width:min(520px,100%);max-width:calc(100vw - 24px);max-height:min(90dvh,720px);box-shadow:var(--shadow-hover);color:var(--ink);flex-direction:column;display:flex;overflow:hidden}.modal-panel.modal-sm{width:min(400px,100%)}.modal-panel.modal-lg{width:min(640px,100%)}.modal-panel.modal-xl{width:min(920px,100%);max-height:min(92dvh,880px)}.modal-head{border-bottom:1px solid var(--line);box-sizing:border-box;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:14px 16px;display:flex}.modal-head h3,.modal-title{min-width:0;font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);flex:1;margin:0;font-size:1.05rem;font-weight:800;line-height:1.3}.modal-close{border-radius:var(--radius-sm);background:var(--surface-2);width:34px;min-width:34px;height:34px;min-height:34px;color:var(--ink-soft);cursor:pointer;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:1.2rem;line-height:1;display:inline-flex}.modal-close:hover:not(:disabled){background:var(--surface-3);color:var(--ink)}.modal-close:disabled{opacity:.45;cursor:not-allowed}.modal-close:focus-visible{outline:2px solid var(--brand-light);outline-offset:2px}.modal-body{flex:1;min-height:0;padding:16px;overflow:auto}.modal-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface-2);flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.modal-footer .modal-actions{justify-content:flex-end;width:100%;margin:0;padding:0}.modal-message{color:var(--ink-soft);margin:0 0 8px;font-size:.98rem;line-height:1.65}.modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;padding-top:4px;display:flex}.modal-confirm .modal-actions{margin-top:0}.modal-body .modal-actions{margin-top:16px}.modal-body .form-grid{margin:0}.toast{z-index:var(--z-toast);background:var(--ink);color:#f8fafc;border-radius:var(--radius-sm);box-shadow:var(--shadow);font-size:var(--text-muted);-webkit-backdrop-filter:blur(10px);border:1px solid #ffffff14;padding:10px 14px;animation:.2s both rise;position:fixed;bottom:20px;right:20px}body:has(.modal-backdrop) .toast{z-index:calc(var(--z-modal) - 50);pointer-events:none}.error-banner{background:var(--accent-danger-soft);color:#991b1b;border-radius:var(--radius-sm);font-size:var(--text-muted);border:1px solid #dc262640;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;padding:10px 14px;display:flex}.error-banner .btn{margin-left:0}.error-banner-actions{flex-wrap:wrap;gap:4px;margin-left:auto;display:inline-flex}.ui-select-trigger{min-height:var(--control-h);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface)}.ui-select-trigger:hover{border-color:#0d948852}.ui-select-trigger[aria-expanded=true],.ui-select-trigger:focus-visible{border-color:var(--brand-light);box-shadow:var(--focus-ring)}.ui-select-menu{border-radius:var(--radius-sm);border:1px solid var(--line);box-shadow:var(--shadow);background:var(--surface);padding:4px}.ui-select-menu.portal{z-index:var(--z-select);max-height:min(280px,50dvh);animation:none;position:fixed;transform:none}.ui-select-option{border-radius:6px;min-height:36px;padding:8px 10px;font-size:.88rem}.ui-select-option[aria-selected=true],.ui-select-option.is-active,.ui-select-option:hover{background:var(--brand-mist);color:var(--brand-deep)}.skip-link{z-index:9999;background:var(--brand);color:#fff;border-radius:var(--radius-sm);padding:10px 14px;font-weight:600;position:absolute;top:0;left:-9999px}.skip-link:focus{top:12px;left:12px}.nav-unread-badge{background:var(--expense);color:#fff;box-shadow:0 0 0 2px #fff}.is-soft-fetching{opacity:.72;pointer-events:none;transition:opacity .2s}.empty-cta{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px 14px;display:flex}.empty-cta>span,.empty-cta>p{color:var(--muted);margin:0;font-size:.9rem}table.data{border-collapse:collapse;width:100%;font-size:.88rem}table.data th,table.data td{text-align:left;vertical-align:middle;padding:10px 12px}table.data thead th{z-index:1;background:var(--surface-2);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);font-size:.72rem;font-weight:700;position:sticky;top:0}table.data tbody tr{transition:background var(--dur-fast) ease}table.data tbody tr:hover{background:#0d94880a}table.data .income{color:var(--income);font-weight:700;font-family:var(--font-display);font-variant-numeric:tabular-nums}table.data .expense{color:var(--expense);font-weight:700;font-family:var(--font-display);font-variant-numeric:tabular-nums}.page-ledger .ledger-toolbar{gap:var(--card-gap);flex-direction:column;display:flex}.page-ledger .ledger-toolbar .filters{margin:0}.page-ledger .ledger-results{min-width:0}.page-dashboard .dash-stack{gap:var(--page-gap);flex-direction:column;display:flex}.page-dashboard .dash-card-body{min-height:0}@media (width>=861px){.page-dashboard .dash-card-body{max-height:min(380px,48vh);overflow:auto}}@media (width<=520px){.page-dashboard .dash-card .table-wrap th:nth-child(2),.page-dashboard .dash-card .table-wrap td:nth-child(2){display:none}.daily-ops-platform-grid{grid-template-columns:1fr!important}}.messages-page .msg-list{gap:10px}.msg-card:focus-visible{box-shadow:var(--focus-ring);border-color:var(--brand-light);outline:none}.type-switch{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.channel-pick.is-active{background:var(--brand-mist);border-color:#0d948847}.check-row{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;width:100%;min-height:0;color:var(--ink);align-items:flex-start;gap:10px;margin:0;padding:12px 14px;font-weight:500;line-height:1.45;display:flex}.check-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);flex-shrink:0;margin:2px 0 0}.check-row span{color:var(--ink-soft);font-size:.88rem;display:block}.ai-enable-field,.field.ai-enable-field,.form-grid>.field.full.ai-enable-field{grid-column:1/-1;min-height:0;margin-bottom:4px;padding:0}.page-settings .form-grid{grid-auto-rows:min-content;align-items:start}.page-settings .form-grid>.field{align-self:start;min-height:0}.cost-main-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.cost-main-tabs .chip{flex:auto;justify-content:center}.page-cost .cost-main-tabs .chip.is-active,.recipe-cost-tabs .chip.is-active{background:var(--brand);border-color:var(--brand);color:#fff}.profit-warn,.recipe-warn,.settings-dirty-pill{border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--gold-deep);border:1px solid #d977064d}.ai-fab{width:var(--ai-fab-size);height:var(--ai-fab-size);border-radius:var(--radius-md);box-shadow:var(--shadow);background:var(--brand);color:#fff}.ai-bubble.user{background:var(--brand);color:#fff;border-radius:var(--radius) var(--radius) var(--radius-sm) var(--radius)}.ai-bubble.assistant{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius) var(--radius) var(--radius) var(--radius-sm)}.page-fallback,.page-fallback--thin{min-height:min(42vh,320px);animation:none;display:block}.page-fallback--thin .panel{min-height:12rem}.profit-stats-swap,.view-swap-root.profit-stats-swap{min-height:7.5rem}.ledger-time{font-variant-numeric:tabular-nums;white-space:nowrap;font-family:var(--font-display);align-items:center;display:inline-flex}.ledger-time-short{display:none}:focus-visible{outline:2px solid var(--brand-light);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}@media (width>=861px){.ai-fab{bottom:max(24px, env(safe-area-inset-bottom,0px));right:max(24px, env(safe-area-inset-right,0px))}.toast{bottom:28px;left:auto;right:28px}.ops-top-label{font-size:.86rem}}@media (width>=861px) and (width<=1100px){.ops-topnav-brand-text span{display:none}.ops-top-link{padding:8px 10px}.ops-top-label{font-size:.8rem}}@media (width>=861px) and (width<=960px){.ops-top-link .nav-icon{display:none}}@media (width<=860px){html:has(.app-shell.shell-ops){height:auto;max-height:none;overflow:clip auto}html:has(.app-shell.shell-ops) body{height:auto;max-height:none;overflow:clip auto}html:has(.app-shell.shell-ops) #root{height:auto;max-height:none;overflow:clip auto}.app-shell.shell-ops{background:radial-gradient(ellipse 80% 40% at 50% -5%, #0d948814, transparent 55%), var(--bg-soft);flex-direction:column;height:auto;min-height:100dvh;max-height:none;display:flex;overflow:visible}.ops-topnav{display:none}.app-shell.shell-ops>.ops-workspace{flex:1;width:100%;height:auto}.ops-workspace{flex:1;height:auto;min-height:0;max-height:none;overflow:visible}.shell-ops .main,.ops-main.main{max-width:none;padding:14px var(--page-pad-x) calc(var(--mobile-dock-stack) + 24px)!important}body.chrome-dock-hidden .shell-ops .main,body.chrome-dock-hidden .ops-main.main{padding-bottom:calc(var(--ai-fab-size) + var(--ai-fab-gap) + env(safe-area-inset-bottom,0px) + 20px)!important}.mobile-brand{background:color-mix(in srgb, var(--surface) 92%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);z-index:30;align-items:center;gap:10px;margin:0;padding:12px 14px 10px;display:flex;position:sticky;top:0}.mobile-brand .brand-mark,.mobile-brand .brand-mark.sm{border-radius:var(--radius-sm);width:36px;height:36px;margin:0;padding:0}.mobile-brand strong{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:1rem;font-weight:800;line-height:1.25;display:block}.mobile-brand-text{flex:1;min-width:0}.mobile-brand span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.7rem;display:block;overflow:hidden}.shell-ops .page-head>div:first-child>h2,.shell-ops .ops-dash-head>div:first-child>h2{display:block}.shell-ops .page-head{margin-bottom:10px}.shell-ops .page-head h2,.shell-ops .ops-dash-head h2{font-size:var(--text-page-title)}.shell-ops .ops-dash-head h2{font-size:var(--text-page-title-dash)}.shell-ops .page-head p,.shell-ops .ops-dash-head p{margin-top:4px}.mobile-nav{z-index:var(--z-nav);min-height:var(--mobile-nav-h);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--surface) 96%, transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-dock);opacity:1;transition:transform var(--chrome-motion), opacity .22s ease;gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translate(0,0)}.mobile-nav.is-hidden{opacity:0;pointer-events:none;box-shadow:none;transform:translateY(calc(100% + 8px))}.mobile-nav a,.mobile-nav-more-btn{color:var(--muted);text-align:center;border-radius:var(--radius-sm);min-width:0;min-height:var(--touch-min);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast) ease, color var(--dur-fast) ease;background:0 0;border:none;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;padding:6px 2px;font-family:inherit;font-size:.68rem;font-weight:600;display:flex}.mobile-nav a.active,.mobile-nav-more-btn.active,.mobile-nav-more-btn.is-active{color:var(--brand-deep);background:var(--brand-mist)}.mobile-nav .nav-icon{width:24px;height:24px;color:inherit;background:0 0}.mobile-nav .nav-icon svg{width:20px;height:20px}.mobile-nav .nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.15;overflow:hidden}.mobile-more-backdrop{z-index:var(--z-sheet);background:#11182766;display:block;position:fixed;inset:0}.mobile-more-sheet{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:8px 18px calc(18px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-hover);max-height:min(72dvh,520px);position:absolute;bottom:0;left:0;right:0;overflow:auto}.mobile-more-handle{background:var(--surface-3);border-radius:999px;width:36px;height:4px;margin:4px auto 12px}.mobile-more-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.mobile-more-head h2{font-family:var(--font-display);margin:0;font-size:1.08rem;font-weight:800}.mobile-more-links{flex-direction:column;gap:4px;display:flex}.mobile-more-link{border-radius:var(--radius-sm);color:var(--ink);align-items:center;gap:12px;padding:14px 12px;font-size:.92rem;font-weight:600;display:flex}.mobile-more-link .nav-icon{background:var(--brand-mist);color:var(--brand)}.mobile-more-link.active{background:var(--brand-mist);color:var(--brand-deep)}.mobile-more-logout{width:100%;margin-top:14px}body.sheet-open .mobile-nav,body.sheet-open .mobile-nav.is-hidden{opacity:1;pointer-events:auto;transform:none}.ai-fab{bottom:var(--fab-bottom);right:max(14px, env(safe-area-inset-right,0px))}body.chrome-dock-hidden .ai-fab{bottom:calc(env(safe-area-inset-bottom,0px) + var(--ai-fab-gap))}.toast{bottom:var(--toast-bottom);left:14px;right:14px}body.chrome-dock-hidden .toast{bottom:calc(env(safe-area-inset-bottom,0px) + var(--ai-fab-size) + var(--ai-fab-gap) + 8px)}body.sheet-open .ai-fab{opacity:0;pointer-events:none}body:has(.modal-backdrop) .ai-fab{opacity:0;pointer-events:none}.stats-grid,.stats-grid.stats-3{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-trio{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:flex-start}.page-head-actions{width:100%}.filters{flex-direction:column;align-items:stretch}.filters .btn{width:100%}.login-page{padding:24px 16px}.login-card{max-width:100%;padding:28px 22px}.ledger-time-full{display:none}.ledger-time-short{display:inline}.nav-unread-badge{box-shadow:0 0 0 2px #fff}}@media (width<=860px) and (height<=500px){:root{--mobile-nav-h:52px}.mobile-nav .nav-label{display:none}}@media (width<=480px){.stat-value{font-size:var(--text-stat-sm)}.mobile-nav .nav-label{font-size:.62rem}.cost-main-tabs .chip,.recipe-cost-tabs .chip{padding:6px 8px;font-size:.78rem}.shell-ops .page-head h2,.ops-dash-head h2{font-size:var(--text-page-title)}}@media (hover:none){.btn,.chip,.mobile-nav a,.mobile-nav-more-btn,.ui-select-trigger{min-height:var(--touch-min)}}@media print{.ops-topnav,.ops-sidebar,.ops-topbar,.mobile-nav,.mobile-brand,.mobile-more-backdrop,.mobile-more-sheet,.ai-fab,.ai-panel,.toast,.skip-link,.page-head-actions,.no-print,.filters,.pager,.chip-row--segment,.chip-row--ledger-presets,.cost-main-tabs,.profit-toolbar-chips,.type-switch,.ledger-toolbar .actions,.record-section--actions{display:none!important}.print-only{display:block!important}.main{max-width:none!important;padding:0!important}.panel,.stat-card,.msg-card{break-inside:avoid;box-shadow:none!important;color:#111!important;background:#fff!important;border-color:#ccc!important}.page-head h2,.ops-dash-head h2,.stat-value,.section-title h3{color:#111!important}.print-report-head{border-bottom:1px solid #ccc;margin-bottom:16px;padding-bottom:8px}.print-report-head h1{margin:0 0 4px;font-size:1.25rem}.print-report-head p{color:#444;margin:0;font-size:.85rem}a[href]:after{content:none!important}}.print-only{display:none}.offline-banner{z-index:calc(var(--z-nav) + 2);text-align:center;font-size:var(--text-muted);color:#92400e;background:var(--warning-soft);border-bottom:1px solid #d9770647;padding:8px 14px;font-weight:600;position:sticky;top:0}
