/* =========================================================================
   CISCO ARENA — Organizer console CSS
   Extracted from design-handoff/arena/project/Arena Organizer.html
   Own token set — independent from the player flow's tokens.css
   ========================================================================= */

:root{
  --s0:oklch(13% .012 250);--s1:oklch(17% .014 250);--s2:oklch(21% .016 250);--s3:oklch(26% .018 250);
  --i1:oklch(97% .005 250);--i2:oklch(76% .010 250);--i3:oklch(56% .012 250);--i4:oklch(42% .014 250);
  --line:oklch(30% .014 250);--line-soft:oklch(24% .012 250);
  --brand:oklch(62% .18 230);--brand-ink:oklch(98% .01 230);--brand-soft:oklch(28% .08 230);
  --acc:oklch(72% .17 280);--acc-soft:oklch(28% .08 280);
  --ok:oklch(66% .16 152);--ok-soft:oklch(28% .07 152);
  --dn:oklch(62% .22 22);--dn-soft:oklch(28% .09 22);
  --wn:oklch(74% .14 75);--wn-soft:oklch(30% .08 75);
  --brand-hi:oklch(78% .20 60);--gold:oklch(84% .16 85);
  --f-d:'Fraunces',Georgia,serif;--f-b:'Inter',system-ui,sans-serif;--f-m:'JetBrains Mono',ui-monospace,monospace;--f-mega:'Bebas Neue',Impact,sans-serif;
  --r-s:6px;--r-m:10px;--r-l:14px;--r-p:999px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--f-b);font-size:13px;line-height:1.5;color:var(--i1);background:var(--s0);min-height:100vh}
code,.mono{font-family:var(--f-m)}
.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}

/* ========== SIDEBAR ========== */
.side{background:var(--s1);border-right:1px solid var(--line);padding:22px 0;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{padding:0 22px;display:flex;align-items:center;gap:10px}
.brand .mk{width:28px;height:28px;border-radius:var(--r-s);background:var(--brand);color:var(--brand-ink);font-family:var(--f-d);font-weight:700;font-size:17px;display:flex;align-items:center;justify-content:center;letter-spacing:-.02em}
.brand .nm{font-family:var(--f-d);font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1}
.brand .nm em{font-style:italic;color:var(--brand);font-weight:500}
.brand small{display:block;font-family:var(--f-m);font-size:9px;letter-spacing:.16em;color:var(--i3);text-transform:uppercase;margin-top:3px}

.navsec{padding:0 12px}
.navsec h6{font-family:var(--f-m);font-size:9px;letter-spacing:.14em;color:var(--i4);text-transform:uppercase;padding:0 10px 6px}
.nav{display:flex;flex-direction:column;gap:1px}
.nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-s);color:var(--i2);text-decoration:none;font-size:13px;cursor:pointer}
.nav a:hover{background:var(--s2);color:var(--i1)}
.nav a.on{background:var(--brand-soft);color:var(--brand);font-weight:500}
.nav .ic{width:16px;font-family:var(--f-m);font-size:13px;text-align:center;opacity:.9}
.nav .ct{margin-left:auto;font-family:var(--f-m);font-size:10px;color:var(--i4)}
.nav a.on .ct{color:var(--brand)}

.sideuser{margin-top:auto;padding:14px 18px;border-top:1px solid var(--line-soft);display:flex;gap:10px;align-items:center}
.sideuser .av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--acc));color:var(--brand-ink);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:-.02em}
.sideuser b{font-size:12px;display:block}
.sideuser small{display:block;color:var(--i3);font-size:11px}

/* ========== MAIN ========== */
.main{min-width:0;display:flex;flex-direction:column}

/* top bar */
.topbar{display:flex;align-items:center;gap:16px;padding:14px 28px;border-bottom:1px solid var(--line);background:var(--s0);position:sticky;top:0;z-index:50}
.crumb{font-family:var(--f-m);font-size:11px;letter-spacing:.08em;color:var(--i3);text-transform:uppercase;display:flex;gap:8px;align-items:center}
.crumb .sep{color:var(--i4)}
.crumb b{color:var(--i1);font-weight:500}
.topbar .grow{flex:1}
.search{background:var(--s1);border:1px solid var(--line);border-radius:var(--r-s);padding:6px 10px;color:var(--i2);font-size:12px;width:260px;font-family:var(--f-b)}
.btn{background:var(--s1);border:1px solid var(--line);color:var(--i1);font-size:12px;padding:7px 12px;border-radius:var(--r-s);cursor:pointer;font-family:var(--f-b);font-weight:500;display:inline-flex;gap:6px;align-items:center}
.btn:hover{border-color:var(--i3)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent}
.btn .kbd{font-family:var(--f-m);font-size:10px;background:var(--s2);padding:1px 5px;border-radius:3px;color:var(--i3)}

/* ========== PAGE ========== */
.page{padding:28px;display:flex;flex-direction:column;gap:28px;max-width:1600px;width:100%}

