:root{--bg:#f4f7f8;--surface:#fff;--text:#16282d;--muted:#5a6d73;--border:#d5e0e3;--accent:#0b7285;--accent-strong:#095c6b;--accent-soft:#e3f4f7;--danger:#b3261e;--danger-soft:#fdecea;--warning-bg:#fff4d6;--warning-border:#e0b040;--warning-text:#5c4300;--success:#1b6e3c;--success-soft:#e4f4ea;--radius:10px;--series-1:#2a78d6;--series-2:#eb6834;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1b1f;--surface:#18282d;--text:#e6f0f2;--muted:#9db1b7;--border:#2c4148;--accent:#4fc3d7;--accent-strong:#7dd6e5;--accent-soft:#16353c;--danger:#ff8a80;--danger-soft:#3a1d1b;--warning-bg:#3a2f10;--warning-border:#a07c1c;--warning-text:#ffe29a;--success:#7fd6a0;--success-soft:#173324;--series-1:#3987e5;--series-2:#d95926;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{margin:0 0 .25rem;font-size:1.6rem}h2{margin:1.75rem 0 .75rem;font-size:1.15rem}.card h2{margin-top:0}p{margin:.25rem 0}a{color:var(--accent)}main{max-width:880px;margin:0 auto;padding:1.5rem 1rem 4rem}.muted{color:var(--muted)}.demo-banner{background:var(--warning-bg);border-bottom:1px solid var(--warning-border);color:var(--warning-text);text-align:center;padding:.45rem 1rem;font-size:.9rem}.navbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding:.75rem 1rem;display:flex}.brand{color:var(--accent);font-size:1.25rem;font-weight:700;text-decoration:none}.navbar nav{flex-wrap:wrap;flex:1;gap:.25rem;display:flex}.navbar nav a{color:var(--text);border-radius:6px;padding:.35rem .7rem;text-decoration:none}.navbar nav a:hover{background:var(--accent-soft)}.navbar nav a.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.navbar-user{align-items:center;gap:.75rem;display:flex}.role-tag{background:var(--accent-soft);color:var(--accent-strong);text-transform:capitalize;border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;padding:1rem 1.25rem}.card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.list{margin:0;padding:0;list-style:none}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.notice{border-radius:8px;margin:.5rem 0;padding:.6rem .8rem}.notice.warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text)}.error{background:var(--danger-soft);color:var(--danger);border-radius:8px;padding:.6rem .8rem}.success{background:var(--success-soft);color:var(--success);border-radius:8px;padding:.6rem .8rem}label{margin:.75rem 0 .25rem;font-size:.9rem;font-weight:600;display:block}input,select,textarea{background:var(--surface);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:8px;width:100%;padding:.55rem .7rem}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.hint{color:var(--muted);font-size:.85rem}.button{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;border-radius:8px;padding:.5rem .9rem;font-weight:600;text-decoration:none;display:inline-block}.button:hover{border-color:var(--accent)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}.button.primary:hover{background:var(--accent-strong)}.button.danger{background:var(--danger);border-color:var(--danger);color:var(--surface)}.button.quiet{color:var(--muted);background:0 0}.button:disabled{cursor:progress;opacity:.6}.auth-page{max-width:420px;margin:2rem auto}.form .button{width:100%;margin:1.25rem 0 .75rem}.form .error{margin-top:1rem}.filters,.delay-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;display:flex}.filters>div,.delay-form>div{min-width:160px}.filters label,.delay-form label{margin-top:0}.grow{flex:1}.confirm{border-color:var(--accent)}.confirm .button{margin-top:1rem}.slots{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.5rem;margin-top:.75rem;display:grid}.slot{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;border-radius:8px;padding:.45rem .25rem}.slot:hover{border-color:var(--accent)}.slot.selected{background:var(--accent);border-color:var(--accent);color:var(--surface);font-weight:600}.queue-position{color:var(--accent-strong);margin:.75rem 0 .25rem;font-size:1.5rem;font-weight:700}.live-dot{color:var(--muted);white-space:nowrap;font-size:.85rem}.live-dot:before{background:var(--muted);content:"";border-radius:50%;width:.55rem;height:.55rem;margin-right:.4rem;display:inline-block}.live-dot.on{color:var(--success)}.live-dot.on:before{background:var(--success)}.status{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:600}.status.done{background:var(--success-soft);color:var(--success)}.status.no_show,.status.cancelled{background:var(--danger-soft);color:var(--danger)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:1rem;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.7rem 1rem}th{color:var(--muted);font-size:.85rem}tr:last-child td{border-bottom:0}td:first-child{white-space:nowrap}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-launcher{z-index:10;position:fixed;bottom:1rem;right:1rem;box-shadow:0 4px 14px #00000040}.chat-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:10;flex-direction:column;width:min(380px,100vw - 2rem);height:min(560px,100dvh - 2rem);display:flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 8px 28px #0000004d}.chat-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.5rem .5rem .5rem 1rem;display:flex}.chat-header h2{margin:0}.chat-messages{flex-direction:column;flex:1;gap:.6rem;padding:1rem;display:flex;overflow-y:auto}.chat-message{overflow-wrap:anywhere;white-space:pre-wrap;border-radius:12px;max-width:85%;padding:.5rem .8rem}.chat-message p{margin:0}.chat-message.bot{background:var(--accent-soft);align-self:flex-start}.chat-message.user{background:var(--accent);color:var(--surface);align-self:flex-end}.chat-message .triage-disclaimer{border-top:1px solid var(--border);color:var(--muted);margin-top:.4rem;padding-top:.4rem;font-size:.85rem}.chat-typing{margin:0;font-size:.9rem}.chat-error{margin:0 1rem .5rem}.chat-form{border-top:1px solid var(--border);gap:.5rem;padding:.75rem;display:flex}.chat-form .button:disabled{cursor:not-allowed}.chat-voice{border-top:1px solid var(--border);align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.chat-voice .button{flex-shrink:0}.chat-voice select{flex:1;min-width:0;padding:.45rem .5rem}.chat-voice-status{min-height:1.35em;margin:0;padding:0 .75rem .5rem;font-size:.9rem}h3{margin:1.5rem 0 .4rem;font-size:1rem}.section-header{margin-top:1.75rem}.section-header h2,.inline-label{margin:0}.inline-label select{width:auto}.stats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.stat-label{color:var(--muted);margin:0;font-size:.85rem}.stat-value{font-variant-numeric:tabular-nums;margin:.15rem 0 0;font-size:1.6rem;font-weight:700}.stat-note{color:var(--muted);margin:0;font-size:.8rem}.chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .5rem .25rem}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 1rem;display:grid}td{font-variant-numeric:tabular-nums}.table-wrap td:not(:first-child){white-space:nowrap}.error-list li{padding:.2rem 0}
