:root{--bg:#f5f6f8;--panel:#fff;--text:#17191d;--muted:#6b7280;--line:#e5e7eb;--red:#c9092f;--gold:#f6a637;--dark:#0d0f12;--green:#11875d;--blue:#2563eb}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{background:var(--dark);color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;padding-bottom:24px;border-bottom:1px solid #25282d}.brand img{width:76px;height:76px;object-fit:contain;background:#000;border-radius:14px}.brand-title{font-weight:800}.brand-subtitle{font-size:11px;color:#a7abb3;margin-top:4px;line-height:1.4}.nav{display:grid;gap:5px;margin-top:20px}.nav-btn{border:0;background:transparent;color:#cfd3da;text-align:left;padding:11px 14px;border-radius:10px;cursor:pointer}.nav-btn:hover,.nav-btn.active{background:#20242a;color:#fff}.main{padding:28px;min-width:0}.topbar{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h1{margin:0;font-size:30px}.topbar p{margin:5px 0 0;color:var(--muted)}.topbar-actions{display:flex;gap:10px;align-items:center}.btn{border:0;border-radius:10px;padding:11px 15px;font-weight:700;cursor:pointer}.btn.primary{background:var(--red);color:#fff}.btn.secondary{background:#fff;color:var(--text);border:1px solid var(--line)}select,input,textarea{border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;color:var(--text);width:100%}.view{display:none}.view.active{display:block}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.metrics.six{grid-template-columns:repeat(6,1fr)}.metrics.compact{grid-template-columns:1fr 1fr}.metric{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}.metric span{color:var(--muted);font-size:13px}.metric strong{display:block;margin-top:8px;font-size:24px}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}.card h2{margin:0 0 16px}.card h3{margin:0 0 8px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.link-btn{background:none;border:0;color:var(--red);font-weight:700;cursor:pointer}.list{display:grid;gap:10px}.list-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px}.list-row small{color:var(--muted)}.right{text-align:right}.money{font-weight:800}.pill{padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800;text-transform:capitalize}.pill.paid{background:#e7f6ef;color:var(--green)}.pill.unpaid{background:#fff0f2;color:var(--red)}.tag{display:inline-block;background:#f4f4f5;border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;margin-bottom:14px}.filters.five{grid-template-columns:2fr 1fr 1fr 1fr 1fr}.table-wrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;min-width:1050px}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);background:#fafafa}.vendor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.vendor-card{border:1px solid var(--line);border-radius:14px;padding:16px;cursor:pointer}.vendor-card:hover{border-color:#c9ccd2}.stack{display:grid;gap:10px}.muted{color:var(--muted);font-size:13px}.icon-btn{border:0;background:#f0f1f3;border-radius:999px;width:36px;height:36px;font-size:24px;cursor:pointer}dialog{width:min(1040px,96vw);border:0;border-radius:18px;padding:0;box-shadow:0 30px 80px #0005}dialog::backdrop{background:#0008}.modal-form{padding:22px}.modal-head{display:flex;justify-content:space-between;gap:16px}.modal-head h2{margin:0}.modal-head p{margin:6px 0 0;color:var(--muted)}.capture-box{display:flex;gap:10px;align-items:center;margin:18px 0;flex-wrap:wrap}.camera-button{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;font-weight:800;padding:11px 15px;border-radius:10px;cursor:pointer}.camera-button input{display:none}.preview{width:100%;max-height:300px;object-fit:contain;border:1px solid var(--line);border-radius:12px;margin-bottom:14px}.hidden{display:none}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.form-grid.two-col{grid-template-columns:1fr 1fr}.form-grid.three-col{grid-template-columns:repeat(3,1fr)}.form-grid label,.modal-form>label{display:grid;gap:6px;font-size:13px;font-weight:700}.items-section{margin-top:20px}.item-row{display:grid;grid-template-columns:2fr .55fr .8fr 1.2fr auto;gap:8px;margin-bottom:8px}.item-row button{border:0;background:#f4f4f5;border-radius:8px;padding:0 12px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.info-banner{background:#fff8ec;border-color:#f6d69c;line-height:1.55}.divider{border-top:1px solid var(--line);margin:20px 0}.top-gap{margin-top:18px}.top-gap-small{margin-top:12px}.service-row{border:1px solid var(--line);border-radius:12px;padding:14px}.service-main{display:flex;justify-content:space-between;gap:10px}.service-row p{margin:10px 0;white-space:pre-wrap}.service-row small{color:var(--muted)}
@media(max-width:1200px){.metrics.six{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.brand img{width:58px;height:58px}.nav{grid-template-columns:repeat(3,1fr)}.main{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;flex-wrap:wrap}.metrics,.metrics.six{grid-template-columns:1fr 1fr}.grid.two{grid-template-columns:1fr}.filters,.filters.five{grid-template-columns:1fr 1fr}.vendor-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr 1fr}.item-row{grid-template-columns:2fr .6fr .9fr 1.2fr auto}}
@media(max-width:560px){.nav{grid-template-columns:1fr 1fr}.metrics,.metrics.six,.filters,.filters.five,.vendor-grid,.form-grid,.form-grid.two-col,.form-grid.three-col{grid-template-columns:1fr}.item-row{grid-template-columns:1fr 70px 100px}.item-category{grid-column:1/3}.item-row button{grid-column:3}.topbar-actions>*{flex:1}.list-row{align-items:flex-start;flex-direction:column}.right{text-align:left}}
.install-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff8ec;border:1px solid #f6d69c;border-radius:14px;padding:12px 14px;margin-bottom:16px;font-size:13px;line-height:1.45}.install-banner .icon-btn{flex:0 0 auto;width:32px;height:32px;font-size:20px}
@media(max-width:560px){body{padding-bottom:78px}.main{padding:12px}.topbar{margin-bottom:14px}.topbar h1{font-size:24px}.sidebar{padding:10px 10px 0;background:var(--dark);position:static}.brand{padding:6px 4px 12px}.brand img{width:52px;height:52px}.brand-subtitle{display:none}.nav{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;overflow-x:auto;gap:4px;background:#0d0f12;padding:7px 8px calc(7px + env(safe-area-inset-bottom));margin:0;border-top:1px solid #2a2d33}.nav-btn{white-space:nowrap;min-width:max-content;padding:9px 11px;font-size:12px}.topbar-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.topbar-actions #globalLocationFilter{grid-column:1 / -1}.topbar-actions .btn{width:100%}.card{padding:14px;border-radius:14px}.metric{padding:14px}.metric strong{font-size:21px}.camera-button{width:100%;justify-content:center}.capture-box .btn.secondary{width:100%}dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0}.modal-form{min-height:100dvh;padding:16px 14px 32px}.modal-head{position:sticky;top:0;background:white;z-index:2;padding-bottom:10px}.modal-actions{position:sticky;bottom:0;background:white;padding:12px 0 calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.modal-actions .btn{flex:1}.preview{max-height:36vh}.table-wrap{margin-left:-14px;margin-right:-14px;border-left:0;border-right:0;border-radius:0}}
.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px}.check-grid label{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border,#ddd);border-radius:8px}.access-note{font-size:12px;opacity:.75}.received-badge{font-weight:700}.permission-denied{padding:20px;text-align:center}.stock-items{white-space:pre-line;margin:6px 0}.nav-btn.permission-hidden{display:none!important}@media(max-width:700px){#currentUserSelect{max-width:150px}.check-grid{grid-template-columns:1fr}}
.stock-photo-rows{display:grid;gap:8px;margin:12px 0}.stock-photo-rows .item-row{grid-template-columns:minmax(0,2fr) minmax(80px,.7fr) minmax(80px,.8fr)}
@media (max-width:720px){.stock-photo-rows .item-row{grid-template-columns:1fr 90px 90px}.filters.four{grid-template-columns:1fr 1fr}.table-wrap table{min-width:850px}}

/* Authentication */
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#0d0f12 0%,#181b20 58%,#2a1016 100%)}
.auth-card{width:min(460px,100%);background:#fff;border-radius:22px;padding:26px;box-shadow:0 30px 90px #0008}
.auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:24px}.auth-brand img{width:76px;height:76px;object-fit:contain;border-radius:14px;background:#000}.auth-brand h1{margin:0;font-size:25px}.auth-brand p{margin:5px 0 0;color:var(--muted);font-size:12px}.auth-card h2{margin:0 0 6px}.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:10px}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:18px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.google-btn{width:100%;background:#fff;border:1px solid var(--line);color:#202124}.auth-note{font-size:11px;line-height:1.5;color:var(--muted);margin:12px 0 0}.auth-message{min-height:20px;margin:12px 0 0;font-size:13px;font-weight:700}.auth-message.error{color:var(--red)}.auth-message.success{color:var(--green)}.auth-hidden{display:none!important}.user-chip{max-width:230px;padding:9px 12px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:12px;line-height:1.25}.user-chip strong{display:block}.pending-badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#fff8ec;color:#9a5a00;font-size:11px;font-weight:800}.user-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.user-actions .link-btn{font-size:12px}.btn.danger{background:#fff;color:var(--red);border:1px solid #f1b7c1}
@media(max-width:560px){.auth-screen{padding:12px}.auth-card{padding:18px;border-radius:16px}.auth-brand img{width:60px;height:60px}.topbar-actions #loggedInUser{grid-column:1/-1;max-width:none}.topbar-actions #logoutBtn{grid-column:1/-1}}

/* #006 login-to-dashboard interface fix */
body.auth-active{overflow:hidden!important;height:100dvh!important}.auth-screen{position:fixed;inset:0;z-index:1000;min-height:100dvh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.auth-screen.hidden{display:none!important}#dashboard{scroll-margin-top:0}.app-shell:not(.auth-hidden){min-height:100dvh}

/* v7 task-first dashboard + inventory controls */
.action-launcher{padding:20px}.launch-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.launch-card{border:1px solid #dde1e7;background:#fff;border-radius:18px;padding:22px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:7px;box-shadow:0 6px 18px rgba(0,0,0,.04)}.launch-card:hover{border-color:#d90429;transform:translateY(-1px)}.launch-icon{font-size:30px}.launch-card strong{font-size:18px}.launch-card small{color:#667085}.audit-lock{opacity:.65}.btn.danger{background:#b42318;color:#fff;border-color:#b42318}
@media(max-width:760px){.launch-actions{grid-template-columns:1fr}.action-launcher{padding:16px}.launch-card{padding:18px}}

/* #010 user approval UX */
.approval-banner{border:2px solid rgba(197,126,30,.35);margin-bottom:18px}.approval-row{align-items:center}.approval-focus{outline:3px solid rgba(197,126,30,.28);outline-offset:8px;border-radius:12px}.hidden{display:none!important}#userApprovalStatus{min-height:20px}.btn:disabled{opacity:.6;cursor:not-allowed}
.scan-quality{margin-top:10px;padding:10px 12px;border:1px solid #d7d7d7;border-radius:10px;background:#fafafa;font-weight:600}.smart-item-row{display:grid;grid-template-columns:minmax(180px,2fr) 80px 90px 100px 100px 150px 40px;gap:8px;align-items:center}.smart-item-row.needs-review{background:#fff8d8;padding:8px;border-radius:10px;border:1px solid #eadb8b}@media(max-width:760px){.smart-item-row{grid-template-columns:1fr 80px 90px}.smart-item-row .item-category{grid-column:1/3}.smart-item-row button{grid-column:3}.smart-item-row .item-line-total{grid-column:2}.smart-item-row .item-unit-price{grid-column:1}}

/* 013 Operations UI */
.launch-disabled{display:none!important}.nav-section-label{padding:18px 12px 7px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#8995a5;font-weight:800}.ops-hero{background:linear-gradient(150deg,#072b4d,#0c4f78);border-radius:24px;padding:24px;color:#fff;box-shadow:0 16px 40px rgba(5,35,64,.18)}.ops-greeting span{font-size:12px;font-weight:900;letter-spacing:.1em;color:#57a8ff}.ops-greeting h2{font-size:28px;margin:5px 0 2px}.ops-greeting p{margin:0 0 18px;color:#dbefff}.ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ops-tile{border:0;border-radius:18px;padding:22px 16px;color:#fff;text-align:left;min-height:142px;box-shadow:inset 0 1px rgba(255,255,255,.25),0 7px 18px rgba(0,0,0,.12);cursor:pointer}.ops-tile span{display:block;font-size:30px;margin-bottom:14px}.ops-tile strong{display:block;font-size:17px}.ops-tile small{display:block;margin-top:5px;opacity:.9;line-height:1.3}.tile-blue{background:linear-gradient(145deg,#1680f4,#0861d7)}.tile-green{background:linear-gradient(145deg,#24c76c,#0e9e50)}.tile-orange{background:linear-gradient(145deg,#ff9e2c,#ef7415)}.tile-purple{background:linear-gradient(145deg,#8067e9,#6246cf)}.tile-red{background:linear-gradient(145deg,#ff5b5b,#e63842)}.tile-teal{background:linear-gradient(145deg,#23b9c6,#0a8f9f)}
@media(max-width:760px){.sidebar{display:none}.main{margin:0;padding:0 0 82px}.topbar{position:sticky;top:0;z-index:20;background:#07375d;color:#fff;padding:14px 16px;border-radius:0}.topbar p,.topbar .user-chip{color:#d8ecff}.topbar-actions select,.topbar-actions #exportBtn,.topbar-actions #newInvoiceBtn{display:none!important}.topbar-actions{gap:6px}.topbar-actions #logoutBtn{font-size:12px;padding:8px}.view{padding:14px}.ops-hero{margin:-14px -14px 0;border-radius:0 0 24px 24px;padding:18px 14px 22px}.ops-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ops-tile{min-height:128px;padding:17px 13px}.ops-tile strong{font-size:15px}.ops-tile small{font-size:11px}.metrics.six{grid-template-columns:repeat(2,1fr)}.grid.two{grid-template-columns:1fr}.core-nav{display:flex!important;position:fixed;z-index:40;left:0;right:0;bottom:0;height:68px;background:#fff;border-top:1px solid #dde4ec;box-shadow:0 -5px 20px rgba(0,0,0,.08);padding:5px 4px;overflow:visible}.core-nav .nav-btn{display:none!important}.core-nav .nav-btn[data-view="dashboard"],.core-nav .nav-btn[data-view="orderinventory"],.core-nav .nav-btn[data-view="stock"],.core-nav .nav-btn[data-view="invoices"],.core-nav .nav-btn[data-view="equipment"],.core-nav .nav-btn[data-view="reports"]{display:flex!important;flex:1;min-width:0;align-items:center;justify-content:center;text-align:center;padding:5px 2px;font-size:10px;border-radius:10px;color:#667085;background:transparent}.core-nav .nav-btn.active{color:#0874e8;background:#eef6ff}.core-nav .nav-section-label{display:none}.card{border-radius:16px}.auth-card{margin:14px}.auth-brand img{max-width:80px}.auth-links{justify-content:center}}

/* 019: visible invoice upload action on manager/mobile screens */
.invoice-action-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.invoice-action-card h2{margin:0 0 5px}.invoice-upload-btn{white-space:nowrap;min-height:48px}@media(max-width:760px){.invoice-action-card{display:block}.invoice-action-card .invoice-upload-btn{display:block;width:100%;margin-top:12px;font-size:16px;min-height:54px}}

/* v020 navigation fix */
.page-back-btn{margin-bottom:12px;display:inline-flex;align-items:center;gap:6px}
@media (max-width:700px){.invoice-action-card{align-items:stretch}.page-back-btn{width:max-content}.invoice-upload-btn{width:100%;min-height:52px}}

.simple-action-page{max-width:980px;margin:0 auto}.simple-action-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.order-add-row{display:grid;grid-template-columns:minmax(220px,1fr) 100px 120px auto;gap:10px;align-items:center}.simple-order-list{border:1px solid var(--border,#ddd);border-radius:14px;overflow:hidden}.simple-order-row{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border,#eee)}.simple-order-row:last-child{border-bottom:0}.simple-order-row small{display:block;color:#6b7280;margin-top:3px}.action-row{display:flex;gap:10px;justify-content:flex-end}.inventory-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.inventory-action-card{min-height:132px;text-align:left;border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:6px;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.04)}.inventory-action-card span{font-size:28px}.inventory-action-card strong{font-size:18px}.inventory-action-card small{color:#6b7280;line-height:1.35}@media(max-width:720px){.order-add-row{grid-template-columns:1fr 88px}.order-add-row select,.order-add-row button{width:100%}.inventory-action-grid{grid-template-columns:1fr}.action-row{flex-direction:column}.action-row .btn{width:100%}}

/* #022 fast invoice capture */
.invoice-capture-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.invoice-capture-actions .btn{min-height:46px}.scan-quality.processing{background:#eef6ff;border-color:#8dc2ff;color:#07375d}@media(max-width:760px){.invoice-capture-actions{width:100%}.invoice-capture-actions .btn{flex:1 1 100%;font-size:15px;padding:14px 16px}}

/* RestroTrack #026 workflow hardening + AnyList-inspired ordering */
.global-main-menu{margin:0 0 14px 0}
.table-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.danger-text{color:#b42318!important}
.anylist-search-row{display:grid;grid-template-columns:minmax(220px,1fr) 90px 110px auto;gap:8px;align-items:center}
.quick-pick-panel{display:grid;gap:10px;padding:4px 0 8px}
.quick-chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}
.quick-item-chip{border:1px solid #d8dee4;background:#fff;border-radius:999px;padding:8px 11px;font:inherit;cursor:pointer}
.quick-item-chip:hover{background:#f5f7f8}
.order-category{border-top:1px solid #eceff1;padding-top:8px;margin-top:8px}
.order-category h4{margin:4px 0 6px;color:#59636e;font-size:.83rem;text-transform:uppercase;letter-spacing:.04em}
.anylist-row{display:grid;grid-template-columns:34px minmax(130px,1fr) 76px 94px auto auto;gap:7px;align-items:center;padding:8px 0;border-bottom:1px solid #f0f2f3}
.order-check{width:30px;height:30px;border-radius:50%;border:1px solid #cad1d8;background:#fff;cursor:pointer}
.order-item-main{display:grid;gap:2px}.order-item-main small{color:#69737d}.crossed{text-decoration:line-through;opacity:.55}
.order-inline-qty,.order-inline-unit{min-width:0}
.top-gap-sm{margin-top:6px}
.item-name-wrap{display:grid;gap:3px;min-width:180px}.raw-desc,.matched-item{font-size:.72rem;color:#667085}.learn-item-btn{border:0;background:#fff3cd;color:#7a4f00;border-radius:6px;padding:4px 7px;text-align:left;cursor:pointer;font-size:.72rem}
.master-item-list{display:grid;gap:9px}.master-item-card{display:flex;justify-content:space-between;gap:12px;border:1px solid #e4e7ec;border-radius:12px;padding:12px;background:#fff}
@media(max-width:760px){.anylist-search-row{grid-template-columns:1fr 74px 88px}.anylist-search-row .btn{grid-column:1/-1}.anylist-row{grid-template-columns:32px minmax(110px,1fr) 70px 84px}.anylist-row .link-btn{font-size:.78rem}.master-item-card{align-items:flex-start}.smart-item-row{grid-template-columns:1fr 70px 90px!important}.item-name-wrap{grid-column:1/-1}}

.itemdb-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}.itemdb-tab.active{background:#173f2a;color:#fff;border-color:#173f2a}.itemdb-panel.hidden{display:none!important}.build-badge{font-size:.68rem;margin-left:7px;padding:2px 6px;border-radius:999px;background:#eef2f0;color:#416053}.top-gap{margin-top:12px}

.master-item-card{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center}.master-thumb{width:52px;height:52px;border-radius:12px;background:#eef5ed;display:grid;place-items:center;font-size:24px;cursor:pointer}.master-thumb.empty{opacity:.65}.master-item-main{min-width:0}.photo-list{display:flex;flex-wrap:wrap;gap:8px}.photo-chip{border:1px solid #dfe6df;border-radius:10px;padding:6px 8px;background:#fff}.vendor-variant-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eee}.invoice-detail-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px}.invoice-detail-summary>div{background:#f7f9f7;padding:10px;border-radius:10px}.invoice-detail-summary small,.invoice-detail-summary strong{display:block}.item-row{grid-template-columns:minmax(180px,2fr) 76px 90px 100px 100px 130px minmax(150px,1fr) 40px!important}@media(max-width:760px){.item-row{grid-template-columns:1fr 70px 82px!important}.item-row .item-unit-price,.item-row .item-line-total,.item-row .item-category,.item-row .item-location{grid-column:span 1}.master-item-card{grid-template-columns:48px 1fr}.master-item-card>div:last-child{grid-column:1/-1}}

/* Build 035: ordering + receiving workflow */
.order-live-suggestions{border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 30px #0002;overflow:hidden;margin-top:-4px;max-height:320px;overflow-y:auto;position:relative;z-index:8}.order-suggestion-row{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.order-suggestion-row:last-child{border-bottom:0}.order-suggestion-row:hover{background:#f7f8fa}.order-suggestion-row>div{display:grid;grid-template-columns:42px 1fr;align-items:center;column-gap:10px}.order-suggestion-row img{width:42px;height:42px;object-fit:cover;border-radius:8px;grid-row:1/3}.order-suggestion-row strong,.order-suggestion-row small{grid-column:2}.order-suggestion-row span{font-weight:800;color:var(--red);white-space:nowrap}.receiving-lines{display:grid;gap:8px;margin-top:12px}.receiving-line{display:grid;grid-template-columns:minmax(220px,1fr) 100px 130px minmax(160px,1fr);gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px}.receiving-line>div{display:grid}.receiving-line small{color:var(--muted)}.modal-form{max-height:92vh;overflow-y:auto}.invoice-table-wrap{overflow:auto}.service-row.receiving-card{overflow:visible}@media(max-width:760px){.receiving-line{grid-template-columns:1fr 90px}.receiving-line select,.receiving-line input:last-child{grid-column:auto}.modal-form{height:100dvh;max-height:100dvh;overflow-y:auto}}

/* Build 036 usability + reports */
dialog[open]{overflow:hidden}#invoiceDialog .modal-form,#itemDetailDialog .modal-form,#reviewItemDialog .modal-form{max-height:min(92vh,900px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#invoiceDialog{max-height:96vh;overflow:hidden}.review-source-box{display:grid;gap:4px;background:#fff8e6;border:1px solid #f1d28a;border-radius:12px;padding:14px;margin:16px 0}.review-source-box small{color:var(--muted)}.category-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.category-report-card{border:1px solid var(--line);border-radius:12px;padding:14px}.category-report-card span{display:block;color:var(--muted);font-size:12px}.category-report-card strong{display:block;margin-top:6px;font-size:20px}.score-badge{display:inline-flex;min-width:34px;height:34px;border-radius:999px;align-items:center;justify-content:center;font-weight:900;background:#eef2f7}.score-a{background:#e4f7ec;color:#16794b}.score-b{background:#eef6ff;color:#1267ad}.score-c{background:#fff7df;color:#8b6500}.score-d,.score-f{background:#fff0f2;color:#b42336}.order-request-card{align-items:flex-start}.order-request-items{margin-top:6px;line-height:1.5}.transfer-value-note{font-size:12px;color:var(--muted)}@media(max-width:760px){.category-report-grid{grid-template-columns:1fr 1fr}#invoiceDialog .modal-form,#itemDetailDialog .modal-form,#reviewItemDialog .modal-form{max-height:100dvh;height:100dvh}.report-score-table{min-width:800px}}

/* Build 040: restore reliable page/modal scrolling */
html, body { min-height: 100%; overflow-x: hidden; overflow-y: auto !important; }
body:not(.auth-active) { height: auto !important; min-height: 100vh; }
.app-shell { min-height: 100vh; height: auto; overflow: visible; }
.main { min-height: 100vh; overflow: visible; }
.view.active { overflow: visible; }
#invoiceDialog[open], #invoiceDetailsDialog[open], #itemDetailDialog[open], #reviewItemDialog[open] {
  overflow: hidden;
}
#invoiceDialog .modal-form, #invoiceDetailsDialog > *, #itemDetailDialog .modal-form, #reviewItemDialog .modal-form {
  max-height: 92vh;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
@media (max-width:760px){
  #invoiceDialog .modal-form, #itemDetailDialog .modal-form, #reviewItemDialog .modal-form {
    height: 100dvh;
    max-height: 100dvh;
    overflow-y: auto !important;
    padding-bottom: 110px;
  }
}

.monthly-count-list{display:grid;gap:8px;margin-top:12px;max-height:440px;overflow:auto;padding-right:4px}.monthly-count-row{display:grid;grid-template-columns:minmax(220px,1fr) 130px 70px;gap:10px;align-items:center;border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#fff}.monthly-count-row small{display:block;color:#667085;margin-top:3px}.monthly-count-input{width:100%}.compact-banner{padding:8px 10px;margin-top:8px}.transfer-suggestion{margin-top:10px;padding:10px;border:1px solid #f0c36d;background:#fff8e6;border-radius:10px}.transfer-suggestion>div{margin-top:6px}@media(max-width:700px){.monthly-count-row{grid-template-columns:1fr 100px 45px}}

/* Build 042: universal scroll safety */
html{height:auto!important;min-height:100%;overflow-y:auto!important;overscroll-behavior-y:auto}
body:not(.auth-active){position:static!important;height:auto!important;min-height:100vh!important;overflow-y:auto!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch}
.app-shell:not(.auth-hidden),.main,.view.active{height:auto!important;max-height:none!important;overflow:visible!important}
body.dialog-open{overflow:hidden!important}
dialog[open]{position:fixed!important;inset:2vh auto auto 50%;transform:translateX(-50%);max-height:96dvh!important;overflow:hidden!important}
dialog[open] .modal-form{max-height:96dvh!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:96px!important}
@media(max-width:760px){dialog[open]{inset:0!important;transform:none!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important}dialog[open] .modal-form{height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;padding-bottom:120px!important}.view.active{padding-bottom:100px!important}}
.build-marker{font-size:11px;font-weight:800;border:1px solid currentColor;border-radius:999px;padding:5px 8px;opacity:.8;white-space:nowrap}

/* Build 043: beta hard-scroll and location hydration safety */
html,body{height:auto!important;min-height:100%!important;max-height:none!important;overflow-x:hidden!important;overflow-y:scroll!important;touch-action:pan-y!important}
body:not(.auth-active){position:static!important;inset:auto!important}
.app-shell:not(.auth-hidden),.main,.view,.view.active{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
#locations .grid.two{align-items:start}
#locationList{min-height:80px}
@media(max-width:760px){html,body{overflow-y:scroll!important}.main{min-height:calc(100dvh - 68px)!important;padding-bottom:120px!important}.view.active{padding-bottom:140px!important}}

/* Build 044: master-item purchase intelligence */
.item-purchase-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.item-purchase-metric{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#f8faf9}.item-purchase-metric span{display:block;color:#667085;font-size:12px}.item-purchase-metric strong{display:block;font-size:20px;margin-top:5px}.item-history-table{min-width:980px}.price-up{color:#b42318;font-weight:800}.price-down{color:#137a4a;font-weight:800}.price-flat{color:#667085}.vendor-price-meta{display:block;margin-top:3px;color:#667085}.vendor-price-main{font-weight:800}.vendor-variant-row{align-items:flex-start}@media(max-width:760px){.item-purchase-summary{grid-template-columns:1fr 1fr}}
/* RestroTrack #045 report intelligence */
.report-toolbar{position:sticky;top:0;z-index:4}.report-filter-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:12px;align-items:end}.report-filter-grid label{display:grid;gap:6px;font-size:12px;font-weight:700}.report-filter-grid select,.report-filter-grid input{min-height:44px}.report-custom-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.report-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.report-metrics .metric small{display:block;margin-top:6px;font-size:11px}.category-report-card{width:100%;text-align:left;background:#fff;cursor:pointer}.category-report-card:hover,.category-report-card.selected{border-color:#4d8df7;box-shadow:0 0 0 2px rgba(77,141,247,.10)}.segmented{display:flex;gap:6px}.segmented .active{background:#1769e0;color:#fff;border-color:#1769e0}.item-report-table{min-width:1180px}.item-report-table th,.item-report-table td{padding:11px 10px}.item-report-row{cursor:pointer}.item-report-row:hover{background:#f5f9ff}.week-chip{display:inline-flex;min-width:34px;height:30px;align-items:center;justify-content:center;border-radius:8px;background:#eaf3ff;color:#1459b8;font-weight:800}.trend-up{color:#d92d20;font-weight:800}.trend-down{color:#14804a;font-weight:800}.clickable-report-row{cursor:pointer}.clickable-report-row:hover{background:#f6f9fc}.item-report-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.detail-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:16px 0}.detail-kpis>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fbff}.detail-kpis span{display:block;font-size:11px;color:var(--muted)}.detail-kpis strong{display:block;margin-top:5px;font-size:18px}.report-detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.week-box-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.week-box{display:grid;gap:5px;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}.week-box small{color:var(--muted)}.week-box strong{font-size:17px}
@media(max-width:1000px){.report-filter-grid{grid-template-columns:1fr 1fr}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.report-detail-grid{grid-template-columns:1fr}}
@media(max-width:680px){.report-filter-grid{grid-template-columns:1fr}.report-metrics{grid-template-columns:1fr 1fr}.detail-kpis{grid-template-columns:1fr 1fr}.week-box-grid{grid-template-columns:1fr 1fr}.report-toolbar{position:static}}

/* 047 mobile navigation + owner dashboard cleanup */
.compat-global-filter{display:none!important}
.compact-topbar-actions{flex-wrap:wrap}
.owner-dashboard-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px}.owner-dashboard-head h2{font-size:28px;margin:4px 0}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em;color:#667085}.owner-alert-card{border-color:#d7e7fb;background:#fbfdff}.owner-alert-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.owner-alert{border:1px solid #dce7f5;border-radius:12px;padding:13px;background:#fff;display:grid;gap:4px}.owner-alert strong{font-size:24px}.owner-alert small{color:#667085;font-weight:700}.owner-performance-table{min-width:930px}.owner-performance-table tbody tr{cursor:pointer}.owner-performance-table tbody tr:hover{background:#f6f9fc}
.mobile-bottom-nav,.mobile-more-sheet{display:none}
@media(max-width:900px){
  .app-shell{display:block!important}.sidebar{display:none!important}.main{padding:14px 12px 104px!important;min-height:100dvh}.topbar{position:sticky;top:0;z-index:35;background:var(--bg);padding:8px 0 10px;margin-bottom:10px;flex-direction:row;align-items:center}.topbar>div:first-child{min-width:0}.topbar h1{font-size:22px}.topbar p{display:none}.compact-topbar-actions{width:auto!important;margin-left:auto;display:flex!important;align-items:center;gap:6px}.compact-topbar-actions .user-chip{display:none}.compact-topbar-actions #logoutBtn{padding:8px 10px;font-size:12px}.build-marker{font-size:10px;white-space:nowrap}
  .mobile-bottom-nav{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;z-index:80;left:0;right:0;bottom:0;background:#0d0f12;border-top:1px solid #2b2f36;padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px #0002}.mobile-nav-btn{border:0;background:transparent;color:#b8bec7;display:grid;place-items:center;gap:2px;padding:6px 2px;min-width:0}.mobile-nav-btn span{font-size:19px;line-height:1}.mobile-nav-btn small{font-size:9px;font-weight:800;white-space:nowrap}.mobile-nav-btn.active{color:#fff;background:#20242a;border-radius:10px}
  .mobile-more-sheet{display:block;position:fixed;z-index:95;left:10px;right:10px;bottom:calc(74px + env(safe-area-inset-bottom));max-height:70dvh;overflow:auto;background:#fff;border:1px solid #dfe3e8;border-radius:18px;padding:14px;box-shadow:0 24px 70px #0006}.mobile-more-sheet.hidden{display:none}.mobile-more-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mobile-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-more-grid button{border:1px solid #e1e5ea;background:#fff;border-radius:12px;text-align:left;padding:13px;font-weight:800;color:#1f2937}
  body{padding-bottom:0!important}.owner-alert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-dashboard-head h2{font-size:24px}.metrics.six{grid-template-columns:1fr 1fr}.owner-dashboard .grid.two{grid-template-columns:1fr}.global-main-menu{display:none!important}
}
@media(max-width:420px){.mobile-nav-btn small{font-size:8px}.mobile-nav-btn span{font-size:18px}.owner-alert-grid{grid-template-columns:1fr 1fr}}

/* 048: readable purchase metrics at every screen size */
.master-item-card{padding:20px;gap:18px;align-items:start}
.master-item-main{min-width:0}.master-item-main>strong{font-size:18px}
.master-price-row{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:14px;font-size:17px;line-height:1.5}
.master-price-row>span{display:flex;flex-direction:column;min-width:110px;gap:3px}
.master-price-row b{font-size:14px;font-weight:600}
.master-price-row .delta-up{color:#b42318;font-weight:700}
.master-price-row .delta-down{color:#137333;font-weight:700}
.master-price-row .delta-flat{color:#202124}
.order-item-main small{display:block;white-space:normal;line-height:1.6;font-size:15px;margin-top:6px}
@media(max-width:600px){.master-item-card{flex-wrap:wrap;padding:16px}.master-item-main{flex:1;min-width:200px}.master-price-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.master-price-row>span{min-width:0}.compact-topbar-actions{flex-wrap:wrap}}

/* Reports keep item quantities close to their filters. */
.report-toolbar{position:sticky;top:0;z-index:5;background:white}.report-toolbar .card-head{margin-bottom:12px}.invoice-case-count{display:flex;flex-direction:column;font-size:13px;gap:4px;margin-top:8px}.item-report-table th{white-space:normal;min-width:90px}.item-report-table th:first-child{min-width:180px}

.master-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:18px 0}.master-filter-bar>label{display:grid;gap:6px;min-width:220px}.master-filter-bar details{border:1px solid #d8dee5;border-radius:10px;padding:12px;min-width:240px}.master-filter-bar summary{cursor:pointer;font-weight:600}.master-item-choices{max-height:280px;overflow:auto;display:grid;gap:12px;margin-top:12px}.master-item-choices label{display:flex;align-items:center;gap:10px;font-size:16px}.master-item-choices input{width:20px;height:20px;flex:none}.master-category-button{width:100%;text-align:left;background:white;cursor:pointer;font:inherit}.master-category-button:hover{background:#edf5ff}@media(max-width:600px){.master-filter-bar>label,.master-filter-bar details{width:100%;min-width:0}}

.invoice-check{padding:16px;margin:16px 0;border:1px solid #d1d5db;border-radius:10px;line-height:1.7;white-space:pre-line}.check-error{border-color:#b42318;background:#fff4f2;color:#8a1c13}.check-ok{border-color:#137333;background:#f0fdf4;color:#125b2a}.invoice-notifications{margin-bottom:18px;border-left:5px solid #1565c0;display:grid;gap:10px}.invoice-notifications.hidden{display:none}#stockReceiveSection{display:none!important}


/* Build 053 — low-effort ordering, cash custody, cleaning & safety */
.order-capture-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.order-capture-btn{min-height:104px;border:1px solid var(--border,#d9dde4);border-radius:16px;background:var(--card,#fff);padding:14px;text-align:left;display:flex;flex-direction:column;gap:5px;cursor:pointer;color:inherit}
.order-capture-btn span{font-size:24px}.order-capture-btn strong{font-size:15px}.order-capture-btn small{color:#6b7280;line-height:1.25}.order-capture-btn input{display:none}
.order-bulk-panel{border:1px solid var(--border,#d9dde4);border-radius:14px;padding:14px}.order-help-text{margin:0}
.cash-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.cash-meter-card{border:1px solid var(--border,#d9dde4);border-radius:16px;padding:16px}.cash-meter-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.cash-meter-top strong,.cash-meter-top small{display:block}.cash-meter-value{font-size:25px;font-weight:800}.cash-meter-bar{height:8px;border-radius:99px;background:#e5e7eb;overflow:hidden;margin:12px 0}.cash-meter-bar span{display:block;height:100%;background:#111827;border-radius:99px}
.safety-check-panel{margin-top:14px}.safety-check-card{border:1px solid var(--border,#d9dde4);border-radius:16px;padding:16px}.safety-check-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #eceff3}.safety-check-row input{margin-top:3px;min-width:20px;min-height:20px}
#teamScorecard053 table{width:100%;border-collapse:collapse}#teamScorecard053 th,#teamScorecard053 td{text-align:left;padding:10px;border-bottom:1px solid #e5e7eb}
@media(max-width:700px){.order-capture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-location-grid{grid-template-columns:1fr}.cash-meter-top{align-items:center}.cash-meter-value{font-size:22px}}


/* Build 054 — Item Intelligence */
.item-intelligence-filters{margin-top:12px}.intel-usage-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,180px);gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border,#e5e7eb)}.intel-usage-row:last-child{border-bottom:0}.intel-share{text-align:right}.intel-bar{height:7px;background:#eceff3;border-radius:999px;overflow:hidden;margin-top:5px}.intel-bar i{display:block;height:100%;background:currentColor;border-radius:999px;opacity:.6}@media(max-width:640px){.intel-usage-row{grid-template-columns:1fr}.intel-share{text-align:left}.item-intelligence-filters{grid-template-columns:1fr}}

/* Build 056 — owner control center */
.owner-control-grid056{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.owner-control-panel056{border:1px solid #dfe5ec;border-radius:16px;padding:16px;background:#fff;min-width:0}.owner-control-head056{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.owner-control-head056 h3{margin:3px 0 0}.owner-control-kpis056{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.owner-control-kpis056 span{border:1px solid #e5e7eb;border-radius:11px;padding:10px;min-width:0}.owner-control-kpis056 small{display:block;color:#667085;font-size:11px}.owner-control-kpis056 strong{display:block;margin-top:4px;font-size:18px;overflow-wrap:anywhere}.exception-kpis056{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-control-list056{margin-top:10px;display:grid;gap:7px}.owner-control-list056>div{display:flex;justify-content:space-between;gap:10px;padding-top:7px;border-top:1px solid #eef1f4;font-size:13px}.owner-control-list056>div span{min-width:0;overflow-wrap:anywhere}.danger-text056{color:#b42318}.owner-control-center056 .btn{white-space:nowrap}@media(max-width:1100px){.owner-control-grid056{grid-template-columns:1fr}.owner-control-kpis056{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.owner-control-head056{display:grid}.owner-control-head056 .btn{width:100%}.owner-control-kpis056{grid-template-columns:1fr 1fr}.exception-kpis056{grid-template-columns:1fr 1fr}}
.invoice-photo-tips{margin:.55rem 0 .8rem;padding:.7rem .85rem;border:1px solid var(--border,#d7dce2);border-radius:10px;background:var(--card,#fff);font-size:.9rem;line-height:1.35}.invoice-total-locked{background:#f3f5f7!important;font-weight:700}.scan-quality .quality-tip{display:block;margin-top:.3rem;font-weight:600}

/* Build 059 */
.analysis-start059{display:flex;gap:.5rem;align-items:center;margin-top:.45rem;font-size:.85rem}.analysis-start059 input,.square-sync-start059{min-height:38px}.square-sync-controls059{flex-wrap:wrap}.square-sync-controls059 label{font-size:.8rem;color:var(--muted,#667085);display:flex;align-items:center;gap:.35rem}


/* Build 061 — owner performance dashboard */
@media(min-width:901px){.sidebar{position:sticky!important;top:0!important;height:100vh!important;align-self:start!important;z-index:30}}
.dashboard-head061{align-items:flex-start}.dashboard-period-wrap061{display:grid;gap:7px;justify-items:end;max-width:100%}.dashboard-period061{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;background:#eef2f6;border:1px solid #dce3ea;padding:5px;border-radius:13px}.dashboard-period061 button{border:0;background:transparent;color:#495366;border-radius:9px;padding:9px 11px;font-weight:800;font-size:12px;cursor:pointer}.dashboard-period061 button:hover{background:#fff}.dashboard-period061 button.active{background:#111827;color:#fff;box-shadow:0 2px 8px rgba(17,24,39,.18)}.dashboard-kpis061{grid-template-columns:repeat(6,minmax(0,1fr));margin:0 0 18px}.trend-metric061{min-height:135px;display:flex;flex-direction:column}.trend-metric061 strong{font-size:26px}.trend-line061{display:block;margin-top:auto;padding-top:12px;color:#667085;font-size:11px;line-height:1.45}.trend-chip061{display:inline-flex;align-items:center;white-space:nowrap;font-weight:900;border-radius:999px;padding:3px 7px;margin-right:3px}.trend-chip061.good{background:#e9f8ef;color:#147a3c}.trend-chip061.bad{background:#fff0f1;color:#b42318}.trend-chip061.flat{background:#f1f3f5;color:#667085}.performance-card061{border-color:#dfe6ee;box-shadow:0 1px 2px rgba(16,24,40,.03)}.performance-table061{min-width:1120px}.performance-table061 td{vertical-align:middle}.performance-table061 td:nth-child(3),.performance-table061 td:nth-child(6){min-width:145px}.performance-table061 small{color:#7b8494}.owner-control-center061{background:#fcfcfd}.cash-snapshot061{border-color:#cfe1f7;background:#fbfdff}@media(max-width:1250px){.dashboard-kpis061{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.dashboard-head061{display:grid;gap:12px}.dashboard-period-wrap061{justify-items:stretch}.dashboard-period061{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:4px}.dashboard-period061 button{white-space:nowrap}.dashboard-kpis061{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-metric061{min-height:124px}}@media(max-width:560px){.dashboard-kpis061{grid-template-columns:1fr 1fr;gap:10px}.trend-metric061{min-height:118px;padding:13px}.trend-metric061 strong{font-size:21px}.trend-line061{font-size:10px}.dashboard-period061 button{padding:8px 10px}}

/* Build 063 — fixed desktop app shell. Sidebar never moves with page content. */
@media (min-width:901px){
  html,body{height:100%!important;overflow:hidden!important}
  .app-shell:not(.auth-hidden){display:block!important;position:fixed!important;inset:0!important;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
  .sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:270px!important;height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;z-index:100!important}
  .main{position:fixed!important;left:270px!important;right:0!important;top:0!important;bottom:0!important;width:auto!important;height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;overflow-x:hidden!important;min-height:0!important;scrollbar-gutter:stable}
  .topbar{position:sticky;top:0;z-index:30;background:var(--bg);padding:8px 0 12px;margin-top:-8px}
}
.restaurant-profile-toolbar062{position:sticky;top:72px;z-index:8}.restaurant-selector-row062{display:grid;grid-template-columns:minmax(260px,520px) 1fr;gap:16px;align-items:end;margin-top:14px}.restaurant-selector-row062 label{display:grid;gap:6px;font-weight:800}.profile-subsection062{border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:12px;background:#fbfcfd}.profile-subsection062 p{margin:4px 0 0}.check-line062{display:flex!important;align-items:flex-start;gap:9px!important}.check-line062 input{width:18px;height:18px;margin-top:2px;flex:none}.profile-metrics062{grid-template-columns:1fr 1fr!important}.profile-metrics062 .metric{padding:14px}.profile-metrics062 .metric strong{font-size:20px}.restaurant-profile-list062{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.restaurant-profile-card062{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;color:inherit}.restaurant-profile-card062:hover,.restaurant-profile-card062.selected{border-color:#4d8df7;box-shadow:0 0 0 2px rgba(77,141,247,.1)}.restaurant-profile-card062 span:first-child{display:grid;gap:4px;min-width:0}.restaurant-profile-card062 small{display:block;color:var(--muted);font-weight:500;overflow-wrap:anywhere}.profile-card-kpi062{text-align:right;white-space:nowrap}.profile-card-kpi062 b{display:block;font-size:18px}.profile-save-actions062{position:sticky;bottom:0;background:#fff;padding:12px 0;border-top:1px solid var(--line)}.security-grid062{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.security-grid062>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafbfc}.security-grid062 small,.security-grid062 strong{display:block}.security-grid062 strong{margin-top:5px}.mfa-gate062,.session-lock062{position:fixed;inset:0;z-index:9999;background:rgba(7,16,26,.88);display:grid;place-items:center;padding:20px}.mfa-card062,.session-lock-card062{width:min(460px,95vw);background:#fff;border-radius:20px;padding:24px;box-shadow:0 30px 100px #0008}.mfa-card062 img{display:block;width:220px;max-width:100%;margin:16px auto;background:#fff;border:10px solid #fff}.mfa-secret062{word-break:break-all;background:#f4f6f8;border-radius:10px;padding:10px;font-family:ui-monospace,monospace;font-size:12px}.security-note062{border-left:4px solid #1769e0;padding:10px 12px;background:#f2f7ff;border-radius:8px}.scanner-readiness062{display:grid;gap:8px}
@media(max-width:900px){.restaurant-profile-toolbar062{position:static}.restaurant-selector-row062{grid-template-columns:1fr}.restaurant-profile-list062{grid-template-columns:1fr}.security-grid062{grid-template-columns:1fr 1fr}.restaurant-profile-grid062{grid-template-columns:1fr!important}}
@media(max-width:560px){.security-grid062{grid-template-columns:1fr}.profile-metrics062{grid-template-columns:1fr 1fr!important}.profile-save-actions062{bottom:74px}}

/* Build 063 — multiple sales sources */
.sales-source-list063{display:grid;gap:8px;margin-top:8px}.sales-source-row063{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff}.sales-source-row063 small{display:block;color:var(--muted);margin-top:3px}.sales-source-badge063{white-space:nowrap}.square-location-row.square-mapped{border-color:#b7dec5;background:#fbfffc}

/* Build 064 - MFA QR rendering hardening */
.mfa-qr-wrap064{display:flex;justify-content:center;align-items:center;margin:18px 0;min-height:220px}
.mfa-qr064{display:block;width:min(240px,72vw);height:auto;max-width:100%;background:#fff;padding:8px;border-radius:12px}

/* Build 066 Revision 3: Admin-only tips / combined sales visibility */
.admin-only-tips066.hidden { display: none !important; }

/* Build 067 totals and role visibility */
.report-total-row067 td{font-weight:700;border-top:2px solid #cbd5e1;background:#f8fafc;position:sticky;bottom:0;z-index:1}.permission-hidden{display:none!important}


/* Build 069 refresh feedback: visible motion + success state without browser popups. */
@keyframes restroRefreshSpin069{0%{transform:rotate(0deg) scale(1)}35%{transform:rotate(12deg) scale(1.04)}70%{transform:rotate(-10deg) scale(1.04)}100%{transform:rotate(0deg) scale(1)}}
@keyframes restroRefreshPulse069{0%,100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}50%{box-shadow:0 0 0 5px rgba(0,0,0,.08)}}
.refresh-active069{animation:restroRefreshSpin069 .48s ease-in-out infinite,restroRefreshPulse069 .7s ease-in-out infinite;pointer-events:none;opacity:.78}
.refresh-ok069{animation:restroRefreshPulse069 .45s ease-in-out}
.refresh-fail069{animation:restroRefreshSpin069 .28s ease-in-out 2}
.restro-toast069{position:fixed;right:18px;bottom:18px;z-index:10050;max-width:min(420px,calc(100vw - 36px));padding:12px 16px;border-radius:12px;background:#17251d;color:#fff;font-weight:700;box-shadow:0 10px 34px rgba(0,0,0,.22);opacity:0;transform:translateY(14px);pointer-events:none;transition:.2s ease}
.restro-toast069.error{background:#7d1f1f}.restro-toast069.show{opacity:1;transform:translateY(0)}


/* Build 070: Passkey / Face ID onboarding */
.passkey-login070{width:100%;margin-top:4px;font-weight:800}
.passkey-banner070{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 18px 0;padding:14px 16px;border:1px solid #b9d1ff;border-radius:14px;background:#f3f8ff;box-shadow:0 8px 24px rgba(22,72,140,.08)}
.passkey-banner070>div:first-child{display:grid;gap:4px}.passkey-banner070 strong{font-size:15px}.passkey-banner070 span{font-size:13px;color:var(--muted)}
.passkey-actions070{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:720px){.passkey-banner070{margin:10px 10px 0;align-items:stretch;flex-direction:column}.passkey-actions070{justify-content:stretch}.passkey-actions070 .btn{flex:1}}
