/* ===========================================================
   MAX3 Momentum OS — Events section styles
   Scoped under .events with an ev- prefix. Mirrors the Retail/
   Payments tab shell and the card / mono-money vocabulary.
   =========================================================== */
.events{
  --lime:var(--m3-lime);--lime-dim:#95c43a;--red:var(--m3-red);--amber:var(--m3-amber);--blue:var(--m3-blue);--purple:#9B72E6;
  --bg0:var(--m3-bg);--bg1:var(--m3-surface);--bg2:var(--m3-surface-2);--bg3:#333333;
  --text0:var(--m3-text);--text1:var(--m3-text-2);--text2:var(--m3-text-3);--line:var(--m3-line);--line2:#3F3F3F;
  display:flex;flex-direction:column;min-width:0;flex:1;min-height:0;overflow:hidden;height:100%;font-size:13px;
}

/* tabs */
.ev-tabs{flex:0 0 auto;display:flex;align-items:center;height:46px;padding:0 16px;border-bottom:1px solid var(--line);gap:0}
.ev-tab{height:46px;padding:0 16px;display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--text2);
  cursor:pointer;border:0;border-bottom:2px solid transparent;transition:color .12s;white-space:nowrap;background:none}
.ev-tab:hover{color:var(--text1)}
.ev-tab.active{color:var(--lime);border-bottom-color:var(--lime)}
.ev-tab .ev-tcount{background:var(--bg2);color:var(--text1);font-size:10px;font-weight:800;padding:1px 6px;border-radius:10px}
.ev-hdr-actions{margin-left:auto;display:flex;align-items:center;gap:8px}

/* buttons */
.ev-btn{height:30px;padding:0 12px;border-radius:6px;border:1px solid var(--line2);background:transparent;color:var(--text1);
  font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background .12s,color .12s;font-family:var(--ff)}
.ev-btn:hover{background:var(--bg2);color:var(--text0)}
.ev-btn-primary{background:var(--lime);border-color:var(--lime);color:#15200a;font-weight:700}
.ev-btn-primary:hover{background:var(--lime-dim)}
.ev-btn-danger{border-color:rgba(204,34,34,.4);color:#ee6666}
.ev-btn-danger:hover{background:rgba(204,34,34,.1)}
.ev-btn-sm{height:26px;padding:0 10px;font-size:11px}
.ev-mono{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* scroll body */
.ev-scroll{flex:1;overflow-y:auto;min-width:0}
.ev-pad{padding:16px 20px 40px}

/* ---------- toolbar (catalog) ---------- */
.ev-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--line);flex:0 0 auto}
.ev-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ev-chip{height:28px;padding:0 12px;border-radius:14px;border:1px solid var(--line2);background:transparent;color:var(--text2);
  font-size:12px;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,border-color .12s;font-family:var(--ff);display:inline-flex;align-items:center;gap:6px}
.ev-chip:hover{background:var(--bg2);color:var(--text1)}
.ev-chip.on{border-color:var(--lime);color:var(--text0);background:rgba(170,221,68,.06)}
.ev-chip .cdot{width:8px;height:8px;border-radius:3px}
.ev-search{height:30px;background:var(--bg2);border:1px solid var(--line2);border-radius:6px;color:var(--text0);font-size:12px;
  padding:0 10px 0 30px;outline:none;font-family:var(--ff);width:200px;transition:border-color .15s}
.ev-search:focus{border-color:var(--lime)}
.ev-search-wrap{position:relative}
.ev-search-wrap .ic{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text2);pointer-events:none;display:flex}
.ev-viewtog{display:flex;background:var(--bg2);border:1px solid var(--line2);border-radius:7px;overflow:hidden}
.ev-viewtog button{border:0;background:transparent;color:var(--text2);padding:5px 11px;font-size:12px;font-weight:700;cursor:pointer;font-family:var(--ff);display:inline-flex;align-items:center;gap:5px}
.ev-viewtog button.on{background:var(--bg3);color:var(--text0)}
.ev-viewtog button:not(:last-child){border-right:1px solid var(--line2)}
.ev-spacer{margin-left:auto}

/* ---------- card grid ---------- */
.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(264px,1fr));gap:16px}
.ev-card{background:var(--bg1);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:border-color .12s,transform .12s;text-align:left;padding:0;font-family:var(--ff);display:flex;flex-direction:column}
.ev-card:hover{border-color:var(--line2)}
.ev-card.draft{opacity:.82;border-style:dashed}
.ev-card-img{position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:var(--bg2)}
.ev-card-img .wash{position:absolute;inset:0;opacity:.16}
.ev-card-img .stripes{position:absolute;inset:0;opacity:.5;
  background-image:repeating-linear-gradient(135deg,transparent 0 11px,rgba(255,255,255,.018) 11px 22px)}
.ev-card-img .glyph{font-size:42px;filter:grayscale(.1);z-index:1;opacity:.9}
.ev-card-img .ph-label{position:absolute;bottom:8px;left:10px;font-size:9px;font-family:var(--mono);color:var(--text2);
  background:rgba(0,0,0,.4);padding:2px 6px;border-radius:4px;z-index:1}
