:root{font-family:Avenir Next,Segoe UI,Trebuchet MS,sans-serif;line-height:1.4;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink: #0f2a33;--bg: #e9f2f4;--surface: #ffffff;--surface-border: #d2e1e6;--brand: #0a6578;--brand-strong: #074b5a;--danger: #b53f2f;--danger-strong: #8f3125;--warning: #a56f1f;--success: #126f5a;--muted: #4a6670;--bg-accent-1: #d8ebef;--bg-accent-2: #dbe7ef;--nav-active-bg: #d9eef3;--nav-active-border: #c1dfe8;--nav-active-ink: #053e4b;--hero-accent: #8bc5d1;--muted-surface: #f8fcfd;--input-border: #bfd4dc;--input-focus: #74afbc;--button-secondary-bg: #e7f1f4;--button-secondary-hover: #d5e7ed;--button-secondary-ink: var(--ink);--button-ghost-border: #bfd4dc;--button-ghost-hover: #f3f8fa;--notice-error-bg: #f8e4e1;--notice-error-ink: #6b1f12;--notice-error-border: #efc6c0;--notice-success-bg: #dff2ec;--notice-success-ink: #0f4c3c;--notice-success-border: #bfe3d6;--notice-warning-bg: #f5eddc;--notice-warning-ink: #6b4a12;--notice-warning-border: #e5d2ab;--queue-border: #d6e3e8;--table-border: #d6e3e8;--table-row-border: #dfe9ed;--table-head-bg: #f5fafb;--table-zebra-bg: #fbfdfe;--sort-indicator: #3e606b;--queue-highlight-border: #8abfcb;--queue-highlight-bg: #edf8fb;--queue-overdue-border: #d7746a;--queue-overdue-bg: #fff1ef;--queue-overdue-border-strong: #c6402f;--queue-overdue-glow: rgba(211, 67, 50, .2);--status-waiting-bg: #e8f0f4;--status-waiting-ink: #38545f;--status-in-session-bg: #def0e9;--status-in-session-ink: #145243;--status-completed-bg: #e4f2eb;--status-completed-ink: #245a4a;--status-cancelled-bg: #f4e4e0;--status-cancelled-ink: #7b2f21;--checkbox-border: #d6e3e8;--spinner-track: #d2e3e8;color:var(--ink);background-color:var(--bg)}:root[data-theme=denver]{--ink: #1f2b45;--bg: #f4f7ff;--surface: #ffffff;--surface-border: #cad6ee;--brand: #003893;--brand-strong: #002560;--danger: #b02200;--danger-strong: #7d1800;--warning: #ffb200;--success: #00b28c;--muted: #495a7c;--bg-accent-1: #e4ebff;--bg-accent-2: #fff2cc;--nav-active-bg: #e5edff;--nav-active-border: #b8c9f2;--nav-active-ink: #002560;--hero-accent: #ffb200;--muted-surface: #f7f9ff;--input-border: #b9c9ec;--input-focus: #003893;--button-secondary-bg: #eaf0ff;--button-secondary-hover: #dbe6ff;--button-secondary-ink: #1f2b45;--button-ghost-border: #b9c9ec;--button-ghost-hover: #f3f7ff;--notice-error-bg: #fff0ed;--notice-error-ink: #7d1800;--notice-error-border: #f2c3ba;--notice-success-bg: #e2f6f1;--notice-success-ink: #007f64;--notice-success-border: #b2e3d8;--notice-warning-bg: #fff6de;--notice-warning-ink: #5e2f00;--notice-warning-border: #f1d78e;--queue-border: #d3dff3;--table-border: #d3dff3;--table-row-border: #dce5f6;--table-head-bg: #f0f4ff;--table-zebra-bg: #f9fbff;--sort-indicator: #003893;--queue-highlight-border: #00b28c;--queue-highlight-bg: #e5f8f4;--queue-overdue-border: #b02200;--queue-overdue-bg: #fff1ef;--queue-overdue-border-strong: #7d1800;--queue-overdue-glow: rgba(176, 34, 0, .22);--status-waiting-bg: #e7ecf8;--status-waiting-ink: #003893;--status-in-session-bg: #e5f8f4;--status-in-session-ink: #007f64;--status-completed-bg: #ebf9f5;--status-completed-ink: #007f64;--status-cancelled-bg: #fbe7e3;--status-cancelled-ink: #7d1800;--checkbox-border: #d3dff3;--spinner-track: #d3dff3}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(1200px circle at 20% -10%,var(--bg-accent-1) 10%,transparent 50%),radial-gradient(1200px circle at 100% 0%,var(--bg-accent-2) 0%,transparent 55%),var(--bg);color:var(--ink)}main{margin:0 auto;max-width:1120px;padding:1rem}h1,h2,h3,h4,p{margin:0}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--surface-border);background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.9rem 1rem;position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center}.topbar-brand h1{font-size:1.1rem;font-weight:700}.topbar-brand p{color:var(--muted);font-size:.86rem}.topbar-nav{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.nav-link{text-decoration:none;color:var(--ink);border:1px solid transparent;border-radius:999px;padding:.38rem .75rem;font-size:.9rem}.nav-link:hover{border-color:var(--surface-border)}.nav-link.active{background:var(--nav-active-bg);border-color:var(--nav-active-border);color:var(--nav-active-ink)}.page{display:grid;gap:1rem;padding:.6rem 0 1.3rem}.page.narrow{max-width:560px;margin:0 auto}.hero{border-left:6px solid var(--hero-accent)}.card{background:var(--surface);border:1px solid var(--surface-border);border-radius:14px;padding:1rem;box-shadow:0 8px 20px #1037450f}.muted-card{background:var(--muted-surface)}.stack{display:grid;gap:.7rem}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:1fr}.field{display:grid;gap:.35rem;font-weight:600;font-size:.92rem}.join-queue-form{display:grid;gap:.95rem}.join-queue-form .input{min-height:2.9rem}.join-queue-form select.input{min-height:3rem}.join-queue-submit{margin-top:.45rem}.input{width:100%;border:1px solid var(--input-border);border-radius:10px;padding:.58rem .68rem;background:#fff;color:var(--ink);font-size:.95rem}.input:focus{outline:2px solid var(--input-focus);border-color:var(--input-focus)}.button{border:0;border-radius:10px;padding:.58rem .88rem;background:var(--brand);color:#fff;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .2s ease;text-decoration:none}.button:hover{background:var(--brand-strong)}.button:disabled{cursor:not-allowed;opacity:.65}.button.secondary{background:var(--button-secondary-bg);color:var(--button-secondary-ink)}.button.secondary:hover{background:var(--button-secondary-hover)}.button.danger{background:var(--danger)}.button.danger:hover{background:var(--danger-strong)}.button.ghost{background:transparent;color:var(--ink);border:1px solid var(--button-ghost-border)}.button.ghost:hover{background:var(--button-ghost-hover)}.button.inline{display:inline-flex;align-items:center;justify-content:center}.button-row{display:flex;gap:.5rem;flex-wrap:wrap}.notice{border-radius:10px;padding:.52rem .72rem;font-size:.9rem}.notice.error{background:var(--notice-error-bg);color:var(--notice-error-ink);border:1px solid var(--notice-error-border)}.notice.success{background:var(--notice-success-bg);color:var(--notice-success-ink);border:1px solid var(--notice-success-border)}.notice.warning{background:var(--notice-warning-bg);color:var(--notice-warning-ink);border:1px solid var(--notice-warning-border)}.muted{color:var(--muted);font-size:.9rem}.queue-item{border:1px solid var(--queue-border);border-radius:10px;padding:.7rem .8rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;align-items:center}.queue-item-top{align-items:flex-start}.report-datatable{display:grid;gap:.75rem}.report-datatable-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:flex-end}.report-datatable-search{flex:1 1 260px;max-width:420px}.report-datatable-controls{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:flex-end}.report-datatable-page-size{max-width:180px}.report-datatable-scroll{overflow-x:auto;border:1px solid var(--table-border);border-radius:10px}.report-datatable-table{border-collapse:collapse;width:100%;min-width:960px;font-size:.89rem}.report-datatable-table th,.report-datatable-table td{padding:.58rem .65rem;border-bottom:1px solid var(--table-row-border);vertical-align:top}.report-datatable-table thead th{background:var(--table-head-bg);white-space:nowrap}.report-datatable-table tbody tr:nth-child(2n){background:var(--table-zebra-bg)}.report-datatable-table .align-left{text-align:left}.report-datatable-table .align-right{text-align:right}.report-datatable-table .align-center{text-align:center}.report-datatable-sort{border:0;width:100%;background:transparent;font:inherit;color:inherit;font-weight:700;padding:0;display:inline-flex;align-items:center;justify-content:space-between;gap:.4rem;cursor:pointer}.report-datatable-sort-indicator{color:var(--sort-indicator);font-size:.78rem}.report-datatable-empty{text-align:center;color:var(--muted)}.report-datatable-pagination{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:flex-end}.display-waiting-card{align-self:start;align-content:start}.queue-item-highlight{border-color:var(--queue-highlight-border);background:var(--queue-highlight-bg)}.queue-item-overdue{border-color:var(--queue-overdue-border);background:var(--queue-overdue-bg);animation:overdue-flash 1.2s ease-in-out infinite}.status-badge{border-radius:999px;padding:.2rem .52rem;font-size:.78rem;font-weight:700}.status-badge.waiting{background:var(--status-waiting-bg);color:var(--status-waiting-ink)}.status-badge.in_session{background:var(--status-in-session-bg);color:var(--status-in-session-ink)}.status-badge.completed{background:var(--status-completed-bg);color:var(--status-completed-ink)}.status-badge.cancelled{background:var(--status-cancelled-bg);color:var(--status-cancelled-ink)}.checkbox-group{margin:0;border:1px solid var(--checkbox-border);border-radius:10px;padding:.7rem;display:grid;gap:.45rem}.checkbox-group legend{padding:0 .3rem;font-weight:600}.checkbox-item{display:flex;align-items:center;gap:.5rem}.loading-pane{display:grid;place-items:center;gap:.6rem;min-height:45vh}.spinner{width:30px;height:30px;border:3px solid var(--spinner-track);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes overdue-flash{0%,to{box-shadow:0 0 #d3433214;border-color:var(--queue-overdue-border)}50%{box-shadow:0 0 0 3px var(--queue-overdue-glow);border-color:var(--queue-overdue-border-strong)}}@media(min-width:860px){main{padding:1.2rem 1rem 1.8rem}.grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
