:root{--ink:#142d40;--muted:#647788;--accent:#087f8c;--line:#dce7eb;--wash:#f2f7f8;--radius:22px}
*{box-sizing:border-box}body{background:var(--wash);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{transition:background .18s,box-shadow .18s;min-height:42px}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #64cbd0;outline-offset:3px}[hidden]{display:none!important}p{line-height:1.7}[data-message],[data-rotating-message]{white-space:pre-line}.studio-credit{text-align:center;padding:22px 12px;font-size:10px;letter-spacing:.03em;color:#82929b}.studio-credit a{color:inherit;text-decoration:none}.bar{background:#153d4c;height:auto;min-height:80px;padding:18px max(22px,calc((100% - 1180px)/2));box-shadow:0 4px 20px #153d4c10}.brand{min-width:0}.brand b{display:block;font-size:18px}.bar .brand span{display:block;max-width:600px;line-height:1.5;font-size:11px;margin-top:3px;white-space:normal}.brand-fallback{color:#087f8c;background:#e9f7f5}.card,.stat{border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 28px #183b4b07}.card{padding:28px}.primary,#joinBtn,.admin-primary-button{background:var(--accent);color:white;border-radius:12px}.primary:hover,#joinBtn:hover{background:#096b76}.secondary{background:#eaf3f4;color:#285563}.danger{background:#fff0ee;color:#a84537}.card input,.card select,.card textarea{border-color:#cfdde2;background:#fbfdfd;font-size:15px}.card label{font-size:13px;line-height:1.5;color:#365363}.card small{letter-spacing:.08em;color:#087f8c}.mini{font-size:12px;line-height:1.6}
/* Visitor: a calm introduction with readable service choices. */
[data-interface=visitor] .wrap{max-width:1180px;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);align-items:start;gap:36px;margin:40px auto}.hero{padding:32px 8px 20px 0}.hero>small{color:#087f8c;letter-spacing:.15em;font-weight:750}.hero h1{font-size:clamp(32px,4vw,50px);line-height:1.15;letter-spacing:-.04em;margin:20px 0;color:#173d4a}.hero p{font-size:15px;color:#627785;max-width:410px}.hero:after{content:'WELCOME ABOARD';display:block;margin-top:30px;padding-top:22px;border-top:1px solid #cfdee3;font-size:10px;letter-spacing:.2em;color:#6c939c}#services.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#services .q-code-button{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:16px;min-height:84px;font-size:13px;font-weight:650;line-height:1.5;text-align:left;border:1px solid #d5e4e7;background:#f8fbfb;color:#254957;letter-spacing:normal;overflow-wrap:anywhere}#services .q-code-button:hover{background:#eef8f7;border-color:#72b3ba;transform:none}#services .q-code-button.selected{background:#e3f3f1;border:2px solid #0b8790;padding:15px}.service-symbol{display:grid;place-items:center;flex:0 0 25px;height:25px;background:#e4f0f2;border-radius:8px;color:#087f8c}#selectedServiceCode{display:none}.selected-service-details{background:#eef7f6;border-color:#cce4e3}.selected-service-details h3{font-size:17px;line-height:1.5}.reference-label{display:block;margin-top:24px;font-size:12px;color:#71848d}.number{font-size:clamp(36px,6vw,58px);color:#087f8c;overflow-wrap:anywhere}.ahead{background:#eef6f5}.ahead b{color:#087f8c}.called{border-color:#7cb7bc}.counter{font-size:28px;color:#087f8c}.waiting-message{font-size:14px}.waiting-staff-info strong,.called-staff-info strong{font-size:18px}.game-offer{background:#f7fafb}.ticket-chat .chat-messages{background:#f4f8f9}.chat-message.mine{background:#e7f4f2;border-color:#c5e2de}
/* Staff workspace */
[data-interface=staff] .dashboard{max-width:1240px;margin:28px auto}[data-interface=staff] .top{gap:18px;flex-wrap:wrap}[data-interface=staff] .grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px}[data-interface=staff] .statgrid{gap:16px;margin-bottom:24px}.stat{padding:22px}.stat span{color:#73858d;font-size:12px}.stat b{color:#173d4a;font-size:23px;margin-top:8px}.row{background:#fbfdfd;border-color:#e0eaed;padding:16px;border-radius:14px;gap:15px}.row>div{min-width:0}.row small{font-size:12px;line-height:1.7;letter-spacing:normal;font-weight:400;color:#71828b}.visit-type-badge{display:inline-block!important;width:fit-content;margin:8px 0;padding:5px 10px;background:#e9f3fb;border:1px solid #cfdfed;border-radius:20px;color:#315b7b;font-size:11px;font-weight:700;letter-spacing:normal}.actions{flex-wrap:wrap}.actions button{flex:1 1 100px}.chat-actions button{font-size:12px;padding:10px 12px}.login{padding:32px;max-width:440px;margin:65px auto}.login h1,.login h2{letter-spacing:-.03em}
/* Admin: consistent surfaces, readable forms and messages. */
[data-interface=admin] .admin-sidebar{background:#153d4c}[data-interface=admin] .admin-section{border-color:var(--line);border-radius:22px}[data-interface=admin] .admin-primary-button{background:#087f8c}[data-interface=admin] input,[data-interface=admin] textarea,[data-interface=admin] select{max-width:100%;min-width:0}.admin-nav-link{display:block;padding:13px 16px;color:inherit;text-decoration:none;border-radius:10px}.message-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.message-editor-grid label{margin:0;font-weight:600}.message-editor-grid textarea{display:block;width:100%;resize:vertical;line-height:1.6}.experience-heading h2{font-size:24px;letter-spacing:-.03em;margin:10px 0}#experienceSettings{scroll-margin-top:25px;margin:28px 0}#experienceSettings details{background:#f2f7f8;padding:18px;border-radius:14px;margin-top:18px}#experienceSettings summary{cursor:pointer;font-size:14px;font-weight:650}.toggle-field input[type=checkbox]{width:18px!important;height:18px;margin:0 10px 0 0;flex-shrink:0}.toggle-field{display:flex!important;align-items:center;gap:8px}#experienceSettings p{font-size:13px}.brand-logo{object-fit:contain}
/* Lobby */
[data-interface=display]{background:#eff5f6}[data-interface=display] .display-header{background:#153d4c}[data-interface=display] .serving-card{border:1px solid #c9dfe3;border-radius:22px}[data-interface=display] .serving-number{color:#087f8c}.lounge-banner{border-radius:18px;background:#e1efee;padding:20px 26px;margin:22px 0;color:#244d58}.lounge-banner h3{margin:0 0 8px}.lounge-banner p{margin:0;font-size:17px}.display-page .empty-serving p{max-width:900px;margin:15px auto;font-size:18px;line-height:1.7}.call-overlay-content [data-message]{display:block;margin:12px 0}.call-overlay-content #overlayStaff{font-weight:750;font-size:32px}
@media(max-width:760px){[data-interface=visitor] .wrap{grid-template-columns:minmax(0,1fr);gap:18px;margin:20px auto;padding:0 16px}.hero{padding:8px 4px}.hero h1{font-size:32px;margin:12px 0}.hero p{font-size:14px;max-width:none}.hero:after{display:none}.card{padding:22px}.bar .brand span{font-size:10px}.message-editor-grid{grid-template-columns:1fr}[data-interface=staff] .grid{grid-template-columns:minmax(0,1fr)}[data-interface=staff] .statgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.row{flex-wrap:wrap}.dashboard{padding:0 16px}.login{margin:30px 16px;max-width:none}.actions{gap:8px}.top-actions{flex-wrap:wrap}.studio-credit{font-size:9px}[data-interface=admin] .admin-content{min-width:0}.lounge-banner{padding:18px}}
@media(max-width:420px){#services.service-grid{grid-template-columns:1fr}#services .q-code-button{min-height:64px}.card{padding:18px}.number{font-size:38px}}

[data-interface=display] .display-page,[data-interface=display] .sound-gate,[data-interface=display] .call-overlay{color:#eff8fa}[data-interface=display] .serving-number{color:#73dfd4}[data-interface=display] .lounge-banner{margin:22px clamp(18px,4vw,65px);color:#244d58}[data-interface=display] .sound-gate-card h2,[data-interface=display] .sound-gate-icon{color:#fff}.message-editor-grid textarea{font-weight:400;font-size:14px}.admin-nav-link{font-size:13px;font-weight:650}