.ev-card-img .ev-feat{position:absolute;top:8px;right:8px;z-index:2;font-size:9px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;
  background:var(--lime);color:#15200a;padding:2px 7px;border-radius:4px;display:inline-flex;align-items:center;gap:4px}
.ev-card-img .ev-auto{position:absolute;top:8px;left:8px;z-index:2;font-size:9px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;
  background:rgba(0,0,0,.5);color:var(--lime);border:1px solid rgba(170,221,68,.4);padding:2px 7px;border-radius:4px}
.ev-card-body{padding:12px 13px 13px;display:flex;flex-direction:column;gap:9px;flex:1}
.ev-card-top{display:flex;align-items:center;gap:8px}
.ev-type{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;letter-spacing:.2px;text-transform:uppercase;
  padding:2px 8px;border-radius:5px;white-space:nowrap}
.ev-type .gd{width:7px;height:7px;border-radius:2px}
.ev-card-name{font-size:14.5px;font-weight:800;letter-spacing:-.2px;line-height:1.25;text-wrap:pretty;color:var(--text0)}
.ev-card-meta{font-size:11.5px;color:var(--text2);display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.ev-card-meta .dot{color:var(--line2)}
.ev-status{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;padding:2px 9px;border-radius:5px;white-space:nowrap;width:fit-content}
.ev-status .sd{width:6px;height:6px;border-radius:50%}
.ev-status.open{background:rgba(170,221,68,.1);color:var(--lime)} .ev-status.open .sd{background:var(--lime)}
.ev-status.amber{background:rgba(245,166,35,.1);color:var(--amber)} .ev-status.amber .sd{background:var(--amber)}
.ev-status.blue{background:rgba(59,158,232,.1);color:var(--blue)} .ev-status.blue .sd{background:var(--blue)}
.ev-status.gray{background:var(--bg2);color:var(--text1)} .ev-status.gray .sd{background:var(--text2)}
.ev-status.red{background:rgba(204,34,34,.1);color:#ee6666} .ev-status.red .sd{background:#ee6666}
.ev-status.dim{background:var(--bg2);color:var(--text2)} .ev-status.dim .sd{background:var(--text2)}
.ev-card-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding-top:4px}
.ev-cap{flex:1;min-width:0}
.ev-cap-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:4px}
.ev-cap-row .c{font-size:11px;font-weight:700;color:var(--text1);font-family:var(--mono)}
.ev-cap-row .c small{color:var(--text2);font-weight:500}
.ev-cap-bar{height:4px;border-radius:2px;background:var(--bg2);overflow:hidden}
.ev-cap-bar i{display:block;height:100%;border-radius:2px;background:var(--lime)}
.ev-cap-bar i.full{background:var(--amber)}
.ev-price{font-size:14px;font-weight:800;color:var(--text0);font-family:var(--mono);white-space:nowrap}
.ev-price.free{color:var(--lime);font-family:var(--ff);font-size:12.5px;letter-spacing:.3px;text-transform:uppercase}
/* two explicit card actions — Register (→ roster) + Edit (→ setup) */
.ev-card-acts{display:flex;gap:8px;margin-top:11px;padding-top:11px;border-top:1px solid var(--line)}
.ev-cact{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:31px;padding:0 10px;border-radius:7px;
  font-family:var(--ff);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;
  border:1px solid var(--line2);background:transparent;color:var(--text1);transition:background .12s,border-color .12s,color .12s}
.ev-cact:hover{background:var(--bg2);color:var(--text0);border-color:var(--text2)}
.ev-cact.reg{flex:1.25;background:var(--lime);border-color:var(--lime);color:#15200a}
.ev-cact.reg:hover{background:var(--lime-dim);border-color:var(--lime-dim);color:#15200a}

/* empty */
.ev-empty{padding:60px 30px;text-align:center;color:var(--text2);display:flex;flex-direction:column;align-items:center;gap:12px}
.ev-empty .ic{width:60px;height:60px;border-radius:16px;background:var(--bg1);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--text1)}

/* ---------- calendar (month grid) ---------- */
.ev-cal{background:var(--bg1);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.ev-cal-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.ev-cal-title{font-size:15px;font-weight:800;letter-spacing:-.2px}
.ev-cal-nav{display:flex;gap:4px}
.ev-cal-nav button{width:28px;height:28px;border-radius:6px;border:1px solid var(--line2);background:transparent;color:var(--text1);cursor:pointer;display:flex;align-items:center;justify-content:center}
.ev-cal-nav button:hover{background:var(--bg2)}
.ev-cal-dow{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line)}
.ev-cal-dow span{padding:7px 10px;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--text2)}
.ev-cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.ev-cal-cell{min-height:96px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 7px;display:flex;flex-direction:column;gap:4px}
.ev-cal-cell:nth-child(7n){border-right:0}
.ev-cal-cell.out{background:var(--bg0);opacity:.5}
.ev-cal-cell.today .dn{color:#15200a;background:var(--lime);border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center}
.ev-cal-cell .dn{font-size:11px;font-weight:700;color:var(--text2);font-family:var(--mono);align-self:flex-start}
.ev-cal-ev{font-size:10.5px;font-weight:700;color:var(--text0);padding:2px 6px;border-radius:4px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  border-left:3px solid var(--lime);background:var(--bg2);transition:background .12s}
.ev-cal-ev:hover{background:var(--bg3)}
.ev-cal-ev.span{border-radius:4px}
.ev-cal-more{font-size:10px;color:var(--text2);padding-left:6px}

/* calendar popover */
.ev-pop-scrim{position:fixed;inset:0;z-index:130}
.ev-pop{position:fixed;z-index:131;width:260px;background:var(--bg1);border:1px solid var(--line2);border-radius:10px;overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.55);animation:ev-pop .12s ease}
@keyframes ev-pop{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.ev-pop .pop-img{aspect-ratio:16/8;position:relative;display:flex;align-items:center;justify-content:center;background:var(--bg2)}
.ev-pop .pop-b{padding:11px 13px}
.ev-pop .pop-n{font-size:13px;font-weight:800}
.ev-pop .pop-m{font-size:11px;color:var(--text2);margin-top:3px}
.ev-pop .pop-acts{display:flex;gap:7px;margin-top:10px}

/* ======================================================================
   EVENT MANAGEMENT PAGE
   ====================================================================== */
.ev-page{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.ev-page-bar{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid var(--line)}
.ev-back{display:inline-flex;align-items:center;gap:6px;color:var(--text2);cursor:pointer;font-size:12.5px;font-weight:600;background:none;border:0;font-family:var(--ff)}
.ev-back:hover{color:var(--text0)}
.ev-page-bar .pb-name{font-size:15px;font-weight:800;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-page-bar .pb-actions{margin-left:auto;display:flex;gap:8px}
.ev-page-subtabs{flex:0 0 auto;display:flex;gap:0;padding:0 18px;border-bottom:1px solid var(--line);background:var(--bg0)}
.ev-subtab{height:40px;padding:0 14px;display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--text2);cursor:pointer;
  border:0;border-bottom:2px solid transparent;background:none;font-family:var(--ff)}
.ev-subtab:hover{color:var(--text1)}
.ev-subtab.on{color:var(--text0);border-bottom-color:var(--lime)}
.ev-subtab .sc{background:var(--bg2);color:var(--text1);font-size:10px;font-weight:800;padding:1px 6px;border-radius:9px}
.ev-page-body{flex:1;overflow-y:auto;min-height:0}

/* combined events — one physical event · shared pool across locations (matches .pga-combined vocabulary) */
.ev-comb{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:var(--text2);border:1px dashed var(--line2);border-radius:6px;padding:2px 7px;white-space:nowrap}
.ev-combnote{display:flex;gap:9px;font-size:11.5px;color:var(--text1);background:var(--bg2);border:1px dashed var(--line2);border-radius:7px;padding:9px 11px;line-height:1.5;text-wrap:pretty}
.ev-combnote .g{font-size:14px;color:var(--text2);line-height:1.2}
.ev-combnote b{color:var(--text0)}
.ev-routenote{margin-top:9px;padding:8px 11px;font-size:11px;color:var(--text1);border:1px dashed var(--line2);border-radius:7px;line-height:1.5;text-wrap:pretty}
.ev-routenote b{color:var(--text0)}

/* host place — own location or off-site venue (Host-Location-as-Place brief, step 1) */
.ev-place-btn{display:flex;align-items:center;gap:8px;width:100%;background:var(--bg2);border:1px solid var(--line2);border-radius:6px;color:var(--text0);
  font-size:13px;padding:8px 10px;font-family:var(--ff);cursor:pointer;text-align:left;transition:border-color .15s}
.ev-place-btn:hover{border-color:var(--lime)}
.ev-place-btn .g{color:var(--text2);flex:0 0 auto}
.ev-place-btn .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.ev-place-btn .tag{flex:0 0 auto;font-size:10px;font-weight:700;color:var(--text2);border:1px dashed var(--line2);border-radius:5px;padding:1px 6px}
.ev-place{border:1px dashed var(--line2);border-radius:9px;background:var(--bg2);padding:11px 12px;display:flex;flex-direction:column;gap:9px}
.ev-place .pl-top{display:flex;align-items:flex-start;gap:9px}
.ev-place .pl-top .g{font-size:15px;color:var(--text2);line-height:1.3;flex:0 0 auto}
.ev-place .pl-main{flex:1;min-width:0}
.ev-place .pl-n{font-size:13px;font-weight:700;color:var(--text0);display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.ev-place .pl-tag{font-size:10px;font-weight:700;color:var(--text2);border:1px dashed var(--line2);border-radius:5px;padding:1px 6px}
.ev-place .pl-a{font-size:11.5px;color:var(--text1);margin-top:2px;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.ev-place .pl-co{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10px;color:var(--text2)}
.ev-place .pl-dir{flex:0 0 auto;font-size:11.5px;font-weight:600;color:var(--lime);text-decoration:none;white-space:nowrap}
.ev-place .pl-dir:hover{text-decoration:underline}
.ev-place .pl-foot{font-size:11px;color:var(--text1);line-height:1.5;text-wrap:pretty;border-top:1px dashed var(--line2);padding-top:9px}
.ev-place .pl-foot b{color:var(--text0)}
.ev-place .pl-actions{display:flex;gap:8px}
/* off-site venue picker modal (shell = ix-modal) — seeded place-search rows */
.ev-vrows{display:flex;flex-direction:column;gap:4px}
.ev-vrow{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;background:var(--bg2);border:1px solid var(--line);border-radius:7px;
  padding:8px 10px;cursor:pointer;font-family:var(--ff);transition:border-color .12s}
.ev-vrow:hover{border-color:var(--lime)}
.ev-vrow .n{font-size:12.5px;font-weight:600;color:var(--text0)}
.ev-vrow .a{font-size:11px;color:var(--text2)}
/* resolved Location place line — address always populates (own or outside) */
.ev-place-line{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--text1);background:var(--bg2);border:1px solid var(--line2);border-radius:7px;padding:8px 11px;flex-wrap:wrap}
.ev-place-line .g{color:var(--text2);flex:0 0 auto}
.ev-place-line .addr{flex:1;min-width:120px}
.ev-place-line .tag{flex:0 0 auto;font-size:10px;font-weight:700;color:var(--text2);border:1px dashed var(--line2);border-radius:5px;padding:1px 7px}
.ev-place-line .tag.own{color:var(--lime);border-style:solid;border-color:rgba(170,221,68,.4)}
.ev-place-line .pl-dir{flex:0 0 auto;font-size:11.5px;font-weight:600;color:var(--lime);text-decoration:none;white-space:nowrap}
.ev-place-line .pl-dir:hover{text-decoration:underline}
.ev-add:disabled{opacity:.45;cursor:not-allowed}
.ev-place .pl-actions{justify-content:flex-end}
/* family-facing venue (Host-Location-as-Place step 2) — card pill, calendar pop, event-page strip */
.ev-offsite{flex:0 0 auto;font-size:9.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--text2);border:1px dashed var(--line2);border-radius:5px;padding:1px 5px;white-space:nowrap}
.pop-venue{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:4px}
.pop-dir,.ev-venue-strip .vd{color:var(--lime);font-weight:600;text-decoration:none;white-space:nowrap}
.pop-dir:hover,.ev-venue-strip .vd:hover{text-decoration:underline}
.ev-venue-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 18px;border-bottom:1px solid var(--line);background:var(--bg2);font-size:12px;color:var(--text1)}
.ev-venue-strip .g{color:var(--text2);flex:0 0 auto}
.ev-venue-strip .vn{font-weight:700;color:var(--text0)}
.ev-venue-strip .va{color:var(--text1)}
.ev-venue-strip .vfam{margin-left:auto;font-size:10.5px;color:var(--text2);font-style:italic;text-wrap:pretty}
/* step 3 — combined roster segmentation */
.ev-loc{font-size:11.5px;color:var(--text2)}
.ev-loc.own{color:var(--lime);font-weight:700}
.ev-ci-loc{font-size:10px;font-weight:700;color:var(--text2);border:1px dashed var(--line2);border-radius:5px;padding:1px 6px}
.ev-ci-loc.own{color:var(--lime);border-color:rgba(170,221,68,.4)}

/* auto-from-progress banner */
.ev-autobar{display:flex;align-items:center;gap:10px;padding:10px 18px;background:rgba(170,221,68,.06);border-bottom:1px solid rgba(170,221,68,.2);font-size:12px;color:var(--text1)}
.ev-autobar .ic{color:var(--lime);display:flex}
.ev-autobar b{color:var(--text0)}

/* ---------- editor ---------- */
.ev-editor{padding:18px 20px 50px;max-width:1080px;display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}
.ev-edit-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.ev-edit-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:0}
.ev-sec{background:var(--bg1);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.ev-sec-h{display:flex;align-items:center;gap:9px;padding:12px 15px;border-bottom:1px solid var(--line)}
.ev-sec-h .t{font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--text1)}
.ev-sec-h .r{margin-left:auto;display:flex;gap:8px;align-items:center}
.ev-sec-b{padding:14px 15px;display:flex;flex-direction:column;gap:13px}
.ev-field{display:flex;flex-direction:column;gap:6px}
.ev-field label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text2)}
.ev-field input,.ev-field select,.ev-field textarea{background:var(--bg2);border:1px solid var(--line2);border-radius:6px;color:var(--text0);
  font-size:13px;padding:8px 10px;outline:none;font-family:var(--ff);width:100%;transition:border-color .15s}
