:root { --bg:#0b1020; --card:#131a2a; --text:#e9eefb; --muted:#9fb0d0; --primary:#4ea1ff; --success:#2ecc71; --warn:#f39c12; }
*{box-sizing:border-box} body{margin:0;font-family:system-ui,Segoe UI,TH Sarabun New,sans-serif;background:var(--bg);color:var(--text)}
.container{max-width:720px;margin:0 auto;padding:16px}
.display{padding:24px}
.card{background:var(--card);border-radius:16px;padding:16px;margin:16px 0;box-shadow:0 6px 20px rgba(0,0,0,.25)}
header h1{margin:12px 0 8px}
.btn-primary,.btn-success,.btn-warn,button{display:inline-block;border:0;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer}
.btn-primary{background:var(--primary);color:#000}
.btn-success{background:var(--success);color:#000}
.btn-warn{background:var(--warn);color:#000}
.hint{color:var(--muted);font-size:.95rem}
.links .link{display:inline-block;margin-right:12px;color:var(--primary);text-decoration:none}
.ticket-card{background:var(--card);border-radius:16px;padding:24px;margin-top:16px;text-align:center}
.ticket-no{font-size:64px;font-weight:900;letter-spacing:2px;margin-bottom:8px}
.ticket-room{color:var(--muted);margin-bottom:8px}
.screen{display:grid;grid-template-columns:1fr;gap:16px}
.now{background:var(--card);padding:20px;border-radius:16px;text-align:center}
.now .label{color:var(--muted);font-size:1.2rem}
.now .value{font-size:96px;font-weight:900;letter-spacing:2px}
.next-list{background:var(--card);padding:16px;border-radius:16px}
.next-list ul{list-style:none;padding:0;margin:0}
.next-list li{font-size:36px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.queue-info{display:flex;gap:16px;align-items:center}
.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
input[type="password"],input[type="text"]{width:100%;padding:10px;border-radius:10px;border:1px solid #334;color:var(--text);background:#0e1526}
