@font-face{font-family:"Oswald";src:url(/static/fonts/Oswald-Variable.ttf) format("truetype");font-weight:200 700;font-display:swap}
@font-face{font-family:"Poppins";src:url(/static/fonts/Poppins-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Poppins";src:url(/static/fonts/Poppins-Medium.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Poppins";src:url(/static/fonts/Poppins-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}
:root{--purple:#9C45F5;--purple-deep:#7A23D6;--blue:#3560E7;--mid-blue:#4385F5;--cyan:#E9FEFF;--sage:#E5E8DD;--cream:#FBFBF8;--paper:#FFFFFF;--ink:#1A1A22;--body:#46474F;--muted:#73757F;--hair:#E7E5DC;--error:#D6162D;--success:#0E7C86;--warning:#F3722C}
*{box-sizing:border-box}
html,body{margin:0;background:var(--cream);color:var(--body);font-family:"Poppins",system-ui,sans-serif;font-size:15px;line-height:1.45}
h1,h2,.wordmark{font-family:"Oswald","Poppins",sans-serif;color:var(--ink);margin:0}
.wordmark{font-weight:600;font-size:26px;letter-spacing:.5px}
.wordmark span{color:var(--purple)}
header{background:linear-gradient(135deg,#F1E5FF,#E9FEFF);border-bottom:1px solid var(--hair);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.eyebrow{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.who{display:flex;align-items:center;gap:12px;font-size:13px}
.who b{color:var(--ink)}
main{max-width:1100px;margin:24px auto;padding:0 16px}
.card{background:var(--paper);border:1px solid var(--hair);border-radius:16px;padding:24px;box-shadow:0 1px 2px rgba(26,26,34,.04)}
button,.btn{font:inherit;font-weight:600;font-size:13px;border:0;border-radius:999px;padding:8px 16px;cursor:pointer;background:var(--purple);color:#fff;text-decoration:none;display:inline-block}
button:hover,.btn:hover{background:var(--purple-deep)}
button.ghost,.btn.ghost{background:transparent;color:var(--purple-deep);border:1px solid var(--purple)}
button.ghost:hover,.btn.ghost:hover{background:#F1E5FF}
button.danger{background:transparent;color:var(--error);border:1px solid var(--hair);padding:4px 10px;font-size:12px}
button.danger:hover{background:#FDECEE}
.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}
.crumbs{font-size:13px;color:var(--muted);display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.crumbs a{color:var(--blue);text-decoration:none;font-weight:500}
.crumbs a:hover{text-decoration:underline}
.drop{border:2px dashed var(--purple);border-radius:12px;background:#FAF5FF;padding:32px;text-align:center;color:var(--body);margin:16px 0;transition:background .15s}
.drop.over{background:#F1E5FF;border-style:solid}
.drop h2{font-size:22px;font-weight:500;margin-bottom:8px}
.drop input{display:none}
.drop label{color:var(--purple-deep);font-weight:600;cursor:pointer;text-decoration:underline}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;padding:8px 12px;border-bottom:1px solid var(--hair)}
td{padding:10px 12px;border-bottom:1px solid var(--hair);vertical-align:middle}
tr:hover td{background:var(--cream)}
td.name a{color:var(--ink);text-decoration:none;font-weight:500}
td.name a:hover{color:var(--purple-deep)}
td.num{text-align:right;white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}
td.act{text-align:right;white-space:nowrap}
.empty{padding:24px;text-align:center;color:var(--muted)}
.queue{margin-top:16px;display:grid;gap:8px}
.q{font-size:13px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.bar{grid-column:1/-1;height:6px;background:var(--sage);border-radius:999px;overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--purple),var(--blue));width:0}
.ok{color:var(--success);font-weight:600}.err{color:var(--error);font-weight:600}
.login{max-width:420px;margin:48px auto}
.login h1{font-size:46px;font-weight:600;line-height:1.1;margin-bottom:4px}
.login p{color:var(--muted);margin:0 0 24px}
.field{display:grid;gap:6px;margin-bottom:16px}
.field label{font-size:13px;font-weight:600;color:var(--ink)}
.field input{font:inherit;padding:10px 12px;border:1px solid var(--hair);border-radius:12px;background:#fff;color:var(--ink)}
.field input:focus{outline:2px solid var(--mid-blue);border-color:transparent}
.alert{background:#FDECEE;color:var(--error);border-radius:12px;padding:10px 12px;font-size:13px;margin-bottom:16px;display:none}
.alert.show{display:block}
footer{text-align:center;color:var(--muted);font-size:12px;padding:24px}
.icon{display:inline-block;width:18px;text-align:center;margin-right:6px;color:var(--purple)}
.note{background:#FFF4EC;border:1px solid #F3722C;color:#7A3A12;border-radius:12px;padding:10px 12px;font-size:13px;margin-bottom:16px}
