:root{--navy:#102b3b;--navy2:#183b4f;--ink:#173042;--muted:#526b7a;--ground:#eef3f3;--line:#d8e2e4;--accent:#008574;--soft:#d8f2eb;--red:#a93029;--shadow:0 8px 28px #102b3b0d;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus,summary:focus-visible{outline:3px solid #a26932;outline-offset:3px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:30px;line-height:1.2;letter-spacing:-.035em}h2{font-size:24px;letter-spacing:-.025em}h3{font-size:18px}small,.muted{color:var(--muted)}.skip{position:fixed;left:10px;top:-80px;background:#fff;z-index:100;padding:12px}.skip:focus{top:8px}.app{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#fff;position:sticky;top:0;height:100vh;padding:26px 18px;display:flex;flex-direction:column;gap:30px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand strong{font-size:21px}.brand small{display:block;color:#b8c9d2;font-size:12px}.brand-mark{height:42px;width:42px;background:var(--accent);border-radius:12px;display:grid;place-items:center;font-weight:850;font-size:18px}.nav{display:grid;gap:5px}.nav a{padding:12px;border-radius:10px;min-height:46px;text-decoration:none;color:#dbe7ec;font-weight:700;display:flex;gap:12px}.nav a:hover,.nav a.active{background:var(--navy2);color:#fff}.nav a.active{box-shadow:inset 3px 0 0 #35c1a8}.nav .icon{width:20px;opacity:.7}.sidebar-foot{margin-top:auto;border-top:1px solid #ffffff25;padding-top:20px}.sidebar-foot small{display:block;color:#b8c9d2}.sidebar-foot button{margin-top:14px}.main-shell{min-width:0}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:17px 28px;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:14px}.topbar .page-title{font-size:21px;font-weight:750;margin:0}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.badge,.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:99px;background:#e8eff1;color:#344e5c;font-size:12px;font-weight:750;white-space:nowrap}.badge{background:#fff1d9;color:#765018}.pill.good{background:#dcf3e8;color:#1c664b}.pill.bad{background:#f9dedc;color:#962e28}.pill.warn{background:#fff0cf;color:#755009}.pill.blue{background:#e6eefb;color:#24538d}.context{background:#d8f2eb;border-bottom:1px solid #a4d6c7;padding:12px 28px;display:flex;justify-content:space-between;gap:14px;align-items:center;position:sticky;top:0;z-index:10}.context small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#286350}.context strong{font-size:17px}.context select{width:auto;max-width:250px}.content{padding:28px;max-width:1600px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}.page-head h1{margin-bottom:6px}.page-head p{margin-bottom:0;color:var(--muted)}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.card h3{margin-bottom:16px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.card-head h2,.card-head h3{margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric span{font-size:13px;font-weight:700;color:var(--muted)}.metric strong{display:block;font-size:32px;letter-spacing:-.04em;margin-top:5px}.metric small{font-size:12px}.section{margin-top:24px}.btn{border:0;border-radius:10px;padding:11px 16px;min-height:44px;background:var(--accent);color:#fff;text-decoration:none;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{filter:brightness(.94)}.btn.secondary{background:#e8eff1;color:var(--ink)}.btn.danger{background:var(--red)}.btn.small{font-size:12px;min-height:36px;padding:8px 11px}.btn.wide{width:100%}.link-button{border:0;background:transparent;color:var(--accent);font-weight:700;padding:10px 0;text-decoration:underline}.notice{padding:14px 18px;border-radius:12px;background:#edf3f5;color:#3d5968;margin-bottom:18px;font-size:14px}.notice.warn{background:#fff0cf;color:#76530e}.notice.bad{background:#f9dedc;color:#942e28}.notice.good{background:#dcf3e8;color:#176d4b}.row{display:flex;justify-content:space-between;gap:12px;align-items:center}.restaurant-card .monogram{height:50px;width:50px;display:grid;place-items:center;background:var(--soft);border-radius:13px;font-size:19px;font-weight:800}.restaurant-card h3{margin:0}.restaurant-card p{margin:10px 0;font-size:13px}.restaurant-card .card-head{align-items:flex-start}.restaurant-card .mini-stats{display:flex;gap:28px;padding:18px 0;margin:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mini-stats strong{display:block;font-size:22px}.mini-stats span{font-size:12px;color:var(--muted)}label{display:block;font-size:12px;font-weight:750;color:var(--muted);margin-bottom:6px}input,select,textarea{width:100%;min-height:44px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}textarea{min-height:85px;resize:vertical}.field{margin-bottom:15px}.check{display:flex;gap:9px;align-items:center;margin:12px 0}.check input{width:20px;height:20px;min-height:20px}.check label{margin:0;font-size:14px;color:var(--ink)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.table tr:last-child td{border-bottom:0}.table td small{display:block}.num{text-align:right!important;font-variant-numeric:tabular-nums}.empty{text-align:center;padding:32px 18px;color:var(--muted)}.empty strong{display:block;color:var(--ink);margin-bottom:5px}.board{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:14px;overflow:auto;padding-bottom:8px}.column{background:#e5edef;border-radius:14px;padding:12px;min-height:280px}.column h3{font-size:15px;padding:4px;margin-bottom:10px}.order-card{padding:15px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;box-shadow:0 4px 14px #102b3b08}.order-card h4{margin:0;font-size:17px}.order-card p{font-size:13px;color:var(--muted);margin:9px 0}.order-card .btn{margin-top:9px;width:100%}.order-lines{font-size:13px;margin:10px 0;padding:8px 0;border-block:1px solid var(--line)}.order-lines div{padding:3px 0}.timer{font-variant-numeric:tabular-nums;font-weight:750;color:#9b4f0b;font-size:12px}.pos-shell{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:18px;align-items:start}.pos-toolbar{display:flex;gap:8px;margin-bottom:14px}.pos-toolbar input{flex:1;min-width:100px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.product{min-height:118px;padding:16px;background:#fff0df;border:1px solid #ead8c2;border-radius:12px;text-align:left;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;gap:14px}.product:nth-child(4n+2){background:#e4effb;border-color:#d2e0ef}.product:nth-child(4n+3){background:#eee8fa;border-color:#dfd6f0}.product:nth-child(4n+4){background:#e2f3eb;border-color:#cde7dc}.product strong{font-size:15px}.category-strip{display:flex;gap:8px;overflow:auto;padding:14px 0}.category{min-height:44px;padding:9px 15px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);white-space:nowrap;font-weight:700}.category.active{background:var(--accent);color:#fff}.basket{position:sticky;top:94px}.basket-list{max-height:350px;overflow:auto}.basket-line{border-bottom:1px solid var(--line);padding:12px 0}.basket-line small{display:block}.qty{display:flex;align-items:center;gap:8px;margin-top:8px}.qty button{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:800}.totals{border-top:2px solid var(--line);padding-top:12px;margin-top:16px}.total-row{display:flex;justify-content:space-between;margin:9px 0;font-size:14px}.total-row.grand{font-size:21px;border-top:1px solid var(--line);padding-top:12px;font-weight:800}.basket details{margin:18px 0}.basket summary{font-weight:700;cursor:pointer;padding:8px 0}.basket details>div{padding-top:12px}.login{max-width:1000px;margin:7vh auto;padding:24px}.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.login .brand{color:var(--ink);margin-bottom:30px}.demo-account{display:flex;justify-content:space-between;gap:14px;width:100%;padding:13px 0;background:none;border:0;border-bottom:1px solid var(--line);text-align:left;color:var(--ink)}.demo-account strong{display:block;font-size:14px}.demo-account small{display:block;font-size:11px}.demo-account:hover{color:var(--accent)}.login h1{font-size:40px}.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:750;color:var(--accent);margin-bottom:12px}.login-note{margin-top:24px;font-size:13px;color:var(--muted)}dialog{width:min(650px,calc(100% - 28px));max-height:90vh;border:0;border-radius:18px;padding:26px;color:var(--ink);box-shadow:0 24px 80px #0004}dialog::backdrop{background:#04121aa0}.dialog-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:16px}.dialog-head h2{margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.close{background:#eef3f3;border:0;border-radius:8px;width:36px;height:36px;font-size:22px;color:var(--ink)}.option{display:flex;gap:12px;align-items:center;border:1px solid var(--line);padding:14px;border-radius:10px;margin-bottom:8px}.option input{width:20px;height:20px;min-height:20px}.option label{margin:0;color:var(--ink);font-size:14px}.option strong{margin-left:auto}.form-error{background:#f9dedc;color:#942e28;padding:12px;border-radius:8px;margin:12px 0}.form-error:empty{display:none}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;border-radius:12px;padding:14px 22px;max-width:calc(100% - 32px);z-index:100;box-shadow:0 6px 30px #0003}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:#f4f7f7;border-radius:9px;padding:12px}details summary{cursor:pointer}.history{font-size:13px;border-left:2px solid var(--line);padding-left:15px;margin:12px 0}.history p{margin-bottom:9px}.hours-row{display:grid;grid-template-columns:65px 1fr 1fr 70px;gap:9px;align-items:center;margin-bottom:8px}.hours-row label{margin:0}.hours-row input[type=checkbox]{width:20px}.wide-section{margin-top:18px}.public{color:var(--ink);--ink:#292d25;--muted:#62665c;--ground:#f8f7f2;--line:#e7e5dd;--accent:#27644b;background:var(--ground);min-height:100vh}.public-header{background:#fff;border-bottom:1px solid var(--line);padding:21px max(24px,calc((100% - 1220px)/2));display:flex;justify-content:space-between;align-items:center;gap:18px}.public-wordmark{font-weight:850;font-size:24px;letter-spacing:-.04em;text-decoration:none;color:var(--accent)}.public-header a:not(.public-wordmark){font-size:13px;text-decoration:none}.public main{max-width:1268px;padding:28px 24px 60px;margin:auto}.restaurant-hero{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:25px}.restaurant-hero h1{font-size:39px;margin-bottom:10px;color:var(--ink)}.restaurant-hero p{margin-bottom:12px}.restaurant-hero .hero-emblem{width:104px;height:104px;border:1px solid var(--line);border-radius:50%;background:#f0eee7;display:grid;place-items:center;font-family:Georgia,serif;font-size:38px;color:var(--accent);flex-shrink:0}.service-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:25px}.service-options{display:flex;gap:5px;border:1px solid var(--line);border-radius:14px;background:#efeee7;padding:5px}.service-options button{border:1px solid transparent;background:transparent;min-height:44px;border-radius:10px;padding:10px 20px;font-weight:700;color:var(--muted)}.service-options button.active{background:#fff;color:var(--ink);border-color:#dfdcd3;box-shadow:0 2px 5px #25262208}.ordering-layout{display:grid;grid-template-columns:156px minmax(0,1fr) 310px;gap:24px;align-items:start}.public-categories{position:sticky;top:24px;display:grid;gap:5px}.public-categories p{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:8px 0}.public-categories button{border:0;background:transparent;text-align:left;padding:12px 14px;border-radius:10px;min-height:44px;color:var(--muted)}.public-categories button.active{background:#e6ede3;color:var(--accent);font-weight:700;box-shadow:inset 3px 0 var(--accent)}.dish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px}.dish{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;display:flex;flex-direction:column;align-items:start;gap:8px}.dish h3{font-size:16px;margin:0}.dish p{font-size:13px;color:var(--muted);margin:0}.dish small{font-size:11px}.dish-bottom{display:flex;justify-content:space-between;width:100%;align-items:center;margin-top:auto;padding-top:7px}.add{min-height:42px;border:1px solid #d0dfd3;background:#f4f8f1;color:var(--accent);border-radius:9px;padding:9px 12px;font-size:12px;font-weight:750}.add:hover{background:var(--accent);color:#fff}.public .basket{top:24px;padding:22px;border-radius:19px;box-shadow:none}.public .basket h3{font-size:20px}.allergy-note{font-size:12px;color:var(--muted);margin-top:15px}.public-footer{max-width:1220px;padding:22px 0;margin:0 auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.tracking{max-width:700px!important}.timeline{display:flex;gap:8px;margin:24px 0}.timeline div{flex:1;border-top:4px solid var(--line);padding-top:10px;font-size:11px}.timeline .done{border-color:var(--accent);color:var(--accent);font-weight:700}.checkbox-inline{display:flex;align-items:center;gap:8px}.checkbox-inline input{width:20px;min-height:20px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.toolbar input{flex:1;min-width:150px}.connection-note{font-size:12px;padding:8px 14px;background:#fff0cf;color:#76530e}.connection-note:empty{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button .sr-only{position:absolute}.kitchen .order-lines{font-size:17px}.kitchen .order-card{padding:22px}.kitchen .board{grid-template-columns:repeat(3,minmax(250px,1fr))}.reconnect{color:#a93029;font-weight:700}body:has(.public) #toast{background:#292d25}
@media(max-width:1200px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ordering-layout{grid-template-columns:130px minmax(0,1fr) 280px;gap:18px}.dish-grid{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{height:auto;position:static;padding:15px;gap:16px}.sidebar .brand{gap:10px}.sidebar .brand-mark{width:34px;height:34px}.sidebar .brand small{display:none}.nav{display:flex;overflow:auto}.nav a{white-space:nowrap;flex-shrink:0}.sidebar-foot{display:none}.topbar{padding:15px 18px}.content{padding:22px 18px}.context{padding:12px 18px}.ordering-layout{grid-template-columns:minmax(0,1fr) 300px}.public-categories{grid-column:1/-1;position:static;display:flex;overflow:auto}.public-categories p{display:none}.public-categories button{white-space:nowrap}.dish-grid{grid-template-columns:1fr}.public main{padding-top:20px}.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-shell{grid-template-columns:minmax(0,1fr) 330px}}
@media(max-width:680px){.login{margin:2vh auto;padding:20px}.login-grid{grid-template-columns:1fr;gap:20px}.login h1{font-size:33px}.grid,.grid2,.grid4{grid-template-columns:minmax(0,1fr)}.page-head{align-items:flex-start;flex-direction:column}.topbar{flex-wrap:wrap}.topbar .actions{width:100%}.topbar .page-title{font-size:19px}.context{align-items:flex-start;flex-direction:column;position:static}.context select{max-width:none;width:100%}.context .actions{width:100%}.pos-shell,.ordering-layout{grid-template-columns:minmax(0,1fr)}.basket{position:static!important}.board,.kitchen .board{grid-template-columns:minmax(0,1fr)}.column{min-height:100px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public main{padding:18px 16px 40px}.public-header{padding:17px 16px}.public-wordmark{font-size:21px}.public-header a:not(.public-wordmark){font-size:12px}.restaurant-hero{background:transparent;border:0;padding:6px 0 16px;margin:0}.restaurant-hero h1{font-size:29px}.restaurant-hero .hero-emblem{display:none}.restaurant-hero .eyebrow{display:none}.restaurant-hero p{font-size:13px}.service-bar{display:block;margin-bottom:18px}.service-bar>small{display:block;margin-top:12px}.service-options button{flex:1;padding:10px 14px}.public-categories{margin-bottom:2px}.dish-grid{grid-template-columns:1fr}.dish{gap:7px}.public-footer{margin:0 16px;gap:12px;flex-wrap:wrap}.hours-row{grid-template-columns:45px 1fr 1fr 45px;gap:5px}.hours-row input{padding:8px 5px;font-size:12px}.hours-row label{font-size:11px}.table td{font-size:13px}.timeline{flex-wrap:wrap}.timeline div{min-width:25%}.restaurant-card .mini-stats{gap:30px}.public .basket{margin-top:8px}.hero-emblem{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.sidebar,.topbar,.context,.actions,.btn,.no-print,.public-header,.public-footer,.skip{display:none!important}.app{display:block}.content{padding:0}.card{box-shadow:none}.public main{padding:0}.public{background:white}}

/* Authentic Live Menu business identity, sourced from livemenu.co.uk.
   Scope to business mode so restaurant-owned diner styling is unchanged. */
body.business{--navy:#172b42;--navy2:#223c5b;--ink:#172b42;--muted:#647080;--ground:#f9f8f5;--accent:#3564c6;--soft:#eaf0fa;--brand-red:#e34b48;font-family:'Avenir Next',Arial,sans-serif}
.business .brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.business .brand-logo{display:block;background:#fff;padding:10px 12px;border-radius:10px;line-height:0;max-width:100%;border:1px solid #d8e0e9}.business .brand-logo img{display:block;width:180px;max-width:100%;height:auto;aspect-ratio:1040/235;object-fit:contain}.business .brand>small{font-size:12px;letter-spacing:.01em}.business .login .brand-logo{padding:0;border:0;background:transparent}.business .login .brand-logo img{width:240px}.business .sidebar .brand>small{color:#d1dcec}.business .nav a.active{box-shadow:inset 3px 0 0 var(--brand-red)}.business .context{background:#eaf0fa;border-color:#c5d4ed}.business .context small{color:#31569b}.business .restaurant-card .monogram{color:#31569b}.business .btn:not(.secondary):not(.danger){background:#3564c6}.business .btn:not(.secondary):not(.danger):hover{background:#264ca0}.business .eyebrow{color:#31569b}.business .brand-logo img{color:#172b42}
@media(max-width:950px){.business .sidebar .brand-logo img{width:174px}.business .sidebar .brand-logo{padding:8px 10px}.business .sidebar .brand>small{display:none}}
@media(max-width:680px){.business .login .brand-logo img{width:220px}.business .sidebar .brand-logo img{width:174px}}
@media(min-width:951px){.business .sidebar .brand,.business .sidebar-foot{flex-shrink:0}.business .nav{min-height:0;overflow-y:auto}}
.business .login .brand>small{color:var(--muted)}