.ev-field textarea{resize:vertical;min-height:70px;line-height:1.55}
.ev-field input:focus,.ev-field select:focus,.ev-field textarea:focus{border-color:var(--lime)}
.ev-field .hint{font-size:10.5px;color:var(--text2);text-wrap:pretty}
.ev-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ev-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
/* FD-CP215 — start date · end date · start time · end time on ONE line. Four
   narrow fields read as one "when" statement; wrapping the end time onto its own
   row made it look like a different setting. */
.ev-row4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px}
@media (max-width:1180px){.ev-row4{grid-template-columns:1fr 1fr}}

/* image upload box */
.ev-img-box{aspect-ratio:16/9;border:1.5px dashed var(--line2);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  cursor:pointer;transition:border-color .15s;position:relative;overflow:hidden;color:var(--text2)}
.ev-img-box:hover{border-color:var(--lime);color:var(--lime)}
.ev-img-box .wash{position:absolute;inset:0;opacity:.16}
/* FD-CP19 event banner */
.ev-img-box .lab{position:relative;z-index:1}
.ev-banner-rm{margin-top:7px;font-size:11px;color:var(--text2);background:none;border:none;cursor:pointer;text-decoration:underline}
.ev-banner-rm:hover{color:var(--red,#cc2222)}
.ev-banner-hint{margin-top:6px;font-size:11px;color:var(--text2);opacity:.85;line-height:1.4}
.ev-img-box .glyph{font-size:34px;z-index:1}
.ev-img-box .lab{font-size:11px;z-index:1}

/* toggle switch + segmented */
.ev-tog-row{display:flex;align-items:center;gap:12px}
.ev-tog-row .tl{flex:1;min-width:0}
.ev-tog-row .tn{font-size:13px;font-weight:600;color:var(--text0)}
.ev-tog-row .ts{font-size:11px;color:var(--text2);margin-top:1px;text-wrap:pretty}
.ev-sw{width:38px;height:21px;background:var(--lime);border-radius:11px;position:relative;cursor:pointer;flex:0 0 auto;border:0;transition:background .15s}
.ev-sw::after{content:'';position:absolute;width:15px;height:15px;background:#15200a;border-radius:50%;top:3px;right:3px;transition:right .15s}
.ev-sw.off{background:var(--bg3)}
.ev-sw.off::after{right:20px;background:var(--text2)}
.ev-seg{display:flex;background:var(--bg2);border:1px solid var(--line2);border-radius:7px;overflow:hidden;width:fit-content}
.ev-seg button{border:0;background:transparent;color:var(--text2);padding:6px 13px;font-size:12px;font-weight:700;cursor:pointer;font-family:var(--ff)}
.ev-seg button.on{background:var(--bg3);color:var(--text0)}
.ev-seg button:not(:last-child){border-right:1px solid var(--line2)}

/* pricing readout */
.ev-price-readout{display:flex;align-items:baseline;gap:8px;padding:10px 12px;background:var(--bg2);border:1px solid var(--line);border-radius:8px}
.ev-price-readout .v{font-size:22px;font-weight:800;font-family:var(--mono);letter-spacing:-.5px}
.ev-price-readout .s{font-size:11px;color:var(--text2)}

/* capacity editors */
.ev-cap-mode{display:flex;flex-direction:column;gap:5px;margin-top:4px}
.ev-slot-row{display:grid;grid-template-columns:1.4fr 1fr 70px 24px;gap:8px;align-items:center}
.ev-slot-row.head{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--text2);font-weight:800}
.ev-slot-row input{height:30px;padding:0 8px;font-size:12px}
.ev-slot-fill{font-size:11px;color:var(--text2);font-family:var(--mono);text-align:right}
.ev-rm{color:var(--text2);cursor:pointer;display:flex;justify-content:center;background:none;border:0}
.ev-rm:hover{color:#ee6666}
.ev-add{height:30px;padding:0 11px;border-radius:6px;border:1px dashed var(--line2);background:transparent;color:var(--text2);font-size:11.5px;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;font-family:var(--ff);transition:border-color .12s,color .12s;width:fit-content}
.ev-add:hover{border-color:var(--lime);color:var(--lime)}

/* option rows */
.ev-opt{background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:12px;display:flex;flex-direction:column;gap:10px}
.ev-opt-top{display:flex;align-items:center;gap:8px}
.ev-opt-top .ev-field{flex:1}
.ev-opt-flags{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ev-flag-chk{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text1);cursor:pointer}
.ev-cb{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--line2);background:transparent;display:flex;align-items:center;justify-content:center;
  color:transparent;flex:0 0 auto;cursor:pointer}
.ev-cb.on{background:var(--lime);border-color:var(--lime);color:#15200a}
.ev-opt-price{display:flex;align-items:center;gap:6px}
.ev-opt-price input{width:80px;height:30px}

/* eligibility */
.ev-elig-chips{display:flex;flex-wrap:wrap;gap:7px}
.ev-elig{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:8px;border:1px solid var(--line2);background:var(--bg2);
  cursor:pointer;font-size:12px;color:var(--text1);transition:border-color .12s,background .12s;font-family:var(--ff)}
.ev-elig.on{border-color:var(--lime);background:rgba(170,221,68,.08);color:var(--text0)}
.ev-elig .ec{width:15px;height:15px;border-radius:4px;border:1.5px solid var(--line2);display:flex;align-items:center;justify-content:center;color:transparent;flex:0 0 auto}
.ev-elig.on .ec{background:var(--lime);border-color:var(--lime);color:#15200a}
.ev-elig-detail{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--bg2);display:flex;flex-direction:column;gap:10px}
.ev-invite-list{display:flex;flex-wrap:wrap;gap:6px}
.ev-invite{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;background:rgba(59,158,232,.1);color:var(--blue);border:1px solid rgba(59,158,232,.25);border-radius:14px;padding:3px 6px 3px 9px}
.ev-invite .x{cursor:pointer;opacity:.7} .ev-invite .x:hover{opacity:1}

/* side: status / visibility / waiver */
.ev-status-pick{display:flex;flex-direction:column;gap:6px}
.ev-status-opt{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;border:1px solid var(--line2);background:var(--bg2);cursor:pointer;font-family:var(--ff)}
.ev-status-opt.on{border-color:var(--lime);background:rgba(170,221,68,.06)}
.ev-status-opt .so-r{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--line2);flex:0 0 auto;position:relative}
.ev-status-opt.on .so-r{border-color:var(--lime)}
.ev-status-opt.on .so-r::after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--lime)}
.ev-status-opt .so-t{font-size:12.5px;font-weight:600;color:var(--text0)}
.ev-status-opt .so-s{font-size:10.5px;color:var(--text2)}
.ev-meta-list{display:flex;flex-direction:column;gap:0}
.ev-meta-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}
.ev-meta-row:last-child{border-bottom:0}
.ev-meta-row .mk{font-size:11px;color:var(--text2);flex:0 0 120px}
.ev-meta-row .mv{font-size:12px;color:var(--text0);font-weight:600;flex:1}
.ev-about-row{display:grid;grid-template-columns:1fr 1.4fr 24px;gap:8px;align-items:center}

