:root{font-family:Inter,Arial,sans-serif;color:#f8f2fa;background:#140d1d}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,#44284f 0,transparent 45%),#140d1d}.shell{max-width:1180px;margin:auto;padding:24px}.narrow{max-width:520px}header{display:flex;align-items:center;justify-content:space-between;margin:0 0 24px;color:#e9c77d;font-size:11px;font-weight:800;letter-spacing:.13em}header img{width:150px;max-height:75px;object-fit:contain;object-position:left}.card{background:#281b32;border:1px solid #715a78;border-radius:16px;padding:clamp(20px,5vw,34px);box-shadow:0 20px 60px #08040b77}.eyebrow{color:#e7c277;font-size:11px;font-weight:800;letter-spacing:.13em}h1{font-size:clamp(28px,5vw,42px);margin:6px 0 22px}h2{margin:0 0 16px;color:#e9ca84}label{display:block;margin:15px 0 8px;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid #8b7295;border-radius:9px;background:#1a1123;color:white;padding:13px;font:inherit}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #f0d58e;outline-offset:2px}#code{text-align:center;font-size:56px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;padding:22px 8px}button{border:0;border-radius:9px;background:#ebc979;color:#22152b;padding:14px 18px;font:inherit;font-weight:800;cursor:pointer;margin-top:13px;min-height:48px}button:disabled{opacity:.5;cursor:wait}.secondary{background:#493651;color:#f4e9f7;border:1px solid #8c7197}.text-button{background:none;color:#d0bdd7;text-decoration:underline;font-size:13px}.result{border:1px solid #826a8a;background:#1b1424;border-radius:12px;padding:20px;margin:18px 0}.result p{font-size:16px;line-height:1.5}.result button{width:100%}#verify-button,#next-button{width:100%}#message{min-height:24px;color:#f5d692;font-size:14px;line-height:1.4}.footnote{color:#c5b5cb;font-size:12px;line-height:1.6;text-align:center}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.stat{background:#2b1d35;border:1px solid #66516e;border-radius:12px;padding:15px}.stat span{display:block;color:#cfb8d7;font-size:12px}.stat strong{font-size:28px;color:#edcc85}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid .card{min-width:0}.row{border-top:1px solid #594660;padding:12px 0;font-size:13px}.row strong{display:block;font-size:15px}.row small{color:#bba9c4}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.toolbar input{max-width:260px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;border-bottom:1px solid #58445f;padding:10px}th{color:#eacc82}dialog{border:1px solid #84688e;border-radius:12px;background:#24182e;color:white;padding:24px;width:min(500px,calc(100vw - 24px))}dialog::backdrop{background:#07040bd0}[hidden]{display:none!important}@media(max-width:700px){.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.shell{padding:15px}} 

/* The restaurant screen is deliberately one task per view. */
.restaurant-page{font-family:Poppins,Arial,sans-serif;background:radial-gradient(circle at 50% -18%,#56355c 0,#221429 42%,#130d1a 82%);color:#f8f2fa}
.restaurant-shell{width:min(100%,520px);min-height:100svh;margin:auto;padding:clamp(18px,4vw,30px) 18px 20px;display:flex;flex-direction:column}
.restaurant-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}
.restaurant-header img{display:block;width:135px;height:auto;max-height:64px;object-fit:contain;object-position:left}
.restaurant-header-label{color:#e9ca86;font-size:10px;font-weight:800;letter-spacing:.14em;text-align:right}
.restaurant-card{background:#281b33;border:1px solid #705775;border-radius:20px;padding:clamp(23px,6vw,34px);box-shadow:0 24px 70px #09040f88}
.restaurant-kicker{color:#e8c37f;font-size:11px;font-weight:800;letter-spacing:.16em}
.restaurant-intro h1{font-size:clamp(30px,7vw,39px);line-height:1.15;letter-spacing:-.04em;margin:10px 0 12px;color:#fff}
.restaurant-intro p,.restaurant-login p{font-size:13px;line-height:1.65;color:#d9cbdc;margin:0}
.restaurant-message{min-height:0;margin:0;color:#f2cf88;font-size:13px;line-height:1.5}
.restaurant-message:not(:empty){margin:19px 0 0;padding:12px 13px;border-radius:9px;background:#4d354d}
.restaurant-message[data-tone="error"]{color:#ffd9d4;background:#5b3038}
.restaurant-message[data-tone="success"]{color:#d8f6d5;background:#28543c}
.restaurant-login{margin-top:28px;padding-top:24px;border-top:1px solid #634b69}
.google-button{margin-top:18px;min-height:44px}
.restaurant-admin-link{display:inline-block;margin-top:18px;color:#eed29a;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.restaurant-session{display:flex;align-items:center;gap:8px;margin:26px 0 24px;padding:10px 0;border-top:1px solid #5a4560;border-bottom:1px solid #5a4560;color:#dacbdf;font-size:11px;font-weight:600}
.session-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#8fd8a0;box-shadow:0 0 0 4px #8fd8a026}
.restaurant-link{min-height:0;padding:0;margin:0 0 0 auto;background:none;color:#eed29a;text-decoration:underline;font-size:11px;font-weight:700}
.restaurant-link:hover{color:#fff}
.restaurant-form label{display:block;margin:0 0 10px;color:#ebd69f;font-size:11px;font-weight:800;letter-spacing:.13em}
.restaurant-form input{display:block;width:100%;height:102px;padding:8px 16px;border:2px solid #8c7193;border-radius:13px;background:#170f20;color:#fff;text-align:center;font-family:Poppins,Arial,sans-serif;font-size:clamp(44px,13vw,62px);font-weight:800;letter-spacing:.22em;text-indent:.22em;text-transform:uppercase}
.restaurant-form input::placeholder{color:#705d79}
.restaurant-form input:focus{border-color:#ecc985;outline:3px solid #ecc98555;outline-offset:2px}
.restaurant-form p{margin:8px 0 0;color:#bfaec6;text-align:center;font-size:11px}
.restaurant-primary,.restaurant-secondary{display:block;width:100%;min-height:56px;margin:22px 0 0;border-radius:11px;font-family:Poppins,Arial,sans-serif;font-size:14px;font-weight:800}
.restaurant-primary{background:#ebc979;color:#24152c}
.restaurant-primary:hover:not(:disabled){background:#f6d993}
.restaurant-primary span{margin-left:7px}
.restaurant-secondary{margin-top:15px;background:#493650;color:#fff;border:1px solid #8f7298}
.restaurant-secondary:hover:not(:disabled){background:#624469}
.restaurant-result{margin-top:0;padding:23px 20px;text-align:center;border:1px solid #987d9c;border-radius:13px;background:#1b1324}
.restaurant-result[data-kind="available"]{border-color:#6dba8a;background:#172b25}
.restaurant-result[data-kind="success"]{border-color:#80c998;background:#18372c}
.restaurant-result[data-kind="used"],.restaurant-result[data-kind="unavailable"]{border-color:#b68080;background:#352129}
.result-symbol{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 11px;border-radius:50%;background:#69ba89;color:#11241a;font-size:30px;font-weight:700}
.restaurant-result[data-kind="used"] .result-symbol,.restaurant-result[data-kind="unavailable"] .result-symbol{background:#d3908b;color:#3b1718}
.result-eyebrow{margin:0;color:#c9e8d3;font-size:10px;font-weight:800;letter-spacing:.14em}
.result-title{margin:6px 0 5px;color:#fff;font-size:24px;line-height:1.2}
.result-description{margin:0;color:#e1d7e3;font-size:12px;line-height:1.5}
.result-code{margin:17px 0;padding:12px;border:1px solid #8a7290;border-radius:10px;background:#130d1b;color:#f4d58f;font-size:37px;font-weight:800;letter-spacing:.21em;text-indent:.21em}
.result-label{display:block;margin-top:13px;color:#c6b7cc;font-size:10px;font-weight:800;letter-spacing:.13em}
.result-person{display:block;margin-top:4px;color:#fff;font-size:19px;line-height:1.3}
.result-time{margin:10px 0 0;color:#e4d7e6;font-size:12px}
.restaurant-result .restaurant-primary{margin-top:22px}
.restaurant-reminder{max-width:390px;margin:24px auto 12px;color:#ddd0de;text-align:center;font-size:11px;line-height:1.7}
.restaurant-shell footer{margin-top:auto;padding-top:34px;color:#947e9c;text-align:center;font-size:10px;letter-spacing:.04em}
.admin-login{max-width:520px;margin:24px auto}
.admin-login p{color:#d9cbdc;font-size:14px;line-height:1.6}
.admin-session{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:#d9cbdc;font-size:12px}
.admin-session .text-button{min-height:32px;margin:0;padding:4px 0}
@media(max-width:420px){.restaurant-shell{padding:15px 12px 18px}.restaurant-header{margin-bottom:16px}.restaurant-card{padding:21px}.restaurant-header img{width:118px}.restaurant-header-label{font-size:9px}.restaurant-form input{height:94px}}
