:root{--brand:#0f6cbd;--brand-hover:#115ea3;--brand-pressed:#0c3b5e;--brand-tint:#ebf3fc;--brand-fg:#0f6cbd;--on-brand:#fff;--bg:#fafafa;--surface:#fff;--surface-2:#f5f5f5;--text:#242424;--muted:#616161;--border:#e0e0e0;--stroke-strong:#d1d1d1;--danger:#c50f1f;--danger-bg:#fdf3f4;--success:#107c10;--success-bg:#f1faf1;--warning:#bc4b09;--warning-bg:#fff9f5;--shadow-2:0 1px 2px #0000001f, 0 0 2px #00000014;--shadow-8:0 4px 8px #0000001f, 0 0 2px #0000001a;--shadow-28:0 14px 28px #0000002e, 0 0 8px #0000001a;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--ease:cubic-bezier(.33, 0, .1, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--brand:#115ea3;--brand-hover:#0f6cbd;--brand-tint:#082338;--brand-fg:#479ef5;--bg:#1f1f1f;--surface:#292929;--surface-2:#333;--text:#fff;--muted:#adadad;--border:#3d3d3d;--stroke-strong:#525252;--danger:#dc626d;--danger-bg:#3b0509;--success:#54b054;--success-bg:#052505;--warning:#fa9e58;--warning-bg:#411200;--shadow-2:0 1px 2px #00000047, 0 0 2px #0000003d;--shadow-8:0 4px 8px #00000047, 0 0 2px #0000003d}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Segoe UI Variable,Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:20px}a{color:var(--brand-fg);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;font-weight:600}h1{letter-spacing:-.01em;font-size:28px;line-height:36px}h2{font-size:16px;line-height:22px}h3{font-size:20px;line-height:28px}:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:var(--r-sm)}.muted{color:var(--muted)}.small{font-size:12px;line-height:16px}.tnum{font-variant-numeric:tabular-nums}.eyebrow{color:var(--brand-fg);text-transform:uppercase;letter-spacing:.06em;margin:0 0 4px;font-size:12px;font-weight:600}.lead{font-size:16px;line-height:22px}.btn{border-radius:var(--r-md);border:1px solid var(--stroke-strong);background:var(--surface);height:32px;color:var(--text);font:inherit;cursor:pointer;transition:background .12s var(--ease), border-color .12s var(--ease), transform 80ms var(--ease);justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:600;display:inline-flex;text-decoration:none!important}.btn:hover{background:var(--surface-2)}.btn:active{transform:scale(.98)}.btn:disabled{cursor:not-allowed;background:var(--surface-2);color:var(--muted);border-color:var(--border);transform:none}.btn-primary{background:var(--brand);color:var(--on-brand);border-color:#0000}.btn-primary:hover{background:var(--brand-hover)}.btn-subtle{color:var(--brand-fg);background:0 0;border-color:#0000}.btn-subtle:hover{background:var(--brand-tint)}.btn-sm{height:24px;padding:0 8px;font-size:12px}.btn-lg{height:40px;padding:0 16px;font-size:16px}.btn-xl{border-radius:var(--r-lg);width:100%;height:56px;font-size:18px}.btn-ms{background:var(--surface);width:100%;height:44px;font-size:15px}.shell{min-height:100vh}.topbar{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:24px;height:52px;padding:0 24px;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:10px;font-size:16px;font-weight:600;display:inline-flex}.brand:hover{text-decoration:none}.brand-lg{margin-bottom:24px;font-size:20px}.logo{display:inline-flex}.topnav{gap:4px;height:100%;display:flex}.topnav a{color:var(--muted);border-bottom:2px solid #0000;align-items:center;padding:0 12px;font-weight:600;display:flex}.topnav a:hover{color:var(--text);text-decoration:none}.topnav a.active{color:var(--text);border-bottom-color:var(--brand-fg)}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.clinic-chip{background:var(--brand-tint);color:var(--brand-fg);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.avatar{color:#0c3b5e;background:#c7e0f4;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:inline-grid}.user-meta{flex-direction:column;line-height:16px;display:flex}.user-meta small{color:var(--muted)}.shell-main{max-width:1200px;animation:fadeUp .24s var(--ease);margin:0 auto;padding:32px 24px 64px}@keyframes fadeUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:20px}.card-flush{padding:0;overflow:hidden}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:16px 20px;display:flex}.card-title{align-items:center;gap:8px;margin-bottom:4px;display:flex}.list{margin:16px 0 0;padding:0;list-style:none}.list-row{border-top:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.list-link{border-radius:var(--r-md);margin:0 -8px;padding:12px 8px}.list-link:hover{background:var(--surface-2);text-decoration:none}.tag{border-radius:var(--r-sm);background:var(--surface-2);color:var(--muted);white-space:nowrap;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.page-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.page-head p.muted{max-width:560px;margin:4px 0 0}.stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px;display:grid}.stat{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-2);grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:12px;padding:16px 20px;display:grid}.stat-icon{border-radius:var(--r-lg);background:var(--brand-tint);width:40px;height:40px;color:var(--brand-fg);grid-row:span 2;place-items:center;display:grid}.stat-label{color:var(--muted);font-size:12px}.stat-value{font-variant-numeric:tabular-nums;font-size:24px;line-height:32px}.stat-value small{color:var(--muted);font-size:14px;font-weight:400}.queue-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:16px;display:flex}.queue-meta{align-items:center;gap:12px;margin-top:8px;display:flex}.count-pill{background:var(--brand-tint);color:var(--brand-fg);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;display:inline-flex}.live{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.live-dot{background:var(--success);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse;box-shadow:0 0 #107c1080}@keyframes pulse{70%{box-shadow:0 0 0 6px #107c1000}to{box-shadow:0 0 #107c1000}}.call-box{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-8);flex-direction:column;gap:4px;padding:12px 16px;display:flex}.call-row{gap:8px;display:flex}.select-wrap{border:1px solid var(--stroke-strong);border-bottom-color:var(--muted);border-radius:var(--r-md);background:var(--surface);color:var(--muted);align-items:center;gap:6px;padding-left:10px;display:inline-flex}.select-wrap select{height:38px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;padding-right:8px;font-weight:600}.select-wrap select:focus{outline:none}.select-wrap:focus-within{border-bottom:2px solid var(--brand-fg)}.role-note{border-radius:var(--r-lg);background:var(--surface-2);max-width:300px;color:var(--muted);padding:10px 14px}.proto-bar{border:1px dashed var(--stroke-strong);border-radius:var(--r-lg);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;padding:6px 10px;display:flex}.seg{color:var(--muted);border-radius:999px;padding:2px 10px;font-weight:600}.seg:hover{background:var(--surface-2);text-decoration:none}.seg-on{background:var(--text);color:var(--bg)}.seg-on:hover{background:var(--text)}.queue-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.qtable{border-collapse:collapse;width:100%}.qtable th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:10px 16px;font-size:12px;font-weight:600}.qtable td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 16px}.qtable tr:last-child td{border-bottom:0}.qtable tbody tr{transition:background .12s var(--ease)}.qtable tbody tr:hover{background:var(--surface-2)}.row-next,.qtable tbody tr.row-next:hover{background:var(--brand-tint)}.row-fresh{animation:fresh 1.6s var(--ease)}@keyframes fresh{0%{background:#0f6cbd38}}.qnum{border-radius:var(--r-md);background:var(--brand);min-width:36px;height:28px;color:var(--on-brand);font-variant-numeric:tabular-nums;place-items:center;padding:0 6px;font-weight:700;display:inline-grid}.qnum-muted{background:var(--surface-2);color:var(--text)}.next-tag{border-radius:var(--r-sm);background:var(--brand);color:var(--on-brand);margin-left:8px;padding:1px 6px;font-size:11px;font-weight:600}.reason{max-width:260px}.wait{font-weight:600}.wait-long{color:var(--warning)}.sms{border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.sms-sent{background:var(--success-bg);color:var(--success)}.sms-failed{background:var(--danger-bg);color:var(--danger)}.sms-queued{background:var(--surface-2);color:var(--muted)}.called{margin:0;padding:0;list-style:none}.called li{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.called li:last-child{border-bottom:0}.called-main{flex-direction:column;flex:1;min-width:0;display:flex}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:56px 24px;display:flex}.empty p{margin:0 0 8px}.empty-art{background:var(--brand-tint);width:72px;height:72px;color:var(--brand-fg);border-radius:50%;place-items:center;margin-bottom:8px;display:grid}.empty-art-warn{background:var(--warning-bg);color:var(--warning);margin:0 auto 16px}.banner{border-radius:var(--r-md);align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;display:flex}.banner-error{background:var(--danger-bg);color:var(--danger);border:1px solid}.banner-warn{background:var(--warning-bg);color:var(--warning)}.toast{z-index:20;border-radius:var(--r-lg);background:var(--text);max-width:520px;color:var(--bg);box-shadow:var(--shadow-28);animation:toastIn .2s var(--ease);padding:12px 16px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}}.kiosk{background:linear-gradient(180deg, var(--brand-tint), var(--bg) 320px);flex-direction:column;align-items:center;min-height:100vh;padding:24px;display:flex}.kiosk-head{justify-content:space-between;align-items:center;width:100%;max-width:640px;margin-bottom:24px;display:flex}.kiosk-clinic{color:var(--muted);font-size:16px;font-weight:600}.kiosk-card{background:var(--surface);border-radius:var(--r-xl);width:100%;max-width:640px;box-shadow:var(--shadow-8);animation:fadeUp .24s var(--ease);padding:40px}.kiosk-card h1{font-size:32px;line-height:40px}.kiosk-card>p.lead{margin:8px 0 28px}.kiosk-center{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.field{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.field label{font-size:16px;font-weight:600}.field input{height:56px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--stroke-strong);border-bottom:2px solid var(--muted);border-radius:var(--r-md);transition:border-color .12s var(--ease);padding:0 16px;font-size:20px}.field input::placeholder{color:var(--muted);opacity:.6}.field input:focus{border-bottom-color:var(--brand-fg);outline:none}.field-error input{border-color:var(--danger);border-bottom-color:var(--danger);background:var(--danger-bg)}.field-msg{font-size:13px}.error-text{color:var(--danger);font-weight:600}.privacy{text-align:center;margin:16px 0 0}.demo-hint{border:1px dashed var(--stroke-strong);border-radius:var(--r-md);color:var(--muted);text-align:center;margin:12px 0 0;padding:8px 10px}.spinner{border:2px solid #fff6;border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.confirm-icon{background:var(--success-bg);width:64px;height:64px;color:var(--success);border-radius:50%;place-items:center;display:grid}.confirm p{margin:0}.ticket{color:var(--brand-fg);font-variant-numeric:tabular-nums;font-size:120px;font-weight:700;line-height:1;margin:8px 0 16px!important}.confirm-sms{text-align:left;border-radius:var(--r-lg);background:var(--surface-2);align-items:flex-start;gap:8px;max-width:440px;padding:12px 16px;font-size:15px;line-height:21px;display:flex}.reset-bar{background:var(--surface-2);border-radius:2px;width:220px;height:4px;margin-top:16px;overflow:hidden}.reset-bar span{background:var(--brand);height:100%;transition:width 1s linear;display:block}.auth{background:linear-gradient(160deg, var(--brand-tint), var(--bg) 60%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--surface);border-radius:var(--r-xl);width:100%;max-width:420px;box-shadow:var(--shadow-28);text-align:center;padding:40px}.auth-card h1{margin-bottom:8px;font-size:24px;line-height:32px}.auth-card>p.muted{margin:0 0 24px}.auth-card .brand{justify-content:center;width:100%}.auth-foot{justify-content:center;align-items:center;gap:6px;margin:20px 0 0;display:flex}@media (max-width:900px){.queue-grid,.grid-2,.stats{grid-template-columns:1fr}.queue-head,.page-head{flex-direction:column;align-items:stretch}.user-meta{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