/* ======================================================================
   REGISTRATIONS — grid cell pills + detail + check-in + aggregate
   ====================================================================== */
/* FD-CP187 — the registrations table MUST scroll.
   `overflow:hidden` here clipped everything past the viewport with no way to reach
   it: a 12-row ledger rendered 1021px of content inside 773px, so the newest rows
   were simply unreachable. Combined with the date column sorting alphabetically
   ("Aug" before "Jul"), a new registration landed in a clipped row at the BOTTOM of
   a descending sort — invisible twice over, and it cost a live test session.
   `min-height:0` is required: a flex item defaults to min-height:auto and refuses to
   shrink below its content, which is what makes overflow-y:auto a no-op. */
.ev-regs{display:flex;flex-direction:column;width:100%;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto}
.ev-regs .dgrid{flex:0 0 auto;min-height:0}
/* staff Register bar on the event-scoped roster */
.ev-reg-bar{display:flex;align-items:center;gap:14px;padding:11px 16px;border-bottom:1px solid var(--line);background:var(--bg1)}
.ev-reg-bar-l{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ev-reg-bar-l .t{font-size:12.5px;font-weight:800;color:var(--text0);letter-spacing:-.1px}
.ev-reg-bar-l .s{font-size:11px;color:var(--text2)}

/* ---- staff Register sheet (.evr-) ---- */
.evr-sheet{width:440px}
.evr-paynote{font-size:10.5px;color:var(--text2);font-style:italic}
.evr-search{width:100%;height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--line2);background:var(--bg2);color:var(--text0);font-size:12.5px;font-family:var(--ff);outline:none}
.evr-search:focus{border-color:var(--lime)}
.evr-famlist{display:flex;flex-direction:column;gap:6px;margin-top:9px;max-height:230px;overflow-y:auto}
/* FD-CP168-S1: students with no household on file — stated, never hidden */
.evr-nohh{margin-top:9px;padding:7px 9px;border-radius:8px;border:1px dashed rgba(245,166,35,.4);background:rgba(245,166,35,.06);color:var(--text2);font-size:11px;line-height:1.5;text-wrap:pretty}
/* FD-CP169-S1 — student search results (the family resolves behind the pick) */
.evr-sres .evr-sav{width:30px;height:30px;font-size:11px;flex:0 0 auto}
.evr-sres.blocked{opacity:.55;cursor:default}
.evr-sres.blocked:hover{border-color:var(--line)}
.evr-sfam{color:var(--text2)}
.evr-former{margin-left:6px;padding:1px 5px;border-radius:4px;background:var(--bg3);color:var(--text2);font-size:9.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}
.evr-dsub{font-weight:500;text-transform:none;letter-spacing:0;color:var(--text2)}
.evr-fam,.evr-famhead{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border-radius:9px;border:1px solid var(--line);background:var(--bg2);font-family:var(--ff);cursor:pointer;transition:border-color .12s}
.evr-fam:hover{border-color:var(--line2)}
.evr-famhead{cursor:default;background:rgba(170,221,68,.05);border-color:rgba(170,221,68,.25)}
.evr-fav{width:30px;height:30px;border-radius:8px;background:var(--bg3);color:var(--text1);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex:0 0 auto}
.evr-fmeta{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.evr-fmeta .n{font-size:13px;font-weight:700;color:var(--text0)}
.evr-fmeta .s{font-size:11px;color:var(--text2)}
.evr-fchev{color:var(--text2);font-size:16px}
.evr-change{margin-left:auto;font-size:11px;font-weight:700;color:var(--lime);background:none;border:0;cursor:pointer;font-family:var(--ff);flex:0 0 auto}
.evr-students{display:flex;flex-direction:column;gap:8px}
.evr-stu{border:1px solid var(--line);border-radius:10px;background:var(--bg2);overflow:hidden;transition:border-color .12s}
.evr-stu.on{border-color:var(--lime)}
.evr-stu.regd{opacity:.6}
.evr-strow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 11px;background:none;border:0;cursor:pointer;font-family:var(--ff)}
.evr-strow:disabled{cursor:not-allowed}
.evr-cb{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line2);display:flex;align-items:center;justify-content:center;color:#15200a;font-size:11px;font-weight:900;flex:0 0 auto;background:transparent}
.evr-cb.on{background:var(--lime);border-color:var(--lime)}
.evr-sav{width:28px;height:28px;border-radius:8px;background:var(--bg3);color:var(--text1);display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;flex:0 0 auto}
.evr-smeta{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.evr-smeta .n{font-size:12.5px;font-weight:700;color:var(--text0)}
.evr-smeta .s{font-size:11px;color:var(--text2)}
.evr-tag{font-size:10px;font-weight:700;padding:2px 8px;border-radius:5px;white-space:nowrap;flex:0 0 auto}
.evr-tag.ok{background:rgba(170,221,68,.1);color:var(--lime)}
.evr-tag.warn{background:rgba(245,166,35,.12);color:var(--amber)}
.evr-tag.regd{background:var(--bg3);color:var(--text2)}
.evr-warnline{font-size:11px;color:var(--amber);padding:0 11px 8px 39px;line-height:1.45;text-wrap:pretty}
.evr-opts{display:flex;flex-direction:column;gap:8px;padding:2px 11px 11px 39px}
.evr-opt{display:flex;align-items:center;gap:10px}
.evr-opt .ol{font-size:11.5px;color:var(--text1);flex:0 0 110px}
.evr-osel{flex:1;height:30px;padding:0 8px;border-radius:7px;border:1px solid var(--line2);background:var(--bg1);color:var(--text0);font-size:12px;font-family:var(--ff)}
.evr-optnote{font-size:11px;color:var(--text2);margin-top:9px;line-height:1.5;text-wrap:pretty}
.evr-optnote b{color:var(--text1)}
.evr-slots{display:flex;flex-direction:column;gap:6px}
.evr-slot{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:8px 11px;border-radius:8px;border:1px solid var(--line2);background:var(--bg2);font-family:var(--ff);cursor:pointer;transition:border-color .12s}
.evr-slot.on{border-color:var(--lime);background:rgba(170,221,68,.06)}
.evr-slot.full{opacity:.7}
.evr-slot .l{font-size:12.5px;font-weight:700;color:var(--text0)}
.evr-slot .c{font-size:11px;color:var(--text2);font-family:var(--mono)}
/* footer */
.evr-foot{border-top:1px solid var(--line);padding:12px 16px;display:flex;flex-direction:column;gap:10px;background:var(--bg1)}
.evr-sum{display:flex;align-items:center;gap:10px;font-size:12px}
.evr-sum .c{font-weight:700;color:var(--text0)}
.evr-sum .p{color:var(--lime);font-weight:800;font-family:var(--mono)}
.evr-sum .w{margin-left:auto;color:var(--amber);font-size:11px;font-weight:700}
.evr-go{width:100%;height:40px;border-radius:9px;border:1px solid var(--lime);background:var(--lime);color:#15200a;font-size:13.5px;font-weight:800;cursor:pointer;font-family:var(--ff);transition:background .12s}
.evr-go:hover:not(:disabled){background:var(--lime-dim)}
.evr-go:disabled{background:var(--bg2);border-color:var(--line2);color:var(--text2);cursor:not-allowed}
.evr-fullbar{display:flex;align-items:center;gap:10px}
.evr-fulllbl{flex:1;font-size:12px;font-weight:700;color:var(--amber)}
.evr-fullacts{display:flex;flex-direction:column;gap:8px}
.evr-fulltitle{font-size:11.5px;color:var(--text1);line-height:1.45;text-wrap:pretty}
.evr-fa{display:flex;flex-direction:column;gap:2px;text-align:left;padding:9px 12px;border-radius:9px;border:1px solid var(--line2);background:var(--bg2);cursor:pointer;font-family:var(--ff);transition:border-color .12s}
.evr-fa:hover{border-color:var(--text2)}
.evr-fa.wait:hover{border-color:var(--blue)}
.evr-fa.over:hover,.evr-fa.raise:hover{border-color:var(--lime)}
.evr-fa .h{font-size:12.5px;font-weight:800;color:var(--text0)}
.evr-fa .d{font-size:11px;color:var(--text2);line-height:1.4;text-wrap:pretty}
.evr-faback{align-self:flex-start;font-size:11.5px;font-weight:700;color:var(--text1);background:none;border:0;cursor:pointer;font-family:var(--ff);padding:2px 0}
.ev-rtype{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--text1)}
.ev-rtype .gd{width:8px;height:8px;border-radius:2px}
.ev-pay{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:5px;white-space:nowrap}
.ev-pay.ok{background:rgba(170,221,68,.1);color:var(--lime)}
.ev-pay.muted{background:var(--bg2);color:var(--text1)}
.ev-pay.amber{background:rgba(245,166,35,.1);color:var(--amber)}
.ev-pay.purple{background:rgba(155,114,230,.12);color:var(--purple)}
/* FD-CP187 — a payment-plan row. Deliberately NOT the lime "ok" treatment: money is
   still owed, so it must not read as settled at a glance. Neutral until an
   instalment is actually past due, at which point .amber (already defined above)
   takes over — chase, never alarm. */
.ev-pay.plan{background:rgba(155,114,230,.12);color:var(--purple);font-variant-numeric:tabular-nums}
.ev-pay.plan.amber{background:rgba(245,166,35,.12);color:var(--amber)}
.ev-waiver{display:inline-flex;align-items:center;gap:5px;font-size:11.5px}
.ev-waiver.y{color:var(--lime)} .ev-waiver.n{color:var(--amber)}
.ev-ci{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:5px;white-space:nowrap}
.ev-ci .d{width:6px;height:6px;border-radius:50%}
.ev-ci.none{background:var(--bg2);color:var(--text2)} .ev-ci.none .d{background:var(--text2)}
.ev-ci.in{background:rgba(170,221,68,.1);color:var(--lime)} .ev-ci.in .d{background:var(--lime)}
.ev-ci.noshow{background:rgba(204,34,34,.08);color:#ee6666} .ev-ci.noshow .d{background:#ee6666}
.ev-attendee{display:flex;align-items:center;gap:9px;min-width:0}
.ev-attendee .av{width:26px;height:26px;border-radius:7px;background:var(--bg2);color:var(--text1);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;flex:0 0 auto}
.ev-attendee .nm{font-size:12.5px;font-weight:600;color:var(--text0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-muted{color:var(--text2)}
.ev-optcell{font-size:11.5px;color:var(--text1)}

/* aggregate options view */
.ev-agg-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:140;animation:ev-fade .14s ease}
@keyframes ev-fade{from{opacity:0}to{opacity:1}}
.ev-agg{background:var(--bg1);border:1px solid var(--line2);border-radius:12px;width:560px;max-width:94vw;max-height:86vh;display:flex;flex-direction:column}
.ev-agg-h{padding:15px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
.ev-agg-h .t{font-size:15px;font-weight:800;flex:1}
.ev-agg-b{padding:16px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}
.ev-agg-grp .gh{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--text2);margin-bottom:9px}
.ev-agg-bars{display:flex;flex-direction:column;gap:7px}
.ev-agg-bar{display:flex;align-items:center;gap:10px}
.ev-agg-bar .k{font-size:12px;color:var(--text0);width:120px;flex:0 0 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-agg-bar .track{flex:1;height:18px;background:var(--bg2);border-radius:5px;overflow:hidden;position:relative}
.ev-agg-bar .track i{display:block;height:100%;background:var(--blue);border-radius:5px;min-width:2px}
.ev-agg-bar .n{font-size:12px;font-weight:800;font-family:var(--mono);width:36px;text-align:right;flex:0 0 auto}
.ev-agg-foot{padding:12px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}

/* ---------- check-in mode (iPad day-of) ---------- */
.ev-checkin{position:fixed;inset:0;z-index:150;background:var(--m3-bg);display:flex;flex-direction:column;animation:ev-fade .16s ease}
.ev-ci-top{flex:0 0 auto;display:flex;align-items:center;gap:14px;padding:16px 22px;border-bottom:1px solid var(--line)}
.ev-ci-top .cit{font-size:18px;font-weight:800;letter-spacing:-.3px}
.ev-ci-top .cis{font-size:12px;color:var(--text2);margin-top:2px}
.ev-ci-search{flex:1;max-width:420px;height:44px;background:var(--bg1);border:1px solid var(--line2);border-radius:10px;color:var(--text0);
  font-size:15px;padding:0 14px 0 40px;outline:none;font-family:var(--ff)}
.ev-ci-search:focus{border-color:var(--lime)}
.ev-ci-searchwrap{flex:1;max-width:420px;position:relative;display:flex}
.ev-ci-searchwrap .ic{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text2);display:flex;pointer-events:none}
.ev-ci-stat{display:flex;gap:18px;margin-left:auto}
.ev-ci-stat .s{text-align:center} .ev-ci-stat .sv{font-size:20px;font-weight:800;font-family:var(--mono)} .ev-ci-stat .sl{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--text2);font-weight:700}
.ev-ci-stat .sv.in{color:var(--lime)} .ev-ci-stat .sv.left{color:var(--amber)}
.ev-ci-list{flex:1;overflow-y:auto;padding:14px 22px 30px;max-width:920px;width:100%;margin:0 auto}
.ev-ci-row{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:12px;background:var(--bg1);border:1px solid var(--line);margin-bottom:10px;transition:border-color .12s,background .12s}
.ev-ci-row.in{background:rgba(170,221,68,.05);border-color:rgba(170,221,68,.3)}
.ev-ci-av{width:48px;height:48px;border-radius:12px;background:var(--bg2);color:var(--text1);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;flex:0 0 auto}
.ev-ci-info{flex:1;min-width:0}
.ev-ci-name{font-size:19px;font-weight:800;letter-spacing:-.3px}
.ev-ci-sub{font-size:12.5px;color:var(--text2);margin-top:2px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ev-ci-btn{height:52px;padding:0 26px;border-radius:12px;border:2px solid var(--line2);background:transparent;color:var(--text1);
  font-size:16px;font-weight:800;cursor:pointer;font-family:var(--ff);flex:0 0 auto;transition:.12s;min-width:150px}
.ev-ci-btn:hover{border-color:var(--lime);color:var(--text0)}
.ev-ci-btn.done{background:var(--lime);border-color:var(--lime);color:#15200a}
.ev-ci-btn.noshow{border-color:rgba(204,34,34,.4);color:#ee6666}
.ev-ci-close{width:44px;height:44px;border-radius:10px;border:1px solid var(--line2);background:transparent;color:var(--text1);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.ev-ci-close:hover{background:var(--bg2)}

/* ---------- comm panel ---------- */
.ev-comm{padding:18px 20px 40px;max-width:760px;display:flex;flex-direction:column;gap:14px}
.ev-comm-card{background:var(--bg1);border:1px solid var(--line);border-radius:var(--radius);padding:15px 16px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:border-color .12s}
.ev-comm-card:hover{border-color:var(--line2)}
.ev-comm-card .ci{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.ev-comm-card .cb{flex:1;min-width:0}
.ev-comm-card .ct{font-size:14px;font-weight:700;color:var(--text0)}
.ev-comm-card .cs{font-size:12px;color:var(--text2);margin-top:2px;text-wrap:pretty}
.ev-comm-card .cg{color:var(--text2)}

/* ---------- reporting (archive) ---------- */
.ev-report{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ev-rep{background:var(--bg1);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 15px}
.ev-rep .v{font-size:22px;font-weight:800;font-family:var(--mono);letter-spacing:-.5px;line-height:1}
.ev-rep .l{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--text2);font-weight:800;margin-top:8px}
.ev-rep .s{font-size:11px;color:var(--text2);margin-top:5px}

/* ---------- detail sheet (shared) ---------- */
.ev-sheet-scrim{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:120;animation:ev-fade .15s ease}
.ev-sheet{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:94vw;background:var(--bg1);border-left:1px solid var(--line2);z-index:121;
  display:flex;flex-direction:column;box-shadow:-16px 0 48px rgba(0,0,0,.5);animation:ev-slide .22s cubic-bezier(.2,.7,.2,1)}
@keyframes ev-slide{from{transform:translateX(36px);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.ev-sheet,.ev-sheet-scrim,.ev-checkin,.ev-agg-overlay,.ev-pop{animation:none}}
.ev-sheet-hd{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.ev-sheet-hd .sh-n{font-size:16px;font-weight:800;letter-spacing:-.2px}
.ev-sheet-hd .sh-s{font-size:12px;color:var(--text2);margin-top:4px}
.ev-sheet-cl{color:var(--text2);cursor:pointer;font-size:18px;line-height:1;background:none;border:0;padding:2px}
.ev-sheet-cl:hover{color:var(--text0)}
.ev-sheet-body{flex:1;overflow-y:auto;padding:4px 18px 18px}
.ev-dsec{padding:14px 0;border-bottom:1px solid var(--line)}
.ev-dsec:last-child{border-bottom:0}
.ev-dsec-t{font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--text2);margin-bottom:10px}
.ev-kv{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;font-size:12.5px}
.ev-kv dt{color:var(--text2)} .ev-kv dd{color:var(--text1);font-weight:600}
/* FD-CP75/79: registration-entries breakdown in the roster reg sheet */
.ev-selbox{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.ev-selgrp{padding:8px 11px;border-bottom:1px solid var(--line)}
.ev-selgrp-t{font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--text2);margin-bottom:5px}
.ev-selrow{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:12.5px;padding:2px 0}
.ev-selname{color:var(--text1);font-weight:600}
.ev-selvar{color:var(--text2);font-weight:500}
.ev-selprice{color:var(--text1);font-weight:700;font-variant-numeric:tabular-nums;flex:none}
.ev-seltot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 11px;background:var(--bg2);font-size:12.5px;font-weight:800;color:var(--text1)}
.ev-selbase{color:var(--text2);font-weight:500}
/* FD-CP81: staff add-more-entries picker in the roster reg sheet */
.ev-addbox{display:flex;flex-direction:column;gap:10px}
.ev-addgrp-t{font-size:11px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--text1);margin-bottom:5px}
.ev-addgrp-h{color:var(--text2);font-weight:600;text-transform:none;letter-spacing:0}
.ev-addrow{display:flex;align-items:center;gap:9px;width:100%;text-align:left;font-family:var(--ff);padding:8px 10px;margin-top:5px;background:var(--bg2);border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:border-color .12s,background .12s}
.ev-addrow:first-child{margin-top:0}
.ev-addrow.on{border-color:var(--lime);background:color-mix(in srgb,var(--lime) 10%,transparent)}
.ev-addrow.locked{cursor:default;opacity:.72}
.ev-addck{width:16px;height:16px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:4px;border:1px solid var(--line2);font-size:11px;font-weight:900;color:#000}
.ev-addrow.on .ev-addck,.ev-addrow.locked .ev-addck{background:var(--lime);border-color:var(--lime)}
.ev-addname{flex:1;min-width:0;font-size:12.5px;font-weight:600;color:var(--text1)}
.ev-addprice{font-size:12.5px;font-weight:700;color:var(--text2);font-variant-numeric:tabular-nums;flex:none}
.ev-addtag{font-size:9.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--lime);flex:none}
.ev-addbtn{margin-top:2px;padding:9px 12px;border:0;border-radius:8px;background:var(--lime);color:#0a0a0a;font-family:var(--ff);font-size:12.5px;font-weight:800;cursor:pointer}
.ev-addbtn:disabled{opacity:.5;cursor:default}
.ev-addnote{font-size:11px;color:var(--text2);line-height:1.4}
.ev-related{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg2);cursor:pointer;width:100%;text-align:left;font-family:var(--ff);transition:border-color .12s}
.ev-related:hover{border-color:var(--line2)}
.ev-sheet-ft{display:flex;gap:8px;padding:12px 18px;border-top:1px solid var(--line);flex-wrap:wrap}
.ev-sheet-ft .ev-btn{flex:1;justify-content:center;min-width:120px}

/* toast */
.ev-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--bg1);border:1px solid var(--line2);
  border-radius:8px;padding:10px 16px;font-size:13px;color:var(--text0);display:flex;align-items:center;gap:8px;z-index:999;
  transition:transform .25s ease;white-space:nowrap;box-shadow:0 8px 28px rgba(0,0,0,.5)}
.ev-toast.show{transform:translateX(-50%) translateY(0)}
.ev-toast .ic{color:var(--lime);display:flex}

.ev-sec-head{display:flex;align-items:center;gap:10px;margin-bottom:2px}
.ev-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--text2)}
.ev-sec-head .ln{flex:1;height:1px;background:var(--line)}
.ev-note{font-size:11px;color:var(--text2);background:var(--bg1);border:1px solid var(--line);padding:11px 14px;border-radius:8px;text-wrap:pretty}
.ev-note b{color:var(--text1)}

@media (max-width:1180px){
  .ev-editor{grid-template-columns:1fr}
  .ev-edit-side{position:static}
  .ev-report{grid-template-columns:repeat(2,1fr)}
}

/* ===== Registration options builder (groups of priced items) ===== */
.ev-rg-where{flex:none;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);border:1px solid var(--line2);border-radius:20px;padding:4px 10px;white-space:nowrap;align-self:flex-start}
.ev-rg-where.up{color:#b791e8;border-color:rgba(183,145,232,.45);background:rgba(183,145,232,.08)}
.ev-rg-moderow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ev-rg-row{display:grid;grid-template-columns:1fr 110px 76px 28px 30px;gap:7px;align-items:center}
.ev-rg-row.head{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text3)}
.ev-rg-linkbtn{border:1px solid var(--line2);background:transparent;color:var(--text3);border-radius:7px;height:28px;cursor:pointer;font-size:13px;line-height:1}
.ev-rg-linkbtn:hover{color:var(--text1);border-color:var(--text3)}
.ev-rg-linkbtn.on{color:#b791e8;border-color:rgba(183,145,232,.55);background:rgba(183,145,232,.08)}
.ev-rg-prodpick{display:flex;flex-direction:column;gap:8px;border:1px dashed var(--line2);border-radius:9px;padding:10px;margin:-2px 0 4px}
.ev-rg-prod{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:11.5px;color:var(--text2);background:rgba(183,145,232,.06);border:1px solid rgba(183,145,232,.28);border-radius:8px;padding:6px 10px;margin:-2px 0 4px}
.ev-rg-prod .pp{font-weight:700;color:var(--text1)}
.ev-rg-prod .tag{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#b791e8;border:1px solid rgba(183,145,232,.45);border-radius:20px;padding:2px 8px}
.ev-rg-prod .sz{color:var(--text3)}
.ev-rg-prod .x{margin-left:auto;cursor:pointer;color:var(--text3);font-size:10.5px;font-weight:700}
.ev-rg-prod .x:hover{color:var(--text1)}
.ev-rg-prod.miss{border-style:dashed;background:transparent}
.ev-rg-row .ev-opt-price input{width:70px}
.ev-rg-row .ev-flag-chk{justify-content:center}
.ev-rg-sum{font-size:11.5px;color:var(--text2);background:var(--bg3);border:1px dashed var(--line2);border-radius:8px;padding:7px 10px;line-height:1.5}

/* ===== FD-CP75-S2 — register-sheet selection pickers ===== */
.evr-rgs{display:flex;flex-direction:column;gap:10px}
.evr-rg{display:flex;flex-direction:column;gap:6px}
.evr-rg-h{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text3);display:flex;align-items:center;gap:8px}
.evr-rg-up{font-size:9px;font-weight:800;color:#b791e8;border:1px solid rgba(183,145,232,.45);border-radius:20px;padding:2px 7px;text-transform:uppercase;letter-spacing:.05em}
.evr-rg-it{display:flex;flex-direction:column;gap:5px}
.evr-rg-lab{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--text1);cursor:pointer}
.evr-rg-lab input{accent-color:#AADD44}
.evr-rg-lab .l{flex:0 1 auto}
.evr-rg-lab .p{color:var(--text3);font-weight:700;font-size:11.5px}
.evr-rg-lab .inc{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#AADD44;border:1px solid rgba(170,221,68,.4);border-radius:20px;padding:2px 7px}
.evr-rg-lab.req{cursor:default}
.evr-osel.sz{margin-left:26px;max-width:180px}
.evr-rg-tot{font-size:12px;color:var(--text2);border-top:1px dashed var(--line2);padding-top:8px}
.evr-rg-tot b{color:var(--text0)}

/* ===== FD-CP75: registration-options pricing summary + double-count warning ===== */
.ev-rg-paysum{display:flex;flex-direction:column;gap:9px;margin-top:4px}
.ev-rg-paysum .row{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;background:var(--bg3);border:1px solid var(--line2);border-radius:9px;padding:9px 12px}
.ev-rg-paysum .lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text3)}
.ev-rg-paysum .amt{font-size:16px;font-weight:800;color:var(--text0)}
.ev-rg-paysum .brk{font-size:11.5px;color:var(--text2)}
.ev-rg-double{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.5;color:var(--text1);
  background:rgba(245,166,35,.09);border:1px solid rgba(245,166,35,.4);border-radius:9px;padding:9px 12px}
.ev-rg-double svg{color:var(--amber);flex-shrink:0;margin-top:1px}
.ev-rg-double b{color:var(--text0)}

/* FD-CP146 — the waiver confirmation on the staff Register sheet. Required
   before a desk registration can be created, so every registration carries one. */
.evr-waiver{
  display:flex;align-items:flex-start;gap:9px;margin:0 0 10px;padding:9px 11px;
  border-radius:8px;background:var(--m3-surface-3);border:1px solid var(--m3-line-2);cursor:pointer
}
.evr-waiver input{margin:1px 0 0;width:15px;height:15px;flex:0 0 auto;accent-color:var(--m3-lime);cursor:pointer}
.evr-waiver-tx{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--m3-text-2);line-height:1.4}
.evr-waiver-tx b{color:var(--m3-text);font-weight:700}
.evr-waiver-sub{font-size:11px;color:var(--m3-text-3)}

/* FD-CP187 — the instalment-plan editor (Pricing section of the event editor). */
.ev-pp { display: flex; flex-direction: column; gap: 10px; margin-top: 14px;
  padding-top: 14px; border-top: 1px dashed var(--m3-line-2, #2f2f37); }
.ev-pp-preview { background: #212127; border: 1px solid #2f2f37; border-radius: 10px;
  padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; }
.ev-pp-line { font-size: 13px; color: #e6e6ea; line-height: 1.5; }
.ev-pp-inc { color: #9a9aa2; }
.ev-pp-total { color: #AADD44; }
.ev-pp-sub { font-size: 11.5px; color: #9a9aa2; }
/* Amber, not red: continuing past the start date is CORRECT for a camp billed
   weekly. This is a check-your-intent prompt, not an error. */
.ev-pp-warn { background: #212127; border-left: 3px solid #F5A623; border-radius: 8px;
  padding: 9px 11px; font-size: 11.5px; color: #e6e6ea; line-height: 1.45; }
/* FD-CP187 — EXPLANATORY, not a warning. Nothing is wrong when a plan and paid
   options coexist (Philip 2026-08-03: the model suits how his events are built) —
   the operator just needs to know the add-on lands on the day-one charge rather than
   being spread. Neutral border so it reads as information, not a problem. */
.ev-pp-note { background: #212127; border-left: 3px solid #3B9EE8; border-radius: 8px;
  padding: 9px 11px; font-size: 11.5px; color: #e6e6ea; line-height: 1.45; margin-top: 10px; }
