:root{color-scheme:light;--bg:#f3f7fd;--surface:#fff;--soft:#eaf2ff;--text:#17304f;--muted:#61758f;--border:#dbe5f2;--blue:#1764c7;--hover:#104c9a;--nav:#123865;--nav-text:#d9e8ff;--nav-active:#245b9b;--input:#fff;--chart:#8fb9f0}
:root[data-theme=dark]{color-scheme:dark;--bg:#0b1527;--surface:#14243b;--soft:#1d334f;--text:#e5eefb;--muted:#a8bad2;--border:#304762;--blue:#337edc;--hover:#286bc0;--nav:#0c1d34;--nav-text:#d2e4ff;--nav-active:#244970;--input:#102138;--chart:#648dbf}
body{background:var(--bg);color:var(--text)}aside,.login-brand{background:var(--nav);color:var(--nav-text)}aside{z-index:30;overflow-y:auto;transition:transform .2s}aside .brand small,.workspace small,.nav-label,.connection small,.aside-bottom>small,.aside-bottom button,.login-brand p{color:var(--nav-text)}.workspace{border-color:#41638b}.workspace-icon{background:var(--nav-active)}nav button{color:var(--nav-text)}nav button.active{background:var(--nav-active);box-shadow:inset 3px 0 #9ecbff;color:#fff}nav button:hover{background:var(--nav-active)}.dot{background:#83c4ff}.login-brand h1{color:#fff}.content{min-width:0;transition:margin .2s,width .2s}header{gap:12px;height:auto;min-height:80px;background:var(--surface);border-color:var(--border)}header>div:first-of-type{margin-right:auto}.header-right{gap:10px;flex-wrap:wrap;padding-right:105px}main{min-width:0}
.primary,.metric.result{background:var(--blue);border-color:var(--blue);color:#fff}.primary:hover{background:var(--hover)}.metric.result strong,.metric.result small,.metric.result .metric-top{color:#fff}.metric.result .metric-icon{background:#ffffff22;color:#fff}.panel,.metric,.admin-stat,dialog{background:var(--surface);color:var(--text);border-color:var(--border)}.secondary,.icon-button,input,select,textarea{background:var(--input);color:var(--text);border-color:var(--border)}.secondary:hover,.icon-button:hover{background:var(--soft)}.pill,.avatar,.badge,.metric-icon,.tabs button,.segmented button{background:var(--soft);color:var(--text);border-color:var(--border)}.tabs button.selected,.segmented button.selected{background:var(--blue);color:#fff}.method{background:var(--soft);color:var(--muted);border-color:var(--border)}.dialog-footer,.settings-footer,th{background:var(--soft);color:var(--muted);border-color:var(--border)}td,.dialog-heading,.control-row,.settings-panel .panel-head,.permissions-grid .check-line,.breakdown-total,.form-summary strong{border-color:var(--border)}td .number,.text-button{color:var(--blue)}.metric-top,.metric small,.eyebrow,.page-heading p:not(.eyebrow),.panel-head p,.muted,.empty,.empty h3,footer,.catalog-note,.sync-strip,.toolbar label,.detail-meta p,.login form>p,label small,.admin-stat span,.permission-summary,.user-name small,.loading,.dialog-footer p{color:var(--muted)}.bar,.fill,.legend span:before{background:var(--blue)}.bar.cost,.fill.expense,.legend span:last-child:before{background:var(--chart)}.track{background:var(--soft)}.bars{border-color:var(--border);background:repeating-linear-gradient(to top,transparent,transparent 49px,var(--border) 49px,var(--border) 50px)}.month-label,.chart-axis,.legend{color:var(--muted)}.check-line input,.control-row input{accent-color:var(--blue)}#toast{background:var(--blue);z-index:60}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:#5b9aee}dialog::backdrop{background:#04132e99}.notice{background:#fff4d9;color:#725219;border-color:#e8d5a8}:root[data-theme=dark] .notice{background:#352f23;color:#f2d395;border-color:#635132}:root[data-theme=dark] .error,:root[data-theme=dark] #login-error{color:#ffaaa0}:root[data-theme=dark] .badge.expense{background:#493b22;color:#ffda99}:root[data-theme=dark] .badge.sale,:root[data-theme=dark] .badge.admin{background:#213e60;color:#abd2ff}:root[data-theme=dark] #connection-result.success{background:#193f3b;color:#b2e9dc;border-color:#3b6f65}
.theme-toggle{position:fixed;right:18px;top:20px;z-index:35;font-size:12px}.menu-toggle{font-size:20px;line-height:1;padding:10px;flex-shrink:0}.menu-close{align-self:flex-end;margin:-15px -4px 14px 0}.menu-overlay{position:fixed;inset:0;background:#06152d88;z-index:25}.menu-collapsed aside{transform:translateX(-100%)}.menu-collapsed .content{margin-left:0;width:100%}.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:950px){header{padding:14px 18px}.header-right{padding-right:90px}.header-label,.slash{display:none}}
@media(max-width:700px){.shell{display:block}aside{position:fixed;inset:0 auto 0 0;width:min(290px,85vw);height:100dvh;padding:24px 18px;transform:translateX(-100%);z-index:40}.menu-open aside{transform:translateX(0)}.menu-open{overflow:hidden}.menu-collapsed .content,.content{margin:0;width:100%}.brand small,.workspace,.nav-label,.aside-bottom{display:block}.workspace{display:flex;margin-top:28px}.brand small{font-size:10px}.nav-label{margin-top:25px}nav{display:grid;overflow:visible;margin-top:0;gap:5px}nav button{font-size:14px;padding:13px 12px}nav button span{display:block}nav button.active{box-shadow:inset 3px 0 #9ecbff}.aside-bottom{margin-top:auto;padding-top:18px}.brand-logo{width:70px;height:50px}.theme-toggle{top:12px;right:12px;font-size:11px;padding:9px}.header-right{padding-right:0;gap:7px}header{padding:62px 14px 12px!important;position:relative;min-height:104px;flex-wrap:wrap}.menu-toggle{position:absolute;left:14px;top:12px}header>div:first-of-type{font-size:12px}.header-right .pill{font-size:10px;padding:5px}.finance-metrics{grid-template-columns:1fr}.panel-head{flex-wrap:wrap}.login form{padding-top:25px}.login-brand{padding-top:68px}.menu-close{margin-top:-8px}.sync-strip{line-height:1.6}.page-heading{flex-wrap:wrap}.toolbar label{min-width:0!important}.toolbar form{align-items:end}#date-preset{min-width:0;width:100%}.toolbar input{min-width:0}.segmented{flex-wrap:wrap}}
@media print{.theme-toggle,.menu-toggle,.menu-overlay,.menu-close{display:none!important}}
@media(prefers-reduced-motion:reduce){aside,.content{transition:none}}
.bars{overflow-y:hidden}.bar-pair{min-height:0}.month-label{margin:9px 0 0}
.search-picker{min-width:210px;width:100%;white-space:normal}.picker-results{max-height:230px;overflow:auto;border:1px solid var(--border);border-radius:6px;background:var(--surface);margin-top:5px}.picker-results button{display:block;width:100%;text-align:left;padding:11px 12px;white-space:normal;background:var(--surface);color:var(--text);font-size:13px;border-bottom:1px solid var(--border)}.picker-results button:hover,.picker-results button[aria-selected=true]{background:var(--soft)}.picker-status{display:block;color:var(--muted);font-size:11px;margin-top:5px}.line-table .search-picker{width:260px}.search-picker input{width:100%;min-width:0}
@media(max-width:700px){#date-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#date-form>label:first-child{grid-column:1/-1}#date-form>button{grid-column:1/-1;justify-self:end}#date-form input{font-size:13px;width:100%;min-width:0}}
.settlement-section{margin-top:24px;border-top:1px solid var(--border);padding-top:18px}.closed-toggle{display:flex;align-items:center;gap:10px}.closed-toggle input{width:18px;height:18px}.settlement-row{padding:14px 0;border-bottom:1px solid var(--border);margin-bottom:12px}.line-table .unit{min-width:90px}.section-heading{flex-wrap:wrap;gap:10px}
.restaurant-subnav{padding-left:34px!important;font-size:13px}.restaurant-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:18px}.restaurant-table .panel-head{align-items:flex-start}.restaurant-table td small{display:block;color:var(--muted)}.cancelled-line{opacity:.65;text-decoration:line-through}.restaurant-products,.restaurant-mapping{margin-top:22px}.restaurant-mapping{padding:20px}.restaurant-mapping summary{cursor:pointer;font-weight:600}.restaurant-products .tabs{padding:0 20px}
.restaurant-section{display:block;max-width:420px;margin-bottom:16px}.restaurant-section select{width:100%;margin-top:6px}.restaurant-products td small{display:block;color:var(--muted)}aside nav{flex-shrink:0}.restaurant-subnav{white-space:normal;text-align:left}
.customer-picker{display:flex;gap:6px;flex-wrap:wrap}.customer-picker input{flex:1;min-width:120px}.customer-search-dialog{width:min(920px,94vw)}.customer-results{max-height:45vh;overflow:auto}.customer-results th{position:sticky;top:0}.appearance-dialog{width:min(430px,92vw)}.appearance-dialog label{display:block;margin-bottom:18px}.appearance-dialog select{width:100%;margin-top:6px}.aside-bottom a,footer a{color:inherit}.restaurant-products>.catalog-note{padding:0 20px}
:root[data-palette=green]{--blue:#087e69;--hover:#076453;--nav:#10493f;--nav-active:#21685b;--soft:#eef8f3;--chart:#529d88;--bg:#f4f9f6}
:root[data-palette=purple]{--blue:#714ac1;--hover:#573693;--nav:#34214f;--nav-active:#57397d;--soft:#f3effb;--chart:#9a80bd;--bg:#f7f5fb}
:root[data-palette=amber]{--blue:#946116;--hover:#764d11;--nav:#463318;--nav-active:#715028;--soft:#fbf5e9;--chart:#ac956a;--bg:#faf8f2}
:root[data-theme=dark][data-palette=green]{--bg:#0c1b18;--soft:#14382e;--nav:#09211a;--blue:#199f87;--hover:#118c75}
:root[data-theme=dark][data-palette=purple]{--bg:#171321;--soft:#2f2542;--nav:#1b112d;--blue:#956be3;--hover:#8256cf}
:root[data-theme=dark][data-palette=amber]{--bg:#211c13;--soft:#3b3020;--nav:#281d0e;--blue:#b78539;--hover:#a1732b}
:root{--text-scale:1}:root[data-text-size=large]{--text-scale:1.15}:root[data-text-size=xlarge]{--text-scale:1.3}
body,input,select,textarea,button,td,label,p{font-size:calc(14px * var(--text-scale))}small,th,.catalog-note,.method,footer,.sync-strip,nav button{font-size:calc(12px * var(--text-scale))!important}h1{font-size:calc(30px * var(--text-scale))!important}h2{font-size:calc(23px * var(--text-scale))!important}h3{font-size:calc(18px * var(--text-scale))!important}.appearance-dialog p{line-height:1.6}.check-line input[type=checkbox]{width:auto}
.customer-results td,.customer-results th{padding:12px}.customer-results td:nth-child(2){white-space:normal;min-width:180px;max-width:250px}.customer-results td:last-child,.customer-results th:last-child{position:sticky;right:0;background:var(--surface)}.report-pager{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:16px;flex-wrap:wrap}
.balance-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.balance-filters label{display:grid;gap:6px}.balance-filters select{min-width:180px}@media(max-width:700px){.balance-filters{width:100%}.balance-filters label{flex:1;min-width:0}.balance-filters select,.balance-filters input{width:100%;min-width:0}}
