:root{--color-primary:#7cb342;--color-primary-dark:#4f7a24;--color-accent:#7cb342;--color-pill:#f5f5f4;--font-heading:"Geist Variable", "Geist", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--color-page-bg:#fff;--color-bg:#fff;--color-bg-soft:#f5f5f4;--color-sidebar-bg:#f6f6f8c7;--color-border:#e5e5e5;--color-border-soft:#ececee;--color-muted:#86868b;--color-ink:#52525b;--color-strong:#0b0b0f;--color-ink-light:#71717a;--color-success:#16a34a;--color-warning:#dc2626;--color-danger:#dc2626;--shadow-card:0 1px 2px #0000000d, 0 10px 24px -8px #00000029;--shadow-raised:0 2px 6px #00000014, 0 20px 44px -12px #00000047;color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-page-bg:#000;--color-bg:#0d0d0d;--color-bg-soft:#1a1a1a;--color-sidebar-bg:#000000d9;--color-border:#2a2a2a;--color-border-soft:#1f1f1f;--color-muted:#98989d;--color-ink:#d1d1d6;--color-strong:#f5f5f7;--color-ink-light:#c7c7cc;--shadow-card:0 1px 2px #0006, 0 10px 24px -8px #0000008c;--shadow-raised:0 2px 6px #00000080, 0 20px 44px -12px #000000b3}}:root[data-theme=dark]{--color-page-bg:#000;--color-bg:#0d0d0d;--color-bg-soft:#1a1a1a;--color-sidebar-bg:#000000d9;--color-border:#2a2a2a;--color-border-soft:#1f1f1f;--color-muted:#98989d;--color-ink:#d1d1d6;--color-strong:#f5f5f7;--color-ink-light:#c7c7cc;--shadow-card:0 1px 2px #0006, 0 10px 24px -8px #0000008c;--shadow-raised:0 2px 6px #00000080, 0 20px 44px -12px #000000b3}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--color-page-bg);color:var(--color-ink);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Geist Variable,Geist,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:400;line-height:1.5}h1,h2,h3,h4,.card h2,.topbar h1,.login-title,.sidebar-brand,.stat-card .value,.empty-state h3,.modal-header h2{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--color-strong);font-weight:600}body{min-height:100vh}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}code{background:var(--color-bg-soft);border-radius:.25rem;padding:.1rem .35rem;font-size:.85em}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--color-ink) 22%, transparent);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--color-ink) 34%, transparent);background-clip:padding-box}.shell{min-height:100vh;display:flex}.sidebar{background:var(--color-sidebar-bg);backdrop-filter:blur(24px)saturate(1.8);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:15rem;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{color:var(--color-ink);-webkit-app-region:drag;align-items:center;gap:.625rem;padding:2.125rem 1.25rem 1rem;font-size:1.0625rem;font-weight:700;display:flex}.sidebar-brand .dot{background:var(--color-primary);border-radius:9999px;flex-shrink:0;width:.75rem;height:.75rem}.brand-mark{object-fit:cover;object-position:top center;-webkit-app-region:no-drag;border-radius:9999px;flex-shrink:0;width:1.75rem;height:1.75rem}.brand-mark-light{display:block}.brand-mark-dark,:root[data-theme=dark] .brand-mark-light{display:none}:root[data-theme=dark] .brand-mark-dark{display:block}.restaurant-switcher-wrap{-webkit-app-region:no-drag;padding:0 1.25rem .875rem}.restaurant-switcher-wrap label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin-bottom:.25rem;font-size:.6875rem}.restaurant-switcher-row{align-items:stretch;gap:.375rem;display:flex}.restaurant-switcher-row select{flex:1;min-width:0;padding:.375rem .5rem;font-size:.8125rem}.restaurant-switcher-row #add-restaurant-btn{flex:none;padding:.375rem .5rem}.sidebar nav{flex:1;padding:.5rem .75rem}.sidebar nav a{color:var(--color-ink);border-radius:0;align-items:center;gap:.625rem;margin-bottom:1px;padding:.4375rem .75rem;font-size:.875rem;font-weight:500;transition:background-color .1s;display:flex}.sidebar nav a:hover{background:color-mix(in srgb, var(--color-ink) 6%, transparent);text-decoration:none}.sidebar nav a.active{background:var(--color-bg-soft);color:var(--color-ink);font-size:.9375rem;font-weight:700}.sidebar nav a.active svg{color:var(--color-ink)}.nav-badge{background:var(--color-danger);color:#fff;text-align:center;border-radius:9999px;flex-shrink:0;min-width:1.25rem;height:1.25rem;margin-left:auto;padding:0 .375rem;font-size:.6875rem;font-weight:800;line-height:1.25rem}.sidebar nav .section-label{text-transform:uppercase;letter-spacing:.045em;width:100%;color:var(--color-primary);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.75rem .75rem .3rem;font-family:inherit;font-size:.6875rem;font-weight:700;display:flex}.section-chevron{flex-shrink:0;transition:transform .15s}.nav-group.collapsed .section-chevron{transform:rotate(-90deg)}.nav-group.collapsed .nav-group-items{display:none}.sidebar-footer{border-top:1px solid var(--color-border);padding:.75rem}.sidebar-user{padding:0 .25rem .5rem;font-size:.8125rem}.sidebar-user .name{font-weight:600}.sidebar-user .role{color:var(--color-muted);text-transform:capitalize}.content{background:var(--color-page-bg);flex:1;min-width:0}.topbar{background:color-mix(in srgb, var(--color-bg) 82%, transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);z-index:10;justify-content:space-between;align-items:center;padding:calc(.875rem + 28px) 1.5rem .875rem;display:flex;position:sticky;top:0}.topbar h1{color:var(--color-ink-light);margin:0;font-size:1.125rem;font-weight:600}main.page{max-width:80rem;padding:1.5rem;overflow-x:auto}.theme-toggle{border:1px solid var(--color-border);background:var(--color-bg-soft);width:1.875rem;height:1.875rem;color:var(--color-ink-light);cursor:pointer;-webkit-app-region:no-drag;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .1s,color .1s;display:flex}.theme-toggle:hover{background:var(--color-border-soft);color:var(--color-ink)}.theme-toggle-icon-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle-icon-light{display:none}:root:not([data-theme=light]) .theme-toggle-icon-dark{display:block}}:root[data-theme=dark] .theme-toggle-icon-light{display:none}:root[data-theme=dark] .theme-toggle-icon-dark{display:block}.card{background:var(--color-bg);border:1px solid var(--color-border-soft);box-shadow:var(--shadow-card);border-radius:.25rem;margin-bottom:1.5rem;padding:1.5rem}.card h2{letter-spacing:-.01em;align-items:center;gap:.5rem;margin:0 0 .375rem;font-size:1rem;font-weight:600;display:flex}.card-sub{color:var(--color-muted);margin:0 0 1rem;font-size:.8125rem;line-height:1.45}.card-sub-list{color:var(--color-muted);margin:0 0 1rem;padding-left:1.25rem;font-size:.875rem;line-height:1.5}.card-sub-list li{margin-bottom:.25rem}.card-sub-list li:last-child{margin-bottom:0}.pill-group{flex-wrap:wrap;gap:.5rem;display:flex}.pill{border:1px solid var(--color-border);background:var(--color-pill);color:var(--color-ink-light);cursor:pointer;white-space:nowrap;border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .875rem;font-family:inherit;font-size:.8125rem;font-weight:600;transition:background-color .1s,color .1s,border-color .1s;display:inline-flex}.pill:hover{border-color:color-mix(in srgb, var(--color-accent) 40%, var(--color-border));color:var(--color-ink)}.pill.selected{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.625rem;padding:2rem 1rem;display:flex}.empty-state-icon{background:var(--color-bg-soft);width:2.75rem;height:2.75rem;color:var(--color-muted);border-radius:9999px;justify-content:center;align-items:center;display:flex}.empty-state h3{color:var(--color-ink);margin:0;font-size:.9375rem;font-weight:600}.empty-state p{color:var(--color-muted);max-width:22rem;margin:0;font-size:.8125rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.stat-card{background:var(--color-bg);border:1px solid var(--color-border-soft);box-shadow:var(--shadow-card);border-radius:.25rem;padding:1.25rem}.stat-card .icon-badge{background:color-mix(in srgb, var(--color-accent) 16%, transparent);width:2.25rem;height:2.25rem;color:var(--color-accent);border-radius:9999px;justify-content:center;align-items:center;margin-bottom:.75rem;display:flex}.stat-card .label{color:var(--color-muted);font-size:.8125rem;font-weight:400}.stat-card .value{color:var(--color-strong);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:.25rem;font-size:2.25rem;font-weight:500;line-height:1.1}.stat-card .sub{color:var(--color-muted);margin-top:.25rem;font-size:.75rem}table.data{border-collapse:collapse;width:100%;font-size:.875rem}table.data th{text-align:left;color:var(--color-muted);border-bottom:1px solid var(--color-border);padding:.5rem .625rem;font-size:.8125rem;font-weight:400}table.data td{border-bottom:1px solid var(--color-border-soft);vertical-align:middle;padding:.625rem}table.data tbody tr:hover{background:color-mix(in srgb, var(--color-ink) 4%, transparent)}table.data td,table.data th{overflow-wrap:anywhere}.scroll-x{overflow-x:auto}.scroll-x table.data{width:max-content;min-width:100%}.scroll-x table.data td,.scroll-x table.data th{white-space:nowrap;overflow-wrap:normal}.scroll-y{max-height:22rem;overflow-y:auto}.scroll-y table.data thead th,.scroll-list table.data thead th{background:var(--color-bg);z-index:1;position:sticky;top:0}.scroll-list{overscroll-behavior:contain;border:1px solid var(--color-border,#00000014);border-radius:8px;max-height:min(60vh,30rem);padding:0 .5rem;overflow-y:auto}.list-search{width:100%;max-width:22rem;margin:.5rem 0;display:block}.list-search-count{opacity:.7;margin-left:.5rem;font-size:.85em}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:.875rem 0;display:flex}.filter-bar .field{margin:0}.filter-bar .field.search{flex:2;min-width:12rem}.filter-bar .field:not(.search){min-width:9.5rem}.filter-bar .filter-checkbox{cursor:pointer;white-space:nowrap;align-items:center;gap:.375rem;margin-bottom:.4375rem;font-size:.8125rem;font-weight:400;display:flex}.filter-bar .filter-checkbox input{width:1rem;height:1rem}.filter-result-count{color:var(--color-muted);margin:-.5rem 0 .5rem;font-size:.8125rem}.input,select.input,textarea.input{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-ink);border-radius:.25rem;outline:none;padding:.4375rem .6875rem;font-family:inherit;font-size:.9375rem;transition:border-color .1s,box-shadow .1s}select.input,input[type=date].input,input[type=number].input,.field-narrow,.field-narrow .input{max-width:22rem}.input:focus{box-shadow:0 0 0 3.5px color-mix(in srgb, var(--color-primary) 35%, transparent);border-color:var(--color-primary)}label{color:var(--color-ink-light);margin-bottom:.25rem;font-size:.8125rem;font-weight:500;display:block}.field{margin-bottom:.875rem}.field-row{flex-wrap:wrap;gap:.75rem;display:flex}.field-row .field{flex:1;min-width:8rem}.btn-primary,.btn-secondary,.btn-danger{cursor:pointer;white-space:nowrap;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;padding:.4375rem .875rem;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.2;transition:filter .1s,background-color .1s;display:inline-flex}.btn-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{filter:brightness(.92)}.btn-primary:active{filter:brightness(.85)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;filter:none}.btn-secondary{background:var(--color-bg-soft);color:var(--color-ink);border:1px solid var(--color-border)}.btn-danger{background:color-mix(in srgb, var(--color-danger) 14%, transparent);color:var(--color-danger)}.badge{white-space:nowrap;border:1px solid;border-radius:9999px;padding:.125rem .6rem;font-size:.75rem;font-weight:500;display:inline-block}.badge-draft{background:var(--color-bg-soft);color:var(--color-ink);border:1px solid var(--color-border)}.badge-submitted,.badge-open{background:var(--color-bg);color:var(--color-warning)}.badge-received,.badge-paid,.badge-finalized{background:color-mix(in srgb, var(--color-success) 16%, transparent);color:var(--color-success)}.badge-cancelled,.badge-void{background:color-mix(in srgb, var(--color-danger) 14%, transparent);color:var(--color-danger)}.badge-owner{background:var(--color-ink);color:var(--color-bg)}.badge-admin{background:var(--color-primary);color:#fff}.badge-manager{color:#fff;background:#7c3aed}.badge-staff{background:var(--color-bg-soft);color:var(--color-ink);border:1px solid var(--color-border)}.badge-danger{background:color-mix(in srgb, var(--color-danger) 14%, transparent);color:var(--color-danger)}.badge-warn{background:var(--color-bg);color:var(--color-warning)}.login-wrap{background:var(--color-page-bg);-webkit-app-region:drag;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem 1rem;display:flex}.login-card{background:var(--color-bg);width:100%;max-width:24rem;box-shadow:var(--shadow-raised);border:1px solid var(--color-border-soft);-webkit-app-region:no-drag;border-radius:.25rem;padding:2rem 1.5rem}:root[data-theme=dark] .login-card{background:#000;border-color:#1a1a1a}:root[data-theme=dark] .login-card .input{color:#f5f5f5;background:#000;border-color:#2a2a2a}:root[data-theme=dark] .login-card .input:focus{border-color:var(--color-primary)}.login-header{text-align:center;margin-bottom:1.5rem}.login-header .dot{background:var(--color-primary);border-radius:.75rem;width:2.5rem;height:2.5rem;margin:0 auto .75rem}.login-logo{width:14rem;height:auto;margin:0 auto 1rem;display:block}.login-logo-light{display:block}.login-logo-dark,:root[data-theme=dark] .login-logo-light{display:none}:root[data-theme=dark] .login-logo-dark{display:block}.theme-switch-row{align-items:center;gap:.5rem;width:auto;max-width:100%;display:inline-flex}.theme-switch-side{color:var(--color-ink-light);user-select:none;white-space:nowrap;background:0 0;border:none;border-radius:0;flex-shrink:0;padding:0;font-size:.8125rem;font-weight:600;transition:color .15s,opacity .15s}.theme-switch-row[data-theme-state=light] .theme-switch-side-light{color:var(--color-ink)}.theme-switch-row[data-theme-state=light] .theme-switch-side-dark{opacity:.45}.theme-switch-row[data-theme-state=dark] .theme-switch-side-dark{color:var(--color-ink)}.theme-switch-row[data-theme-state=dark] .theme-switch-side-light{opacity:.45}.theme-switch{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;padding:0;font-family:inherit;display:inline-flex}.theme-switch-track{background:var(--color-border);border-radius:9999px;flex-shrink:0;width:2.5rem;height:1.375rem;transition:background .18s;display:block;position:relative}.theme-switch[data-theme-state=dark] .theme-switch-track{background:var(--color-primary)}.theme-switch-thumb{background:#fff;border-radius:50%;width:calc(1.375rem - 4px);height:calc(1.375rem - 4px);transition:transform .2s cubic-bezier(.2,.8,.2,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.theme-switch[data-theme-state=dark] .theme-switch-thumb{transform:translate(1.125rem)}.theme-switch:focus-visible .theme-switch-track{outline:2px solid var(--color-primary);outline-offset:2px}.login-footer-links{text-align:center;margin-top:.75rem}.link-button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:600}.link-button:hover{text-decoration:underline}.forgot-panel{border-top:1px solid var(--color-border-soft);margin-top:1rem;padding-top:1rem}.forgot-help{color:var(--color-ink-light);margin:0 0 .75rem;font-size:.8125rem;line-height:1.45}.forgot-msg{color:var(--color-ink-light);margin:.625rem 0 0;font-size:.8125rem;line-height:1.45}.forgot-msg[data-tone=error]{color:var(--color-danger,#dc2626)}.login-title{margin:0 0 .25rem;font-size:1.375rem;font-weight:700}.login-sub{color:var(--color-ink-light);margin:0;font-size:.875rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.error{background:color-mix(in srgb, var(--color-danger) 12%, transparent);color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 30%, transparent);border-radius:.25rem;align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding:.625rem .75rem;font-size:.875rem;display:flex}.modal-backdrop{z-index:200;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0;overflow-y:auto}.modal-backdrop.show{display:flex}.modal{background:var(--color-bg);width:100%;max-width:32rem;max-height:90vh;box-shadow:var(--shadow-raised);border:1px solid var(--color-border-soft);border-radius:.25rem;flex-direction:column;display:flex;position:relative;overflow:hidden}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-header h2{margin:0;font-size:1.0625rem;font-weight:600}.modal-close{cursor:pointer;color:var(--color-muted);background:0 0;border:none;font-size:1.25rem;line-height:1}.modal-body{flex:1;padding:1.25rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-border);background:var(--color-bg-soft);justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem;display:flex}.toast{background:var(--color-ink);color:var(--color-bg);z-index:300;text-align:center;max-width:90vw;box-shadow:var(--shadow-raised);border-radius:.625rem;padding:.75rem 1.25rem;font-size:.875rem;display:none;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.toast.show{display:block}.empty{text-align:center;color:var(--color-muted);padding:1.5rem 0;font-size:.875rem}hr.divider{border:none;border-top:1px solid var(--color-border);margin:1rem 0}.tile-grid{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1.25rem;display:grid}.stat-summary{padding:.5rem 0 .25rem}.stat-summary-value{letter-spacing:-.02em;font-size:2.25rem;font-weight:800;line-height:1.1}.stat-summary-label{color:var(--color-muted);margin-top:.25rem;font-size:.8125rem}.stat-summary-delta{margin-top:.5rem;font-size:.8125rem;font-weight:600}.stat-summary-delta.up{color:var(--color-success)}.stat-summary-delta.down{color:var(--color-danger)}.trend-chart{align-items:flex-end;gap:.25rem;height:9.5rem;margin:.75rem 0 .5rem;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;height:100%;display:flex}.bar-col .bar-value{color:var(--color-ink);white-space:nowrap;margin-bottom:.25rem;font-size:.6875rem;font-weight:700}.bar-col .bar{background:linear-gradient(180deg, var(--color-primary), var(--color-primary-dark));border-radius:.15rem .15rem 0 0;width:100%;max-width:1.5rem;min-height:2px}.bar-col .bar-label{color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:.3rem;font-size:.625rem;overflow:hidden}.bar-col.negative .bar{background:linear-gradient(#c8151a,#8b1512)}.trend-chart-line{flex-direction:column;height:8rem;margin:.75rem 0 .5rem;display:flex}.line-chart-svg{flex:1;width:100%;overflow:visible}.line-chart-labels{justify-content:space-between;gap:.25rem;margin-top:.375rem;display:flex}.line-chart-labels span{color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.625rem;overflow:hidden}.trend-chart-pie{flex-wrap:wrap;align-items:center;gap:1.25rem;min-width:0;margin:.75rem 0 .5rem;display:flex}.pie-chart-svg{flex-shrink:0;width:7rem;height:7rem}.pie-chart-legend{flex-direction:column;flex:1;gap:.375rem;min-width:0;display:flex;overflow:hidden}.pie-legend-row{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.5rem;min-width:0;font-size:.8125rem;display:flex;overflow:hidden}.pie-legend-swatch{border-radius:9999px;flex-shrink:0;width:.625rem;height:.625rem}.pie-legend-value{color:var(--color-muted);flex-shrink:0;margin-left:auto;padding-left:.5rem;font-size:.75rem}.pie-legend-row>span:not(.pie-legend-swatch){text-overflow:ellipsis;overflow:hidden}.bar-list{flex-direction:column;gap:.625rem;margin:.75rem 0 .5rem;display:flex}.bar-list-row{grid-template-columns:minmax(0,9rem) 1fr auto;align-items:center;gap:.625rem;display:grid}.bar-list-label{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.bar-list-track{background:var(--color-bg-soft);border-radius:9999px;height:.5rem;overflow:hidden}.bar-list-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-primary-dark));border-radius:9999px;height:100%;display:block}.bar-list-value{white-space:nowrap;font-size:.8125rem;font-weight:700}.list-row{border-bottom:1px solid var(--color-border);padding:.625rem 0}.list-row:last-child{border-bottom:none}.alert-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.alert-message{color:var(--color-muted);margin-top:.125rem;font-size:.8125rem}.alert-dismiss{flex-shrink:0}.reorder-by{color:var(--color-muted);font-size:.8125rem}.card-link{margin-top:.75rem;font-size:.8125rem;font-weight:600;display:inline-block}@media (width<=860px){.shell{flex-direction:column}.sidebar{backdrop-filter:none;background:var(--color-bg-soft);flex-direction:row;align-items:center;width:100%;height:auto;position:static;overflow-x:auto}.sidebar-brand{-webkit-app-region:no-drag;padding:.875rem 1.25rem}.sidebar nav{padding:.5rem;display:flex}.nav-group{display:contents}.sidebar nav .section-label{display:none}.nav-group-items{display:contents!important}.sidebar-footer{display:none}.topbar{padding-top:.875rem}}.gf{background:color-mix(in srgb, var(--color-success,#16a34a) 15%, #fff);border:1px solid color-mix(in srgb, var(--color-success,#16a34a) 45%, #fff);color:#14532d;text-align:right;border-radius:6px}.gf:focus{outline:2px solid var(--color-success,#16a34a);outline-offset:0}select.gf{text-align:left}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .gf{color:#dcfce7;background:#16a34a38;border-color:#16a34a99}}:root[data-theme=dark] .gf{color:#dcfce7;background:#16a34a38;border-color:#16a34a99}.pr-sheet{gap:.5rem;margin:.75rem 0;display:grid}.sh-row{grid-template-columns:9rem 4.75rem 3.5rem 5rem 3.25rem minmax(5.5rem,1fr);align-items:center;gap:.5rem;display:grid}.sh-row.wide{grid-template-columns:9rem minmax(0,11rem) minmax(5.5rem,1fr)}.sh-l{font-size:.875rem}.sh-m{color:var(--color-muted);text-align:right;font-size:.8125rem}.sh-row .gf{box-sizing:border-box;width:100%}@media (width<=40rem){.sh-row,.sh-row.wide{grid-template-columns:1fr 1fr}.sh-l{grid-column:1/-1}.sh-m{text-align:left}}.modal-grip{cursor:nwse-resize;z-index:5;touch-action:none;background:linear-gradient(135deg, transparent 0 48%, var(--color-muted) 48% 54%, transparent 54% 66%, var(--color-muted) 66% 72%, transparent 72% 84%, var(--color-muted) 84% 90%, transparent 90%);opacity:.7;border-radius:.25rem;width:22px;height:22px;position:absolute;bottom:2px;right:2px}.modal-grip:hover{opacity:1;background-color:var(--color-bg-soft)}.rg{flex-wrap:wrap;align-items:center;gap:.35rem 1.1rem;padding:.15rem 0;display:inline-flex}.rg.col{flex-direction:column;align-items:flex-start;gap:.4rem}.rg label,.pr .rg label,.pr-fields .rg label,.pr-bar .rg label{cursor:pointer;align-items:center;margin:0;font-size:.875rem;font-weight:400;flex-direction:row!important;gap:.45rem!important;display:inline-flex!important}.rg input[type=radio]{cursor:pointer;flex:none;min-width:1.05rem;margin:0;-webkit-appearance:none!important;appearance:none!important;border:2px solid var(--color-muted)!important;background:var(--color-bg)!important;width:1.05rem!important;height:1.05rem!important;box-shadow:none!important;border-radius:50%!important;padding:0!important}.rg input[type=radio]:checked{border-color:var(--color-primary)!important;background:radial-gradient(circle, var(--color-primary) 0 42%, var(--color-bg) 46%)!important}.rg input[type=radio]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}select[data-radio][data-radioized]{display:none!important}.pr table.data,.ph table.data,.sc table.data:not(#sc-grid table),.compact-table table.data{width:auto;min-width:0;max-width:100%}.pr table.data th,.pr table.data td,.ph table.data th,.ph table.data td{padding:.5rem 1rem .5rem 0}.pr table.data th:last-child,.pr table.data td:last-child,.ph table.data th:last-child,.ph table.data td:last-child{padding-right:0}.pr .scroll-list,.ph .scroll-list{max-width:100%;overflow-x:auto}.pr-bar,.pr-actions{align-items:center}.pr-bar>strong+button,.pr-bar>strong+.btn-secondary{margin-left:.25rem}.pr-tipbox .pr-bar{gap:.6rem 1rem}.cai-steps li>button,.cai-steps li .btn-secondary,.cai-steps li .btn-primary{margin:.4rem .6rem .4rem 0}.btn-primary+.card-sub,.btn-secondary+.card-sub{margin-left:.5rem}input[type=checkbox]{-webkit-appearance:none;appearance:none;border:2px solid var(--color-muted);background:var(--color-bg);cursor:pointer;vertical-align:middle;border-radius:.25rem;flex:none;width:1.05rem;min-width:1.05rem;height:1.05rem;margin:0;padding:0}input[type=checkbox]:checked{border-color:var(--color-primary);background:var(--color-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat}input[type=checkbox]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.ui-page{padding:.25rem 0 2rem}.ui-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.ui-head h1{margin:0 0 .2rem;font-size:1.6rem}.ui-sub{color:var(--color-muted);margin:0;font-size:.85rem}.ui-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.ui-btn{font:inherit;cursor:pointer;border:1px solid var(--color-border);color:inherit;background:0 0;border-radius:.25rem;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.875rem;font-weight:600;display:inline-flex}.ui-btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ui-btn-primary:hover{filter:brightness(1.06)}.ui-btn-ghost:hover{background:var(--color-bg-soft)}.ui-stats{flex-wrap:wrap;gap:2.5rem;margin:0 0 1.25rem;display:flex}.ui-stats>div strong{font-size:1.7rem;font-weight:600;line-height:1.15;display:block}.ui-stats>div span{color:var(--color-muted);font-size:.8rem}.ui-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.ui-grow{flex:1}.ui-pill{border:1px solid var(--color-border);color:inherit;background:0 0;border-radius:.25rem;align-items:center;gap:.4rem;padding:.25rem .55rem;font-size:.8125rem;display:inline-flex}.ui-pill input,.ui-pill select{color:inherit;font:inherit;background:0 0;border:0;outline:none;padding:.15rem .1rem}.ui-pill button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 .3rem;font-size:1.1rem;line-height:1}.ui-pill-btn{cursor:pointer;font:inherit;padding:.5rem .8rem;font-size:.8125rem}.ui-pill-btn:hover{background:var(--color-bg-soft)}.ui-search{border:1px solid var(--color-border);color:var(--color-muted);border-radius:.25rem;align-items:center;gap:.5rem;min-width:14rem;padding:.4rem .7rem;display:inline-flex}.ui-search input{color:inherit;font:inherit;background:0 0;border:0;outline:none;width:100%;font-size:.8125rem}.ui-chips{flex-wrap:wrap;gap:.4rem;margin:0 0 .9rem;display:flex}.ui-chip{font:inherit;background:var(--color-bg-soft);color:inherit;cursor:pointer;border:1px solid #0000;border-radius:.25rem;padding:.3rem .8rem;font-size:.78rem}.ui-chip.on{background:var(--color-primary);color:#fff}.ui-table{border:1px solid var(--color-border-soft);border-radius:.25rem;overflow:auto}table.ui-t{border-collapse:collapse;width:100%;font-size:.875rem}.ui-t thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);background:var(--color-bg-soft);white-space:nowrap;padding:.7rem 1rem;font-size:.72rem;font-weight:600;position:sticky;top:0}.ui-t th.sortable{cursor:pointer;user-select:none}.ui-sort{opacity:.55;margin-left:.35rem}.ui-t tbody td{border-top:1px solid var(--color-border-soft);vertical-align:middle;padding:.85rem 1rem}.ui-t tbody tr:hover{background:var(--color-bg-soft)}.ui-t .r{text-align:right}.ui-amt{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.ui-what{max-width:26rem}.ui-actcol{width:5rem}.ui-act{white-space:nowrap;text-align:right}.ui-src{font-size:.8rem}.ui-file{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;max-width:14rem;font-size:.72rem;display:block;overflow:hidden}.ui-tag{white-space:nowrap;border-radius:.25rem;padding:.15rem .6rem;font-size:.78rem;display:inline-block}.ui-green{color:#166534;background:#dcfce7}.ui-blue{color:#1e40af;background:#dbeafe}.ui-purple{color:#6b21a8;background:#f3e8ff}.ui-amber{color:#dc2626;background:#fff}.ui-rose{color:#9f1239;background:#ffe4e6}.ui-teal{color:#115e59;background:#ccfbf1}.ui-gray{color:#374151;background:#e5e7eb}:root[data-theme=dark] .ui-green{color:#86efac;background:#22c55e2e}:root[data-theme=dark] .ui-blue{color:#93c5fd;background:#3b82f633}:root[data-theme=dark] .ui-purple{color:#d8b4fe;background:#a855f733}:root[data-theme=dark] .ui-amber{color:#f87171;background:0 0}:root[data-theme=dark] .ui-rose{color:#fda4af;background:#f43f5e33}:root[data-theme=dark] .ui-teal{color:#5eead4;background:#14b8a633}:root[data-theme=dark] .ui-gray{color:#cbd5e1;background:#94a3b833}.ui-icon{width:2rem;height:2rem;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:.25rem;justify-content:center;align-items:center;display:inline-flex}.ui-icon:hover{background:var(--color-bg-soft);color:inherit}.ui-icon.ui-danger:hover{color:var(--color-danger,#dc2626)}.ui-pager{justify-content:center;align-items:center;gap:.35rem;margin-top:.9rem;display:flex}.ui-pg{border:1px solid var(--color-border);min-width:2rem;height:2rem;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:.25rem;font-size:.8125rem}.ui-pg.on{background:var(--color-bg-soft);font-weight:700}.ui-pg:disabled{opacity:.4;cursor:default}.ui-dots{color:var(--color-muted);padding:0 .2rem}.ui-pager .ui-sub{margin-left:1rem}.ui-toolbar{--ui-h:2.25rem;gap:.5rem}.ui-toolbar .ui-pill,.ui-toolbar .ui-search,.ui-toolbar .ui-pill-btn,.ui-toolbar .ui-icon{height:var(--ui-h);box-sizing:border-box;padding-top:0;padding-bottom:0}.ui-toolbar .ui-icon{width:var(--ui-h);border:1px solid var(--color-border);color:var(--color-muted)}.ui-toolbar .ui-pill input,.ui-toolbar .ui-pill select{height:100%;padding:0}.ui-toolbar .ui-search{padding:0 .7rem}.ui-chips{gap:.5rem}.ui-chip{--tone:#6b7280;--tone-bg:#f3f4f6;box-sizing:border-box;border:1px solid var(--color-border);min-width:7.5rem;height:2rem;color:inherit;background:0 0;justify-content:center;align-items:center;gap:.45rem;padding:0 .9rem;font-size:.8rem;font-weight:500;display:inline-flex}.ui-chip:before{content:"";background:var(--tone);border-radius:50%;flex:none;width:.5rem;height:.5rem}.ui-chip:hover{border-color:var(--tone)}.ui-chip.on{background:var(--tone-bg);border-color:var(--tone);color:var(--tone);font-weight:600}.ui-chip[data-kind=all]{--tone:#374151;--tone-bg:#e5e7eb}.ui-chip[data-kind=sale]{--tone:#1d4ed8;--tone-bg:#dbeafe}.ui-chip[data-kind=ledger]{--tone:#7e22ce;--tone-bg:#f3e8ff}.ui-chip[data-kind=manual]{--tone:#0f766e;--tone-bg:#ccfbf1}:root[data-theme=dark] .ui-chip[data-kind=all]{--tone:#d1d5db;--tone-bg:#94a3b82e}:root[data-theme=dark] .ui-chip[data-kind=sale]{--tone:#93c5fd;--tone-bg:#3b82f633}:root[data-theme=dark] .ui-chip[data-kind=ledger]{--tone:#d8b4fe;--tone-bg:#a855f733}:root[data-theme=dark] .ui-chip[data-kind=manual]{--tone:#5eead4;--tone-bg:#14b8a633}.ui-table{background:var(--color-surface,transparent)}.ui-t thead th{background:var(--color-bg-soft);border-bottom:1px solid var(--color-border-soft);padding:.6rem 1rem}.ui-t tbody td{padding:.6rem 1rem}.ui-t tbody tr:first-child td{border-top:0}.ui-two{line-height:1.25;display:block}.ui-two>small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;max-width:22rem;font-size:.75rem;display:block;overflow:hidden}.ui-t td.ui-amt{font-size:.9rem;font-weight:600}.ui-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;display:flex}.ui-foot .ui-pager{margin:0}.ui-foot .ui-pg.on{background:var(--color-primary);border-color:var(--color-primary);color:#fff}strong,b{color:var(--color-strong);font-weight:600}.num,.ui-amt,.stat-card .value{font-variant-numeric:tabular-nums;font-family:Geist Variable,inherit}.ui-page h1,.ui-head h1{letter-spacing:-.03em;color:var(--color-strong);font-weight:500}.ui-t thead th{text-transform:none;letter-spacing:0;font-size:.8125rem;font-weight:400}.ui-stats>div strong{letter-spacing:-.03em;color:var(--color-strong);font-weight:500}.ui-tag,.ui-chip,.ui-src{border-radius:9999px}.ui-tag{background:0 0;border:1px solid;padding:.1rem .65rem;font-weight:500}.ui-green{background:#16653414}.ui-blue{background:#1e40af14}.ui-purple{background:#6b21a814}.ui-amber{background:#fff}.ui-rose{background:#9f123914}.ui-teal{background:#115e5914}.ui-gray{background:#37415114}.badge-owner,.badge-admin,.badge-manager{background:0 0}.badge-owner{color:#374151}.badge-admin{color:var(--color-primary)}.badge-manager{color:#7c3aed}.badge-staff{color:var(--color-muted)}.badge-draft,.badge-staff{background:0 0;border:1px solid}.badge-submitted,.badge-open,.badge-received,.badge-paid,.badge-finalized,.badge-cancelled,.badge-void,.badge-danger,.badge-warn{border:1px solid}.avatar{color:#1e40af;border:2px solid var(--color-bg);background:#dbeafe;border-radius:50%;flex:none;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.72rem;font-weight:600;display:inline-flex}.avatar.av-1{color:#166534;background:#dcfce7}.avatar.av-2{color:#6b21a8;background:#f3e8ff}.avatar.av-3{color:#3730a3;background:#e0e7ff}.avatar.av-4{color:#9f1239;background:#ffe4e6}.avatar.av-5{color:#115e59;background:#ccfbf1}.avatar.av-6{color:#3730a3;background:#e0e7ff}.avatar.sm{width:1.5rem;height:1.5rem;font-size:.6rem}.avatar.lg{width:2.75rem;height:2.75rem;font-size:.9rem}.avatar-stack{display:inline-flex}.avatar-stack .avatar+.avatar{margin-left:-.5rem}.person{align-items:center;gap:.65rem;display:inline-flex}.person>span{flex-direction:column;line-height:1.25;display:flex}.person small{color:var(--color-muted);font-size:.75rem;font-weight:400}.btn-primary,.btn-secondary,.btn-danger{letter-spacing:-.005em;border-radius:.25rem;min-height:2.25rem;padding:0 1rem;font-weight:500}.btn-primary{box-shadow:none}.btn-secondary{background:0 0}.btn-secondary:hover{background:var(--color-bg-soft)}.btn-danger{border:1px solid color-mix(in srgb, var(--color-danger) 45%, transparent);background:0 0}.btn-danger:hover{background:color-mix(in srgb, var(--color-danger) 10%, transparent)}.ui-btn{min-height:2.25rem;padding:0 1rem;font-weight:500}.pill{font-weight:500}.ui-table.scroll-list{max-height:none;padding:0}.ui-table.scroll-list .ui-t thead th{top:0}.ct-name{color:var(--color-strong);font-weight:500}.ct-sub{color:var(--color-muted);font-size:.78rem}.ui-chip[data-tone=gray],.ui-chip[data-st=off]{--tone:#6b7280;--tone-bg:#f3f4f6}.ui-chip[data-st=active]{--tone:#15803d;--tone-bg:#dcfce7}.ui-chip[data-st=all]{--tone:#374151;--tone-bg:#e5e7eb}.ui-t .person small{display:block}.ui-head>div:first-child{flex:24rem;max-width:46rem}.ui-actions{margin-left:auto}.ui-panel{border:1px solid var(--color-border-soft);border-radius:.25rem;margin:0 0 1.25rem;padding:1rem 1.25rem}.ui-panel h2{font-size:1rem;font-weight:500}.ui-chip[data-tone=amber]{--tone:#dc2626;--tone-bg:#fff}.ui-chip[data-tone=blue]{--tone:#1d4ed8;--tone-bg:#dbeafe}.ui-chip[data-tone=green]{--tone:#15803d;--tone-bg:#dcfce7}.ui-chip[data-tone=dark]{--tone:#374151;--tone-bg:#e5e7eb}.ui-pill input[type=checkbox]{border:1.5px solid var(--color-muted);background:var(--color-bg)}.ui-page{max-width:76rem}.ec-wrap{align-items:center;gap:1.25rem;min-width:0;display:flex}.ec-host{width:100%;min-width:0;height:15rem}.ec-wrap.has-legend .ec-host{flex:none;width:12.5rem;height:12.5rem}.ec-legend{flex-direction:column;flex:1;gap:.55rem;min-width:0;margin:0;padding:0;list-style:none;display:flex}.ec-legend li{flex-wrap:wrap;align-items:center;column-gap:.6rem;min-width:0;font-size:.85rem;display:flex}.ec-legend i{border-radius:50%;flex:none;width:.6rem;height:.6rem}.ec-legend span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ec-legend b{color:var(--color-strong);font-variant-numeric:tabular-nums;flex-basis:100%;margin-top:-.1rem;padding-left:1.2rem;font-size:.8rem;font-weight:500}@media (width<=640px){.ec-wrap.has-legend{flex-direction:column;align-items:stretch}.ec-wrap.has-legend .ec-host{width:100%}}.db .period-bar{align-items:center;gap:.75rem 1rem;margin:0 0 1rem}.db .stat-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;margin-bottom:1.25rem}.db .stat-card{border:1px solid var(--color-border-soft);box-shadow:none;background:var(--color-bg);border-radius:.25rem;padding:1rem 1.15rem}.db .stat-card .icon-badge{border-radius:.25rem;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;margin-bottom:.7rem;display:inline-flex}.db .stat-card .value{font-size:1.75rem}.db-grid{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:1.25rem;margin-bottom:1.25rem;display:grid}.db .overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:0;display:grid}.db .db-chart{min-width:0;margin:0}.db .db-chart h2{margin:0;font-size:.95rem;font-weight:500}.db .card-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.db .tile-range{border:1px solid var(--color-border);height:1.9rem;font:inherit;color:inherit;background:0 0;border-radius:9999px;padding:0 .7rem;font-size:.78rem}.db-side{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.db-side .ui-panel{margin:0}.db-side h2{margin:0;font-size:.95rem;font-weight:500}.bill-row{border-top:1px solid var(--color-border-soft);align-items:center;gap:.7rem;padding:.55rem 0;display:flex}.bill-row:first-child{border-top:0}.bill-who{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.bill-who small{color:var(--color-muted);font-size:.75rem}.bill-who small.late{color:#b91c1c}.bill-row b{font-variant-numeric:tabular-nums;color:var(--color-strong);font-weight:500}@media (width<=1100px){.db-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.db .overview-grid{grid-template-columns:minmax(0,1fr)}}.db-grid:not(:has(.db-side>:not([hidden]))){grid-template-columns:minmax(0,1fr)}.db .stat-summary-value{letter-spacing:-.03em;color:var(--color-strong);font-size:2rem;font-weight:500}.bar-list-fill{background:var(--color-primary);border-radius:.25rem}.bar-list-track{background:var(--color-bg-soft);border-radius:.25rem}.bar-list-row{padding:.35rem 0}.bar-list-value{color:var(--color-strong);font-variant-numeric:tabular-nums;font-weight:500}.ui-chip[data-tone=purple]{--tone:#7e22ce;--tone-bg:#f3e8ff}.ui-toolbar .ui-pill input[type=checkbox]{flex:none;width:1.05rem;height:1.05rem;padding:0}.cai-steps li>button{width:fit-content;margin-top:.6rem;display:flex}.cai-steps li>.card-sub,.cai-steps li>strong{line-height:1.5}thead th{position:relative}thead th.rz-hot{cursor:col-resize;box-shadow:inset -3px 0 0 color-mix(in srgb, var(--color-primary) 35%, transparent)}thead th.rz-drag{box-shadow:inset -3px 0 0 var(--color-primary)}body.rz-dragging{cursor:col-resize;user-select:none}table[data-rz]{table-layout:fixed}table[data-rz] td,table[data-rz] th{overflow-wrap:anywhere;overflow:hidden}table[data-rz] td.ui-act,table[data-rz] td:last-child{overflow:visible}.db .stat-card .icon-badge{border:1.5px solid;background:0 0!important}.db .stat-card:first-child .icon-badge{color:#2563eb}.db .stat-card:nth-child(2) .icon-badge{color:var(--color-primary)}.db .stat-card:nth-child(3) .icon-badge{color:#dc2626}.db .stat-card:nth-child(4) .icon-badge{color:#7c3aed}.ui-amber,.ui-alert{color:#dc2626;background:#fff;border-color:#dc2626!important}.ui-chip[data-tone=amber].on{color:#dc2626;background:#fff;border-color:#dc2626}:root[data-theme=dark] .ui-chip[data-tone=amber].on,:root[data-theme=dark] .ui-alert{background:0 0}.ui-indigo{color:#3730a3;background:#e0e7ff}.ui-chip[data-tone=teal]{--tone:#0f766e;--tone-bg:#ccfbf1}
