:root{--navy:#103e50;--dark:#0c2d3f;--teal:#0d5b68;--gold:#ffb513;--text:#24384a;--muted:#718195;--line:#e3eaf0;--bg:#f4f7fa;--blue:#268ff3;--red:#f14338;--green:#10b963;--purple:#6241ed;--orange:#ff941e;--magenta:#c92c95;--cyan:#0baeb8}
*{box-sizing:border-box}html{font-size:15px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text)}button,input,select,textarea{font:inherit}a{text-decoration:none;color:#176b9a}a:hover{text-decoration:underline}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3{line-height:1.2}h1{font-size:2.15rem;margin:8px 0 10px}h2{font-size:1.24rem;margin:0 0 18px}.muted{color:var(--muted);line-height:1.5}.eyebrow{font-size:.69rem;color:#428ba8;letter-spacing:.17em;font-weight:700}.brand{display:flex;flex-direction:column;gap:2px;color:white;line-height:1.0;white-space:nowrap}.brand strong{font-size:1.3rem;letter-spacing:-.03em}.brand strong span{font-weight:400}.brand small{font-size:.52rem;letter-spacing:.17em;font-weight:700}.brand-link{text-decoration:none!important}.scene-body{background:#0a2635}.scene{position:relative;min-height:100vh;overflow:hidden;color:white;isolation:isolate}.scenic{background:#183c50 url('pub-background.webp') center center/cover no-repeat}.scene-shade{position:absolute;inset:0;background:linear-gradient(135deg,rgba(14,29,54,.52),rgba(21,44,66,.26) 55%,rgba(12,23,43,.38));z-index:-1;pointer-events:none}.scene-nav{max-width:1260px;margin:0 auto;padding:36px 42px 16px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}.scene-nav .brand strong{font-size:1.45rem}.scene-actions{display:flex;align-items:center;gap:20px}.scene-actions a{color:white;font-size:.78rem}.scene-actions .scene-switch{font-weight:700;border:1px solid #ffffff77;padding:9px 13px;border-radius:20px;background:#ffffff12}.scene-username{font-size:.77rem;opacity:.9}.scene-logout{opacity:.85}.scene-footer{position:absolute;bottom:24px;left:max(42px,calc((100vw - 1176px)/2));color:#eee;font-size:.64rem;z-index:2;display:flex;gap:18px;opacity:.85}.corner-home{position:absolute;right:26px;top:22px;width:48px;height:48px;border:2px solid #f5ac13;border-radius:50%;background:#07495e;color:#f6b419;display:grid;place-items:center;font-size:37px;line-height:1;text-decoration:none!important;z-index:3}.corner-back{position:absolute;left:0;bottom:0;width:60px;height:60px;background:#06455a;color:#ffb80c;font-size:50px;line-height:1;display:grid;place-items:center;border-radius:0 40px 0 0;text-decoration:none!important}.location-content{width:min(1160px,calc(100% - 84px));margin:90px auto 140px;position:relative;z-index:2}.location-heading h1{font-size:1.85rem;font-weight:500}.location-heading p{margin:0 0 20px;font-size:.89rem;color:#ffffffcf}.location-search{width:100%;height:43px;border:1px solid #cdd7e0;border-radius:0;background:#fff;color:#182c41;padding:0 12px;box-shadow:0 3px 18px #0000001a}.location-cards{display:flex;flex-wrap:wrap;gap:16px;margin-top:17px;max-width:900px}.location-card{width:250px;min-height:140px;background:#cf625bca;color:white;transition:transform .14s,filter .14s}.location-card:hover{transform:translateY(-3px);filter:brightness(1.11)}.card-tone-0{background:#c85b5ccc}.card-tone-1{background:#7554c7d1}.card-tone-2{background:#218caace}.card-tone-3{background:#299a76ce}.card-tone-4{background:#cf8a23ce}.location-card form{height:100%}.location-card-button{display:flex;flex-direction:column;width:100%;height:100%;min-height:140px;text-align:left;padding:14px;color:white;background:transparent;border:0;align-items:flex-start}.location-card-button strong{font-weight:500;font-size:.99rem;margin-bottom:10px}.location-card-button span{font-size:.76rem}.location-card-button small{margin-top:auto;font-size:.68rem;letter-spacing:.05em;font-weight:700}.location-no-access{background:#123c51dc;padding:25px;max-width:440px;margin-top:18px}.dashboard-intro{text-align:center;margin:10px 0 -2px;position:relative;z-index:2}.dashboard-intro span{font-weight:700;letter-spacing:.2em;font-size:.67rem;opacity:.9}.dashboard-intro h1{font-size:1.5rem;letter-spacing:.01em;font-weight:400;margin:5px 0}.dashboard-intro p{font-size:.77rem;margin:0;color:#ffffffd1}.mosaic{width:min(770px,90vw);height:min(450px,calc(90vw * .585));position:relative;margin:26px auto 68px;z-index:2}.tile{position:absolute;display:flex;flex-direction:column;justify-content:space-between;color:white!important;padding:15px;font-size:1.1rem;font-weight:400;transition:filter .2s,transform .2s,box-shadow .2s;text-decoration:none!important;box-shadow:0 3px 12px #00000015}.tile:hover,.tile:focus-visible{filter:brightness(1.12);transform:translateY(-3px);box-shadow:0 14px 25px #00000030;z-index:3}.tile svg{position:absolute;top:16%;left:50%;width:43%;height:55%;transform:translateX(-50%);stroke:white}.tile span{position:absolute;bottom:12px;left:14px}.tile-orders{background:var(--blue);left:12%;top:15%;width:28%;height:46%;font-size:1.37rem}.tile-procurement{background:var(--red);left:40.4%;top:6%;width:20%;height:32%;font-size:.78rem}.tile-recipes{background:var(--green);left:60.9%;top:6%;width:20%;height:32%;font-size:.84rem}.tile-finance{background:var(--purple);left:40.4%;top:38.6%;width:28%;height:46%;font-size:1.35rem}.tile-admin{background:var(--cyan);left:68.8%;top:38.6%;width:18%;height:28%;font-size:.87rem}.tile-reports{background:var(--magenta);left:1%;top:61.6%;width:18%;height:28%;font-size:.83rem}.tile-stock{background:var(--orange);left:19.4%;top:61.6%;width:20.6%;height:34%;font-size:.84rem}.tile-procurement svg,.tile-recipes svg,.tile-admin svg,.tile-reports svg,.tile-stock svg{width:40%;height:49%;top:10%}
/* Workspace: the image-first Foodbuy entrypoint leads to practical data grids. */
.workspace-body{background:var(--bg)}.workspace{display:flex;min-height:100vh}.sidebar{width:244px;background:#12394b;color:#e7f4f9;flex-shrink:0;display:flex;flex-direction:column;padding:27px 16px 18px;min-height:100vh;position:sticky;top:0;height:100vh}.sidebar .brand-link{margin:1px 11px 27px}.sidebar .brand strong{font-size:1.13rem}.sidebar .brand small{font-size:.45rem}.sidebar-venue{background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;padding:15px 14px;margin-bottom:20px;display:flex;flex-direction:column;gap:7px}.sidebar-venue span{font-size:.57rem;letter-spacing:.15em;opacity:.67;font-weight:700}.sidebar-venue strong{font-size:.9rem}.sidebar-venue a{font-size:.72rem;color:#ffbe34}.side-links{display:flex;flex-direction:column;gap:3px}.side-links a{display:flex;gap:13px;align-items:center;padding:12px 13px;color:#e3eef3;font-size:.91rem;border-radius:7px}.side-links a:hover,.side-links a.current{background:#ffffff20;text-decoration:none}.side-links a.current{font-weight:700}.nav-pip{height:10px;width:10px;border-radius:2px;background:#fff}.pip-orders{background:var(--blue)}.pip-procurement{background:var(--red)}.pip-recipes{background:var(--green)}.pip-stock{background:var(--orange)}.pip-finance{background:var(--purple)}.pip-reports{background:var(--magenta)}.pip-admin{background:var(--cyan)}.sidebar-bottom{border-top:1px solid #ffffff24;display:flex;flex-direction:column;gap:9px;padding:16px 12px 0;margin-top:auto;font-size:.8rem}.sidebar-bottom a{color:#ffca58}.main{flex:1;min-width:0}.top-strip{display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line);padding:16px 31px;height:68px}.crumb{font-size:.8rem;font-weight:600;color:#7f8b9a}.crumb span{margin:0 8px;color:#b3bdc7}.home-button{background:#105168;color:#ffb91c;border:2px solid #ffb91c;border-radius:50%;font-size:30px;width:42px;height:42px;display:grid;place-items:center;text-decoration:none!important}.page-inner{padding:30px clamp(18px,3vw,44px) 70px;max-width:1450px;margin:0 auto}.page-title{display:flex;justify-content:space-between;margin-bottom:27px}.page-title h1{font-size:2rem;margin:8px 0 4px}.page-title p{margin:0}.panel{background:white;border:1px solid #e5eaf0;border-radius:10px;padding:22px 24px;margin:0 0 22px;box-shadow:0 2px 7px #11324f08;min-width:0}.panel>h2{margin-bottom:15px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.panel-heading h2{margin:0}.panel-heading>span{font-size:.78rem;color:var(--muted)}.action-bar{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.action-bar form{margin:0}.btn{border-radius:6px;padding:10px 15px;display:inline-flex;gap:12px;align-items:center;justify-content:center;border:1px solid transparent;white-space:nowrap;font-size:.84rem;font-weight:700;text-decoration:none!important;min-height:38px}.btn.primary{background:#145974;color:#fff}.btn.primary:hover{background:#0b485f}.btn.gold{background:#ffb619;color:#114154}.btn.subtle{background:#f1f5f7;border-color:#dce4eb;color:#25465b}.btn.danger{background:#fff0ed;color:#b63a37;border-color:#f8d6d0}.btn.small{min-height:31px;padding:6px 10px;font-size:.74rem}.btn.large{padding:13px 19px;font-size:.91rem}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat{border-radius:9px;padding:20px;background:white;border:1px solid #e5ebf0;display:flex;flex-direction:column;gap:9px}.stat span{color:#789;font-size:.8rem}.stat strong{font-size:1.8rem;font-weight:700;color:#173e51}.stat small{font-size:.72rem;color:#9aa7b6}.module-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.module-card{display:flex;flex-direction:column;gap:13px;background:#fff;padding:25px 18px;border:1px solid #e4eaee;border-radius:9px;color:var(--text)!important;text-decoration:none!important}.module-card:hover{border-color:#b1cedc;box-shadow:0 6px 16px #15516b12}.module-card strong{font-size:1.11rem}.module-card span{font-size:.77rem;color:#668095}.table-scroll{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;min-width:580px}th{text-align:left;font-size:.71rem;letter-spacing:.055em;color:#7a8b99;text-transform:uppercase;background:#f7f9fb;padding:14px 12px;border-bottom:1px solid var(--line)}td{font-size:.83rem;padding:14px 12px;border-bottom:1px solid #eef1f4;vertical-align:middle}td strong{color:#213c4e}td small{display:block;color:#9aa8b4;margin-top:5px;font-size:.72rem}tr:last-child td{border-bottom:0}.empty-table{color:#8693a0;text-align:center;padding:30px;font-style:italic}.filters{display:flex;gap:9px;margin:5px 0 16px}.filters input{flex:1}.filters select{max-width:245px}.panel-foot{display:flex;justify-content:flex-end;margin-top:15px}.pill{display:inline-block;padding:6px 9px;border-radius:20px;font-size:.7rem;font-weight:700;white-space:nowrap}.pill.good{color:#177c51;background:#e1f8ef}.pill.warn{color:#a27717;background:#fff2d0}.pill.bad{color:#ba4c47;background:#ffebea}.pill.info{color:#2773ae;background:#e9f4ff}.pill.neutral{background:#eef1f5;color:#596675}.inline-action{display:flex;align-items:center;gap:7px}.qty-input{width:94px!important;min-width:75px;padding:9px 7px!important}.order-meta{display:flex;gap:20px;flex-wrap:wrap;padding-bottom:14px;font-size:.84rem;color:#667e8e}.basket-total{display:flex;justify-content:flex-end;gap:28px;padding:20px 5px 21px;font-size:.86rem}.basket-total div{display:flex;flex-direction:column;color:#7f8e9e;gap:7px}.basket-total strong{font-size:1.15rem;color:#193a4f}.form-panel{max-width:900px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-stack{display:flex;flex-direction:column;gap:16px}.form-stack .two-col{margin:0}label{display:flex;flex-direction:column;gap:7px;font-size:.83rem;font-weight:700;color:#4d6576;margin-bottom:14px}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #d6e0e7;border-radius:6px;padding:12px;outline:none;background:white;color:#223b4e;max-width:100%;font-weight:400}input:focus,select:focus,textarea:focus{border-color:#419ac4;box-shadow:0 0 0 3px #2b95c11f}textarea{resize:vertical}.form-panel .btn{margin-top:11px}.hint{font-size:.77rem;color:#8a99a7;line-height:1.5}.alert{padding:14px 16px;border-radius:7px;font-size:.86rem;margin:15px 0 20px}.alert.error{background:#fff0ef;border:1px solid #ffc7c2;color:#a5362f}.alert.success{background:#e9f6ef;border:1px solid #aee2c3;color:#126a48}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check-label{display:flex;flex-direction:row;gap:9px;align-items:center}.check-label input{accent-color:#145974}.panel fieldset{border:1px solid var(--line);border-radius:8px;margin:12px 0 18px;padding:17px}.panel fieldset legend{font-weight:700;padding:0 9px;color:#3d6174}.mobile-menu{display:none}
/* Authentication and setup share the same hospitality photograph. */
.auth-body{min-height:100vh;background:linear-gradient(120deg,#0a243bb9,#10334780),url('pub-background.webp') center/cover fixed;display:flex;justify-content:center;align-items:center;padding:26px;color:white}.login-screen{width:100%;display:flex;align-items:center;justify-content:center;min-height:80vh;position:relative}.login-brand{position:absolute;top:10px;left:0}.login-panel{width:min(430px,100%);border-radius:11px;background:#ffffffed;color:#243b4d;padding:39px;box-shadow:0 18px 80px #0b223f6b}.login-panel h1{margin-bottom:4px}.login-panel p{font-size:.85rem;line-height:1.5;color:#718598}.login-panel .btn{width:100%}.login-helper{text-align:center;margin-top:23px}.login-footer{position:absolute;bottom:0;left:0;font-size:.72rem;opacity:.7}.install-card{width:min(680px,100%);background:#fff;color:#243b4d;padding:35px;border-radius:12px;box-shadow:0 24px 85px #08182895}.logo-stack{display:flex;gap:12px;align-items:center;margin-bottom:25px}.logo-mark{background:#12485d;color:white;border-radius:8px;width:44px;height:44px;display:grid;place-items:center;font-size:1.4rem;font-weight:800}.logo-stack strong{display:block;letter-spacing:.09em;color:#183e51}.logo-stack small{display:block;color:#7b8c9b;font-size:.7rem;margin-top:5px}.install-card h1{font-size:1.75rem}.install-card .form-stack{margin-top:25px}.install-card p.muted{font-size:.88rem}.section-label{font-size:.76rem;letter-spacing:.1em;color:#146b86;font-weight:800;border-top:1px solid #e8eef2;padding-top:16px;margin-top:6px}.setup-progress{height:6px;display:flex;gap:4px;margin-bottom:28px}.setup-progress span{background:#e2eaf0;flex:1;border-radius:10px}.setup-progress .done{background:#ffb611}.install-card input{padding:10px}.install-card .form-stack label{margin:0}.install-card .form-stack button{margin-top:8px}.install-card .hint{margin:0}
@media(max-width:900px){.sidebar{width:202px}.page-inner{padding:24px 20px 60px}.scene-nav{padding:28px 26px}.location-content{width:calc(100% - 54px);margin-top:95px}.module-links{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid{gap:10px}.stat{padding:15px}.stat strong{font-size:1.35rem}}
@media(max-width:650px){.scene-nav{padding:22px 18px;align-items:flex-start}.scene-nav .brand strong{font-size:1.05rem}.scene-actions{gap:8px}.scene-actions .scene-switch{font-size:.65rem;padding:7px 9px}.scene-username{display:none}.scene-logout{font-size:.66rem}.corner-home{display:none}.location-content{width:calc(100% - 36px);margin:65px auto 105px}.location-heading h1{font-size:1.5rem}.location-card{width:calc(50% - 8px);min-width:145px;min-height:130px}.location-card-button{min-height:130px;padding:12px}.location-card-button strong{font-size:.88rem}.scene-footer{left:19px;bottom:16px;font-size:.56rem;gap:8px}.dashboard-intro{margin:36px 0 19px}.dashboard-intro h1{font-size:1.4rem}.mosaic{display:grid;position:relative;width:calc(100% - 28px);height:auto;aspect-ratio:auto;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(118px,1fr);gap:8px;margin:0 auto 95px}.tile{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;min-height:120px!important;border-radius:1px;padding:10px;font-size:.91rem!important}.tile-orders,.tile-finance{grid-row:span 2;min-height:245px!important}.tile svg{width:50%;height:53%;top:15%}.tile span{bottom:10px;left:10px}.tile-reports{order:5}.tile-stock{order:6}.tile-finance{order:7}.tile-admin{order:8}.tile-orders{order:1}.tile-procurement{order:2}.tile-recipes{order:3}.tile-procurement svg,.tile-recipes svg,.tile-admin svg,.tile-reports svg,.tile-stock svg{width:44%;height:48%}.corner-back{width:45px;height:45px;font-size:38px}.sidebar{position:fixed;z-index:21;inset:0 auto 0 0;width:245px;transform:translateX(-101%);transition:transform .2s}.sidebar.menu-open{transform:translateX(0);box-shadow:6px 0 24px #0005}.main{width:100%}.mobile-menu{display:block;color:#145168;background:none;border:0;font-size:24px}.top-strip{padding:12px 17px;height:61px}.crumb{font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}.page-title h1{font-size:1.55rem}.page-title p{font-size:.85rem}.page-inner{padding:23px 14px 50px}.panel{padding:18px 13px}.summary-grid{grid-template-columns:1fr 1fr}.summary-grid .stat:last-child{grid-column:span 2}.module-links{grid-template-columns:1fr}.two-col{grid-template-columns:1fr;gap:0}.filters{flex-wrap:wrap}.filters input{flex-basis:100%}.filters select{flex:1;min-width:110px}.basket-total{gap:15px}.login-panel{padding:28px 22px}.login-brand{top:-10px}.login-screen{padding-top:60px}.install-card{padding:22px 18px}.install-card h1{font-size:1.47rem}}

/* v1.0.2: Approved dashboard utility navigation, retaining all mosaic positions and background. */
.scene-nav-brand{display:flex;align-items:center;gap:25px}.scene-hamburger{width:29px;height:29px;color:#fff;display:grid;place-items:center;padding:2px}.scene-hamburger:hover,.scene-icon:hover{color:#ffe1aa;text-decoration:none!important}.scene-icon{border:0;background:none;width:31px;height:31px;padding:2px;color:#fff;display:grid;place-items:center;flex-shrink:0;cursor:pointer}.scene-user{position:relative}.scene-user-menu{position:absolute;z-index:10;right:0;top:42px;width:195px;padding:14px;background:#082938;color:white;box-shadow:0 12px 26px #0005;border:1px solid #ffffff33;display:flex;flex-direction:column;gap:13px;font-size:12px}.scene-user-menu[hidden]{display:none}.scene-user-menu a{color:white}.scene-user-menu strong{padding-bottom:7px;border-bottom:1px solid #ffffff26;font-size:12px}.workspace-dir-menu{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;color:#164e68;margin-right:14px}.workspace-dir-menu svg{width:27px;height:27px}.workspace-dir-menu:hover{color:#268ff3}.top-strip .crumb{margin-right:auto}
@media(max-width:650px){.scene-nav-brand{gap:10px}.scene-hamburger{width:23px;height:23px}.scene-actions{gap:9px}.scene-icon{width:25px;height:25px}.scene-actions .scene-switch{font-size:9px;padding:6px 7px}.scene-nav .brand strong{font-size:1rem}.scene-nav .brand small{font-size:.4rem}}