.pghd{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.pghd .title{font-family:var(--f-d);font-weight:500;font-size:34px;letter-spacing:-.02em;line-height:1;font-variation-settings:"opsz" 144}
.pghd .title em{font-style:italic;color:var(--brand);font-weight:500}
.pghd .eyebrow{font-family:var(--f-m);font-size:10px;letter-spacing:.14em;color:var(--i3);text-transform:uppercase;margin-bottom:6px}
.pghd .sub{color:var(--i3);margin-top:8px;max-width:60ch}
.pghd .right{display:flex;gap:8px;align-items:center}

/* ========== KPI STRIP ========== */
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.kpi{background:var(--s1);border:1px solid var(--line-soft);border-radius:var(--r-m);padding:14px 16px;display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden}
.kpi .lbl{font-family:var(--f-m);font-size:10px;letter-spacing:.14em;color:var(--i3);text-transform:uppercase}
.kpi .v{font-family:var(--f-d);font-variation-settings:"opsz" 144;font-weight:600;font-size:28px;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.kpi .v small{font-family:var(--f-m);font-size:11px;color:var(--i3);font-weight:500;margin-left:4px;letter-spacing:.06em}
.kpi .d{font-family:var(--f-m);font-size:10px;color:var(--ok);letter-spacing:.04em}
.kpi .d.down{color:var(--dn)}
.kpi .spark{position:absolute;right:10px;bottom:8px;opacity:.55}
.kpi.live{border-color:var(--brand)}
.kpi.live::before{content:"";position:absolute;top:12px;right:14px;width:6px;height:6px;border-radius:50%;background:var(--dn);box-shadow:0 0 0 3px rgb(from var(--dn) r g b / .25);animation:pulse 1.2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}

/* ========== CARD ========== */
.card{background:var(--s1);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden}
.card-hd{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line-soft);background:var(--s1)}
.card-hd h3{font-family:var(--f-d);font-weight:500;font-size:18px;letter-spacing:-.01em;display:flex;align-items:baseline;gap:10px}
.card-hd h3 .num{font-family:var(--f-m);font-size:10px;letter-spacing:.14em;color:var(--brand);font-weight:500}
.card-hd .note{font-family:var(--f-m);font-size:10px;letter-spacing:.1em;color:var(--i3);text-transform:uppercase}
.card-bd{padding:18px}

/* ========== CALENDAR ========== */
.cal{display:grid;grid-template-columns:120px repeat(7,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r-m);overflow:hidden}
.cal .h{background:var(--s2);padding:10px 12px;font-family:var(--f-m);font-size:10px;letter-spacing:.12em;color:var(--i3);text-transform:uppercase;text-align:center}
.cal .h.today{color:var(--brand)}
.cal .h strong{display:block;font-family:var(--f-d);font-size:20px;color:var(--i1);font-weight:500;margin-top:2px;font-variation-settings:"opsz" 144}
.cal .h.today strong{color:var(--brand)}
.cal .r{background:var(--s1);min-height:76px;padding:4px 6px;display:flex;flex-direction:column;gap:3px;position:relative}
.cal .tl{background:var(--s2);padding:10px 12px;font-family:var(--f-m);font-size:10px;color:var(--i3);letter-spacing:.06em;display:flex;align-items:center;justify-content:flex-end;gap:6px}
.cal .tl b{color:var(--i1);font-family:var(--f-d);font-size:13px;font-weight:500;font-variation-settings:"opsz" 144}
.evt{background:var(--brand-soft);border-left:3px solid var(--brand);padding:6px 8px;border-radius:3px;cursor:pointer;font-size:11px;color:var(--i1);line-height:1.35}
.evt b{font-weight:600;display:block}
.evt small{color:var(--i3);font-family:var(--f-m);font-size:10px;letter-spacing:.02em}
.evt.acc{background:var(--acc-soft);border-left-color:var(--acc)}
.evt.ok{background:var(--ok-soft);border-left-color:var(--ok)}
.evt.wn{background:var(--wn-soft);border-left-color:var(--wn)}
.evt.draft{background:transparent;border:1px dashed var(--i4);border-left:3px solid var(--i4);color:var(--i3)}
.evt .pills{display:flex;gap:3px;margin-top:3px;flex-wrap:wrap}
.evt .pill{font-family:var(--f-m);font-size:8.5px;letter-spacing:.08em;background:rgb(0 0 0 /.35);color:var(--i2);padding:1px 5px;border-radius:2px;text-transform:uppercase}
.cal .r.live{box-shadow:inset 0 0 0 2px var(--brand);z-index:1}
.cal .r.today{background:oklch(19% .014 250)}

/* ========== SESSION DETAIL ========== */
.split{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
@media(max-width:1200px){.split{grid-template-columns:1fr}}
.sess{padding:0}
.sess-hero{padding:22px 24px;background:linear-gradient(135deg,oklch(22% .03 230) 0%,oklch(18% .015 250) 80%);border-bottom:1px solid var(--line-soft);position:relative;overflow:hidden}
.sess-hero .meta{display:flex;gap:6px;align-items:center;margin-bottom:10px}
.sess-hero .meta .pill{font-family:var(--f-m);font-size:10px;letter-spacing:.1em;padding:3px 9px;border-radius:var(--r-p);text-transform:uppercase;font-weight:500}
.pill.live{background:var(--dn);color:var(--i1)}
.pill.live::before{content:"●";margin-right:4px;animation:pulse 1.2s infinite}
.pill.scheduled{background:var(--s3);color:var(--i2)}
.pill.draft{background:transparent;border:1px dashed var(--i4);color:var(--i3)}
.pill.brand{background:var(--brand-soft);color:var(--brand)}
.pill.acc{background:var(--acc-soft);color:var(--acc)}
.pill.ok{background:var(--ok-soft);color:var(--ok)}
.pill.wn{background:var(--wn-soft);color:var(--wn)}
.sess-hero h2{font-family:var(--f-d);font-weight:500;font-size:26px;letter-spacing:-.015em;line-height:1.1;margin-bottom:6px}
.sess-hero h2 em{font-style:italic;color:var(--brand);font-weight:500}
.sess-hero .when{font-family:var(--f-m);font-size:11px;color:var(--i3);letter-spacing:.04em}
.sess-hero .actions{position:absolute;right:22px;top:22px;display:flex;gap:6px}

.sess-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border-bottom:1px solid var(--line-soft)}
.sess-meta div{background:var(--s1);padding:12px 16px}
.sess-meta .l{font-family:var(--f-m);font-size:10px;letter-spacing:.12em;color:var(--i3);text-transform:uppercase;margin-bottom:3px}
.sess-meta .v{font-size:14px;font-weight:500;color:var(--i1)}

/* phase rail */
.phases{padding:20px 24px;border-bottom:1px solid var(--line-soft)}
.phases h4{font-family:var(--f-m);font-size:10px;letter-spacing:.14em;color:var(--i3);text-transform:uppercase;margin-bottom:10px;display:flex;justify-content:space-between}
.phase-rail{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.ph{background:var(--s2);border:1px solid var(--line-soft);border-radius:var(--r-s);padding:10px 12px;position:relative}
.ph .n{font-family:var(--f-m);font-size:9px;color:var(--i4);letter-spacing:.14em}
.ph .t{font-family:var(--f-d);font-size:14px;font-weight:500;margin-top:2px}
.ph .meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px;font-family:var(--f-m);font-size:10px;color:var(--i3);letter-spacing:.04em}
.ph.done{background:var(--ok-soft);border-color:transparent}
.ph.done .n{color:var(--ok)}
.ph.done::after{content:"\2713";position:absolute;top:6px;right:8px;color:var(--ok);font-size:11px;font-weight:700}
.ph.live{border-color:var(--brand);background:linear-gradient(135deg,var(--brand-soft),var(--s2))}
.ph.live .n{color:var(--brand)}
.ph.live::after{content:"\25CF";position:absolute;top:6px;right:8px;color:var(--dn);animation:pulse 1.2s infinite}

/* ========== LIVE MONITOR ========== */
.mon{padding:20px 24px;display:flex;flex-direction:column;gap:14px}
.mon h4{font-family:var(--f-m);font-size:10px;letter-spacing:.14em;color:var(--i3);text-transform:uppercase}
.leader{display:flex;flex-direction:column;gap:3px}
.ldr-row{display:grid;grid-template-columns:28px 24px 1fr auto 60px;gap:10px;padding:7px 10px;background:var(--s2);border-radius:var(--r-s);align-items:center;font-size:12px;position:relative}
.ldr-row .rank{font-family:var(--f-d);font-weight:600;font-size:16px;color:var(--i3);text-align:center;font-variant-numeric:tabular-nums;font-variation-settings:"opsz" 144}
.ldr-row.top{background:var(--brand-soft)}
.ldr-row.top .rank{color:var(--brand)}
.ldr-row .col{width:18px;height:18px;border-radius:3px;flex-shrink:0}
.ldr-row .score{font-family:var(--f-m);font-variant-numeric:tabular-nums;font-weight:600;color:var(--i1);text-align:right}
.ldr-row .bar{height:3px;background:var(--brand);border-radius:2px;opacity:.8}
.ldr-row .delta{font-family:var(--f-m);font-size:10px;color:var(--ok);letter-spacing:.04em;text-align:right}

.qstat{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.qs{background:var(--s2);border:1px solid var(--line-soft);border-radius:var(--r-s);padding:10px 12px}
.qs .t{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.qs .t b{font-size:11px}
.qs .t span{font-family:var(--f-m);font-size:10px;color:var(--i3);letter-spacing:.04em}
.qs .b{display:flex;gap:3px;align-items:flex-end;height:32px}
.qs .b span{flex:1;background:var(--line-soft);border-radius:2px 2px 0 0;position:relative}
.qs .b span.on{background:var(--brand)}
.qs .b span.correct{background:var(--ok)}
.qs .b span small{position:absolute;top:-13px;left:50%;transform:translateX(-50%);font-family:var(--f-m);font-size:9px;color:var(--i3)}
.qs .b span.on small{color:var(--brand)}

.feed{display:flex;flex-direction:column;gap:4px;font-family:var(--f-m);font-size:11px;max-height:180px;overflow:hidden;mask-image:linear-gradient(to bottom,black 60%,transparent)}
.feed .f{display:flex;gap:8px;padding:3px 0}
.feed .ts{color:var(--i4);width:50px;flex-shrink:0}
.feed .d{color:var(--i2);flex:1}
.feed .d b{color:var(--i1)}
.feed .d .ok{color:var(--ok)}.feed .d .bad{color:var(--dn)}.feed .d .wn{color:var(--wn)}

/* ========== INGEST ========== */
.ingest{padding:0}
.ing-hero{padding:22px 24px;display:flex;gap:18px;align-items:center;border-bottom:1px solid var(--line-soft);background:linear-gradient(120deg,oklch(22% .04 280),var(--s1) 70%)}
.ing-hero .file{width:60px;height:72px;background:var(--s0);border:1px solid var(--line);border-radius:var(--r-s);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:var(--f-m);font-size:9px;color:var(--i3);letter-spacing:.06em;flex-shrink:0;position:relative}
.ing-hero .file::before{content:"";position:absolute;top:0;right:0;width:14px;height:14px;background:linear-gradient(225deg,var(--line) 50%,transparent 50%)}
.ing-hero .file b{font-family:var(--f-d);font-size:14px;font-weight:600;color:var(--acc)}
.ing-hero .meta h4{font-family:var(--f-d);font-size:18px;font-weight:500;letter-spacing:-.01em;margin-bottom:3px}
.ing-hero .meta h4 em{font-style:italic;color:var(--acc);font-weight:500}
.ing-hero .meta .sub{color:var(--i3);font-size:12px}
.ing-hero .meta .pills{display:flex;gap:5px;margin-top:8px}
.ing-hero .btns{margin-left:auto;display:flex;gap:6px}

.ing-steps{display:flex;padding:0;border-bottom:1px solid var(--line-soft)}
.ist{flex:1;padding:12px 16px;border-right:1px solid var(--line-soft);position:relative;display:flex;flex-direction:column;gap:3px}
.ist:last-child{border-right:none}
.ist .n{font-family:var(--f-m);font-size:9px;color:var(--i4);letter-spacing:.14em;text-transform:uppercase}
.ist .lbl{font-size:12px;font-weight:500}
.ist.done{background:var(--ok-soft)}
.ist.done .n{color:var(--ok)}
.ist.live{background:var(--brand-soft)}
.ist.live .n{color:var(--brand)}
.ist.live::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brand);box-shadow:0 0 8px var(--brand)}

.slides{padding:18px 24px 10px}
.slides-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.slides-h h4{font-family:var(--f-m);font-size:10px;letter-spacing:.14em;color:var(--i3);text-transform:uppercase}
.slides-h .count{font-family:var(--f-m);font-size:10px;color:var(--i3);letter-spacing:.04em}
.slide{display:grid;grid-template-columns:140px 1fr 240px auto;gap:16px;padding:12px;border-radius:var(--r-m);background:var(--s1);border:1px solid var(--line-soft);margin-bottom:10px;align-items:center}
.slide.sel{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.slide .thumb{aspect-ratio:16/9;background:linear-gradient(135deg,oklch(22% .02 250),oklch(16% .015 250));border-radius:var(--r-s);border:1px solid var(--line-soft);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.slide .thumb .sn{position:absolute;top:4px;left:6px;font-family:var(--f-m);font-size:9px;letter-spacing:.1em;color:var(--i4);background:rgb(0 0 0 /.5);padding:1px 5px;border-radius:3px}
.slide .thumb .tt{font-family:var(--f-d);font-size:10px;font-weight:500;color:var(--i2);text-align:center;padding:0 10px;line-height:1.2}
.slide .thumb svg{position:absolute;inset:0}
.slide .meta .ttl{font-size:13px;font-weight:500;margin-bottom:4px}
.slide .meta .drft{font-size:12px;color:var(--i3);line-height:1.4}
.slide .meta .drft em{font-style:italic;color:var(--i2)}
.slide .meta .pills{display:flex;gap:4px;margin-top:6px}
.typ{display:flex;flex-direction:column;gap:6px}
.typ-s{display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--s2);border:1px solid var(--line-soft);border-radius:var(--r-s);font-family:var(--f-m);font-size:10px;letter-spacing:.04em;color:var(--i2);text-transform:uppercase;cursor:pointer}
.typ-s.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:500}
.typ-s small{color:var(--i4);font-size:9px;margin-left:auto;letter-spacing:.08em;text-transform:none}
.slide .act{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.slide .act .pt{font-family:var(--f-d);font-size:18px;font-weight:600;color:var(--brand);font-variant-numeric:tabular-nums}
.slide .act .s{font-family:var(--f-m);font-size:10px;color:var(--i3);letter-spacing:.06em}
.slide .act .b{display:flex;gap:4px;margin-top:4px}
.slide .act .b button{padding:3px 6px;background:var(--s2);border:1px solid var(--line-soft);border-radius:3px;color:var(--i3);font-family:var(--f-m);font-size:9px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.slide .act .b button.accept{color:var(--ok);border-color:var(--ok-soft);background:var(--ok-soft)}
.slide .act .b button.edit{color:var(--wn);border-color:var(--wn-soft);background:var(--wn-soft)}
.slide .act .b button.reject{color:var(--dn)}

/* ========== ASSIGN (theme + profile) ========== */
.assign{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-soft)}
@media(max-width:900px){.assign{grid-template-columns:1fr}}
.asg{background:var(--s1);padding:20px 24px}
.asg h5{font-family:var(--f-m);font-size:10px;letter-spacing:.14em;color:var(--i3);text-transform:uppercase;margin-bottom:12px}
.opts{display:flex;flex-direction:column;gap:6px}
.opt-row{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:10px 12px;background:var(--s2);border:1px solid var(--line-soft);border-radius:var(--r-m);cursor:pointer}
.opt-row:hover{border-color:var(--i3)}
.opt-row.on{border-color:var(--brand);background:linear-gradient(90deg,var(--brand-soft),var(--s2) 70%)}
.opt-row .mk{width:18px;height:18px;border-radius:50%;background:var(--s0);border:1px solid var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:center}
.opt-row.on .mk{background:var(--brand);border-color:var(--brand)}
.opt-row.on .mk::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand-ink)}
.opt-row .body b{font-size:13px;display:block;font-weight:500}
.opt-row .body small{font-size:11px;color:var(--i3)}
.opt-row .swatch{display:flex;gap:3px}
.opt-row .swatch span{width:14px;height:14px;border-radius:3px;border:1px solid rgb(from var(--i1) r g b / .1)}
.opt-row .tag{font-family:var(--f-m);font-size:10px;letter-spacing:.04em;color:var(--i4);text-transform:uppercase}

