/* ============================================================================
   Admission Tickets — overview page (prefix: mw-at-*)
   Self-contained dark "control room" surface. All class names are global and
   prefixed mw-at-* (no Blazor CSS isolation, per project convention).
   ============================================================================ */

.mw-at-app {
    --mw-at-bg:#0a0b0e;
    --mw-at-panel:#14171e;
    --mw-at-panel2:#191d26;
    --mw-at-line:rgba(255,255,255,.07);
    --mw-at-line2:rgba(255,255,255,.12);
    --mw-at-tx:#e9ebf0;
    --mw-at-tx2:#9aa1ad;
    --mw-at-tx3:#5c626e;
    --mw-at-ok:#54d98c;
    --mw-at-warn:#ff7a51;
    --mw-at-bad:#f25563;
    --mw-at-accent:#6f8cff;
    --mw-at-mono:ui-monospace,SFMono-Regular,"JetBrains Mono",Menlo,Consolas,monospace;
    --mw-at-radius:14px;

    position:relative;
    min-height:calc(100vh - 64px);
    margin:-24px;
    padding:8px 28px 80px;
    background:
        radial-gradient(1200px 600px at 80% -10%, rgba(111,140,255,.10), transparent 60%),
        radial-gradient(900px 500px at -5% 5%, rgba(238,90,166,.07), transparent 55%),
        var(--mw-at-bg);
    color:var(--mw-at-tx);
    font-feature-settings:"tnum" 1;
}

.mw-at-mono { font-family:var(--mw-at-mono); }

