/* Shared with _buildAppTheme and _AppIcons in lib/main.dart. */
@font-face{font-family:QazanIcons;src:url('./assets/MaterialIcons-Regular.otf') format('opentype');font-display:block}
:root,html[data-theme="dark"]{--graphite:#181a1f;--graphite-dark:#181a1f;--cream:#e6edf3;--cream-dim:#9ba7b4;--card:#23262e;--card-elev:#2b303b;--surface:#2b303b;--line:#3b4352;--line-strong:#647286;--accent:#9aa4b0;--terra:#9aa4b0;--gold:#9aa4b0;--on-primary:#19212d;--selected:#313744;--sidebar-width:252px;--danger:#f28b82}
html[data-theme="light"]{--graphite:#f5f7fb;--graphite-dark:#f5f7fb;--cream:#19212d;--cream-dim:#647286;--card:#fff;--card-elev:#f0f4fa;--surface:#f0f4fa;--line:#d2dbe8;--line-strong:#647286;--accent:#5a6470;--terra:#5a6470;--gold:#5a6470;--on-primary:#fff;--selected:#e3ebf6}
body{font-family:-apple-system,BlinkMacSystemFont,'Inter',sans-serif;font-size:14px;background:var(--graphite);color:var(--cream)}
.q-icon{font-family:QazanIcons!important;font-size:22px;font-weight:normal;font-style:normal;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:none;user-select:none}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent)!important;outline-offset:3px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none!important}
button{min-height:38px;border-radius:12px;box-shadow:none;letter-spacing:0}
button.primary,button.btn-primary,#loginCard button.primary{background:var(--accent);border-color:transparent;color:var(--on-primary)}
button.primary:hover:not(:disabled),button.btn-primary:hover:not(:disabled),#loginCard button.primary:hover:not(:disabled){background:var(--accent);border-color:transparent;filter:brightness(.94)}
button:disabled{cursor:not-allowed}
input,textarea,select,.ms-btn,html[data-theme="light"] .ms-btn,html[data-theme="light"] #headerResPicker{background-color:var(--surface);border:1px solid transparent;border-radius:14px;color:var(--cream);min-height:42px}
input::placeholder,textarea::placeholder,html[data-theme="light"] input::placeholder,html[data-theme="light"] textarea::placeholder{color:var(--cream-dim)}
input[type="checkbox"]{min-height:0;accent-color:var(--accent)}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
#appShell{padding-left:var(--sidebar-width);transition:padding-left .18s ease;min-height:100vh}
#appShell.sidebar-collapsed{padding-left:0}
#appShell>header{background:var(--graphite);padding:0 28px;border:0;z-index:12}
.head-inner{min-height:76px;max-width:none;flex-wrap:nowrap;gap:16px}
.head-inner>.brand{display:none}
.head-actions{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:0}
#headerUserLabel{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#headerResPicker{max-width:200px}
.icon-button{display:inline-flex;align-items:center;justify-content:center;padding:8px;width:40px;height:40px;border:0;background:transparent;flex:none}
.icon-button:hover{background:var(--surface)}
#pageTitle{font-size:23px;font-weight:750;letter-spacing:-.5px;margin:0;line-height:1.2}
#pageSubtitle{font-size:12px;color:var(--cream-dim);margin-top:5px}
.cabinet-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:var(--card);border-right:1px solid var(--line);z-index:15;display:flex;flex-direction:column;transition:transform .18s ease;padding:22px 14px 14px}
.sidebar-collapsed .cabinet-sidebar{transform:translateX(-100%);visibility:hidden}
.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 10px 22px;font-size:22px;font-weight:750;letter-spacing:-.5px}
.sidebar-brand img{width:36px;height:36px;border-radius:11px}
.sidebar-brand .icon-button{margin-left:auto}
.cabinet-sidebar nav{display:flex;flex-direction:column;flex-wrap:nowrap;overflow:auto;gap:5px;flex:1;padding:0}
.nav-group{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:var(--cream-dim);padding:20px 12px 8px;margin:0}
.cabinet-sidebar .nav-tab{display:flex;align-items:center;text-align:left;gap:12px;padding:11px 12px;min-height:48px;border:0;border-radius:14px;color:var(--cream-dim);font-size:14px;font-weight:550;background:transparent;white-space:normal}
.cabinet-sidebar .nav-tab.active{color:var(--cream);background:var(--selected);font-weight:650}
.cabinet-sidebar .nav-tab:hover{background:var(--surface);color:var(--cream)}
.nav-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--surface)}
.nav-tab[data-tab="invoices"] .nav-icon{color:#86A8D6;background:#86A8D638}html[data-theme="light"] .nav-tab[data-tab="invoices"] .nav-icon{color:#4E73A8;background:#4E73A824}.nav-tab[data-tab="acts"] .nav-icon{color:#B46060;background:#B4606038}html[data-theme="light"] .nav-tab[data-tab="acts"] .nav-icon{color:#8B3A3A;background:#8B3A3A24}.nav-tab[data-tab="writeoffs"] .nav-icon{color:#D68B82;background:#D68B8238}html[data-theme="light"] .nav-tab[data-tab="writeoffs"] .nav-icon{color:#B5524A;background:#B5524A24}.nav-tab[data-tab="schedule"] .nav-icon{color:#6FA3C5;background:#6FA3C538}html[data-theme="light"] .nav-tab[data-tab="schedule"] .nav-icon{color:#3F6F8F;background:#3F6F8F24}.nav-tab[data-tab="recipes"] .nav-icon{color:#E07A5F;background:#E07A5F38}html[data-theme="light"] .nav-tab[data-tab="recipes"] .nav-icon{color:#C8553D;background:#C8553D24}.nav-tab[data-tab="products"] .nav-icon{color:#9DB888;background:#9DB88838}html[data-theme="light"] .nav-tab[data-tab="products"] .nav-icon{color:#6B8E5A;background:#6B8E5A24}
.sidebar-footer{margin-top:20px;padding:16px 10px 6px;border-top:1px solid var(--line);font-size:12px;color:var(--cream-dim);line-height:1.7}
.sidebar-footer strong{display:block;color:var(--cream);font-weight:600;overflow-wrap:anywhere}
#appShell>.wrap{max-width:1600px;padding:16px 28px 56px;min-width:0}
.filters,.filters-row,.sch-toolbar{background:var(--card);border-radius:18px;padding:18px!important;margin-bottom:20px;gap:14px!important}
.filters{align-items:end}.filters .field{min-width:0}.filters label,.field label{font-weight:500;color:var(--cream-dim);font-size:12px}
.tbl-card{background:var(--card);border:0;border-radius:18px;overflow:auto;box-shadow:0 1px 2px #0b16280a}
.tbl-card th{background:var(--surface);font-size:11px;font-weight:650;color:var(--cream-dim);letter-spacing:.04em;text-transform:uppercase;padding:15px 16px;white-space:nowrap}
.tbl-card td{padding:15px 16px;border-color:var(--surface)}
.tbl-card tr:hover td,html[data-theme="light"] .tbl-card tr:hover td{background:var(--surface)}
.count{color:var(--cream-dim);padding:0 2px 12px;font-size:13px}
.inner-tabs{background:var(--surface);border-radius:14px;padding:4px;width:fit-content;gap:3px}
.inner-tabs button.itab{border:0;background:transparent;border-radius:11px;padding:8px 16px}
.inner-tabs button.itab.active{background:var(--card);color:var(--cream);box-shadow:0 1px 3px #0b162814}
.modal-box,.modal,.rec-modal{border:0;border-radius:24px;background:var(--card);box-shadow:0 18px 60px #0003}
.modal-back,.modal-backdrop{z-index:40}.ms-panel{z-index:25;background:var(--card);border-radius:16px;border-color:var(--line)}
.rec-sidebar{top:76px;max-height:calc(100vh - 76px)}
.rec-card,.cat-card{border-radius:18px;background:var(--card);border-color:var(--line)}
#loginCard{background:var(--card);border:0;border-radius:24px;box-shadow:0 8px 32px #0b16280a;padding:32px}
#loginCard h2{font-family:inherit;font-weight:750}.login-logo{box-shadow:none}
#loginCard input{background:var(--surface);border-color:transparent;border-radius:14px;min-height:48px}
#loginCard button{border-radius:14px;min-height:46px}.spinner{border-top-color:var(--accent)}
.sidebar-scrim{display:none}.skip-content{position:fixed;left:16px;top:-60px;z-index:100;background:var(--card);padding:10px;border-radius:10px}.skip-content:focus{top:12px}
@media(max-width:1100px){#headerUserLabel{display:none}.head-inner{gap:12px}#appShell>header{padding:0 20px}#appShell>.wrap{padding:12px 20px 40px}}
@media(max-width:760px){#appShell,#appShell.sidebar-collapsed{padding-left:0}.cabinet-sidebar{width:min(292px,85vw)}.sidebar-scrim:not([hidden]){display:block;position:fixed;inset:0;background:#0006;z-index:14;border:0;border-radius:0}#appShell>header{padding:0 16px}.head-inner{min-height:72px;gap:8px}#pageTitle{font-size:19px}#pageSubtitle{display:none}#headerResPicker{max-width:125px;font-size:12px}#appShell>.wrap{padding:12px 16px 32px}.head-actions{gap:2px}.head-actions #logoutBtn{padding:8px;font-size:12px}.filters{display:flex;flex-wrap:wrap}.filters .field{flex:1 1 135px}.ms-btn{min-width:0;width:100%;max-width:none}.rec-sidebar{display:block;position:static;width:100%;max-height:160px;border-right:0;border-bottom:1px solid var(--line)}.rec-layout{flex-wrap:wrap}.modal-box{max-width:100%;padding:20px}.modal-box .grid2{grid-template-columns:1fr}}
@media(max-width:420px){#headerResPicker{max-width:96px}#pageTitle{font-size:17px}.head-actions #logoutBtn{font-size:0}.head-actions #logoutBtn .q-icon{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

#logoutBtn{display:inline-flex;align-items:center;gap:8px}html[data-theme="dark"]{color-scheme:dark}html[data-theme="light"]{color-scheme:light}
@media(max-width:420px){#logoutBtn>span:not(.q-icon){display:none}}
/* Keep the working cabinet header inside the viewport with multiple restaurants. */
.head-inner>div:has(#pageTitle){min-width:0;flex:1}
#pageTitle,#pageSubtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.head-actions{flex-shrink:0}
@media(max-width:1100px){#logoutBtn>span:not(.q-icon){display:none}#headerResPicker{max-width:150px}.head-actions{gap:6px}}
@media(max-width:760px){#headerResPicker{max-width:110px}.wof-row-wrap{grid-template-columns:minmax(0,1fr) 80px}.wof-row-name,.wof-row-comment{grid-column:1/-1}.workshop-head,.slot-row{flex-wrap:wrap}.workshop-head h3{min-width:100px}.modal{max-width:100%;max-height:90vh;overflow:auto}}
@media(max-width:420px){#headerResPicker{max-width:96px}}
/* The collapsed sidebar stays usable as an icon rail. */
:root{--sidebar-rail:96px}
#appShell.sidebar-collapsed{padding-left:var(--sidebar-rail)}
.cabinet-sidebar{transition:width .18s ease;padding:18px 12px 12px;height:100dvh}
.sidebar-collapsed .cabinet-sidebar{width:var(--sidebar-rail);transform:none;visibility:visible}
.sidebar-brand{gap:8px;padding:0 0 16px;flex-shrink:0}
.sidebar-brand .icon-button{margin:0}
.sidebar-brand img{width:30px;height:30px}
.sidebar-brand-name{font-size:20px}
.sidebar-collapsed .sidebar-brand{justify-content:center}
.sidebar-collapsed .sidebar-brand img,.sidebar-collapsed .sidebar-brand-name,.sidebar-collapsed .nav-group,.sidebar-collapsed .nav-tab>span:last-child{display:none}
.sidebar-collapsed .cabinet-sidebar .nav-tab{justify-content:center;padding:10px;flex-shrink:0}
.cabinet-sidebar nav{min-height:0}
.sidebar-restaurant{position:relative;margin-bottom:12px;flex-shrink:0}
.sidebar-restaurant summary,.sidebar-account summary{cursor:pointer;list-style:none;border-radius:14px;background:var(--surface);padding:12px;color:var(--cream)}
.sidebar-restaurant summary::-webkit-details-marker,.sidebar-account summary::-webkit-details-marker{display:none}
.restaurant-caption{display:block;font-size:11px;color:var(--cream-dim);margin-bottom:4px}
#sidebarRestaurantName{font-size:13px;display:block;overflow-wrap:anywhere;line-height:1.4}
.sidebar-collapsed .sidebar-restaurant summary{padding:10px 4px;text-align:center}
.sidebar-collapsed #sidebarRestaurantName{font-size:11px;max-height:100px;overflow:auto}
.sidebar-collapsed .restaurant-caption{display:none}
.sidebar-popover{position:absolute;z-index:30;left:0;width:228px;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px #0003;line-height:1.5}
.sidebar-restaurant .sidebar-popover{top:calc(100% + 8px)}
.sidebar-popover label{display:block;color:var(--cream-dim);font-size:12px;margin-bottom:8px}
.cabinet-sidebar #headerResPicker{max-width:none;width:100%;font-size:14px}
.sidebar-footer{margin-top:12px;padding:12px 0 0;flex-shrink:0}
.sidebar-account{position:relative}
.sidebar-account summary{display:flex;align-items:center;gap:10px;min-height:48px}
.sidebar-account summary svg{flex-shrink:0}
.cabinet-sidebar #headerUserLabel{display:block;max-width:none;white-space:normal;overflow-wrap:anywhere;line-height:1.4;font-size:13px}
.sidebar-account .sidebar-popover{bottom:calc(100% + 8px)}
#accountName{margin:0 0 10px;font-weight:600;overflow-wrap:anywhere}
.sidebar-popover button{display:flex;width:100%;gap:10px;align-items:center;text-align:left;border:0;background:transparent;padding:10px;color:var(--cream);font-size:14px}
.sidebar-popover button:hover{background:var(--surface)}
.sidebar-collapsed .sidebar-account summary{justify-content:center;padding:12px}
.sidebar-collapsed #headerUserLabel{display:none}
.cabinet-sidebar #logoutBtn>span:not(.q-icon){display:inline}
summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:760px){#appShell{padding-left:var(--sidebar-rail)}.cabinet-sidebar{width:min(292px,85vw)}#appShell>header{padding:0 12px}#appShell>.wrap{padding:12px 12px 32px}.sidebar-popover{width:min(228px,calc(100vw - 28px))}}
/* Fixed compact navigation: no expanded/collapsed state. */
:root,html[data-theme]{--sidebar-width:108px}
#appShell{padding-left:var(--sidebar-width);transition:none}
.cabinet-sidebar{width:var(--sidebar-width);padding:18px 10px 12px;transition:none}
.sidebar-brand{justify-content:center;padding-bottom:16px}
.sidebar-brand img{width:36px;height:36px}
.cabinet-sidebar .nav-group{display:none}
.cabinet-sidebar .nav-tab{flex-direction:column;gap:5px;padding:9px 4px;flex-shrink:0;text-align:center;font-size:11px;line-height:1.3}
.cabinet-sidebar .nav-tab>span:last-child{display:block;overflow-wrap:anywhere}
.sidebar-restaurant label{display:block;text-align:center;padding:10px 5px;border-radius:14px;background:var(--surface);color:var(--cream)}
.sidebar-restaurant #sidebarRestaurantName{font-size:11px;max-height:100px;overflow:auto}
.sidebar-restaurant .restaurant-caption{font-size:10px}
.cabinet-sidebar .sidebar-restaurant #headerResPicker{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;min-height:0}
.sidebar-restaurant:focus-within{outline:2px solid var(--accent);outline-offset:3px;border-radius:14px}
.sidebar-account summary{flex-direction:column;gap:5px;padding:10px 4px;font-size:11px;line-height:1.3;text-align:center}
@media(max-width:760px){#appShell{padding-left:var(--sidebar-width)}.cabinet-sidebar{width:var(--sidebar-width)}}
