:root{color:#1c2822;background:#f4f0e7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{touch-action:manipulation}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(340px,1.05fr) minmax(420px,.95fr);background:#f4f0e7}.login-story{min-height:100vh;padding:clamp(32px,5vw,72px);color:#f9f7f0;background:radial-gradient(circle at 78% 12%,rgba(226,172,105,.22),transparent 31%),linear-gradient(145deg,#172f2a,#224a3e 58%,#7f512f 140%);display:flex;flex-direction:column;justify-content:space-between}.brand{display:flex;gap:13px;align-items:center}.brand-mark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:#fff;font:700 25px Georgia,serif;background:#a76b3d;box-shadow:0 10px 24px #4a27122e}.brand strong,.brand span{display:block}.brand strong{font:700 20px Georgia,serif}.brand span{opacity:.7;font-size:12px;margin-top:3px}.story-copy{max-width:680px}.eyebrow{color:#9b6236;font-size:12px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px}.eyebrow.light{color:#e6bd8b}.story-copy h1,.workspace h1{font:600 clamp(48px,7vw,86px)/.96 Georgia,serif;letter-spacing:-.035em;margin:0 0 25px}.story-copy>p:last-child{max-width:600px;font-size:19px;line-height:1.65;color:#ffffffbd}.story-status{font-size:13px;font-weight:700;color:#ffffffb3}.status-dot{width:9px;height:9px;display:inline-block;background:#87d799;border-radius:50%;margin-right:8px;box-shadow:0 0 0 5px #87d7991f}.login-panel{display:grid;place-items:center;padding:clamp(28px,6vw,90px)}.login-card{width:min(100%,470px)}.login-card h2{font:600 clamp(34px,4vw,48px)/1.05 Georgia,serif;margin:0 0 10px;letter-spacing:-.025em}.muted{color:#68746d;line-height:1.55}.login-card>.muted{margin-bottom:36px}label{display:grid;gap:9px;margin:18px 0}label>span{font-size:13px;font-weight:800}input,select,textarea{width:100%;min-height:58px;border:1px solid #c8cec8;border-radius:14px;background:#ffffffc7;color:#1c2822;padding:0 17px;outline:none;transition:border-color .15s,box-shadow .15s}textarea{min-height:100px;padding-top:15px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#8d5a34;box-shadow:0 0 0 4px #8d5a341f}.primary-button{border:0;border-radius:14px;min-height:59px;width:100%;padding:0 22px;background:#8d5a34;color:#fff;font-weight:850;cursor:pointer;box-shadow:0 12px 24px #5e361b29}.primary-button:hover:not(:disabled){background:#754727}.primary-button:disabled{opacity:.58;cursor:wait}.error-message,.error-panel{background:#fff0ed;border:1px solid #e6b5ab;color:#8e2f22;border-radius:12px;padding:13px 15px;line-height:1.45}.security-note{color:#7e8782;font-size:12px;text-align:center;margin-top:16px}.app-page{min-height:100vh;background:#f4f0e7}.app-header{min-height:84px;padding:16px clamp(22px,4vw,58px);background:#17342d;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:0 5px 18px #14302926}.header-context{display:flex;align-items:center;gap:18px;font-size:13px}.header-context>span{color:#ffffffa6}.text-button{min-height:42px;padding:0 14px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:11px;cursor:pointer}.location-tabs{display:flex;gap:8px;padding:14px clamp(22px,4vw,58px);border-bottom:1px solid #d6d6cd}.location-tabs button{border:0;border-radius:10px;padding:10px 15px;background:transparent;font-weight:750}.location-tabs button.active{background:#dfe9e2;color:#163a30}.workspace{max-width:1360px;margin:0 auto;padding:clamp(34px,5vw,70px)}.narrow-workspace{max-width:900px;display:grid;gap:35px}.large-copy{font-size:18px;max-width:720px}.opening-card{padding:clamp(25px,4vw,42px);background:#ffffffbd;border:1px solid #dddcd3;border-radius:24px;box-shadow:0 18px 42px #22302912}.money-input{position:relative}.money-input>span{position:absolute;left:18px;top:17px;font-weight:800}.money-input input{padding-left:39px;font-size:19px;font-weight:750}.ready-banner{background:linear-gradient(135deg,#193d34,#276251);color:#fff;border-radius:26px;padding:clamp(28px,5vw,55px);display:flex;align-items:end;justify-content:space-between;gap:28px;box-shadow:0 20px 50px #1d453a2e}.ready-banner h1{font-size:clamp(42px,6vw,72px);margin-bottom:18px}.ready-banner p:last-child{color:#ffffffb3;margin-bottom:0}.float-summary{min-width:190px;border-left:1px solid rgba(255,255,255,.2);padding-left:28px}.float-summary span,.float-summary strong{display:block}.float-summary span{color:#ffffffa6;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.float-summary strong{font:600 35px Georgia,serif;margin-top:8px}.service-heading{margin:52px 0 22px;display:flex;justify-content:space-between;align-items:end;gap:20px}.service-heading h2{font:600 38px Georgia,serif;margin:0}.build-badge,.live-badge{padding:8px 12px;background:#f1e0cd;color:#74451f;border-radius:99px;font-size:12px;font-weight:850}.live-badge{background:#dceadf;color:#215f3c}.order-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.order-mode{min-height:190px;text-align:left;border:1px solid #d9d8ce;background:#ffffffa1;border-radius:20px;padding:24px;color:#1c2822;cursor:pointer;transition:transform .14s,border-color .14s,box-shadow .14s}.order-mode:hover{transform:translateY(-3px);border-color:#a97851;box-shadow:0 14px 30px #32302617}.order-mode span{color:#a0673a;font:700 13px Georgia,serif}.order-mode strong,.order-mode small{display:block}.order-mode strong{font:600 29px Georgia,serif;margin:24px 0 8px}.order-mode small{color:#647069;font-size:13px;line-height:1.45}.next-step-note{color:#6c756f;font-size:13px;margin-top:16px}.secondary-button,.back-button{min-height:48px;border:1px solid #c9cec9;border-radius:12px;background:#fff;color:#25352e;padding:0 18px;font-weight:800;cursor:pointer}.back-button{white-space:nowrap}.order-topbar{display:flex;align-items:flex-start;gap:26px;margin-bottom:28px}.order-topbar h1{font-size:clamp(40px,6vw,68px);margin:0}.floor-workspace{max-width:1220px}.floor-shell{padding:22px;border:1px solid #dbd9ce;background:#e8e2d5;border-radius:26px;box-shadow:0 15px 38px #2b2e2714}.floor-canvas{position:relative;width:100%;border-radius:18px;overflow:hidden;background:linear-gradient(90deg,rgba(27,57,49,.035) 1px,transparent 1px),linear-gradient(rgba(27,57,49,.035) 1px,transparent 1px),#faf8f1;background-size:36px 36px}.floor-table{position:absolute;display:grid;place-content:center;border:2px solid #376c5e;border-radius:14px;background:#e1eee8;color:#173c32;cursor:pointer;box-shadow:0 6px 14px #1d453a1f}.floor-table.round{border-radius:999px}.floor-table:hover{background:#cfe5da;border-color:#1f5547}.floor-table strong,.floor-table small{display:block}.floor-table strong{font:700 clamp(16px,2vw,27px) Georgia,serif}.floor-table small{margin-top:4px;font-size:clamp(8px,1vw,12px)}.order-workspace{min-height:calc(100vh - 84px);background:#f4f0e7}.order-toolbar{min-height:72px;padding:11px clamp(18px,3vw,38px);display:flex;align-items:center;gap:20px;background:#fffdf8;border-bottom:1px solid #d8d8cf}.order-toolbar>div{display:grid;gap:2px}.order-toolbar>div span{color:#6b746e;font-size:12px}.saved-indicator{margin-left:auto;color:#4a775d;font-size:12px;font-weight:800}.recovery-banner{padding:11px 38px;background:#e4f0e8;color:#28553c;border-bottom:1px solid #c1d8c7;font-size:13px}.order-grid{display:grid;grid-template-columns:minmax(0,1fr) 410px;min-height:calc(100vh - 156px)}.menu-panel{padding:clamp(24px,3vw,42px);min-width:0}.customer-name-field{max-width:460px;margin:0 0 25px}.category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:33px}.category-tabs button{min-height:47px;padding:0 20px;border:1px solid #d2d3cb;border-radius:999px;background:#ffffffb8;color:#39483f;font-weight:800;cursor:pointer}.category-tabs button.active{background:#173e34;border-color:#173e34;color:#fff}.menu-heading{margin-bottom:20px}.menu-heading h1{font:600 clamp(39px,5vw,61px)/1 Georgia,serif;margin:0}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.menu-item{min-height:165px;padding:19px;text-align:left;border:1px solid #d9d8ce;border-radius:18px;background:#ffffffc7;color:#1c2822;cursor:pointer;display:flex;flex-direction:column;transition:border-color .14s,transform .14s,box-shadow .14s}.menu-item:hover{border-color:#987053;transform:translateY(-2px);box-shadow:0 10px 22px #2a2b2512}.menu-item>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.menu-item>div strong{font:600 22px/1.1 Georgia,serif}.menu-item>div span{color:#8d5a34;font-weight:900;white-space:nowrap}.menu-item p{color:#657069;line-height:1.45;font-size:13px}.menu-item small{margin-top:auto;color:#486257;font-size:11px;font-weight:750;line-height:1.4}.basket-panel{background:#fffdf8;border-left:1px solid #d8d8cf;display:flex;flex-direction:column;min-width:0}.basket-heading{padding:27px 25px 18px;border-bottom:1px solid #e0e0d8}.basket-heading h2{font:600 31px Georgia,serif;margin:0}.basket-lines{flex:1;padding:5px 25px;overflow-y:auto;max-height:calc(100vh - 355px)}.empty-basket{min-height:270px;display:grid;place-content:center;justify-items:center;text-align:center;color:#68736d}.empty-basket>span{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:#e6ede8;color:#35604f;font-size:27px}.empty-basket strong{margin-top:14px}.empty-basket p{font-size:12px}.basket-line{padding:20px 0;border-bottom:1px solid #e4e2da}.basket-line-main>div{display:flex;justify-content:space-between;gap:12px}.basket-line-main>div>span{font-weight:850;white-space:nowrap}.basket-line-main p{margin:8px 0 0;font-size:12px;line-height:1.4;color:#6b746e}.basket-line-main .kitchen-note{color:#5c4a32;font-style:italic}.basket-line-main .allergy-flag{color:#a13b2e;font-weight:900;font-style:normal}.line-actions{display:flex;align-items:center;gap:10px;margin-top:13px}.line-link{border:0;background:transparent;color:#315f4e;font-size:12px;font-weight:850;cursor:pointer;padding:7px 3px}.line-link.danger{color:#a34336;margin-left:auto}.stepper{display:grid;grid-template-columns:43px 35px 43px;align-items:center}.stepper button{width:43px;height:43px;border:1px solid #cdd1cc;background:#fff;color:#27483c;font-size:21px;font-weight:850;cursor:pointer}.stepper button:first-child{border-radius:10px 0 0 10px}.stepper button:last-child{border-radius:0 10px 10px 0}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper strong{text-align:center}.small-stepper{grid-template-columns:32px 27px 32px}.small-stepper button{width:32px;height:32px;font-size:16px}.basket-footer{padding:20px 25px 25px;border-top:1px solid #dddcd3;background:#faf7f0}.basket-footer .error-message{margin-bottom:14px}.order-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.order-total span{font-weight:800}.order-total strong{font:600 34px Georgia,serif}.basket-footer>p{text-align:center;color:#7b827e;font-size:10px;line-height:1.4;margin:10px 0 0}.modal-backdrop{position:fixed;z-index:50;inset:0;padding:25px;display:grid;place-items:center;background:#0e1e1994;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.customiser{width:min(700px,100%);max-height:calc(100vh - 50px);overflow-y:auto;padding:clamp(24px,4vw,39px);border-radius:24px;background:#faf8f1;box-shadow:0 28px 80px #06171259}.customiser-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.customiser-heading h2{font:600 clamp(34px,5vw,48px) Georgia,serif;margin:0}.close-button{width:45px;height:45px;border:1px solid #d1d2ca;border-radius:50%;background:#fff;font-size:27px;cursor:pointer}.modifier-group{border:0;border-top:1px solid #d8d7cf;margin:27px 0 0;padding:22px 0 0}.modifier-group legend{font:600 22px Georgia,serif;padding:0 12px 0 0}.modifier-group>small{color:#707873}.modifier-list{display:grid;gap:10px;margin-top:14px}.modifier-row{min-height:70px;padding:10px 12px 10px 16px;border:1px solid #d9d9d1;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:14px}.modifier-row strong,.modifier-row small{display:block}.modifier-row small{color:#707973;margin-top:4px}.single-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.choice-button{min-height:85px;padding:13px;border:1px solid #d2d4ce;border-radius:13px;background:#fff;color:#27362f;cursor:pointer}.choice-button strong,.choice-button span{display:block}.choice-button span{font-size:11px;margin-top:6px;color:#6a746e}.choice-button.selected{border:2px solid #2c6653;background:#e3efe9;color:#174234}.allergy-check{grid-template-columns:25px 1fr;align-items:start;padding:15px;border:1px solid #e2b3a9;border-radius:13px;background:#fff1ee;color:#87372b}.allergy-check input{width:20px;min-height:20px;height:20px;margin:1px 0 0;accent-color:#9b3c2e}.allergy-check span{font-weight:500;line-height:1.45}.modal-actions{display:grid;grid-template-columns:1fr 1.7fr;gap:10px;margin-top:21px}.confirmation-workspace{display:grid;place-items:center;min-height:calc(100vh - 84px)}.confirmation-card{width:min(540px,100%);padding:clamp(30px,6vw,60px);text-align:center;border:1px solid #d8d8cf;border-radius:28px;background:#fffdf8;box-shadow:0 20px 50px #232c2717}.success-mark{width:67px;height:67px;display:grid;place-items:center;margin:0 auto 22px;border-radius:50%;background:#dcefe3;color:#276240;font-size:34px;font-weight:900}.confirmation-card h1{font-size:clamp(52px,8vw,80px);margin-bottom:8px}.confirmation-context{color:#627069}.confirmation-total{display:block;font:600 42px Georgia,serif;margin:25px 0 12px}.pending-payment{display:inline-block;padding:8px 13px;border-radius:99px;background:#f4e3cb;color:#784a25;font-size:12px;font-weight:850}.confirmation-card .muted{margin:24px 0}.loading-screen,.workspace-loader,.empty-state{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:18px;color:#637069}.workspace-loader{min-height:65vh}.spinner{width:37px;height:37px;border:3px solid #d2d8d3;border-top-color:#986037;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{min-height:65vh;text-align:center}.empty-state h1{font-size:45px}.large-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#f4ded9;color:#943c2f;font-weight:900;font-size:25px}@media(max-width:820px){.login-page{grid-template-columns:1fr}.login-story{min-height:310px;gap:60px}.story-copy h1{font-size:52px}.story-copy>p:last-child,.story-status{display:none}.login-panel{padding:48px 24px 70px}.app-header{align-items:flex-start}.header-context{display:grid;justify-items:end;gap:4px}.header-context>span{display:none}.ready-banner{align-items:flex-start;flex-direction:column}.float-summary{border-left:0;border-top:1px solid rgba(255,255,255,.2);padding:20px 0 0;width:100%}.order-mode-grid{grid-template-columns:1fr}.order-mode{min-height:140px}.order-grid{grid-template-columns:1fr}.basket-panel{border-left:0;border-top:1px solid #d8d8cf}.basket-lines{max-height:none}.single-choice-grid{grid-template-columns:1fr}.floor-table small{display:none}}@media(max-width:520px){.brand span{display:none}.brand strong{font-size:17px}.brand-mark{width:40px;height:40px;border-radius:12px}.app-header{padding:13px 16px}.header-context strong{max-width:110px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.workspace{padding:30px 18px}.workspace h1{font-size:46px}.service-heading{align-items:flex-start;flex-direction:column}.order-toolbar{gap:10px}.order-toolbar .back-button{padding:0 11px;font-size:12px}.saved-indicator{display:none}.recovery-banner{padding:11px 18px}.menu-panel{padding:24px 17px}.menu-grid{grid-template-columns:1fr 1fr;gap:9px}.menu-item{min-height:150px;padding:14px}.menu-item>div{display:grid}.menu-item>div strong{font-size:18px}.menu-item p{display:none}.basket-heading,.basket-lines,.basket-footer{padding-left:18px;padding-right:18px}.modal-backdrop{padding:0;align-items:end}.customiser{max-height:94vh;border-radius:24px 24px 0 0}.modifier-row{align-items:flex-start;flex-direction:column}.modal-actions{grid-template-columns:1fr}.order-topbar{display:grid}.floor-shell{padding:8px;border-radius:15px}}