/* ── headline ── */
.mw-at-head {
    display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
    padding:24px 0 20px;
}
.mw-at-head h1 { font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1;margin:0; }
.mw-at-head .mw-at-sub { color:var(--mw-at-tx2);font-size:13.5px;margin-top:9px; }
.mw-at-head .mw-at-accent { color:#f5b54a; }
.mw-at-actions { display:flex;align-items:center;gap:10px; }

.mw-at-btn {
    display:inline-flex;align-items:center;gap:7px;border:1px solid var(--mw-at-line);
    border-radius:10px;background:var(--mw-at-panel);color:var(--mw-at-tx);
    font:inherit;font-size:13px;font-weight:600;padding:9px 14px;cursor:pointer;transition:.16s;
}
.mw-at-btn:hover { border-color:var(--mw-at-line2);background:var(--mw-at-panel2);transform:translateY(-1px); }
.mw-at-btn .mw-at-i { width:16px;height:16px;display:inline-grid;place-items:center; }
.mw-at-btn.mw-at-primary {
    background:linear-gradient(180deg,#fff,#e7e9ef);color:#10131a;border-color:transparent;
    box-shadow:0 6px 18px rgba(255,255,255,.08);
}
.mw-at-btn.mw-at-primary:hover { background:#fff; }

/* ── KPI band ── */
.mw-at-kpis { display:grid;grid-template-columns:repeat(4,1fr) 1.55fr;gap:14px;margin-bottom:14px; }
.mw-at-kpi {
    position:relative;overflow:hidden;border:1px solid var(--mw-at-line);border-radius:var(--mw-at-radius);
    background:linear-gradient(160deg,var(--mw-at-panel2),var(--mw-at-panel));padding:16px 17px;
}
.mw-at-kpi-lbl { font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--mw-at-tx3);font-weight:600; }
.mw-at-kpi-num { font-family:var(--mw-at-mono);font-weight:700;font-size:30px;letter-spacing:-.02em;margin-top:8px;line-height:1; }
.mw-at-kpi-num .mw-at-pct { font-size:15px;color:var(--mw-at-tx3); }
.mw-at-kpi-sub { font-size:12px;color:var(--mw-at-tx2);margin-top:6px;font-family:var(--mw-at-mono); }
.mw-at-meter { height:5px;border-radius:3px;background:rgba(255,255,255,.07);margin-top:11px;overflow:hidden; }
.mw-at-meter > i { display:block;height:100%;border-radius:3px;transition:width .6s cubic-bezier(.4,0,.1,1); }
.mw-at-kpi.mw-at-glow-filled .mw-at-kpi-num { color:var(--mw-at-ok); }
.mw-at-kpi.mw-at-glow-chk .mw-at-kpi-num { color:var(--mw-at-accent); }
.mw-at-kpi.mw-at-glow-rem .mw-at-kpi-num { color:#f5b54a; }

.mw-at-rollup {
    border:1px solid var(--mw-at-line);border-radius:var(--mw-at-radius);
    background:linear-gradient(160deg,var(--mw-at-panel2),var(--mw-at-panel));
    padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:9px;
}
.mw-at-rollup .mw-at-kpi-lbl { margin-bottom:1px; }
.mw-at-rrow { display:flex;align-items:center;gap:10px; }
.mw-at-rrow .mw-at-tag { display:flex;align-items:center;gap:7px;width:108px;font-size:12.5px;font-weight:600; }
.mw-at-sw { width:9px;height:9px;border-radius:3px;flex:none; }
.mw-at-rrow .mw-at-bar { flex:1;height:7px;border-radius:4px;background:rgba(255,255,255,.06);overflow:hidden; }
.mw-at-rrow .mw-at-bar > i { display:block;height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.1,1); }
.mw-at-rrow .mw-at-cnt { font-family:var(--mw-at-mono);font-size:12px;color:var(--mw-at-tx2);width:54px;text-align:right; }

/* ── toolbar ── */
.mw-at-toolbar { padding:6px 0 6px;margin-bottom:6px; }
.mw-at-tline1 { display:flex;align-items:center;gap:14px;margin-bottom:11px; }
.mw-at-seg { display:inline-flex;background:var(--mw-at-panel);border:1px solid var(--mw-at-line);border-radius:11px;padding:3px; }
.mw-at-seg button {
    border:none;background:none;color:var(--mw-at-tx2);font:inherit;font-size:13px;font-weight:600;
    padding:7px 15px;border-radius:8px;cursor:pointer;transition:.15s;
}
.mw-at-seg button.on { background:var(--mw-at-panel2);color:var(--mw-at-tx);box-shadow:0 1px 0 rgba(255,255,255,.05) inset,0 4px 12px rgba(0,0,0,.3); }
.mw-at-search {
    margin-left:auto;display:flex;align-items:center;gap:9px;background:var(--mw-at-panel);
    border:1px solid var(--mw-at-line);border-radius:11px;padding:0 13px;width:300px;transition:.18s;
}
.mw-at-search:focus-within { border-color:var(--mw-at-line2);box-shadow:0 0 0 3px rgba(111,140,255,.12); }
.mw-at-search input { flex:1;background:none;border:none;outline:none;color:var(--mw-at-tx);font:inherit;font-size:13.5px;padding:11px 0; }
.mw-at-search input::placeholder { color:var(--mw-at-tx3); }
.mw-at-tline2 { display:flex;align-items:center;gap:9px;flex-wrap:wrap; }
.mw-at-fgroup { display:flex;align-items:center;gap:6px; }
.mw-at-fgroup > span { font-size:11px;color:var(--mw-at-tx3);text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-right:1px; }
.mw-at-chip {
    display:inline-flex;align-items:center;gap:6px;border:1px solid var(--mw-at-line);background:var(--mw-at-panel);
    color:var(--mw-at-tx2);font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:8px;cursor:pointer;transition:.14s;user-select:none;
}
.mw-at-chip:hover { border-color:var(--mw-at-line2);color:var(--mw-at-tx); }
.mw-at-chip .mw-at-dot { width:8px;height:8px;border-radius:50%; }
.mw-at-chip.on { color:#0c0d10;border-color:transparent; }
.mw-at-chip.on.mw-at-accentchip { background:var(--mw-at-ac);box-shadow:0 4px 14px -2px var(--mw-at-ac); }
.mw-at-chip.on.mw-at-plain { background:var(--mw-at-tx);color:#0c0d10; }
.mw-at-divider { width:1px;height:20px;background:var(--mw-at-line);margin:0 3px; }
.mw-at-chip.mw-at-alarm { margin-left:auto;border-color:rgba(255,122,81,.3);color:var(--mw-at-warn); }
.mw-at-chip.mw-at-alarm .mw-at-c { font-family:var(--mw-at-mono);background:rgba(255,122,81,.16);color:var(--mw-at-warn);border-radius:6px;padding:1px 6px;font-size:11px; }
.mw-at-chip.mw-at-alarm.on { background:var(--mw-at-warn);color:#1a0d07;border-color:transparent; }
.mw-at-chip.mw-at-alarm.on .mw-at-c { background:rgba(0,0,0,.18);color:#1a0d07; }
.mw-at-chip.mw-at-clear { color:var(--mw-at-tx3);border-style:dashed; }

/* ── groups & contingents ── */
.mw-at-group { margin-top:18px; }
.mw-at-ghead { display:flex;align-items:center;gap:12px;padding:0 4px 10px; }
.mw-at-kind { width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--mw-at-panel2);border:1px solid var(--mw-at-line);color:var(--mw-at-tx2);flex:none; }
.mw-at-nm { font-weight:700;font-size:17px;letter-spacing:-.01em; }
.mw-at-badge { font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mw-at-tx3);border:1px solid var(--mw-at-line);border-radius:6px;padding:2px 7px;font-weight:600; }
.mw-at-gsum { margin-left:auto;font-family:var(--mw-at-mono);font-size:12px;color:var(--mw-at-tx2);display:flex;gap:14px; }
.mw-at-gsum b { color:var(--mw-at-tx);font-weight:700; }

.mw-at-cont {
    border:1px solid var(--mw-at-line);border-radius:var(--mw-at-radius);
    background:linear-gradient(170deg,var(--mw-at-panel2),var(--mw-at-panel));margin-bottom:9px;overflow:hidden;transition:border-color .18s;
}
.mw-at-cont:hover { border-color:var(--mw-at-line2); }
.mw-at-cont.mw-at-overdue { border-color:rgba(255,122,81,.28); }
.mw-at-crow { display:grid;grid-template-columns:26px minmax(160px,210px) 1fr 150px 120px;align-items:center;gap:14px;padding:13px 15px;cursor:pointer; }
.mw-at-chev { width:18px;height:18px;color:var(--mw-at-tx3);transition:transform .22s;display:inline-grid;place-items:center; }
.mw-at-cont.open .mw-at-chev { transform:rotate(90deg);color:var(--mw-at-tx); }
.mw-at-ctype { display:flex;align-items:center;gap:9px;font-weight:600;font-size:14px; }
.mw-at-ctype .mw-at-swbig { width:11px;height:11px;border-radius:4px;flex:none; }
.mw-at-ctype small { display:block;color:var(--mw-at-tx3);font-size:11px;font-weight:500;margin-top:1px; }
.mw-at-owner-inline { display:flex;align-items:center;gap:8px;color:var(--mw-at-tx2);font-size:13px;font-weight:500; }
.mw-at-owner-inline .mw-at-i { width:15px;height:15px;display:inline-grid;place-items:center;opacity:.75; }
.mw-at-fill { display:flex;align-items:center;gap:12px; }
.mw-at-track { flex:1;height:9px;border-radius:5px;background:rgba(255,255,255,.06);overflow:hidden; }
.mw-at-track > i { display:block;height:100%;border-radius:5px;transition:width .55s cubic-bezier(.4,0,.1,1); }
.mw-at-ratio { font-family:var(--mw-at-mono);font-size:13px;font-weight:500;width:54px;text-align:right;color:var(--mw-at-tx2); }
.mw-at-ratio b { color:var(--mw-at-tx);font-weight:700; }
.mw-at-cmeta { display:flex;align-items:center;gap:8px;justify-content:flex-end; }
.mw-at-pill { display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;border-radius:7px;padding:4px 8px;font-family:var(--mw-at-mono); }
.mw-at-pill.mw-at-chk { background:rgba(84,217,140,.12);color:var(--mw-at-ok); }
.mw-at-pill.mw-at-full { background:rgba(255,255,255,.07);color:var(--mw-at-tx2); }
.mw-at-pill.mw-at-od { background:rgba(255,122,81,.14);color:var(--mw-at-warn); }
.mw-at-cdeadline { font-family:var(--mw-at-mono);font-size:11.5px;color:var(--mw-at-tx3);text-align:right;white-space:nowrap; }
.mw-at-cdeadline.mw-at-late { color:var(--mw-at-warn); }

/* ── holders ── */
.mw-at-htable { border-top:1px solid var(--mw-at-line);background:rgba(0,0,0,.18); }
.mw-at-hrow { display:grid;grid-template-columns:34px 1fr 220px 130px 92px;align-items:center;gap:12px;padding:10px 15px 10px 18px;border-top:1px solid rgba(255,255,255,.04);transition:background .14s; }
.mw-at-hrow:first-child { border-top:none; }
.mw-at-hrow:hover { background:rgba(255,255,255,.025); }
.mw-at-hrow.mw-at-revoked { opacity:.5; }
.mw-at-hrow.mw-at-match { background:rgba(245,181,74,.07); }
.mw-at-hi { width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;font-family:var(--mw-at-mono);text-transform:uppercase; }
.mw-at-hname { font-size:13.5px;font-weight:600; }
.mw-at-hrow.mw-at-revoked .mw-at-hname { text-decoration:line-through; }
.mw-at-hmail { font-size:12.5px;color:var(--mw-at-tx2);font-family:var(--mw-at-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.mw-at-status { display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;border-radius:20px;padding:4px 10px;white-space:nowrap; }
.mw-at-status .mw-at-d { width:6px;height:6px;border-radius:50%; }
.mw-at-status.mw-at-issued { background:rgba(154,161,173,.12);color:var(--mw-at-tx2); }
.mw-at-status.mw-at-issued .mw-at-d { background:var(--mw-at-tx2); }
.mw-at-status.mw-at-confirmed { background:rgba(52,212,200,.12);color:#34d4c8; }
.mw-at-status.mw-at-confirmed .mw-at-d { background:#34d4c8; }
.mw-at-status.mw-at-checkedin { background:rgba(84,217,140,.14);color:var(--mw-at-ok); }
.mw-at-status.mw-at-checkedin .mw-at-d { background:var(--mw-at-ok);box-shadow:0 0 8px var(--mw-at-ok); }
.mw-at-status.mw-at-revoked { background:rgba(242,85,99,.12);color:var(--mw-at-bad); }
.mw-at-status.mw-at-revoked .mw-at-d { background:var(--mw-at-bad); }
.mw-at-status.mw-at-noshow { background:rgba(154,161,173,.10);color:var(--mw-at-tx3); }
.mw-at-status.mw-at-noshow .mw-at-d { background:var(--mw-at-tx3); }
.mw-at-status.mw-at-cancelled { background:rgba(242,85,99,.08);color:var(--mw-at-tx3); }
.mw-at-status.mw-at-cancelled .mw-at-d { background:var(--mw-at-tx3); }
.mw-at-hact { display:flex;align-items:center;gap:5px;justify-content:flex-end; }
.mw-at-iconbtn { width:28px;height:28px;border-radius:7px;display:grid;place-items:center;border:1px solid var(--mw-at-line);background:var(--mw-at-panel);color:var(--mw-at-tx2);cursor:pointer;transition:.14s;padding:0; }
.mw-at-iconbtn:hover { color:var(--mw-at-tx);border-color:var(--mw-at-line2); }
.mw-at-iconbtn.mw-at-go:hover { color:var(--mw-at-ok);border-color:rgba(84,217,140,.4); }
.mw-at-iconbtn.mw-at-danger:hover { color:var(--mw-at-bad);border-color:rgba(242,85,99,.4); }
.mw-at-iconbtn .mw-at-i { width:14px;height:14px;display:inline-grid;place-items:center; }

.mw-at-addrow { display:flex;align-items:center;gap:10px;padding:11px 15px 12px 18px;border-top:1px dashed var(--mw-at-line); }
.mw-at-addrow .mw-at-plus { width:30px;height:30px;border-radius:50%;border:1px dashed var(--mw-at-line2);display:grid;place-items:center;color:var(--mw-at-tx3);flex:none; }
.mw-at-addrow input { background:var(--mw-at-bg);border:1px solid var(--mw-at-line);border-radius:8px;color:var(--mw-at-tx);font:inherit;font-size:13px;padding:8px 11px;outline:none; }
.mw-at-addrow input:focus { border-color:var(--mw-at-line2); }
.mw-at-addrow .mw-at-a-first { width:130px; }
.mw-at-addrow .mw-at-a-last { width:140px; }
.mw-at-addrow .mw-at-a-mail { flex:1;font-family:var(--mw-at-mono);font-size:12.5px; }
.mw-at-addrow .mw-at-note { color:var(--mw-at-tx3);font-size:12.5px;font-style:italic; }
.mw-at-addrow .mw-at-slots { color:var(--mw-at-tx3);font-size:12px;font-family:var(--mw-at-mono);white-space:nowrap; }

/* ── flat holder table ── */
.mw-at-flat { border:1px solid var(--mw-at-line);border-radius:var(--mw-at-radius);overflow:hidden;background:linear-gradient(170deg,var(--mw-at-panel2),var(--mw-at-panel)); }
.mw-at-fh { display:grid;grid-template-columns:34px 1.3fr 1.4fr 150px 160px 120px;gap:12px;padding:11px 16px;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mw-at-tx3);font-weight:600;border-bottom:1px solid var(--mw-at-line); }
.mw-at-frow { display:grid;grid-template-columns:34px 1.3fr 1.4fr 150px 160px 120px;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.04);transition:background .14s; }
.mw-at-frow:last-child { border-bottom:none; }
.mw-at-frow:hover { background:rgba(255,255,255,.025); }
.mw-at-frow.mw-at-revoked { opacity:.5; }
.mw-at-frow.mw-at-revoked .mw-at-hname { text-decoration:line-through; }
.mw-at-frow.mw-at-match { background:rgba(245,181,74,.07); }
.mw-at-ftype { display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600; }

/* ── empty ── */
.mw-at-empty { text-align:center;padding:70px 20px;color:var(--mw-at-tx3); }
.mw-at-empty b { display:block;color:var(--mw-at-tx2);font-size:15px;font-weight:600;margin-bottom:5px; }

.mw-at-svg { width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }
.mw-at-svg.mw-at-fillcur { fill:currentColor;stroke:none; }