/* ========== PROFILES (audience matrix) ========== */
.mini-matrix{display:grid;grid-template-columns:140px repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r-s);overflow:hidden;font-size:11px}
.mini-matrix div{background:var(--s2);padding:6px 10px}
.mini-matrix .hd{font-family:var(--f-m);font-size:9px;letter-spacing:.12em;color:var(--i3);text-transform:uppercase;background:var(--s3)}
.mini-matrix .ax{font-family:var(--f-m);font-size:9px;letter-spacing:.08em;color:var(--i3);background:var(--s1)}
.mini-matrix .on{color:var(--brand);font-weight:500}

/* ========== QUEUE / UPCOMING ========== */
.queue{display:flex;flex-direction:column;gap:6px}
.qrow{display:grid;grid-template-columns:60px 1fr auto auto;gap:12px;padding:10px 12px;background:var(--s1);border:1px solid var(--line-soft);border-radius:var(--r-m);align-items:center}
.qrow .t{font-family:var(--f-m);font-size:11px;color:var(--i3);letter-spacing:.04em}
.qrow .t b{color:var(--i1);font-family:var(--f-d);font-size:14px;display:block;font-weight:500;font-variation-settings:"opsz" 144}
.qrow .body b{font-size:13px;display:block;font-weight:500}
.qrow .body small{font-size:11px;color:var(--i3)}
.qrow .status{display:flex;gap:4px}
.qrow .act{display:flex;gap:4px}

/* ========== EMPTY / DOC FOOT ========== */
.docfoot{border-top:1px solid var(--line);padding:18px 28px;color:var(--i3);font-family:var(--f-m);font-size:11px;letter-spacing:.08em;text-transform:uppercase;display:flex;justify-content:space-between}

/* ========== AUTH CHECK ========== */
.auth-check{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:var(--i3);font-family:var(--f-m);font-size:12px}
.spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ========== TOAST ========== */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:10px 22px;border-radius:var(--r-m);font-size:13px;font-family:var(--f-b);z-index:9999;box-shadow:0 8px 32px rgb(0 0 0/.4);animation:toast-in .25s ease-out}
.toast.ok{background:var(--ok-soft);border:1px solid var(--ok);color:var(--ok)}
.toast.error{background:var(--dn-soft);border:1px solid var(--dn);color:var(--dn)}
.toast.info{background:var(--brand-soft);border:1px solid var(--brand);color:var(--brand)}
@keyframes toast-in{from{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* ========== LOGIN SCREEN ========== */
.login-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--s0);padding:24px}
.login-card{background:var(--s1);border:1px solid var(--line);border-radius:var(--r-l);padding:36px 40px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:28px;box-shadow:0 24px 64px rgb(0 0 0/.45)}
.login-brand{justify-content:center}
.login-form{display:flex;flex-direction:column;gap:16px}
.login-field{display:flex;flex-direction:column;gap:6px}
.login-label{font-family:var(--f-m);font-size:10px;letter-spacing:.14em;color:var(--i3);text-transform:uppercase}
.login-input{background:var(--s2);border:1px solid var(--line);border-radius:var(--r-s);padding:9px 12px;color:var(--i1);font-size:13px;font-family:var(--f-b);outline:none;transition:border-color .15s}
.login-input:focus{border-color:var(--brand)}
.login-input:disabled{opacity:.5;cursor:not-allowed}
.login-error{background:var(--dn-soft);border:1px solid var(--dn);border-radius:var(--r-s);padding:8px 12px;color:var(--dn);font-size:12px;font-family:var(--f-m)}
.login-btn{width:100%;justify-content:center;padding:10px;font-size:13px}
.login-btn:disabled{opacity:.55;cursor:not-allowed}

/* ========== SIDEBAR USER FOOTER TWEAKS ========== */
.sideuser-info{flex:1;min-width:0}
.sideuser-logout{padding:5px 8px;font-size:14px;color:var(--i4);border:none;background:transparent;cursor:pointer;line-height:1;flex-shrink:0}
.sideuser-logout:hover{color:var(--dn)}

/* ========== TOPBAR NEW SESSION FORM ========== */
.topbar-newform{display:flex;align-items:center;gap:8px}
.topbar-newinput{width:220px}
.topbar-newerr{font-family:var(--f-m);font-size:10px;color:var(--dn);letter-spacing:.04em;white-space:nowrap}

/* ========== TWEAK ========== */
.tweak{position:fixed;right:20px;bottom:20px;background:var(--s1);border:1px solid var(--line);border-radius:var(--r-l);padding:14px;box-shadow:0 18px 40px rgb(0 0 0/.4);display:none;z-index:9000;width:280px}
.tweak h5{font-family:var(--f-b);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--i3);margin:0 0 8px}
.tweak h5+h5{margin-top:12px}
.tweak .row{display:flex;gap:6px;flex-wrap:wrap}
.tweak button{background:var(--s2);border:1px solid var(--line);color:var(--i2);padding:6px 10px;border-radius:var(--r-s);font-family:var(--f-m);font-size:10px;letter-spacing:.04em;cursor:pointer;flex:1 1 auto;text-transform:uppercase}

/* ========== EVENT SETUP WIZARD ========== */
/* Horizontal-stepper + form|sidebar layout — design-handoff spec 13 */
.wiz{background:var(--s1);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;box-shadow:0 30px 70px rgb(0 0 0 /.5)}
.wiz .chrome{background:var(--s2);padding:16px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:22px;font-family:var(--f-m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--i3);font-weight:600}
.wiz .chrome b{color:var(--i1);font-family:var(--f-d);font-weight:600;font-style:italic;font-size:15px;letter-spacing:-.01em;text-transform:none}
.wiz .chrome em{color:var(--brand-hi);font-style:normal}
.wiz .chrome .sp{flex:1}
.wiz .chrome .btn{padding:7px 14px;border-radius:5px;border:1px solid var(--line);background:var(--s3);color:var(--i1);font-weight:700;cursor:pointer;font-family:var(--f-m);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.wiz .chrome .btn.pr{background:var(--brand);border-color:var(--brand);color:#fff}

.wiz .stepper{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line);background:var(--s1)}
.wiz .stp{padding:18px 22px;border-right:1px solid var(--line);display:flex;align-items:center;gap:14px}
.wiz .stp:last-child{border-right:0}
.wiz .stp .nn{width:32px;height:32px;border-radius:50%;background:var(--s3);color:var(--i3);font-family:var(--f-mega);font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wiz .stp.done .nn{background:var(--ok);color:#041a0d}
.wiz .stp.now .nn{background:var(--brand);color:#fff;box-shadow:0 0 0 4px rgb(from var(--brand) r g b /.18)}
.wiz .stp .lbl{font-family:var(--f-m);font-size:10px;letter-spacing:.16em;color:var(--i3);text-transform:uppercase;font-weight:700}
.wiz .stp.done .lbl{color:var(--ok)}
.wiz .stp.now .lbl{color:var(--brand-hi)}
.wiz .stp .ttl{display:block;font-family:var(--f-d);font-weight:500;font-size:15px;color:var(--i1);margin-top:2px;letter-spacing:-.01em}
.wiz .stp .ttl em{font-style:italic;color:var(--brand-hi)}

.wiz .body{display:grid;grid-template-columns:1fr 440px;min-height:1400px}
.wiz .form{padding:32px 36px;display:flex;flex-direction:column;gap:40px;border-right:1px solid var(--line)}
.wiz .wside{background:#080a0c;padding:28px 30px;display:flex;flex-direction:column;gap:22px}

.wiz .step{border-top:1px solid var(--line);padding-top:28px}
.wiz .step:first-child{border-top:0;padding-top:0}
.wiz .step .sn{display:flex;align-items:baseline;gap:14px;margin-bottom:6px}
.wiz .step .sn .k{font-family:var(--f-m);font-size:11px;letter-spacing:.18em;color:var(--brand);text-transform:uppercase;font-weight:700}
.wiz .step .sn .t{font-family:var(--f-d);font-weight:500;font-size:24px;letter-spacing:-.015em;color:var(--i1)}
.wiz .step .sn .t em{font-style:italic;color:var(--brand-hi)}
.wiz .step .sd{font-family:var(--f-m);font-size:11px;letter-spacing:.08em;color:var(--i3);text-transform:uppercase;margin-bottom:20px;font-weight:600}

/* event type grid */
.wiz .etype{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.wiz .et{background:var(--s2);border:1.5px solid var(--line);border-radius:10px;padding:18px;cursor:pointer;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:9px;min-height:210px;transition:all .2s}
.wiz .et.on{border-color:var(--brand-hi);background:linear-gradient(135deg,rgb(from var(--brand) r g b /.12),transparent 70%);box-shadow:0 0 0 3px rgb(from var(--brand) r g b /.12)}
.wiz .et.conn{border-color:rgb(from var(--gold) r g b /.35)}
.wiz .et.conn.on{background:linear-gradient(135deg,rgb(from var(--gold) r g b /.15),transparent 70%);box-shadow:0 0 0 3px rgb(from var(--gold) r g b /.15);border-color:var(--gold)}
.wiz .et .top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.wiz .et .tag{font-family:var(--f-m);font-size:9.5px;letter-spacing:.18em;color:var(--i3);text-transform:uppercase;font-weight:700}
.wiz .et.on .tag{color:var(--brand-hi)}
.wiz .et.conn.on .tag{color:var(--gold)}
.wiz .et .ck{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--i3);display:flex;align-items:center;justify-content:center;color:transparent;font-size:11px;font-weight:900;flex-shrink:0}
.wiz .et.on .ck{border-color:var(--brand-hi);background:var(--brand-hi);color:#1a0d08}
.wiz .et.conn.on .ck{background:var(--gold);border-color:var(--gold);color:#2a1d05}
.wiz .et h4{font-family:var(--f-d);font-weight:500;font-size:19px;letter-spacing:-.015em;color:var(--i1);line-height:1.1;text-wrap:balance}
.wiz .et h4 em{font-style:italic;color:var(--brand-hi)}
.wiz .et.conn.on h4 em{color:var(--gold)}
.wiz .et p{font-size:12.5px;color:var(--i2);line-height:1.42;flex:1;text-wrap:pretty}
.wiz .et .footer{display:flex;gap:10px;padding-top:8px;border-top:1px solid rgb(255 255 255 /.06);font-family:var(--f-m);font-size:9px;letter-spacing:.12em;color:var(--i3);text-transform:uppercase;font-weight:600}
.wiz .et .footer b{color:var(--i1);font-family:var(--f-mega);font-size:15px;letter-spacing:.02em;font-weight:500;display:block;margin-top:2px}
.wiz .et .flow{position:absolute;top:10px;right:10px;padding:2px 7px;border-radius:3px;background:rgb(from var(--ok) r g b /.18);color:var(--ok);font-family:var(--f-m);font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border:1px solid rgb(from var(--ok) r g b /.3)}

.wiz .sub{margin-top:14px;padding:14px 16px;background:rgb(from var(--brand) r g b /.08);border:1px solid rgb(from var(--brand) r g b /.4);border-radius:8px;display:flex;gap:12px;align-items:center;font-family:var(--f-m);font-size:11px;letter-spacing:.08em;color:var(--i2);font-weight:600}
.wiz .sub b{color:var(--brand-hi);font-family:var(--f-d);font-style:italic;font-size:14px;font-weight:600;letter-spacing:-.01em;text-transform:none}
.wiz .sub .sgr{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
.wiz .sub .sgc{padding:4px 12px;border-radius:4px;border:1px solid var(--line);background:var(--s2);color:var(--i3);cursor:pointer;font-family:var(--f-m);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.wiz .sub .sgc.on{background:var(--brand-hi);color:#1a0d08;border-color:var(--brand-hi)}

/* theme picker */
.wiz .thm{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.wiz .thc{background:var(--s2);border:1.5px solid var(--line);border-radius:10px;padding:0;cursor:pointer;overflow:hidden;position:relative;transition:all .2s}
.wiz .thc.on{border-color:var(--brand-hi);box-shadow:0 0 0 3px rgb(from var(--brand) r g b /.12)}
.wiz .thc[data-th="gp"].on{border-color:oklch(62% .24 22);box-shadow:0 0 0 3px oklch(62% .24 22 /.2)}
.wiz .thc[data-th="wc"].on{border-color:oklch(56% .18 155);box-shadow:0 0 0 3px oklch(56% .18 155 /.2)}
.wiz .thc[data-th="rz"].on{border-color:oklch(58% .22 30);box-shadow:0 0 0 3px oklch(58% .22 30 /.2)}
.wiz .thc[data-th="it"].on{border-color:oklch(52% .14 270);box-shadow:0 0 0 3px oklch(52% .14 270 /.2)}
.wiz .thc .hero{height:84px;position:relative;padding:12px 14px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.wiz .thc .hero::before{content:"";position:absolute;inset:0;opacity:.85;pointer-events:none}
.wiz .thc[data-th="gp"] .hero::before{background:radial-gradient(ellipse at 10% 40%,oklch(62% .24 22),transparent 65%),linear-gradient(135deg,#17090a,#0a0608)}
.wiz .thc[data-th="wc"] .hero::before{background:radial-gradient(ellipse at 10% 40%,oklch(56% .18 155),transparent 65%),linear-gradient(135deg,#0a1a0e,#050a07)}
.wiz .thc[data-th="rz"] .hero::before{background:radial-gradient(ellipse at 10% 40%,oklch(58% .22 30),transparent 65%),linear-gradient(135deg,#1a0808,#0d0404)}
.wiz .thc[data-th="it"] .hero::before{background:radial-gradient(ellipse at 10% 40%,oklch(52% .14 270),transparent 65%),linear-gradient(135deg,#0c0c1f,#05050d)}
.wiz .thc .hero .k{font-family:var(--f-m);font-size:9px;letter-spacing:.22em;color:rgb(255 255 255 /.6);text-transform:uppercase;font-weight:700;position:relative;z-index:1}
.wiz .thc .hero .n{font-family:var(--f-mega);font-size:26px;color:#fff;letter-spacing:-.01em;line-height:.85;position:relative;z-index:1;text-shadow:0 2px 12px rgb(0 0 0 /.5)}
.wiz .thc .hero .n em{font-style:italic;color:rgb(255 255 255 /.85)}
.wiz .thc .meta{padding:10px 12px;display:flex;justify-content:space-between;align-items:baseline;font-family:var(--f-m);font-size:9.5px;letter-spacing:.12em;color:var(--i3);text-transform:uppercase;font-weight:700}
.wiz .thc .meta b{color:var(--i1);font-family:var(--f-d);font-weight:600;font-style:italic;font-size:12px;letter-spacing:-.01em;text-transform:none}
.wiz .thc.on .meta b{color:var(--brand-hi)}
.wiz .thc[data-th="gp"].on .meta b{color:oklch(72% .22 22)}
.wiz .thc[data-th="wc"].on .meta b{color:oklch(66% .18 155)}
.wiz .thc[data-th="rz"].on .meta b{color:oklch(68% .20 30)}
.wiz .thc[data-th="it"].on .meta b{color:oklch(62% .14 270)}

/* phase mapping table */
.wiz .phmap{margin-top:16px;background:var(--s2);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.wiz .phmap .ph{background:var(--s3);padding:10px 16px;font-family:var(--f-m);font-size:10px;letter-spacing:.14em;color:var(--i3);text-transform:uppercase;font-weight:700;display:grid;grid-template-columns:110px 1fr 1fr 1fr 1fr;gap:10px;border-bottom:1px solid var(--line)}
.wiz .phmap .ph b{color:var(--brand-hi);font-weight:800}
.wiz .phmap .pr{padding:9px 16px;display:grid;grid-template-columns:110px 1fr 1fr 1fr 1fr;gap:10px;border-bottom:1px solid var(--line);align-items:center;font-size:12.5px}
.wiz .phmap .pr:last-child{border-bottom:0}
.wiz .phmap .pr .k{font-family:var(--f-m);font-size:9.5px;letter-spacing:.14em;color:var(--i3);text-transform:uppercase;font-weight:700}
.wiz .phmap .pr .c{font-family:var(--f-d);font-style:italic;font-weight:500;color:var(--i2);letter-spacing:-.005em}
.wiz .phmap .pr .c.on{color:#fff;font-weight:600}
.wiz .phmap .pr .c.on em{color:var(--brand-hi);font-style:italic;font-weight:700;font-family:var(--f-d)}
.wiz .phmap .pr .c .tr{color:var(--i3);font-family:var(--f-m);font-size:9.5px;letter-spacing:.04em;font-style:normal;font-weight:600;text-transform:none;display:block;margin-top:2px}

/* tech modules */
.wiz .techbox{background:var(--s2);border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.wiz .thead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line);font-family:var(--f-m);font-size:10.5px;letter-spacing:.14em;color:var(--i3);text-transform:uppercase;font-weight:700}
.wiz .thead em{color:var(--ok);font-style:normal;font-weight:800}
.wiz .thead b{color:var(--i1)}
.wiz .tlist{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.wiz .tl{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--s0);border:1px solid var(--line);border-radius:6px;cursor:pointer;position:relative}
.wiz .tl.on{background:rgb(from var(--brand) r g b /.12);border-color:var(--brand)}
.wiz .tl.locked{opacity:.45;cursor:not-allowed}
.wiz .tl .ck{width:16px;height:16px;border-radius:3px;border:1.5px solid var(--i3);flex-shrink:0;position:relative}
.wiz .tl.on .ck{background:var(--brand);border-color:var(--brand)}
.wiz .tl.on .ck::after{content:"✓";color:#fff;font-size:10px;position:absolute;top:-4px;left:1px;font-weight:900}
.wiz .tl .tn{font-family:var(--f-d);font-weight:600;font-style:italic;font-size:14px;color:var(--i1);letter-spacing:-.01em;flex:1}
.wiz .tl.on .tn{color:#fff}
.wiz .tl .qc{font-family:var(--f-m);font-size:10px;letter-spacing:.08em;color:var(--ok);font-weight:700;text-transform:uppercase;padding:2px 7px;border-radius:3px;background:rgb(from var(--ok) r g b /.12);border:1px solid rgb(from var(--ok) r g b /.25)}
.wiz .tl.locked .qc{color:var(--wn);background:rgb(from var(--wn) r g b /.1);border-color:rgb(from var(--wn) r g b /.25)}
.wiz .tl.locked .tn::after{content:" · coming soon";color:var(--wn);font-size:11px;font-style:normal;font-family:var(--f-m);font-weight:500;letter-spacing:.04em}
.wiz .tfoot{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);display:flex;justify-content:space-between;font-family:var(--f-m);font-size:10px;letter-spacing:.1em;color:var(--i3);text-transform:uppercase;font-weight:700}
.wiz .tfoot em{color:var(--brand-hi);font-style:normal;font-weight:800}

/* language picker */
.wiz .langrow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.wiz .lg{background:var(--s2);border:1.5px solid var(--line);border-radius:8px;padding:14px 16px;cursor:pointer;display:flex;align-items:center;gap:12px;min-height:72px}
.wiz .lg.on{border-color:var(--brand-hi);background:rgb(from var(--brand) r g b /.1)}
.wiz .lg .flag{width:36px;height:36px;border-radius:4px;flex-shrink:0;position:relative;overflow:hidden;border:1px solid rgb(255 255 255 /.15);background:var(--s3)}
.wiz .lg .flag .t{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--f-mega);font-size:16px;color:#fff;letter-spacing:.02em}
.wiz .lg[data-l="en"] .flag{background:linear-gradient(to right,#012169 0 33%,#fff 33% 66%,#c8102e 66%)}
.wiz .lg[data-l="es"] .flag{background:linear-gradient(to bottom,#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75%)}
.wiz .lg[data-l="pt"] .flag{background:linear-gradient(to right,#006600 0 40%,#ff0000 40%)}
.wiz .lg .t2{flex:1}
.wiz .lg .t2 b{font-family:var(--f-d);font-weight:600;font-style:italic;font-size:15px;color:var(--i1);letter-spacing:-.01em;display:block}
.wiz .lg.on .t2 b{color:#fff}
.wiz .lg .t2 em{font-family:var(--f-m);font-size:10px;color:var(--i3);text-transform:uppercase;letter-spacing:.1em;font-style:normal;font-weight:600}
.wiz .lg.on .t2 em{color:var(--brand-hi)}
.wiz .lg .df{font-family:var(--f-m);font-size:9px;letter-spacing:.14em;color:var(--brand-hi);text-transform:uppercase;font-weight:700;padding:2px 7px;border-radius:3px;background:rgb(from var(--brand) r g b /.15);border:1px solid rgb(from var(--brand) r g b /.3)}

/* field grid for date/venue */
.wiz .fldgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.wiz .fldgrid.tri{grid-template-columns:repeat(3,1fr)}
.wiz .fld{display:flex;flex-direction:column;gap:7px}
.wiz .fld label{font-family:var(--f-m);font-size:10.5px;letter-spacing:.14em;color:var(--i3);text-transform:uppercase;font-weight:700}
.wiz .fld label em{color:var(--brand-hi);font-style:normal;text-transform:none;letter-spacing:0;margin-left:6px;font-weight:500;font-size:10.5px}
.wiz .fld .in{background:var(--s2);border:1px solid var(--line);border-radius:6px;padding:12px 14px;font-family:var(--f-b);font-size:14px;color:var(--i1);display:flex;align-items:center;gap:10px}
.wiz .fld .in b{color:var(--brand-hi);font-family:var(--f-m);font-size:10.5px;letter-spacing:.1em;font-weight:700;text-transform:uppercase;margin-left:auto;font-style:normal}
.wiz .fld .in .pre{color:var(--i3);font-family:var(--f-m);font-size:12px;letter-spacing:.08em;padding-right:10px;border-right:1px solid var(--line);margin-right:2px}
.wiz .fld input[type=text],.wiz .fld input[type=date],.wiz .fld input[type=time],.wiz .fld input[type=number],.wiz .fld select,.wiz .fld textarea{width:100%;background:var(--s0);border:1px solid var(--line);color:var(--i1);font-family:var(--f-b);font-size:13px;padding:10px 12px;border-radius:var(--r-s)}
.wiz .fld input[type=date],.wiz .fld input[type=time]{color-scheme:dark;cursor:pointer}
.wiz .fld input[type=date]::-webkit-calendar-picker-indicator,.wiz .fld input[type=time]::-webkit-calendar-picker-indicator{filter:invert(.85);cursor:pointer;padding:2px;border-radius:3px;transition:filter .15s}
.wiz .fld input[type=date]::-webkit-calendar-picker-indicator:hover,.wiz .fld input[type=time]::-webkit-calendar-picker-indicator:hover{filter:invert(1);background:rgba(255,255,255,.08)}
.wiz .fld input:focus,.wiz .fld textarea:focus,.wiz .fld select:focus{border-color:var(--brand);outline:none}
/* belt-and-suspenders: expand picker indicator to cover full input width (WebKit/older Safari fallback) */
.wiz .fld{position:relative}
.wiz .fld input[type=date]::-webkit-calendar-picker-indicator,
.wiz .fld input[type=time]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;padding:0;margin:0;opacity:0;cursor:pointer}

/* side panel — invite preview */
.wiz .wside h3{font-family:var(--f-m);font-size:10.5px;letter-spacing:.18em;color:var(--i3);text-transform:uppercase;margin-bottom:10px;font-weight:700;display:flex;justify-content:space-between;align-items:baseline}
.wiz .wside h3 em{color:var(--brand-hi);font-style:normal}

.wiz .invite{background:#07080a;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.wiz .invite .band{background:radial-gradient(ellipse at 10% 40%,rgb(from var(--brand) r g b /.4),transparent 60%),radial-gradient(ellipse at 85% 50%,rgb(from var(--brand-hi) r g b /.3),transparent 60%),linear-gradient(135deg,#17090a 0%,#2a120a 60%,#0c0608 100%);padding:22px 24px;position:relative;overflow:hidden}
.wiz .invite .band::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 2px,rgb(255 255 255 /.025) 2px 3px);pointer-events:none}
.wiz .invite .band .c{font-family:var(--f-m);font-size:9.5px;letter-spacing:.22em;color:var(--brand-hi);text-transform:uppercase;font-weight:800;margin-bottom:8px}
.wiz .invite .band h4{font-family:var(--f-mega);font-size:48px;line-height:.85;color:#fff;letter-spacing:-.01em}
.wiz .invite .band h4 em{font-style:italic;color:var(--brand-hi)}
.wiz .invite .band .tg{font-family:var(--f-d);font-style:italic;font-size:14px;color:rgb(255 255 255 /.75);margin-top:6px;font-weight:500}
.wiz .invite .band .tag{display:inline-block;margin-top:10px;padding:4px 10px;border-radius:4px;background:rgb(255 255 255 /.12);border:1px solid rgb(255 255 255 /.2);font-family:var(--f-m);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#fff;font-weight:700}
.wiz .invite .facts{padding:16px 24px;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;font-family:var(--f-m);font-size:10px;letter-spacing:.12em;color:rgb(255 255 255 /.55);text-transform:uppercase;font-weight:700;border-bottom:1px solid rgb(255 255 255 /.06)}
.wiz .invite .facts b{display:block;color:#fff;font-family:var(--f-d);font-weight:600;font-style:italic;font-size:15px;letter-spacing:-.01em;margin-top:3px;text-transform:none}
.wiz .invite .facts b em{color:var(--brand-hi);font-style:italic}
.wiz .invite .facts small{display:block;font-family:var(--f-m);font-size:9px;color:var(--i3);letter-spacing:.08em;margin-top:2px;text-transform:uppercase;font-weight:500}
.wiz .invite .phases{padding:14px 24px;border-bottom:1px solid rgb(255 255 255 /.06)}
.wiz .invite .phases .mh{font-family:var(--f-m);font-size:10px;letter-spacing:.14em;color:var(--i3);text-transform:uppercase;font-weight:700;margin-bottom:8px}
.wiz .invite .phases ol{list-style:none;display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;align-items:baseline;font-size:12.5px}
.wiz .invite .phases li{display:contents}
.wiz .invite .phases li .n{font-family:var(--f-m);font-size:9.5px;color:var(--i3);letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.wiz .invite .phases li .l{font-family:var(--f-d);font-weight:500;font-style:italic;color:#fff;letter-spacing:-.005em}
.wiz .invite .phases li .l em{color:var(--brand-hi);font-style:italic;font-weight:700}
.wiz .invite .phases li .o{font-family:var(--f-m);font-size:9px;color:var(--i3);letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.wiz .invite .mods{padding:12px 24px;border-bottom:1px solid rgb(255 255 255 /.06)}
.wiz .invite .mods .mh{font-family:var(--f-m);font-size:10px;letter-spacing:.14em;color:var(--i3);text-transform:uppercase;font-weight:700;margin-bottom:7px}
.wiz .invite .mods .mr{display:flex;gap:5px;flex-wrap:wrap}
.wiz .invite .mods .mr span{padding:3px 8px;border-radius:3px;background:rgb(255 255 255 /.06);color:rgb(255 255 255 /.85);font-family:var(--f-m);font-size:10.5px;font-weight:600}

/* dry run / validation */
.wiz .dryrun{background:var(--s1);border:1px solid var(--line);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.wiz .dryrun .drh{font-family:var(--f-m);font-size:10px;letter-spacing:.16em;color:var(--brand);text-transform:uppercase;font-weight:700;display:flex;justify-content:space-between;align-items:baseline;padding-bottom:0;border-bottom:0;margin-bottom:0}
.wiz .dryrun .drh em{color:var(--ok);font-style:normal}
.wiz .dryrun .r{display:grid;grid-template-columns:auto 1fr auto;gap:10px 12px;align-items:baseline;padding:7px 0;font-size:12.5px;border-bottom:1px dashed rgb(255 255 255 /.06)}
.wiz .dryrun .r:last-child{border-bottom:0}
.wiz .dryrun .r .k{font-family:var(--f-m);font-size:9.5px;letter-spacing:.14em;color:var(--i3);text-transform:uppercase;font-weight:700;min-width:90px}
.wiz .dryrun .r .v{font-family:var(--f-d);font-style:italic;font-size:14px;color:var(--i1);font-weight:500;letter-spacing:-.01em}
.wiz .dryrun .r .v em{color:var(--brand-hi)}
.wiz .dryrun .r .s{font-family:var(--f-m);font-size:10px;color:var(--ok);letter-spacing:.12em;text-transform:uppercase;font-weight:700}

/* footer bar */
.wiz .foot{padding:20px 36px;background:var(--s2);border-top:1px solid var(--line);display:flex;align-items:center;gap:16px;font-family:var(--f-m);font-size:11px;letter-spacing:.08em;color:var(--i3);font-weight:600}
.wiz .foot em{color:var(--ok);font-style:normal;font-weight:700}
.wiz .foot .sp{flex:1}
.wiz .foot .btn{padding:10px 20px;border-radius:6px;border:1px solid var(--line);background:var(--s3);color:var(--i1);font-family:var(--f-m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;cursor:pointer}
.wiz .foot .btn.pr{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 3px rgb(from var(--brand) r g b /.15)}

@media(max-width:900px){.wiz .body{grid-template-columns:1fr}.wiz .wside{display:none}}
@media(max-width:600px){.wiz .etype,.wiz .thm{grid-template-columns:1fr 1fr}.wiz .stepper{grid-template-columns:1fr;gap:0}.wiz .tlist{grid-template-columns:1fr}.wiz .langrow{grid-template-columns:1fr}.wiz .fldgrid,.wiz .fldgrid.tri{grid-template-columns:1fr}}

.tweak button.active{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}

/* flatpickr dark-theme overrides to match Arena palette */
.flatpickr-calendar{background:var(--s1);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.55);font-family:var(--f-b)}
.flatpickr-calendar .flatpickr-months{border-radius:10px 10px 0 0;background:var(--s2)}
.flatpickr-calendar .flatpickr-month,.flatpickr-calendar .flatpickr-current-month{color:var(--i1);fill:var(--i1)}
.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months{background:var(--s2);color:var(--i1);font-family:var(--f-m);font-weight:600}
.flatpickr-calendar .flatpickr-weekday{color:var(--i3);font-family:var(--f-m);font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.flatpickr-calendar .flatpickr-day{color:var(--i1);border-radius:6px;font-family:var(--f-b)}
.flatpickr-calendar .flatpickr-day:hover{background:var(--s3);border-color:var(--s3)}
.flatpickr-calendar .flatpickr-day.today{border-color:var(--brand)}
.flatpickr-calendar .flatpickr-day.selected,.flatpickr-calendar .flatpickr-day.selected:hover{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);font-weight:700}
.flatpickr-calendar .flatpickr-day.prevMonthDay,.flatpickr-calendar .flatpickr-day.nextMonthDay{color:var(--i4)}
.flatpickr-calendar .flatpickr-months .flatpickr-prev-month,.flatpickr-calendar .flatpickr-months .flatpickr-next-month{fill:var(--i2)}
.flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover svg{fill:var(--brand)}
.flatpickr-calendar.arrowTop::before,.flatpickr-calendar.arrowTop::after{border-bottom-color:var(--s2)}
.wiz .fld .flatpickr-input+input.form-control,.wiz .fld input.flatpickr-input+input{width:100%;background:var(--s0);border:1px solid var(--line);color:var(--i1);font-family:var(--f-b);font-size:13px;padding:10px 12px;border-radius:var(--r-s);cursor:pointer}
.wiz .fld input.flatpickr-input+input:focus{border-color:var(--brand);outline:none}
/* flatpickr time-picker overrides */
.flatpickr-calendar.noCalendar{border-radius:10px;min-width:160px;width:auto}
.flatpickr-calendar .flatpickr-time{border-top:none;max-height:none;padding:8px 4px}
.flatpickr-calendar .flatpickr-time .numInputWrapper{background:var(--s0);border-radius:6px}
.flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp,.flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown{border:none}
.flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp::after{border-bottom-color:var(--i2)}
.flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown::after{border-top-color:var(--i2)}
.flatpickr-calendar .flatpickr-time .numInputWrapper:hover span.arrowUp::after{border-bottom-color:var(--brand)}
.flatpickr-calendar .flatpickr-time .numInputWrapper:hover span.arrowDown::after{border-top-color:var(--brand)}
.flatpickr-calendar .flatpickr-time input.flatpickr-hour,.flatpickr-calendar .flatpickr-time input.flatpickr-minute{color:var(--i1);background:transparent;font-family:var(--f-b);font-size:16px;font-weight:600}
.flatpickr-calendar .flatpickr-time .flatpickr-time-separator{color:var(--i3);font-weight:700}
.flatpickr-calendar .flatpickr-time .flatpickr-am-pm{color:var(--i1);background:var(--s0);border-radius:6px;font-family:var(--f-m);font-weight:600;min-width:40px;padding:0 6px}

/* ========== CONTENT LIBRARY ========== */

/* --- Module Overview Grid (View 1) --- */
.clib{display:flex;flex-direction:column;gap:28px;padding:28px;max-width:1600px}
.clib .mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.clib .mod-card{background:linear-gradient(180deg,color-mix(in oklab,var(--s1) 92%,#fff 8%),var(--s1));border:1px solid var(--line);border-radius:var(--r-l);cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;overflow:hidden;box-shadow:0 10px 24px color-mix(in oklab,var(--s0) 82%,#000 18%)}
.clib .mod-card:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 16px 34px color-mix(in oklab,var(--s0) 70%,#000 30%)}
.clib .mod-card .mc-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.clib .mod-card .mc-hd{display:flex;flex-direction:row;align-items:center;gap:10px;padding:14px 14px 8px}
.clib .mod-card .mc-name{font-family:var(--f-d);font-size:20px;font-weight:500;color:var(--i1);line-height:1.1}
.clib .mod-card .mc-full{font-size:11px;color:var(--i3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clib .mod-card .mc-info{display:flex;flex-direction:column;min-width:0;flex:1}
.clib .mod-card .mc-enabled{margin-left:auto;flex-shrink:0;font-family:var(--f-m);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);padding:5px 8px;border-radius:var(--r-p);background:color-mix(in oklab,var(--brand-soft) 72%,transparent);border:1px solid color-mix(in oklab,var(--brand) 28%,var(--line) 72%)}
.clib .mod-card .mc-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 14px 10px}
.clib .mod-card .mc-stat{display:flex;flex-direction:column;gap:2px}
.clib .mod-card .mc-sv{font-family:var(--f-m);font-size:18px;font-weight:700;color:var(--i1)}
.clib .mod-card .mc-sl{font-family:var(--f-m);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--i4)}
.clib .mod-card .mc-bar{height:4px;border-radius:0 0 var(--r-l) var(--r-l)}

/* --- Event Context Bar (View 2 top) --- */
.clib .ctxbar{display:flex;flex-direction:row;align-items:center;gap:16px;background:var(--s1);border:1px solid var(--line);border-radius:var(--r-m);padding:12px 18px;margin-bottom:16px;flex-wrap:wrap}
.clib .ctxbar .ctx-back{background:transparent;border:1px solid var(--line);border-radius:var(--r-s);color:var(--i2);cursor:pointer;font-family:var(--f-b);font-size:13px;padding:5px 10px;flex-shrink:0;transition:border-color .15s,color .15s}
.clib .ctxbar .ctx-back:hover{border-color:var(--brand);color:var(--i1)}
.clib .ctxbar .ctx-mod{font-family:var(--f-d);font-size:18px;color:var(--i1);display:flex;align-items:center;gap:8px}
.clib .ctxbar .ctx-sep{width:1px;height:24px;background:var(--line);flex-shrink:0}
.clib .ctxbar .ctx-evt{background:var(--s2);border:1px solid var(--line);border-radius:var(--r-s);color:var(--i1);font-family:var(--f-b);font-size:13px;padding:6px 10px;cursor:pointer}
.clib .ctxbar .ctx-lang{display:flex;flex-direction:row;gap:0;border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden}
.clib .ctxbar .ctx-lang label{display:inline-flex;align-items:center;padding:4px 10px;cursor:pointer;border-radius:0;font-family:var(--f-m);font-size:11px;color:var(--i3);transition:background .15s,color .15s}
.clib .ctxbar .ctx-lang label:hover{color:var(--i1)}
.clib .ctxbar .ctx-lang input{display:none}
.clib .ctxbar .ctx-lang input:checked+span{background:var(--brand);color:var(--brand-ink,#fff)}
.clib .ctxbar .ctx-i18n-loading{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-m);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--i3);padding:4px 10px;border-radius:var(--r-p);background:color-mix(in oklab,var(--s2) 88%,#fff 12%);border:1px solid var(--line-soft)}
.clib .ctxbar .ctx-i18n-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-hi);box-shadow:0 0 0 4px color-mix(in oklab,var(--brand-soft) 78%,transparent);animation:pulse 1.1s infinite}
.clib .ctxbar .ctx-count{margin-left:auto;font-family:var(--f-m);font-size:12px;color:var(--i3)}

/* --- Content Tabs --- */
.clib .ctabs{display:flex;flex-direction:row;gap:0;border-bottom:2px solid var(--line);margin-bottom:16px}
.clib .ctabs button{padding:10px 18px;font-family:var(--f-b);font-size:13px;color:var(--i3);border:none;background:transparent;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}
.clib .ctabs button:hover{color:var(--i1)}
.clib .ctabs button.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}
.clib .ctabs .tab-ct{margin-left:6px;font-family:var(--f-m);font-size:10px;background:var(--s3);padding:1px 6px;border-radius:var(--r-p);color:var(--i3)}
.clib .ctabs button.on .tab-ct{background:var(--brand-soft);color:var(--brand)}

/* --- Filter Rail --- */
.clib .frail{display:flex;flex-direction:row;gap:10px;flex-wrap:wrap;align-items:center;padding:12px;background:color-mix(in oklab,var(--s1) 88%,#fff 12%);border:1px solid var(--line);border-radius:var(--r-m);position:sticky;top:52px;z-index:40;margin-bottom:12px;box-shadow:0 8px 22px color-mix(in oklab,var(--s0) 82%,#000 18%)}
.clib .frail input{flex:1 1 200px;padding:7px 12px;background:var(--s2);border:1px solid var(--line);border-radius:var(--r-s);color:var(--i1);font-size:12px;font-family:var(--f-b)}
.clib .frail input::placeholder{color:var(--i4)}
.clib .frail select{padding:7px 10px;background:var(--s2);border:1px solid var(--line);border-radius:var(--r-s);color:var(--i1);font-size:12px;font-family:var(--f-b);cursor:pointer}
.clib .frail .fr-toggle{display:flex;flex-direction:row;gap:6px;align-items:center;font-size:12px;color:var(--i3);cursor:pointer}
.clib .frail .fr-toggle input[type="checkbox"]{accent-color:var(--brand)}
.clib .frail .fr-acts{margin-left:auto;display:flex;gap:8px;align-items:center}

/* --- Content List --- */
.clib .ilist{display:flex;flex-direction:column;gap:1px;background:var(--s1);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden}
.clib .ilist-empty{padding:48px;text-align:center;color:var(--i3);font-family:var(--f-b);font-size:14px}
.clib .ilist-header{display:grid;align-items:center;padding:10px 14px;background:linear-gradient(180deg,color-mix(in oklab,var(--s2) 86%,#fff 14%),var(--s1));border-bottom:1px solid var(--s2);font-family:var(--f-m);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--i4);position:sticky;top:0;z-index:3;backdrop-filter:blur(10px)}
.clib .ilist-header.quiz-row{grid-template-columns:[toggle] 36px [qtype] 90px [diff] 70px [cat] 140px [prompt] 1fr [audiences] 100px [trans] 60px [pts] 50px [timer] 50px [actions] 40px;gap:8px}
.clib .ilist-header .ilist-header-ghost{opacity:0;pointer-events:none}

/* --- Question/Item Row --- */
.clib .irow{display:contents}
.clib .irow .irow-sum{display:grid;gap:8px;align-items:center;padding:8px 14px;cursor:pointer;border-bottom:1px solid var(--line-soft);background:var(--s1);transition:background .1s}
.clib .irow .irow-sum.quiz-row{grid-template-columns:[toggle] 36px [qtype] 90px [diff] 70px [cat] 140px [prompt] 1fr [audiences] 100px [trans] 60px [pts] 50px [timer] 50px [actions] 40px}
.clib .irow .irow-sum.ticket-row{grid-template-columns:[toggle] 36px [qtype] 110px [prompt] minmax(260px,1fr) [audiences] 130px [phase] 110px [tag] 110px [actions] 40px}
.clib .irow .irow-sum.brief-row{grid-template-columns:[toggle] 36px [qtype] 110px [prompt] minmax(260px,1fr) [budget] 120px [phase] 110px [tag] 110px [actions] 40px}
.clib .irow .irow-sum.curveball-row{grid-template-columns:[toggle] 36px [qtype] 130px [prompt] minmax(320px,1fr) [phase] 120px [tag] 120px [actions] 40px}
.clib .irow .irow-sum.buzzer-row{grid-template-columns:[toggle] 36px [qtype] 110px [prompt] minmax(280px,1fr) [pts] 100px [type] 110px [tag] 110px [actions] 40px}
.clib .irow .irow-sum:hover{background:var(--s2)}
.clib .irow.excluded .irow-sum{opacity:0.5}
.clib .irow.excluded .irow-sum:hover{opacity:0.8}

/* Toggle switch in row */
.clib .irow .ir-tog{display:inline-flex;align-items:center;width:28px;height:16px;position:relative}
.clib .irow .ir-tog input{display:none}
.clib .irow .ir-tog .slider{display:block;width:28px;height:16px;background:var(--s3);border-radius:var(--r-p);position:relative;transition:background .2s;cursor:pointer}
.clib .irow .ir-tog .slider::after{content:"";position:absolute;width:12px;height:12px;background:var(--i3);border-radius:50%;top:2px;left:2px;transition:transform .2s,background .2s}
.clib .irow .ir-tog input:checked+.slider{background:var(--brand)}
.clib .irow .ir-tog input:checked+.slider::after{transform:translateX(12px);background:var(--brand-ink,#fff)}

/* QType pill colors */
.clib .qt-pill{font-family:var(--f-m);font-size:10px;letter-spacing:.08em;padding:3px 8px;border-radius:var(--r-s);text-transform:uppercase;font-weight:700;white-space:nowrap;display:inline-block}
.clib .qt-single_select{background:oklch(28% .08 230);color:oklch(72% .15 230)}
.clib .qt-multi_select{background:oklch(28% .08 280);color:oklch(72% .15 280)}
.clib .qt-true_false{background:oklch(28% .07 175);color:oklch(68% .12 175)}
.clib .qt-cascade{background:oklch(30% .08 75);color:oklch(74% .14 75)}
.clib .qt-drag_match{background:oklch(28% .08 10);color:oklch(70% .16 10)}
.clib .qt-group_sort{background:oklch(28% .06 200);color:oklch(70% .12 200)}
.clib .qt-rank_order{background:oklch(30% .08 85);color:oklch(78% .14 85)}
.clib .qt-hotspot{background:oklch(28% .10 35);color:oklch(68% .18 35)}
.clib .qt-numeric_slider{background:oklch(28% .07 135);color:oklch(72% .14 135)}
.clib .qt-free_text{background:oklch(26% .01 250);color:oklch(64% .02 250)}
.clib .qt-structured_form{background:oklch(28% .08 300);color:oklch(70% .14 300)}
.clib .qt-text{background:oklch(26% .01 250);color:oklch(64% .02 250)}
.clib .qt-buzzer{background:oklch(30% .10 50);color:oklch(76% .16 50)}
.clib .qt-ticket{background:oklch(28% .12 190);color:oklch(72% .18 190)}
.clib .qt-brief{background:oklch(28% .12 280);color:oklch(72% .18 280)}
.clib .qt-curveball{background:oklch(30% .12 60);color:oklch(76% .18 60)}

/* Difficulty badge */
.clib .diff-pill{font-family:var(--f-m);font-size:10px;padding:3px 8px;border-radius:var(--r-s);text-transform:uppercase;font-weight:700;display:inline-block}
.clib .diff-easy{background:var(--ok-soft);color:var(--ok)}
.clib .diff-medium{background:var(--wn-soft);color:var(--wn)}
.clib .diff-hard{background:var(--dn-soft);color:var(--dn)}

/* Category tag */
.clib .ir-cat{font-size:11px;color:var(--i2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clib .ir-cat .cat-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;vertical-align:middle}

/* Prompt text */
.clib .ir-prompt{font-size:12px;color:var(--i1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clib .ir-prompt-rich{font-size:12.5px;font-weight:500}

/* Audiences */
.clib .ir-auds{display:flex;gap:3px;flex-wrap:wrap}
.clib .ir-aud{font-family:var(--f-m);font-size:9px;letter-spacing:.06em;padding:2px 6px;background:var(--s3);color:var(--i3);border-radius:2px;text-transform:uppercase}

/* Compact metadata */
.clib .ir-meta-cell{font-family:var(--f-m);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--i2);padding:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Translation status */
.clib .ir-trans{display:flex;gap:4px;align-items:center}
.clib .ir-trans .tr-dot{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 1px color-mix(in oklab,var(--s1) 55%,#fff 45%)}
.clib .ir-trans .tr-dot.missing{background:var(--wn);opacity:.6}

/* Points & Timer */
.clib .ir-pts{font-family:var(--f-m);font-size:11px;color:var(--i2);text-align:right}
.clib .ir-time{font-family:var(--f-m);font-size:11px;color:var(--i3);text-align:right}

/* Row actions */
.clib .ir-acts{display:flex;gap:2px}
.clib .ir-acts button{background:transparent;border:none;color:var(--i4);cursor:pointer;padding:2px;font-size:14px;border-radius:var(--r-s);transition:color .1s,background .1s}
.clib .ir-acts button:hover{color:var(--i1);background:var(--s3)}

/* --- Expanded Row Detail --- */
.clib .irow-det{padding:20px 18px 18px 50px;background:linear-gradient(180deg,color-mix(in oklab,var(--s2) 92%,#fff 8%),var(--s2));border-bottom:1px solid var(--line-soft)}
.clib .irow-det .det-prompt{font-size:14px;color:var(--i1);margin-bottom:12px;line-height:1.5}
.clib .irow-det .det-section{margin-bottom:16px}
.clib .irow-det .det-label{font-family:var(--f-m);font-size:10px;letter-spacing:.12em;color:var(--i3);text-transform:uppercase;margin-bottom:8px}
.clib .irow-det .det-opts{display:flex;flex-direction:column;gap:4px}
.clib .irow-det .det-opt{display:flex;gap:8px;align-items:center;font-size:12px;padding:8px 10px;background:var(--s1);border-radius:var(--r-s);border-left:3px solid transparent}
.clib .irow-det .det-opt.correct{border-left-color:var(--ok);font-weight:600}
.clib .irow-det .det-opt .opt-id{font-family:var(--f-m);font-size:10px;color:var(--i3);min-width:18px}
.clib .irow-det .det-expl{font-size:12px;color:var(--i3);padding:12px 14px;background:var(--s1);border-radius:var(--r-s);border-left:3px solid var(--brand);line-height:1.6}
.clib .irow-det .det-meta{display:flex;gap:16px;flex-wrap:wrap;font-family:var(--f-m);font-size:10px;color:var(--i4)}
.clib .irow-det pre{overflow:auto;max-height:280px}
.clib .irow-det .det-acts{display:flex;gap:8px;margin-top:12px}

/* --- Inline Edit Panel --- */
.clib .iedit{padding:14px;background:oklch(20% .02 230);border:1px solid var(--brand-soft);border-radius:var(--r-m);margin-top:12px}
.clib .iedit .ie-field{margin-bottom:10px}
.clib .iedit .ie-field label{display:block;font-family:var(--f-m);font-size:10px;letter-spacing:.1em;color:var(--i3);text-transform:uppercase;margin-bottom:4px}
.clib .iedit .ie-field textarea{width:100%;min-height:60px;padding:8px 10px;background:var(--s0);border:1px solid var(--line);border-radius:var(--r-s);color:var(--i1);font-family:var(--f-b);font-size:12px;resize:vertical;box-sizing:border-box}
.clib .iedit .ie-field input[type="text"]{width:100%;padding:8px 10px;background:var(--s0);border:1px solid var(--line);border-radius:var(--r-s);color:var(--i1);font-family:var(--f-b);font-size:12px;box-sizing:border-box}
.clib .iedit .ie-acts{display:flex;gap:8px;justify-content:flex-end}

/* --- Responsive --- */
@media(max-width:1000px){
  .clib .irow .irow-sum{grid-template-columns:[toggle] 36px [qtype] 80px [prompt] 1fr [pts] 50px [actions] 40px}
  .clib .irow .irow-sum>[data-col="diff"],.clib .irow .irow-sum>[data-col="cat"],.clib .irow .irow-sum>[data-col="audiences"],.clib .irow .irow-sum>[data-col="trans"],.clib .irow .irow-sum>[data-col="timer"]{display:none}
  .clib .ilist-header.quiz-row{grid-template-columns:[toggle] 36px [qtype] 80px [prompt] 1fr [pts] 50px [actions] 40px}
  .clib .ilist-header>[data-col="diff"],.clib .ilist-header>[data-col="cat"],.clib .ilist-header>[data-col="audiences"],.clib .ilist-header>[data-col="trans"],.clib .ilist-header>[data-col="timer"]{display:none}
  .clib .mod-card .mc-hd{flex-wrap:wrap}
  .clib .mod-card .mc-enabled{margin-left:0}
  .clib .ctxbar{flex-wrap:wrap}
}

/* --- QType Group Accordion --- */
.clib-qgroup{margin-bottom:2px}
.clib-qgroup__header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--s1);border:1px solid var(--s2);border-radius:var(--r-s);cursor:pointer;user-select:none;transition:background .15s}
.clib-qgroup__header:hover{background:var(--s2)}
.clib-qgroup.open .clib-qgroup__header{border-radius:var(--r-s) var(--r-s) 0 0;border-bottom-color:transparent}
.clib-qgroup__chevron{font-size:12px;color:var(--i3);width:16px;text-align:center;flex-shrink:0}
.clib-qgroup__count{font-family:var(--f-m);font-size:11px;color:var(--i3)}
.clib-qgroup__enabled{font-family:var(--f-m);font-size:11px;color:var(--ok);font-weight:500}
.clib-qgroup__enabled.none{color:var(--i4)}
.clib-qgroup__enabled.all{color:var(--ok)}
.clib-qgroup__spacer{flex:1}
.clib-qgroup__actions{display:flex;gap:4px}
.clib-qgroup__actions .btn.ghost.sm{font-size:10px;padding:2px 8px;color:var(--i3);text-transform:uppercase;letter-spacing:.05em}
.clib-qgroup__actions .btn.ghost.sm:hover{color:var(--brand)}
.clib-qgroup__body{border:1px solid var(--s2);border-top:none;border-radius:0 0 var(--r-s) var(--r-s);padding-bottom:4px}
.clib-qgroup__body .ilist-header{margin-top:0;border-radius:0}
.ilist--grouped{display:flex;flex-direction:column;gap:6px}

/* --- Wizard Curation Mode --- */
.ctxbar--wizard{background:var(--s1);border:1px solid var(--brand);border-radius:var(--r-m);position:relative}
.ctxbar--wizard::before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(4,159,217,.08),transparent);pointer-events:none}
.ctx-curation-label{display:flex;align-items:center;gap:6px;font-family:var(--f-m);font-size:11px;color:var(--brand);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.ctx-curation-dot{width:6px;height:6px;border-radius:50%;background:var(--brand);animation:ctx-pulse 2s ease infinite}
@keyframes ctx-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.ctx-evt-locked{font-family:var(--f-b);font-size:13px;color:var(--i2);padding:4px 10px;background:var(--s2);border-radius:var(--r-s);font-weight:500}
.ctx-done{margin-left:auto;font-size:12px !important;padding:6px 16px !important}
.clib--wizard .mod-grid{display:none}

/* ============================================================
   Scoped player design tokens for QType renderer preview
   These replicate the tokens from tokens.css but ONLY inside
   .qtr wrappers — they do NOT pollute the organizer globals.
   ============================================================ */
.qtr {
  /* Chrome spacing / radii / motion */
  --r-sm: 4px; --r-md: 8px; --r-lg: 12px; --r-xl: 16px; --r-2xl: 20px;
  --r-pill: 999px;
  --ease: cubic-bezier(.2,.8,.2,1);
  --dur-1: 120ms; --dur-2: 180ms; --dur-3: 280ms;
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px;
  --sp-5: 20px; --sp-6: 24px; --sp-8: 32px;
  --shadow-2: 0 8px 24px rgba(0,0,0,.12);
  --cisco: #049FD9;
  /* Typography */
  --f-body: "Inter", system-ui, -apple-system, Segoe UI, sans-serif;
  --f-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --f-display: "Inter Tight", "Inter", system-ui, sans-serif;
}
.qtr[data-theme="cisco"] {
  --bg: oklch(0.17 0.015 250);
  --bg-elev: oklch(0.22 0.017 250);
  --bg-elev-2: oklch(0.26 0.018 250);
  --line: oklch(0.32 0.02 250);
  --ink: oklch(0.97 0.005 250);
  --ink-dim: oklch(0.72 0.01 250);
  --ink-muted: oklch(0.62 0.01 250);
  --accent: #049FD9;
  --accent-ink: #003E56;
  --accent-2: oklch(0.78 0.16 195);
  --success: oklch(0.78 0.18 155);
  --danger: oklch(0.70 0.20 27);
  --warning: oklch(0.82 0.17 80);
  --chip-bg: oklch(0.26 0.018 250);
  /* Bridge tokens (qtypes.css defines these on :root but they need scoped base vars) */
  --qt-line-soft: color-mix(in oklch, var(--line) 55%, var(--bg));
  --qt-ink-4: color-mix(in oklch, var(--ink-muted) 55%, var(--bg));
  --qt-brand-soft: color-mix(in oklch, var(--accent) 22%, var(--bg));
  --qt-accent-soft: color-mix(in oklch, var(--accent-2, var(--accent)) 22%, var(--bg));
  --qt-success-soft: color-mix(in oklch, var(--success) 22%, var(--bg));
  --qt-danger-soft: color-mix(in oklch, var(--danger) 22%, var(--bg));
  --qt-warning-soft: color-mix(in oklch, var(--warning) 22%, var(--bg));
  color: var(--ink);
  font-family: var(--f-body);
}

/* ── Tech-Day Monitor variant ─────────────────────────────────────── */
.tdmon-type-pill{font-family:var(--f-m);font-size:9px;letter-spacing:.14em;color:var(--brand);text-transform:uppercase;font-weight:500;background:var(--brand-soft);padding:3px 9px;border-radius:var(--r-p);border:1px solid var(--brand);}
.tdmon-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:18px}
.tdmon-block{background:var(--s1);border:1px solid var(--line-soft);border-radius:var(--r-l);padding:18px 22px;overflow:hidden}
.tdmon-block-hd{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line-soft)}
.tdmon-block-hd h3{font-family:var(--f-d);font-weight:500;font-size:18px;letter-spacing:-.01em;color:var(--i1);margin:0}
.tdmon-block-hd small{font-family:var(--f-m);font-size:10px;color:var(--i3);text-transform:uppercase;letter-spacing:.08em}
.tdmon-empty{color:var(--i3);font-style:italic;padding:18px;text-align:center}
.tdmon-empty a{color:var(--brand);text-decoration:none}
.tdmon-empty a:hover{text-decoration:underline}

/* Agenda list */
.tdmon-agenda{grid-row:span 2}
.tdmon-agenda-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.tdmon-agenda-item{display:flex;gap:12px;padding:12px 14px;background:var(--s2);border:1px solid var(--line-soft);border-radius:var(--r-m)}
.tdmon-agenda-num{font-family:var(--f-m);font-size:11px;color:var(--i4);letter-spacing:.06em;font-weight:600;padding-top:2px;min-width:24px}
.tdmon-agenda-body{flex:1;min-width:0}
.tdmon-agenda-title{font-weight:600;font-size:14px;color:var(--i1);margin-bottom:4px;line-height:1.3}
.tdmon-agenda-meta{font-size:12px;color:var(--i3);margin-bottom:8px}
.tdmon-agenda-meta .tdmon-spk{color:var(--brand);font-weight:500}
.tdmon-agenda-meta .tdmon-spk-empty{color:var(--dn);font-style:italic}
.tdmon-agenda-stats{display:flex;gap:6px;flex-wrap:wrap}
.tdmon-agenda-stats .tag{font-family:var(--f-m);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:var(--r-p);background:var(--s3);color:var(--i3);font-weight:500}
.tdmon-agenda-stats .tag.ok{background:var(--ok-soft);color:var(--ok)}
.tdmon-agenda-stats .tag.warn{background:var(--wn-soft);color:var(--wn)}

/* Speakers grid */
.tdmon-speakers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.tdmon-speaker{padding:12px;background:var(--s2);border:1px solid var(--line-soft);border-radius:var(--r-m)}
.tdmon-speaker-name{font-weight:600;font-size:13px;color:var(--i1);margin-bottom:2px}
.tdmon-speaker-email{font-family:var(--f-m);font-size:10px;color:var(--i3);margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tdmon-speaker-stats{display:flex;gap:8px;font-family:var(--f-m);font-size:9px;letter-spacing:.06em;color:var(--i4);text-transform:uppercase}

/* Question bank */
.tdmon-qbank-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tdmon-qbank-stat{padding:14px;background:var(--s2);border:1px solid var(--line-soft);border-radius:var(--r-m);text-align:center}
.tdmon-qbank-num{font-family:var(--f-d);font-weight:500;font-size:28px;color:var(--brand);line-height:1}
.tdmon-qbank-lbl{font-family:var(--f-m);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--i3);margin-top:6px}

/* Leaderboard */
.tdmon-lb-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}
.tdmon-lb-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:8px 12px;background:var(--s2);border-radius:var(--r-s);border:1px solid var(--line-soft)}
.tdmon-lb-rank{font-family:var(--f-m);font-size:11px;color:var(--i4);font-weight:600;text-align:right}
.tdmon-lb-name{font-size:13px;color:var(--i1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tdmon-lb-score{font-family:var(--f-m);font-size:13px;color:var(--brand);font-weight:600}

@media (max-width:1100px){
  .tdmon-grid{grid-template-columns:1fr}
  .tdmon-agenda{grid-row:auto}
}

/* ── Tech-Day Event Flow controls ─────────────────────────────────── */
.tdmon-flow{grid-column:1 / -1}
.tdmon-flow-body{display:flex;flex-direction:column;gap:14px}
.tdmon-flow-step{display:flex;gap:14px;align-items:center;padding:12px 14px;background:var(--s2);border:1px solid var(--line-soft);border-radius:var(--r-m)}
.tdmon-flow-step.muted{opacity:.65}
.tdmon-flow-num{font-family:var(--f-d);font-weight:500;font-size:22px;color:var(--brand);min-width:26px;text-align:center;line-height:1}
.tdmon-flow-step-body{flex:1;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.tdmon-flow-step-title{font-size:14px;color:var(--i1);font-weight:500}
.tdmon-flow-step-hint{font-size:12px;color:var(--i3);margin-top:2px}
.tdmon-agenda-item.active{border-color:var(--brand);background:linear-gradient(135deg,var(--s2) 0%,var(--brand-soft) 200%);box-shadow:0 0 0 1px var(--brand) inset}
.tdmon-talk-actions{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}
.tdmon-talk-actions .btn{font-size:11px;padding:5px 10px}
.btn.warn{background:var(--wn);color:#000;border-color:var(--wn)}
.btn.warn:hover{filter:brightness(1.1)}
.btn.sm{font-size:11px;padding:5px 10px}
