/* =====================================================================
   Catalyst Connect — Modern Site Skin
   Drop in as: wwwroot/css/catalyst-agenda.css
   Brand direction: fresh, premium, CAG navy/steel/clean electric-blue, event-forward
   ===================================================================== */

:root {
  --ca-navy-950: #071421;
  --ca-navy-900: #0b1f33;
  --ca-navy-800: #123455;
  --ca-navy-700: #174d7f;
  --ca-blue-500: #2e7ec3;
  --ca-blue-300: #8fc8ff;
  --ca-gold-600: #7a8aa0;
  --ca-gold-500: #9fb3ca;
  --ca-gold-300: #d7e7f7;
  --ca-copper: #4da3d9;
  --ca-aqua: #55d6c2;
  --ca-green: #168463;
  --ca-red: #b8393f;
  --ca-ink: #17212f;
  --ca-muted: #687386;
  --ca-soft: #f6f8fb;
  --ca-paper: #f7fafc;
  --ca-card: rgba(255,255,255,.88);
  --ca-card-solid: #ffffff;
  --ca-line: rgba(12,31,51,.12);
  --ca-line-strong: rgba(12,31,51,.2);
  --ca-shadow-sm: 0 10px 24px rgba(7,20,33,.08);
  --ca-shadow-md: 0 20px 54px rgba(7,20,33,.12);
  --ca-shadow-lg: 0 36px 90px rgba(7,20,33,.18);
  --ca-radius-sm: 14px;
  --ca-radius-md: 20px;
  --ca-radius-lg: 30px;
  --ca-radius-xl: 38px;
  --ca-ease: cubic-bezier(.2,.8,.2,1);
}

*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: 'Barlow', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ca-ink);
  background:
    radial-gradient(circle at 12% 2%, rgba(46,126,195,.16), transparent 24rem),
    radial-gradient(circle at 92% 5%, rgba(85,214,194,.13), transparent 28rem),
    radial-gradient(circle at 50% 105%, rgba(18,52,85,.08), transparent 34rem),
    linear-gradient(135deg, #f8fbff 0%, #f2f6fb 48%, #f7fafc 100%);
  padding: 1.35rem 1rem 4rem;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(18,52,85,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,52,85,.045) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, #000 0%, transparent 72%);
}
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
::selection { background: rgba(46,126,195,.22); color: var(--ca-navy-950); }

.page-wrap { width: min(100%, 1220px); margin: 0 auto; }
.page-wrap-wide { width: min(100%, 1280px); }
.page-wrap-admin { width: min(100%, 1040px); }

/* ============================= HERO ============================= */
.ca-hero {
  position: relative;
  overflow: hidden;
  min-height: 280px;
  border-radius: 34px 34px 0 0;
  color: #fff;
  background:
    linear-gradient(128deg, rgba(7,20,33,.98) 0%, rgba(9,28,48,.97) 48%, rgba(17,69,112,.91) 100%);
  box-shadow: var(--ca-shadow-lg);
  isolation: isolate;
}
.ca-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(7,20,33,.08) 0%, rgba(7,20,33,.24) 48%, rgba(7,20,33,.66) 100%),
    url('/images/catalyst-header-pattern.png') right center / auto 112% no-repeat;
  opacity: .58;
}
.ca-hero::after {
  content: '';
  position: absolute;
  left: -10%;
  right: -10%;
  bottom: -74px;
  height: 150px;
  z-index: -1;
  transform: rotate(-2.5deg);
  background: linear-gradient(90deg, transparent, rgba(85,214,194,.36), rgba(46,126,195,.42), transparent);
  filter: blur(20px);
  opacity: .7;
}
.ca-hero-grid {
  position: absolute;
  inset: 0;
  opacity: .32;
  background-image:
    linear-gradient(rgba(143,200,255,.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143,200,255,.1) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.6) 50%, transparent 92%);
}
.ca-hero-glow {
  position: absolute;
  width: 460px;
  height: 460px;
  right: -160px;
  top: -170px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(85,214,194,.2), rgba(46,126,195,.22) 45%, transparent 70%);
  filter: blur(2px);
}
.ca-hero-content {
  position: relative;
  z-index: 2;
  max-width: 880px;
  padding: 2.65rem 3.05rem;
}
.ca-hero-minimal { min-height: 315px; }
.ca-hero-content-minimal { max-width: 900px; padding: 2.45rem 3.05rem 2.9rem; }
.ca-hero-confirm { min-height: 240px; }

.ca-brand-row { display: flex; align-items: center; gap: 1rem; }
.ca-brand-row-minimal { margin-bottom: 1.15rem; }
.ca-brand-mark {
  width: 58px;
  height: 58px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: var(--ca-navy-950);
  font: 900 1.55rem/1 'Barlow Condensed', sans-serif;
  background: linear-gradient(135deg, #f9fbff 0%, var(--ca-blue-300) 45%, var(--ca-aqua) 100%);
  box-shadow: 0 18px 35px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.7);
}
.ca-brand-logo {
  width: min(320px, 82vw);
  height: 78px;
  display: block;
  flex: 0 0 auto;
  background: url('/images/CAGLogo.png') left center / contain no-repeat;
  filter: drop-shadow(0 18px 28px rgba(0,0,0,.26));
}
.ca-eyebrow {
  color: var(--ca-blue-300);
  font: 800 .82rem/1 'Barlow Condensed', sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ca-wordmark {
  margin: .25rem 0 0;
  font: 800 clamp(2.25rem, 4.6vw, 4.35rem)/.92 'Barlow Condensed', sans-serif;
  letter-spacing: .005em;
  text-transform: uppercase;
}
.ca-wordmark span { color: var(--ca-blue-300); font-style: italic; font-weight: 500; }
.ca-hero-headline {
  margin: 0;
  max-width: 880px;
  display: grid;
  gap: .16em;
  font: 850 clamp(2rem, 4.8vw, 4.6rem)/.9 'Barlow Condensed', sans-serif;
  letter-spacing: -.005em;
  text-transform: uppercase;
  text-shadow: 0 12px 26px rgba(0,0,0,.28);
}
.ca-hero-headline-sub {
  color: var(--ca-blue-300);
  font-style: italic;
  font-weight: 600;
}
.ca-hero-copy {
  max-width: 760px;
  margin: 1rem 0 0;
  color: rgba(255,255,255,.84);
  font-size: 1rem;
  line-height: 1.62;
  font-weight: 400;
}
.ca-hero-copy-minimal { max-width: 780px; font-size: 1.02rem; }
.ca-meta { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.55rem; }
.ca-meta-pill {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  min-height: 38px;
  padding: .52rem .82rem;
  border: 1px solid rgba(143,200,255,.22);
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  color: rgba(255,255,255,.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09);
  backdrop-filter: blur(14px);
  font-size: .9rem;
  font-weight: 600;
}
.ca-meta-pill span {
  width: .46rem;
  height: .46rem;
  border-radius: 50%;
  background: var(--ca-aqua);
  box-shadow: 0 0 18px rgba(85,214,194,.58);
}

/* ============================= PROGRESS ============================= */
.ca-progress-wrap {
  padding: 1rem 1.25rem 1.12rem;
  border-inline: 1px solid rgba(12,31,51,.08);
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 30px rgba(7,20,33,.06);
  backdrop-filter: blur(16px);
}
.ca-progress-meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .78rem; }
.ca-progress-label-kicker { color: var(--ca-muted); font: 800 .75rem/1 'Barlow Condensed', sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.ca-progress-label { margin-top: .22rem; color: var(--ca-navy-900); font-weight: 800; }
.ca-progress-count { color: var(--ca-blue-500); font: 900 .86rem/1 'Barlow Condensed', sans-serif; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.ca-progress-track {
  position: relative;
  height: 18px;
  overflow: hidden;
  border-radius: 999px;
  border: 1px solid rgba(12,31,51,.1);
  background: linear-gradient(180deg, rgba(12,31,51,.08), rgba(12,31,51,.13));
  box-shadow: inset 0 2px 4px rgba(7,20,33,.14);
}
.ca-progress-track::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.12) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.12) 50%, rgba(255,255,255,.12) 75%, transparent 75%);
  background-size: 26px 26px;
  opacity: .5;
}
.ca-progress-fill {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--ca-navy-700), var(--ca-blue-500) 52%, var(--ca-blue-300));
  box-shadow: 0 0 20px rgba(46,126,195,.45), inset 0 0 0 1px rgba(255,255,255,.22);
  transition: width .38s var(--ca-ease);
}
.ca-progress-steps { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: .55rem; margin-top: .72rem; }
.ca-progress-step { height: 6px; border-radius: 999px; background: rgba(12,31,51,.12); transition: background .2s var(--ca-ease), box-shadow .2s var(--ca-ease), transform .2s var(--ca-ease); }
.ca-progress-step.active { background: linear-gradient(90deg, var(--ca-blue-500), var(--ca-blue-300)); box-shadow: 0 0 12px rgba(46,126,195,.32); transform: scaleY(1.12); }

/* ============================= LAYOUT / CARDS ============================= */
.ca-layout, .ca-confirm-layout { display: grid; grid-template-columns: minmax(0,1fr) 365px; gap: 1.35rem; align-items: start; }
.ca-body {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72);
  border-top: none;
  border-radius: 0 0 var(--ca-radius-xl) var(--ca-radius-xl);
  background: rgba(255,255,255,.88);
  box-shadow: var(--ca-shadow-lg);
  backdrop-filter: blur(18px);
}
.ca-confirm-body { border-radius: 0 0 var(--ca-radius-xl) var(--ca-radius-xl); }
.ca-side-panel { display: grid; gap: 1rem; margin-top: 1.35rem; position: sticky; top: 1rem; }
.ca-side-card, .ca-next-step-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: var(--ca-radius-md);
  padding: 1.35rem;
  background: rgba(255,255,255,.84);
  box-shadow: var(--ca-shadow-sm);
  backdrop-filter: blur(14px);
}
.ca-side-card::before, .ca-next-step-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--ca-blue-500), var(--ca-blue-500));
  opacity: .8;
}
.ca-side-card-dark, .ca-action-primary {
  border-color: rgba(143,200,255,.14);
  background:
    radial-gradient(circle at 90% 5%, rgba(143,200,255,.14), transparent 14rem),
    linear-gradient(145deg, var(--ca-navy-950), var(--ca-navy-800));
  color: #fff;
}
.ca-side-kicker { color: var(--ca-navy-700); font: 900 .78rem/1 'Barlow Condensed', sans-serif; letter-spacing: .17em; text-transform: uppercase; margin-bottom: .75rem; }
.ca-side-card-dark .ca-side-kicker, .ca-action-primary .ca-action-icon { color: var(--ca-blue-300); }
.ca-side-title { color: inherit; font: 800 1.42rem/1.05 'Barlow Condensed', sans-serif; text-transform: uppercase; margin-bottom: .5rem; }
.ca-side-copy { color: inherit; opacity: .76; line-height: 1.62; font-size: .94rem; }
.ca-stat-value { color: var(--ca-navy-900); font: 900 3.1rem/.9 'Barlow Condensed', sans-serif; }
.ca-side-card-dark .ca-stat-value { color: #fff; }
.ca-stat-note { margin-top: .45rem; color: var(--ca-muted); line-height: 1.45; font-size: .92rem; }
.ca-side-card-dark .ca-stat-note { color: rgba(255,255,255,.7); }

/* ============================= SECTIONS ============================= */
.ca-section { border-bottom: 1px solid var(--ca-line); }
.ca-section:last-child { border-bottom: none; }
.ca-section-head {
  display: flex;
  align-items: center;
  gap: .95rem;
  padding: 1.22rem 1.45rem;
  border-bottom: 1px solid var(--ca-line);
  background:
    linear-gradient(90deg, rgba(12,31,51,.035), rgba(46,126,195,.045)),
    rgba(255,255,255,.4);
}
.ca-step-badge {
  width: 2.25rem;
  height: 2.25rem;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--ca-navy-950), var(--ca-navy-700));
  color: var(--ca-blue-300);
  font: 900 .92rem/1 'Barlow Condensed', sans-serif;
  box-shadow: 0 10px 22px rgba(7,20,33,.2);
}
.ca-step-badge.done { position: relative; color: transparent; background: linear-gradient(145deg, #0f6f57, var(--ca-green)); }
.ca-step-badge.done::after {
  content: '';
  position: absolute;
  width: .42rem;
  height: .78rem;
  border: 2px solid #fff;
  border-left: none;
  border-top: none;
  transform: rotate(45deg) translate(-1px,-1px);
}
.ca-section-label { color: var(--ca-navy-900); font: 900 1.08rem/1 'Barlow Condensed', sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.ca-section-micro { margin-top: .25rem; color: var(--ca-muted); font-size: .86rem; line-height: 1.4; }
.ca-section-time { margin-left: auto; color: var(--ca-blue-500); font: 900 .9rem/1 'Barlow Condensed', sans-serif; white-space: nowrap; }
.ca-section-body { padding: 1.42rem 1.45rem; }

/* ============================= FORMS ============================= */
.ca-input, .ca-template-editor {
  width: 100%;
  border: 1px solid rgba(12,31,51,.15);
  border-radius: 16px;
  background: rgba(255,255,255,.95);
  color: var(--ca-ink);
  outline: none;
  transition: border-color .16s var(--ca-ease), box-shadow .16s var(--ca-ease), transform .16s var(--ca-ease), background .16s var(--ca-ease);
}
.ca-input { min-height: 3.25rem; padding: 0 1rem; font-size: 1rem; }
.ca-template-editor { min-height: 520px; padding: 1rem; resize: vertical; font: 500 .9rem/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.ca-input:hover, .ca-template-editor:hover { border-color: rgba(46,126,195,.32); }
.ca-input:focus, .ca-template-editor:focus { border-color: var(--ca-blue-500); box-shadow: 0 0 0 5px rgba(46,126,195,.14); background: #fff; }
.ca-input.valid { border-color: var(--ca-green); box-shadow: 0 0 0 4px rgba(22,132,99,.1); }
.ca-input.error { border-color: var(--ca-red); box-shadow: 0 0 0 4px rgba(184,57,63,.1); }
.ca-input-hint, .ca-field-error { display: block; margin-top: .58rem; font-size: .86rem; line-height: 1.5; }
.ca-input-hint { color: var(--ca-muted); }
.ca-field-error { color: var(--ca-red); font-weight: 700; }
.ca-server-error, .ca-flash-success, .ca-existing-registration-message.hint {
  margin: 1rem 0;
  padding: .9rem 1rem;
  border-radius: 16px;
  font-weight: 700;
  line-height: 1.45;
}
.ca-server-error { border: 1px solid rgba(184,57,63,.22); background: #fff4f4; color: #9b2c31; }
.ca-flash-success { border: 1px solid rgba(22,132,99,.22); background: rgba(22,132,99,.1); color: #116c51; }
.ca-existing-registration-message.hint { border: 1px solid rgba(46,126,195,.18); background: rgba(46,126,195,.08); color: var(--ca-navy-800); }
.ca-admin-body { padding: 1.4rem; }
.ca-admin-form { display: grid; gap: .9rem; }
.ca-admin-label { color: var(--ca-navy-900); font: 900 .86rem/1 'Barlow Condensed', sans-serif; letter-spacing: .12em; text-transform: uppercase; margin-top: .6rem; }
.ca-admin-checkin-block { margin-top: 1.4rem; padding: 1.35rem; border-radius: var(--ca-radius-md); border: 1px solid var(--ca-line); background: linear-gradient(145deg, #fff, #f7fbff); }

/* ============================= FIXED ITEMS / OPTIONS ============================= */
.ca-fixed-row {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: 1rem;
  border: 1px solid var(--ca-line);
  border-radius: var(--ca-radius-md);
  background: linear-gradient(145deg, #fff, #f7fafc);
  box-shadow: 0 8px 18px rgba(7,20,33,.04);
}
.ca-fixed-bar, .ca-sum-bar { width: 4px; align-self: stretch; min-height: 34px; border-radius: 999px; background: linear-gradient(180deg, var(--ca-blue-300), var(--ca-navy-700)); }
.ca-fixed-name { color: var(--ca-navy-900); font-weight: 900; }
.ca-fixed-sub { margin-top: .2rem; color: var(--ca-muted); font-size: .9rem; }
.ca-fixed-time, .ca-sum-time { color: var(--ca-blue-500); font: 900 .9rem/1.2 'Barlow Condensed', sans-serif; white-space: nowrap; }
.ca-bus-heading { margin: 1.35rem 0 .8rem; color: var(--ca-navy-700); font: 900 .82rem/1 'Barlow Condensed', sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.ca-bus-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .85rem; }
.ca-session-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .95rem; }
.ca-bus-card, .ca-sess-card {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  border: 1px solid rgba(12,31,51,.13);
  border-radius: var(--ca-radius-md);
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 20px rgba(7,20,33,.04);
  transition: transform .18s var(--ca-ease), border-color .18s var(--ca-ease), box-shadow .18s var(--ca-ease), background .18s var(--ca-ease);
}
.ca-bus-card::before, .ca-sess-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, transparent, rgba(85,214,194,.58), transparent);
  opacity: 0;
  transition: opacity .18s var(--ca-ease);
}
.ca-bus-card { padding: 1.25rem 1rem; text-align: center; }
.ca-sess-card { min-height: 235px; padding: 1.16rem; }
.ca-bus-card:hover:not(.full), .ca-sess-card:hover { transform: translateY(-3px); border-color: rgba(46,126,195,.38); box-shadow: var(--ca-shadow-md); }
.ca-bus-card:hover:not(.full)::before, .ca-sess-card:hover::before, .ca-bus-card.selected::before, .ca-sess-card.selected::before { opacity: 1; }
.ca-bus-card:focus-visible, .ca-sess-card:focus-visible, .ca-submit-btn:focus-visible, .ca-action-card:focus-visible, .ca-skip-btn:focus-visible { outline: 3px solid rgba(46,126,195,.28); outline-offset: 3px; }
.ca-bus-card.selected, .ca-sess-card.selected {
  border-color: rgba(46,126,195,.72);
  background: linear-gradient(145deg, #fff, #f2f8ff);
  box-shadow: 0 18px 44px rgba(46,126,195,.16);
}
.ca-bus-card.full { opacity: .48; cursor: not-allowed; pointer-events: none; }
.ca-bus-card.full.selected, .ca-bus-card.reserved-full.selected { opacity: 1; pointer-events: auto; cursor: pointer; }
.ca-bus-time { color: var(--ca-navy-900); font: 900 1.85rem/1 'Barlow Condensed', sans-serif; }
.ca-bus-avail { margin-top: .38rem; color: var(--ca-muted); font-size: .84rem; font-weight: 600; }
.ca-full-tag {
  position: absolute;
  top: .64rem;
  right: .64rem;
  z-index: 2;
  padding: .22rem .5rem;
  border-radius: 999px;
  background: #fff0f1;
  color: var(--ca-red);
  font: 900 .68rem/1 'Barlow Condensed', sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ca-bus-card.reserved-full .ca-full-tag, .ca-bus-card.full.selected .ca-full-tag { background: rgba(46,126,195,.1); color: var(--ca-blue-500); }
.ca-sel-check, .ca-sess-check {
  position: absolute;
  top: .78rem;
  right: .78rem;
  z-index: 3;
  width: 1.35rem;
  height: 1.35rem;
  display: none;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ca-blue-300), var(--ca-blue-500));
  box-shadow: 0 8px 18px rgba(46,126,195,.24);
}
.ca-bus-card.selected .ca-sel-check, .ca-sess-card.selected .ca-sess-check { display: grid; }
.ca-sel-check::after, .ca-sess-check::after {
  content: '';
  width: .34rem;
  height: .62rem;
  border: 2px solid var(--ca-navy-950);
  border-left: none;
  border-top: none;
  transform: rotate(45deg) translate(-1px,-1px);
}
.ca-sess-type {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  margin-bottom: .82rem;
  padding: .22rem .62rem;
  border-radius: 999px;
  font: 900 .72rem/1 'Barlow Condensed', sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ca-sess-type.ceu { background: rgba(46,126,195,.12); color: var(--ca-blue-500); }
.ca-sess-type.technical-presentation, .ca-sess-type.presentation { background: rgba(46,126,195,.1); color: var(--ca-navy-700); }
.ca-sess-title { padding-right: 1.7rem; color: var(--ca-navy-900); font-weight: 900; line-height: 1.35; }
.ca-sess-desc { margin-top: .55rem; color: var(--ca-muted); font-size: .87rem; line-height: 1.52; }
.ca-sess-divider { width: 2.7rem; height: 2px; margin: .9rem 0 .72rem; background: linear-gradient(90deg, var(--ca-blue-500), transparent); }
.ca-sess-speaker { color: var(--ca-ink); font-weight: 800; font-size: .93rem; }
.ca-sess-org { margin-top: .16rem; color: var(--ca-muted); font-size: .83rem; line-height: 1.35; }
.ca-skip-btn {
  display: block;
  margin: .92rem 0 0 auto;
  border: none;
  background: transparent;
  color: var(--ca-muted);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: .26rem;
  font-size: .89rem;
  font-weight: 700;
}
.ca-skip-btn:hover { color: var(--ca-navy-900); }

/* ============================= SUMMARY ============================= */
.ca-summary-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.12rem;
  border-radius: var(--ca-radius-md) var(--ca-radius-md) 0 0;
  background:
    radial-gradient(circle at 100% 0%, rgba(143,200,255,.14), transparent 12rem),
    linear-gradient(135deg, var(--ca-navy-950), var(--ca-navy-800));
}
.ca-summary-title { color: var(--ca-blue-300); font: 900 .88rem/1 'Barlow Condensed', sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.ca-summary-email { max-width: 240px; color: rgba(255,255,255,.72); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .85rem; }
.ca-summary-body { overflow: hidden; border: 1px solid var(--ca-line); border-top: none; border-radius: 0 0 var(--ca-radius-md) var(--ca-radius-md); background: #fff; }
.ca-sum-row { display: grid; grid-template-columns: 4px 84px minmax(0,1fr); gap: .86rem; align-items: start; padding: .92rem 1.05rem; border-bottom: 1px solid rgba(12,31,51,.07); }
.ca-sum-row:last-child { border-bottom: none; }
.ca-sum-bar.muted { background: #d5dce5; }
.ca-sum-name { color: var(--ca-navy-900); font-weight: 800; line-height: 1.35; }
.ca-sum-sub { margin-top: .2rem; color: var(--ca-muted); font-size: .84rem; line-height: 1.42; }
.ca-pending { color: #9ba5b2 !important; font-weight: 600 !important; }
.ca-row-muted { background: #f8fafc; }
.ca-mini-pill { display: inline-flex; margin-top: .5rem; padding: .25rem .58rem; border-radius: 999px; background: rgba(46,126,195,.1); color: var(--ca-blue-500); font: 900 .7rem/1 'Barlow Condensed', sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.ca-summary-body .ca-mini-pill { background: rgba(46,126,195,.1); color: var(--ca-navy-700); }
.ca-inline-stats { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: .85rem; align-items: center; margin-top: 1rem; padding: 1rem; border: 1px solid var(--ca-line); border-radius: var(--ca-radius-md); background: linear-gradient(145deg, #fff, #f7fbff); }
.ca-inline-stat-label { color: var(--ca-muted); font: 900 .72rem/1.2 'Barlow Condensed', sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.ca-inline-stat-value { margin-top: .2rem; color: var(--ca-navy-900); font: 900 2.1rem/.9 'Barlow Condensed', sans-serif; }
.ca-inline-stat-copy { color: var(--ca-muted); line-height: 1.45; font-size: .92rem; }

/* ============================= BUTTONS / ACTIONS ============================= */
.ca-submit-btn {
  width: 100%;
  min-height: 3.35rem;
  margin-top: 1rem;
  border: none;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--ca-navy-950), var(--ca-navy-700) 58%, var(--ca-blue-500));
  color: var(--ca-blue-300);
  cursor: pointer;
  font: 900 .95rem/1 'Barlow Condensed', sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  box-shadow: 0 18px 34px rgba(7,20,33,.22);
  transition: transform .16s var(--ca-ease), filter .16s var(--ca-ease), opacity .16s var(--ca-ease), box-shadow .16s var(--ca-ease);
}
.ca-submit-btn:hover:not(:disabled) { transform: translateY(-2px); filter: brightness(1.08); box-shadow: 0 22px 42px rgba(7,20,33,.27); }
.ca-submit-btn:active:not(:disabled) { transform: translateY(0); }
.ca-submit-btn:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.ca-submit-note { margin-top: .78rem; color: var(--ca-muted); text-align: center; font-size: .9rem; line-height: 1.45; }
.ca-action-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(205px,1fr)); gap: .95rem; margin-top: 2rem; }
.ca-action-form { margin: 0; }
.ca-action-card {
  min-height: 172px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .58rem;
  padding: 1.15rem;
  border: 1px solid var(--ca-line);
  border-radius: var(--ca-radius-md);
  background: rgba(255,255,255,.94);
  color: var(--ca-ink);
  text-decoration: none;
  box-shadow: var(--ca-shadow-sm);
  cursor: pointer;
  transition: transform .18s var(--ca-ease), box-shadow .18s var(--ca-ease), border-color .18s var(--ca-ease);
}
.ca-action-card:hover { transform: translateY(-3px); border-color: rgba(46,126,195,.28); box-shadow: var(--ca-shadow-md); }
.ca-action-button { width: 100%; height: 100%; text-align: left; }
.ca-action-icon { width: 2.38rem; height: 2.38rem; display: grid; place-items: center; border-radius: 13px; background: rgba(46,126,195,.1); color: var(--ca-navy-700); font-weight: 900; }
.ca-action-card strong { color: inherit; font: 900 1.02rem/1.15 'Barlow Condensed', sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.ca-action-card small { color: inherit; opacity: .68; line-height: 1.45; }
.ca-back-link { color: var(--ca-blue-500); font-weight: 800; text-decoration: underline; text-underline-offset: .28rem; }
.ca-back-link:hover { color: var(--ca-navy-900); }

/* ============================= CONFIRM / SUCCESS ============================= */
.ca-success { display: block; text-align: center; padding: 3.1rem 2rem; }
.ca-success-mark {
  width: 4.3rem;
  height: 4.3rem;
  margin: 0 auto 1rem;
  border-radius: 50%;
  border: 2px solid var(--ca-blue-500);
  background: linear-gradient(145deg, rgba(46,126,195,.09), rgba(46,126,195,.06));
  position: relative;
  box-shadow: 0 16px 32px rgba(46,126,195,.1);
}
.ca-success-mark::after {
  content: '';
  position: absolute;
  left: 1.45rem;
  top: .9rem;
  width: .85rem;
  height: 1.6rem;
  border: 3px solid var(--ca-navy-700);
  border-left: none;
  border-top: none;
  transform: rotate(45deg);
}
.ca-success-title { color: var(--ca-navy-900); font: 900 2.15rem/1 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.ca-success-sub { max-width: 620px; margin: .72rem auto 0; color: var(--ca-muted); line-height: 1.65; }
.ca-next-steps { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(220px,.7fr); gap: 1rem; margin-top: 2rem; text-align: left; }
.ca-step-list { margin: .5rem 0 0; padding-left: 1.15rem; color: var(--ca-muted); line-height: 1.58; }
.ca-step-list-tight li + li { margin-top: .32rem; }
.ca-confirm-agenda { position: static; }

/* ============================= RESPONSIVE ============================= */
@media (max-width: 1040px) {
  body { padding-inline: .75rem; }
  .ca-layout, .ca-confirm-layout { grid-template-columns: 1fr; }
  .ca-side-panel { position: static; margin-top: 0; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ca-confirm-agenda { margin-top: 1.35rem; }
}
@media (max-width: 760px) {
  body { padding: 0 0 3rem; }
  .page-wrap, .page-wrap-wide, .page-wrap-admin { width: 100%; }
  .ca-hero, .ca-hero-minimal, .ca-hero-confirm { border-radius: 0; min-height: auto; }
  .ca-hero::before { background-size: auto 100%; opacity: .42; }
  .ca-hero-content, .ca-hero-content-minimal { padding: 2rem 1.2rem 2.35rem; }
  .ca-brand-logo { width: min(300px, 84vw); height: 72px; }
  .ca-hero-headline { font-size: clamp(2.35rem, 15vw, 4rem); }
  .ca-wordmark { font-size: clamp(2.65rem, 15vw, 4.2rem); }
  .ca-hero-copy, .ca-hero-copy-minimal { font-size: 1rem; line-height: 1.62; }
  .ca-progress-wrap { padding: .95rem 1rem 1rem; }
  .ca-progress-meta { flex-direction: column; gap: .45rem; }
  .ca-progress-count { white-space: normal; }
  .ca-body { border-radius: 0 0 28px 28px; }
  .ca-section-head { align-items: flex-start; padding: 1.1rem 1rem; }
  .ca-section-time { margin-left: 0; padding-top: .12rem; }
  .ca-section-body { padding: 1.1rem 1rem; }
  .ca-bus-grid, .ca-session-grid, .ca-side-panel, .ca-next-steps, .ca-inline-stats { grid-template-columns: 1fr; }
  .ca-sess-card { min-height: auto; }
  .ca-sum-row { grid-template-columns: 4px 72px minmax(0,1fr); gap: .72rem; padding-inline: .86rem; }
  .ca-summary-email { max-width: 160px; }
  .ca-success { padding: 2.35rem 1rem; }
  .ca-action-grid { grid-template-columns: 1fr; }
  .ca-action-card { min-height: 145px; }
}
@media (max-width: 430px) {
  .ca-meta-pill { width: 100%; justify-content: flex-start; }
  .ca-section-head { gap: .75rem; }
  .ca-step-badge { width: 2.05rem; height: 2.05rem; }
  .ca-summary-head { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .ca-summary-email { max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}


/* ============================= V2 SLEEK OVERRIDES ============================= */
.ca-hero {
  border-radius: 32px 32px 0 0;
  border: 1px solid rgba(255,255,255,.08);
}
.ca-hero-content,
.ca-hero-content-minimal {
  text-wrap: balance;
}
.ca-hero-headline {
  max-width: 760px;
  font-weight: 800;
}
.ca-hero-headline-sub {
  color: #9fd8ff;
  opacity: .96;
}
.ca-eyebrow {
  color: #9fd8ff;
  opacity: .92;
}
.ca-hero-copy,
.ca-hero-copy-minimal {
  color: rgba(255,255,255,.78);
  max-width: 735px;
}
.ca-meta-pill {
  background: rgba(255,255,255,.075);
  color: rgba(255,255,255,.86);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.ca-progress-fill,
.ca-progress-step.active {
  background: linear-gradient(90deg, var(--ca-navy-700), var(--ca-blue-500), var(--ca-aqua));
}
.ca-side-card::before,
.ca-next-step-card::before {
  background: linear-gradient(90deg, var(--ca-aqua), var(--ca-blue-500));
}
.ca-step-badge,
.ca-submit-btn {
  color: #eaf7ff;
}
.ca-bus-card.selected,
.ca-sess-card.selected {
  background: linear-gradient(145deg, #ffffff, #f2f8ff);
}
.ca-sel-check,
.ca-sess-check {
  background: linear-gradient(135deg, var(--ca-blue-300), var(--ca-aqua));
}
.ca-sel-check::after,
.ca-sess-check::after {
  border-color: var(--ca-navy-950);
}
.ca-summary-title,
.ca-side-card-dark .ca-side-kicker,
.ca-action-primary .ca-action-icon {
  color: #9fd8ff;
}
.ca-summary-head {
  background:
    radial-gradient(circle at 100% 0%, rgba(85,214,194,.13), transparent 12rem),
    linear-gradient(135deg, var(--ca-navy-950), var(--ca-navy-800));
}
.ca-success-mark {
  border-color: var(--ca-blue-500);
  box-shadow: 0 16px 32px rgba(46,126,195,.15);
}
.ca-success-mark::after {
  border-color: var(--ca-blue-500);
}
@media (max-width: 760px) {
  .ca-hero-headline { font-size: clamp(2rem, 12vw, 3.35rem); }
  .ca-wordmark { font-size: clamp(2.25rem, 12vw, 3.4rem); }
  .ca-brand-logo { width: min(280px, 82vw); height: 66px; }
}

/* ============================= DISABLED / LOCKED STATES =============================
   Makes unavailable choices visually obvious without breaking existing markup.
   Supports native disabled controls plus common app classes/ARIA states.
   ===================================================================== */
:root {
  --ca-disabled-bg: #edf1f6;
  --ca-disabled-bg-2: #e4eaf1;
  --ca-disabled-border: rgba(104,115,134,.28);
  --ca-disabled-text: #8994a3;
  --ca-disabled-muted: #a9b2bf;
  --ca-disabled-stripe: rgba(104,115,134,.12);
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled,
[aria-disabled="true"],
.is-disabled,
.disabled {
  cursor: not-allowed !important;
}

.ca-input:disabled,
.ca-template-editor:disabled,
.ca-input[readonly].disabled,
select.ca-input:disabled,
textarea.ca-input:disabled {
  color: var(--ca-disabled-text) !important;
  border-color: var(--ca-disabled-border) !important;
  background:
    repeating-linear-gradient(-45deg, transparent 0 9px, rgba(104,115,134,.055) 9px 18px),
    linear-gradient(145deg, var(--ca-disabled-bg), #f4f6f9) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75) !important;
  opacity: 1 !important;
  pointer-events: none;
}

.ca-input:disabled::placeholder,
.ca-template-editor:disabled::placeholder {
  color: var(--ca-disabled-muted) !important;
}

.ca-input:disabled + .ca-input-hint,
.ca-template-editor:disabled + .ca-input-hint,
.ca-field-disabled,
.ca-disabled-hint {
  color: var(--ca-disabled-text) !important;
}

.ca-submit-btn:disabled,
.ca-skip-btn:disabled,
.ca-action-button:disabled,
.ca-action-card:disabled,
button.ca-action-card:disabled,
button.ca-sess-card:disabled,
button.ca-bus-card:disabled,
.ca-submit-btn[aria-disabled="true"],
.ca-skip-btn[aria-disabled="true"],
.ca-action-card[aria-disabled="true"] {
  color: #8792a1 !important;
  background:
    repeating-linear-gradient(-45deg, rgba(255,255,255,.16) 0 10px, rgba(12,31,51,.04) 10px 20px),
    linear-gradient(135deg, #dfe5ec, #eef2f6) !important;
  border-color: var(--ca-disabled-border) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  filter: grayscale(.2) saturate(.55) !important;
  transform: none !important;
  pointer-events: none;
}

.ca-submit-btn:disabled::after,
.ca-action-card:disabled::after,
.ca-sess-card.disabled::after,
.ca-bus-card.disabled::after,
.ca-sess-card[aria-disabled="true"]::after,
.ca-bus-card[aria-disabled="true"]::after {
  content: 'Unavailable';
  position: absolute;
  top: .7rem;
  right: .7rem;
  z-index: 5;
  padding: .26rem .58rem;
  border: 1px solid rgba(104,115,134,.24);
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: #6f7b8b;
  font: 900 .68rem/1 'Barlow Condensed', sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(7,20,33,.08);
}

.ca-submit-btn:disabled::after,
.ca-skip-btn:disabled::after {
  content: none;
}

.ca-bus-card.full,
.ca-bus-card.disabled,
.ca-bus-card:disabled,
.ca-bus-card[aria-disabled="true"],
.ca-sess-card.disabled,
.ca-sess-card:disabled,
.ca-sess-card[aria-disabled="true"],
.ca-action-card.disabled,
.ca-action-card[aria-disabled="true"] {
  position: relative;
  color: var(--ca-disabled-text) !important;
  border-color: var(--ca-disabled-border) !important;
  background:
    repeating-linear-gradient(-45deg, transparent 0 11px, var(--ca-disabled-stripe) 11px 22px),
    linear-gradient(145deg, var(--ca-disabled-bg), #f8fafc) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72) !important;
  opacity: 1 !important;
  filter: grayscale(.28) saturate(.58) !important;
  transform: none !important;
  cursor: not-allowed !important;
  pointer-events: none;
}

.ca-bus-card.full:hover,
.ca-bus-card.disabled:hover,
.ca-bus-card:disabled:hover,
.ca-bus-card[aria-disabled="true"]:hover,
.ca-sess-card.disabled:hover,
.ca-sess-card:disabled:hover,
.ca-sess-card[aria-disabled="true"]:hover,
.ca-action-card.disabled:hover,
.ca-action-card[aria-disabled="true"]:hover {
  transform: none !important;
  border-color: var(--ca-disabled-border) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72) !important;
}

.ca-bus-card.full::before,
.ca-bus-card.disabled::before,
.ca-bus-card:disabled::before,
.ca-bus-card[aria-disabled="true"]::before,
.ca-sess-card.disabled::before,
.ca-sess-card:disabled::before,
.ca-sess-card[aria-disabled="true"]::before,
.ca-action-card.disabled::before,
.ca-action-card[aria-disabled="true"]::before {
  opacity: 1 !important;
  background: linear-gradient(90deg, #c4ccd6, #aeb8c5, #c4ccd6) !important;
}

.ca-bus-card.full .ca-bus-time,
.ca-bus-card.disabled .ca-bus-time,
.ca-bus-card:disabled .ca-bus-time,
.ca-bus-card[aria-disabled="true"] .ca-bus-time,
.ca-bus-card.full .ca-bus-avail,
.ca-bus-card.disabled .ca-bus-avail,
.ca-bus-card:disabled .ca-bus-avail,
.ca-bus-card[aria-disabled="true"] .ca-bus-avail,
.ca-sess-card.disabled .ca-sess-title,
.ca-sess-card:disabled .ca-sess-title,
.ca-sess-card[aria-disabled="true"] .ca-sess-title,
.ca-sess-card.disabled .ca-sess-meta,
.ca-sess-card:disabled .ca-sess-meta,
.ca-sess-card[aria-disabled="true"] .ca-sess-meta,
.ca-action-card.disabled *,
.ca-action-card[aria-disabled="true"] * {
  color: var(--ca-disabled-text) !important;
}

.ca-bus-card.full .ca-full-tag,
.ca-bus-card.disabled .ca-full-tag,
.ca-bus-card[aria-disabled="true"] .ca-full-tag,
.ca-sess-card.disabled .ca-full-tag,
.ca-sess-card[aria-disabled="true"] .ca-full-tag {
  display: inline-flex;
  background: #e1e7ee !important;
  color: #687386 !important;
  border: 1px solid rgba(104,115,134,.2);
}

.ca-bus-card.full.selected,
.ca-bus-card.reserved-full.selected {
  pointer-events: auto;
  cursor: pointer !important;
  filter: none !important;
  color: var(--ca-ink) !important;
  background: linear-gradient(145deg, #ffffff, #f2f8ff) !important;
  border-color: rgba(46,126,195,.72) !important;
  box-shadow: 0 18px 44px rgba(46,126,195,.16) !important;
}

.ca-bus-card.full.selected::after,
.ca-bus-card.reserved-full.selected::after {
  content: none !important;
}

.ca-bus-card.full.selected .ca-bus-time,
.ca-bus-card.full.selected .ca-bus-avail,
.ca-bus-card.reserved-full.selected .ca-bus-time,
.ca-bus-card.reserved-full.selected .ca-bus-avail {
  color: inherit !important;
}

.ca-sess-card.disabled .ca-sess-check,
.ca-sess-card:disabled .ca-sess-check,
.ca-sess-card[aria-disabled="true"] .ca-sess-check,
.ca-bus-card.disabled .ca-sel-check,
.ca-bus-card:disabled .ca-sel-check,
.ca-bus-card[aria-disabled="true"] .ca-sel-check {
  display: none !important;
}

.ca-summary-body .ca-row-muted,
.ca-fixed-row.disabled,
.ca-fixed-row[aria-disabled="true"],
.ca-sum-row.disabled,
.ca-sum-row[aria-disabled="true"] {
  color: var(--ca-disabled-text) !important;
  background:
    repeating-linear-gradient(-45deg, transparent 0 10px, rgba(104,115,134,.045) 10px 20px),
    #f4f7fa !important;
  opacity: 1;
}

.ca-fixed-row.disabled *,
.ca-fixed-row[aria-disabled="true"] *,
.ca-sum-row.disabled *,
.ca-sum-row[aria-disabled="true"] * {
  color: var(--ca-disabled-text) !important;
}

.ca-mini-pill.disabled,
.ca-mini-pill[aria-disabled="true"],
.ca-pending {
  background: #e6ebf1 !important;
  color: #7f8a99 !important;
}

a.disabled,
a[aria-disabled="true"],
.ca-disabled-link {
  color: var(--ca-disabled-text) !important;
  text-decoration: none !important;
  pointer-events: none;
  cursor: not-allowed !important;
}

@media (hover: hover) {
  button:disabled:hover,
  [aria-disabled="true"]:hover,
  .is-disabled:hover,
  .disabled:hover {
    transform: none !important;
    filter: grayscale(.2) saturate(.55) !important;
  }
}

/* =========================================================
   V4: Email-gated disabled state
   Makes all agenda choices look disabled until a valid email
   has been entered. The JS adds/removes .ca-email-locked.
   ========================================================= */

#catalyst-agenda-root.ca-email-locked .ca-bus-card:not(.full):not(.selected),
#catalyst-agenda-root.ca-email-locked .ca-sess-card:not(.selected),
#catalyst-agenda-root.ca-email-locked .ca-skip-btn {
  position: relative;
  cursor: not-allowed !important;
  pointer-events: none;
  opacity: 1 !important;
  filter: grayscale(.18) saturate(.55) !important;
  background:
    repeating-linear-gradient(-45deg, rgba(118,132,150,.055) 0 8px, rgba(118,132,150,.095) 8px 16px),
    linear-gradient(145deg, #f5f8fb, #edf2f7) !important;
  border-color: rgba(120,135,155,.36) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.65), 0 10px 24px rgba(19,40,65,.045) !important;
  transform: none !important;
}

#catalyst-agenda-root.ca-email-locked .ca-bus-card:not(.full):not(.selected)::after,
#catalyst-agenda-root.ca-email-locked .ca-sess-card:not(.selected)::after {
  content: "Enter email first";
  position: absolute;
  top: .75rem;
  right: .75rem;
  z-index: 2;
  padding: .28rem .55rem;
  border-radius: 999px;
  background: rgba(231,236,243,.96);
  border: 1px solid rgba(126,140,158,.28);
  color: #6f7d8f;
  font-size: .62rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#catalyst-agenda-root.ca-email-locked .ca-bus-card:not(.full):not(.selected) *,
#catalyst-agenda-root.ca-email-locked .ca-sess-card:not(.selected) *,
#catalyst-agenda-root.ca-email-locked .ca-skip-btn {
  color: #7a8797 !important;
}

#catalyst-agenda-root.ca-email-locked .ca-bus-card:not(.full):not(.selected) .ca-bus-time,
#catalyst-agenda-root.ca-email-locked .ca-sess-card:not(.selected) .ca-sess-title {
  color: #667384 !important;
}

#catalyst-agenda-root.ca-email-locked .ca-sess-card:not(.selected) .ca-sess-type,
#catalyst-agenda-root.ca-email-locked .ca-bus-card:not(.full):not(.selected) .ca-sel-check,
#catalyst-agenda-root.ca-email-locked .ca-sess-card:not(.selected) .ca-sess-check {
  opacity: .45 !important;
}

#catalyst-agenda-root.ca-email-locked .ca-skip-btn {
  text-decoration: none !important;
}

@media (hover: hover) {
  #catalyst-agenda-root.ca-email-locked .ca-bus-card:not(.full):not(.selected):hover,
  #catalyst-agenda-root.ca-email-locked .ca-sess-card:not(.selected):hover,
  #catalyst-agenda-root.ca-email-locked .ca-skip-btn:hover {
    transform: none !important;
    border-color: rgba(120,135,155,.36) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.65), 0 10px 24px rgba(19,40,65,.045) !important;
  }
}

/* ================================================================
   V5 — Guided one-section-at-a-time agenda flow
   ================================================================ */

.ca-section[hidden],
.ca-section.is-progressive-locked[hidden] {
  display: none !important;
}

.ca-section.is-progressive-active {
  position: relative;
  animation: caAgendaReveal .28s ease-out both;
  border-color: rgba(67, 136, 203, .28);
  box-shadow: 0 22px 50px rgba(7, 23, 40, .08);
}

.ca-section.is-progressive-active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 999px 0 0 999px;
  background: linear-gradient(180deg, #6ec7ff, #2d5f9a);
}

.ca-section.is-progressive-complete:not(.is-progressive-active) {
  background: rgba(255, 255, 255, .82);
}

.ca-section.is-progressive-complete:not(.is-progressive-active) .ca-section-head {
  background: linear-gradient(90deg, rgba(45, 95, 154, .045), rgba(255, 255, 255, 0));
}

.ca-progressive-placeholder {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: .95rem;
  align-items: center;
  margin: 0;
  padding: 1.1rem 1.25rem;
  border-top: 1px solid rgba(7, 23, 40, .08);
  border-bottom: 1px solid rgba(7, 23, 40, .08);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .86), rgba(241, 247, 254, .76)),
    radial-gradient(circle at 10% 0%, rgba(110, 199, 255, .16), transparent 36%);
  color: var(--ca-navy);
  animation: caAgendaReveal .22s ease-out both;
}

.ca-progressive-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(45, 95, 154, .14), rgba(110, 199, 255, .18));
  color: var(--ca-blue);
  font-size: 1.35rem;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(45, 95, 154, .10);
}

.ca-progressive-copy {
  min-width: 0;
}

.ca-progressive-kicker {
  color: var(--ca-blue);
  font: 800 .76rem/1 'Barlow Condensed', sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.ca-progressive-title {
  margin-top: .18rem;
  color: var(--ca-navy);
  font-weight: 800;
  font-size: 1.03rem;
}

.ca-progressive-message {
  margin-top: .15rem;
  color: var(--ca-muted);
  font-size: .92rem;
  line-height: 1.35;
}

.ca-email-locked .ca-progressive-placeholder {
  border-top-color: rgba(45, 95, 154, .12);
  border-bottom-color: rgba(45, 95, 154, .12);
}

@keyframes caAgendaReveal {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 640px) {
  .ca-progressive-placeholder {
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 1rem;
  }

  .ca-progressive-icon {
    width: 36px;
    height: 36px;
    border-radius: 13px;
    font-size: 1.1rem;
  }
}

/* ============================= MULTI EVENT ADMIN ============================= */
.ca-admin-page { padding-top: 2rem; }
.ca-admin-hero {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 2rem;
  border-radius: 28px;
  color: #fff;
  background: linear-gradient(135deg, #071728, #123b60);
  box-shadow: 0 24px 60px rgba(7,23,40,.18);
  margin-bottom: 1.25rem;
}
.ca-admin-hero h1 { margin: .25rem 0; font-size: clamp(2rem, 4vw, 3.5rem); line-height: .95; }
.ca-admin-hero p { margin: 0; max-width: 760px; color: rgba(255,255,255,.78); }
.ca-admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 1rem; }
.ca-admin-card {
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(12,31,51,.09);
  border-radius: 24px;
  padding: 1rem;
  box-shadow: 0 18px 42px rgba(7,20,33,.08);
  margin-bottom: 1rem;
}
.ca-admin-card-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.75rem; }
.ca-admin-card-head h2 { margin:0; color:var(--ca-navy-900); font-size:1.15rem; }
.ca-admin-card-head span { font-weight:900; color:var(--ca-blue-500); }
.ca-event-row { border-top:1px solid rgba(12,31,51,.08); padding:.85rem 0; display:grid; gap:.65rem; }
.ca-event-title { font-weight:900; color:var(--ca-navy-900); }
.ca-event-meta { color:var(--ca-muted); font-size:.86rem; margin:.18rem 0 .35rem; }
.ca-event-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; }
.ca-admin-btn {
  border:0;
  border-radius:999px;
  background:var(--ca-navy-700);
  color:#fff;
  padding:.55rem .85rem;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}
.ca-admin-btn.ghost { background:rgba(12,31,51,.08); color:var(--ca-navy-900); }
.ca-admin-btn.live { background:linear-gradient(90deg, var(--ca-blue-500), var(--ca-blue-300)); }
.ca-admin-select { border-radius:999px; border:1px solid rgba(12,31,51,.14); padding:.52rem .75rem; }
.ca-admin-status { display:inline-flex; border-radius:999px; padding:.28rem .55rem; font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.ca-admin-status.live { background:rgba(85,214,194,.18); color:#075c52; }
.ca-admin-status.draft { background:rgba(46,126,195,.15); color:#174c79; }
.ca-admin-status.completed { background:rgba(12,31,51,.1); color:var(--ca-navy-700); }
.ca-admin-status.archived { background:rgba(140,54,54,.12); color:#8c3636; }
.ca-duplicate-form { display:grid; gap:.45rem; margin:.35rem 0 1rem; }
.ca-admin-form-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:.85rem; }
.ca-admin-form-grid label { display:grid; gap:.3rem; font-weight:800; color:var(--ca-navy-900); }
.ca-admin-form-grid .wide { grid-column:1 / -1; }
.ca-admin-form-grid textarea { min-height:90px; }
.ca-json-editor { width:100%; min-height:460px; margin:1rem 0; font-family:Consolas, monospace; border-radius:18px; border:1px solid rgba(12,31,51,.14); padding:1rem; }
.ca-admin-editor-note { margin-top:1rem; color:var(--ca-muted); font-weight:700; }
.ca-access-message { margin-bottom: 1rem; }
.ca-read-only .ca-section:not([data-agenda-step="email"]) { opacity:.72; }

/* Admin navigation/preview polish */
.ca-preview-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 1rem;
  padding: .85rem 1rem;
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(12,31,51,.1);
  box-shadow: 0 12px 30px rgba(7,20,33,.08);
  color: var(--ca-navy-900);
  font-weight: 800;
}

.ca-admin-btn.ca-admin-btn-light {
  background: #ffffff;
  color: var(--ca-navy-900);
  border: 1px solid rgba(255,255,255,.68);
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}

.ca-admin-hero .ca-admin-btn.ghost {
  background: rgba(255,255,255,.94);
  color: var(--ca-navy-900);
  border: 1px solid rgba(255,255,255,.65);
}

.ca-admin-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
}

/* ── Back-office event editor improvements ─────────────────────────────── */
.ca-backoffice-page .ca-admin-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: flex-end; align-items: center; }
.ca-admin-btn.light { background: #fff; color: var(--ca-navy, #0d2742); border: 1px solid rgba(13, 39, 66, .18); box-shadow: 0 10px 28px rgba(0,0,0,.14); }
.ca-admin-btn.light:hover { transform: translateY(-1px); filter: brightness(.98); }
.ca-admin-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 2rem 0 1rem; padding-bottom: .75rem; border-bottom: 1px solid rgba(13, 39, 66, .12); }
.ca-admin-section-heading h2 { margin: 0; font-size: clamp(1.15rem, 1.5vw, 1.55rem); color: var(--ca-navy, #0d2742); }
.ca-admin-section-heading p { margin: .25rem 0 0; color: rgba(13, 39, 66, .72); }
.ca-admin-toolbar { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1rem 0 1.35rem; }
.ca-admin-table-wrap { width: 100%; overflow-x: auto; border: 1px solid rgba(13,39,66,.12); border-radius: 18px; background: rgba(255,255,255,.82); }
.ca-admin-edit-table { width: 100%; border-collapse: separate; border-spacing: 0; min-width: 980px; }
.ca-admin-edit-table th { text-align: left; font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; color: rgba(13,39,66,.68); background: rgba(13,39,66,.055); padding: .75rem; white-space: nowrap; }
.ca-admin-edit-table td { padding: .65rem; border-top: 1px solid rgba(13,39,66,.08); vertical-align: top; }
.ca-admin-edit-table.compact { min-width: 1500px; }
.ca-input.small { max-width: 100px; }
.ca-input.xsmall { max-width: 72px; }
.ca-admin-btn.danger { background: #fff1f2; color: #9f1239; border: 1px solid rgba(159,18,57,.18); }
.ca-submit-btn.compact { width: auto; padding: .75rem 1.2rem; min-height: auto; }
.ca-slot-editor { display: grid; gap: 1.25rem; }
.ca-admin-nested-card { border: 1px solid rgba(13,39,66,.13); border-radius: 22px; background: rgba(248,250,252,.92); padding: 1rem; box-shadow: 0 16px 40px rgba(13,39,66,.06); }
.ca-nested-card-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.ca-nested-card-header h3 { margin: 0; color: var(--ca-navy, #0d2742); }
.compact-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.ca-admin-json-details { margin-top: 1.5rem; border: 1px dashed rgba(13,39,66,.22); border-radius: 18px; padding: 1rem; background: rgba(255,255,255,.72); }
.ca-admin-json-details summary { cursor: pointer; font-weight: 800; color: var(--ca-navy, #0d2742); }
.ca-sticky-savebar { position: sticky; bottom: 0; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 1.5rem -1.25rem -1.25rem; padding: 1rem 1.25rem; background: rgba(255,255,255,.92); backdrop-filter: blur(14px); border-top: 1px solid rgba(13,39,66,.12); border-radius: 0 0 22px 22px; }
@media (max-width: 760px) { .ca-admin-section-heading, .ca-sticky-savebar { align-items: stretch; flex-direction: column; } }
.ca-admin-btn-light { background: #ffffff !important; color: var(--ca-navy, #0d2742) !important; border: 1px solid rgba(255,255,255,.72) !important; box-shadow: 0 12px 30px rgba(0,0,0,.16); }

/* Back-office public display content editor */
.ca-admin-subsection-heading {
  margin-top: 1.5rem;
}
.ca-toggle-field {
  display: flex;
  flex-direction: column;
  gap: .6rem;
}
.ca-toggle-inline {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-height: 52px;
  padding: .85rem 1rem;
  border: 1px solid rgba(15, 35, 55, .14);
  border-radius: 18px;
  background: rgba(248, 250, 252, .86);
  color: var(--ca-ink-muted);
  font-weight: 700;
}
.ca-toggle-inline input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--ca-blue);
}
.ca-admin-mini-card {
  margin: 1rem 0 1.35rem;
  padding: 1rem;
  border: 1px solid rgba(15, 35, 55, .12);
  border-radius: 22px;
  background: rgba(255, 255, 255, .74);
  box-shadow: 0 18px 48px rgba(13, 38, 66, .08);
}
.ca-confirmation-step-editor {
  display: grid;
  gap: .75rem;
  margin-top: .9rem;
}
.ca-confirmation-step-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: center;
}
@media (max-width: 760px) {
  .ca-confirmation-step-row { grid-template-columns: 1fr; }
}

/* =====================================================================
   V6 — Polished attendee/admin refresh + private capacity display
   ===================================================================== */
:root {
  --ca-blue: #2e7ec3;
  --ca-surface-elevated: rgba(255,255,255,.92);
  --ca-surface-soft: rgba(246,249,252,.86);
  --ca-focus-ring: 0 0 0 4px rgba(46,126,195,.16);
}

.page-wrap-wide {
  max-width: 1280px;
}

.ca-hero-minimal {
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(255,255,255,.22);
  background:
    linear-gradient(135deg, rgba(7,20,33,.96), rgba(14,54,88,.94) 54%, rgba(22,92,128,.9)),
    url('/images/catalyst-header-pattern.png');
  box-shadow: 0 28px 80px rgba(7,20,33,.26);
}

.ca-hero-minimal::after {
  content: '';
  position: absolute;
  inset: auto -12% -42% 34%;
  height: 16rem;
  transform: rotate(-8deg);
  background: linear-gradient(90deg, transparent, rgba(85,214,194,.16), rgba(143,200,255,.2), transparent);
  filter: blur(4px);
  pointer-events: none;
}

.ca-hero-headline { letter-spacing: -.03em; }
.ca-hero-headline-sub { color: rgba(255,255,255,.82); }
.ca-hero-copy-minimal { max-width: 850px; color: rgba(235,245,255,.86); }

.ca-meta-pill {
  background: rgba(255,255,255,.11);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.9);
  backdrop-filter: blur(14px);
}

.ca-progress-wrap,
.ca-section,
.ca-summary-card,
.ca-admin-card,
.ca-admin-mini-card,
.ca-admin-nested-card {
  border: 1px solid rgba(11,31,51,.1);
  background: linear-gradient(180deg, var(--ca-surface-elevated), rgba(255,255,255,.82));
  box-shadow: 0 22px 64px rgba(7,20,33,.1);
}

.ca-section {
  border-radius: 28px;
}

.ca-section.is-progressive-active {
  border-color: rgba(46,126,195,.24);
  box-shadow: 0 26px 70px rgba(46,126,195,.14), 0 10px 30px rgba(7,20,33,.08);
}

.ca-section-head {
  background: linear-gradient(90deg, rgba(246,249,252,.92), rgba(255,255,255,.68));
  border-bottom: 1px solid rgba(11,31,51,.08);
}

.ca-step-badge {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.44), 0 12px 24px rgba(46,126,195,.2);
}

.ca-input,
.ca-admin-select,
.ca-json-editor {
  border-color: rgba(11,31,51,.14) !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 8px 22px rgba(7,20,33,.045);
  transition: border-color .18s var(--ca-ease), box-shadow .18s var(--ca-ease), transform .18s var(--ca-ease);
}

.ca-input:focus,
.ca-admin-select:focus,
.ca-json-editor:focus {
  outline: none;
  border-color: rgba(46,126,195,.56) !important;
  box-shadow: var(--ca-focus-ring), inset 0 1px 0 rgba(255,255,255,.85), 0 10px 26px rgba(46,126,195,.09);
}

.ca-existing-registration-message {
  display: none;
  align-items: flex-start;
  gap: .85rem;
  margin-top: .95rem;
  padding: 1rem 1.1rem;
  border-radius: 20px;
  border: 1px solid rgba(46,126,195,.15);
  background: linear-gradient(135deg, rgba(238,247,255,.96), rgba(255,255,255,.9));
  color: var(--ca-navy-900);
  font-weight: 750;
  box-shadow: 0 14px 34px rgba(7,20,33,.075);
}

.ca-existing-registration-message:not(:empty) { display: flex; }
.ca-existing-registration-message a { color: var(--ca-blue-500); font-weight: 900; text-decoration: none; border-bottom: 1px solid rgba(46,126,195,.35); }
.ca-existing-registration-message a:hover { border-bottom-color: currentColor; }

.ca-existing-registration-message::before {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(46,126,195,.14), rgba(85,214,194,.12));
  color: var(--ca-blue-500);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  font-size: 1.15rem;
  content: '✓';
}

.ca-existing-registration-message.hint::before { content: '•'; }
.ca-existing-registration-message.new::before { content: '→'; }
.ca-existing-registration-message.found::before { content: '✓'; }
.ca-existing-registration-message.warning {
  border-color: rgba(184,57,63,.28);
  background: linear-gradient(135deg, #fff4f4, rgba(255,255,255,.94));
  color: #691b20;
}
.ca-existing-registration-message.warning::before {
  content: '⚑';
  background: linear-gradient(135deg, #d92832, #9f1720);
  color: #fff;
  box-shadow: 0 12px 26px rgba(184,57,63,.22), inset 0 1px 0 rgba(255,255,255,.26);
}
.ca-message-title { display:block; margin-bottom:.2rem; font: 900 .82rem/1 'Barlow Condensed', sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.ca-message-copy { display:block; line-height:1.42; }

.ca-bus-grid,
.ca-session-grid {
  gap: 1rem;
}

.ca-bus-card,
.ca-sess-card {
  border: 1px solid rgba(11,31,51,.11);
  background: linear-gradient(155deg, rgba(255,255,255,.96), rgba(245,249,253,.88));
  box-shadow: 0 14px 34px rgba(7,20,33,.075);
}

.ca-bus-card:hover:not(.full),
.ca-sess-card:hover:not(.disabled):not([aria-disabled="true"]) {
  transform: translateY(-4px);
  border-color: rgba(46,126,195,.38);
  box-shadow: 0 24px 58px rgba(46,126,195,.13), 0 8px 20px rgba(7,20,33,.065);
}

.ca-bus-card.selected,
.ca-sess-card.selected {
  background: linear-gradient(155deg, #ffffff, #eef7ff) !important;
  border-color: rgba(46,126,195,.58) !important;
  box-shadow: 0 22px 54px rgba(46,126,195,.17), inset 0 0 0 1px rgba(255,255,255,.7) !important;
}

.ca-bus-avail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: .62rem;
  padding: .35rem .72rem;
  border-radius: 999px;
  background: rgba(46,126,195,.09);
  color: var(--ca-navy-700);
  font: 800 .72rem/1 'Barlow', sans-serif;
  letter-spacing: .01em;
}

.ca-bus-card.full .ca-bus-avail,
.ca-bus-card[aria-disabled="true"] .ca-bus-avail {
  background: rgba(104,115,134,.11);
}

.ca-full-tag,
.ca-mini-pill,
.ca-sess-type {
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}

.ca-submit-btn,
.ca-skip-btn,
.ca-admin-btn {
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: .01em;
  transition: transform .18s var(--ca-ease), box-shadow .18s var(--ca-ease), filter .18s var(--ca-ease), background .18s var(--ca-ease);
}

.ca-submit-btn,
.ca-admin-btn.live {
  background: linear-gradient(135deg, var(--ca-blue-500), #195d99) !important;
  box-shadow: 0 18px 40px rgba(46,126,195,.24);
}

.ca-submit-btn:hover:not(:disabled),
.ca-admin-btn:hover,
.ca-skip-btn:hover:not(:disabled) {
  transform: translateY(-2px);
}

.ca-skip-btn {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(11,31,51,.12);
  color: var(--ca-navy-800);
  box-shadow: 0 12px 28px rgba(7,20,33,.07);
}

.ca-skip-btn:hover:not(:disabled) {
  background: #ffffff;
  border-color: rgba(46,126,195,.28);
  color: var(--ca-blue-500);
}

.ca-admin-slot-pill {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  min-height: 2rem;
  padding: .42rem .78rem;
  border-radius: 999px;
  background: rgba(22,132,99,.1);
  border: 1px solid rgba(22,132,99,.16);
  color: #0b684d;
  font-size: .78rem;
  font-weight: 900;
}
.ca-admin-slot-pill.full {
  background: rgba(184,57,63,.1);
  border-color: rgba(184,57,63,.2);
  color: #8a1f25;
}
.ca-admin-slot-pill.muted {
  background: rgba(104,115,134,.1);
  border-color: rgba(104,115,134,.16);
  color: var(--ca-muted);
}

.ca-admin-edit-table th,
.ca-admin-edit-table td {
  vertical-align: middle;
}

@media (prefers-color-scheme: dark) {
  body {
    color: #e8f1fb;
    background:
      radial-gradient(circle at 12% 2%, rgba(46,126,195,.18), transparent 24rem),
      radial-gradient(circle at 92% 5%, rgba(85,214,194,.1), transparent 28rem),
      linear-gradient(135deg, #071421 0%, #0b1f33 58%, #081827 100%);
  }
  .ca-progress-wrap,
  .ca-section,
  .ca-summary-card,
  .ca-admin-card,
  .ca-admin-mini-card,
  .ca-admin-nested-card,
  .ca-admin-table-wrap {
    background: linear-gradient(180deg, rgba(13,34,55,.94), rgba(10,27,44,.9));
    border-color: rgba(143,200,255,.14);
    box-shadow: 0 24px 70px rgba(0,0,0,.26);
  }
  .ca-section-head {
    background: linear-gradient(90deg, rgba(18,52,85,.74), rgba(13,34,55,.52));
    border-bottom-color: rgba(143,200,255,.12);
  }
  .ca-section-label,
  .ca-section-time,
  .ca-bus-time,
  .ca-fixed-name,
  .ca-sess-title,
  .ca-admin-section-heading h2,
  .ca-admin-form-grid label {
    color: #f2f8ff !important;
  }
  .ca-section-micro,
  .ca-fixed-sub,
  .ca-sess-meta,
  .ca-admin-section-heading p {
    color: rgba(225,237,248,.68) !important;
  }
  .ca-input,
  .ca-admin-select,
  .ca-json-editor {
    background: rgba(7,20,33,.72) !important;
    border-color: rgba(143,200,255,.17) !important;
    color: #edf6ff !important;
  }
  .ca-input::placeholder { color: rgba(225,237,248,.46); }
  .ca-bus-card,
  .ca-sess-card,
  .ca-fixed-row,
  .ca-admin-edit-table td {
    background: linear-gradient(155deg, rgba(15,42,68,.9), rgba(10,29,48,.82));
    border-color: rgba(143,200,255,.13);
  }
  .ca-bus-card.selected,
  .ca-sess-card.selected {
    background: linear-gradient(155deg, rgba(20,65,105,.96), rgba(12,44,72,.94)) !important;
  }
  .ca-existing-registration-message {
    background: linear-gradient(135deg, rgba(20,65,105,.86), rgba(10,27,44,.9));
    border-color: rgba(143,200,255,.17);
    color: #edf6ff;
  }
  .ca-existing-registration-message.warning {
    background: linear-gradient(135deg, rgba(105,27,32,.86), rgba(45,12,16,.92));
    border-color: rgba(255,135,143,.28);
    color: #ffe8ea;
  }
  .ca-bus-avail {
    background: rgba(143,200,255,.12);
    color: #cfe9ff;
  }
}

/* =====================================================================
   V6 — Attendee readability/polish pass
   - Cleaner light-forward attendee cards
   - Correct contrast in dark-mode browsers
   - Hide right rail until the email is verified/pre-registered
   ===================================================================== */
#catalyst-agenda-root:not(.ca-email-verified) .ca-side-panel {
  display: none !important;
}
#catalyst-agenda-root:not(.ca-email-verified) .ca-layout {
  grid-template-columns: minmax(0, 1fr);
}

body {
  background:
    radial-gradient(circle at 12% 4%, rgba(46,126,195,.10), transparent 24rem),
    radial-gradient(circle at 90% 2%, rgba(85,214,194,.08), transparent 26rem),
    linear-gradient(135deg, #f6f9fc 0%, #edf3f8 52%, #f8fafc 100%) !important;
}

.ca-hero {
  min-height: 280px;
  background:
    linear-gradient(120deg, rgba(10,31,52,.96) 0%, rgba(16,55,88,.94) 52%, rgba(27,91,136,.88) 100%) !important;
  box-shadow: 0 18px 55px rgba(7,20,33,.18) !important;
}
.ca-hero::before { opacity: .34 !important; }
.ca-hero::after { opacity: .34 !important; }
.ca-hero-content-minimal { padding-top: 2rem; padding-bottom: 2.35rem; }
.ca-hero-headline { text-shadow: 0 10px 22px rgba(0,0,0,.18); }
.ca-hero-headline-sub { color: #dbeeff !important; }
.ca-hero-copy-minimal { color: rgba(255,255,255,.88) !important; }

.ca-progress-wrap {
  background: #ffffff !important;
  border: 1px solid rgba(13,39,66,.10) !important;
  border-top: 0 !important;
  box-shadow: 0 12px 28px rgba(7,20,33,.075) !important;
}
.ca-progress-label-kicker { color: #6d7a8b !important; }
.ca-progress-label { color: #102a43 !important; }
.ca-progress-track {
  height: 14px;
  background: #dce6ef !important;
  border-color: rgba(13,39,66,.10) !important;
  box-shadow: inset 0 1px 2px rgba(7,20,33,.10) !important;
}
.ca-progress-fill { background: linear-gradient(90deg, #2f7fbd, #52cdbc) !important; box-shadow: none !important; }
.ca-progress-step { background: #d6e1eb !important; }
.ca-progress-step.active { background: linear-gradient(90deg, #2f7fbd, #52cdbc) !important; box-shadow: none !important; }

.ca-layout { align-items: start; }
.ca-body {
  background: #ffffff !important;
  border: 1px solid rgba(13,39,66,.10) !important;
  border-top: 0 !important;
  box-shadow: 0 20px 48px rgba(7,20,33,.10) !important;
  backdrop-filter: none !important;
}
.ca-section {
  overflow: hidden;
  border: 1px solid rgba(13,39,66,.11) !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 34px rgba(7,20,33,.075) !important;
}
.ca-section + .ca-section { margin-top: 1rem; }
.ca-section.is-progressive-active {
  border-color: rgba(46,126,195,.24) !important;
  box-shadow: 0 18px 44px rgba(46,126,195,.10), 0 10px 25px rgba(7,20,33,.07) !important;
}
.ca-section-head {
  background: linear-gradient(180deg, #f8fbfe, #eef4f9) !important;
  border-bottom: 1px solid rgba(13,39,66,.10) !important;
}
.ca-section-label,
.ca-section-time,
.ca-bus-time,
.ca-fixed-name,
.ca-sess-title,
.ca-summary-title {
  color: #102a43 !important;
}
.ca-section-micro,
.ca-fixed-sub,
.ca-sess-meta,
.ca-input-hint,
.ca-summary-email,
.ca-sum-sub,
.ca-stat-note,
.ca-side-copy {
  color: #5f6f82 !important;
}
.ca-step-badge {
  background: linear-gradient(145deg, #1a5f94, #2f7fbd) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(46,126,195,.20) !important;
}
.ca-step-badge.done { background: linear-gradient(145deg, #15805f, #20a67a) !important; }

.ca-input {
  background: #ffffff !important;
  border: 1px solid rgba(13,39,66,.16) !important;
  color: #15243a !important;
  box-shadow: 0 0 0 4px rgba(46,126,195,.06), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.ca-input:focus {
  border-color: rgba(46,126,195,.55) !important;
  box-shadow: 0 0 0 4px rgba(46,126,195,.14), 0 10px 24px rgba(7,20,33,.08) !important;
}

.ca-fixed-row,
.ca-bus-card,
.ca-sess-card {
  background: linear-gradient(180deg, #ffffff, #f7fafc) !important;
  border: 1px solid rgba(13,39,66,.12) !important;
  color: #17212f !important;
  box-shadow: 0 10px 24px rgba(7,20,33,.06) !important;
}
.ca-bus-card:hover,
.ca-sess-card:hover {
  transform: translateY(-2px);
  background: linear-gradient(180deg, #f8fbfe, #edf4f9) !important;
  border-color: rgba(46,126,195,.26) !important;
  box-shadow: 0 16px 34px rgba(7,20,33,.10) !important;
}
.ca-bus-card.selected,
.ca-sess-card.selected {
  background: linear-gradient(180deg, #eef8ff, #e8f5fb) !important;
  border-color: rgba(46,126,195,.44) !important;
  box-shadow: 0 16px 36px rgba(46,126,195,.13) !important;
}
.ca-bus-avail,
.ca-sess-presenter,
.ca-sess-org {
  color: #657588 !important;
}
.ca-full-tag,
.ca-mini-pill {
  background: #eef5fb !important;
  border: 1px solid rgba(46,126,195,.16) !important;
  color: #1a5f94 !important;
}
.ca-skip-btn {
  background: #f4f7fa !important;
  border-color: rgba(13,39,66,.12) !important;
  color: #1a5f94 !important;
}
.ca-skip-btn:hover { background: #eaf2f8 !important; border-color: rgba(46,126,195,.28) !important; }

.ca-side-panel {
  animation: caSideReveal .22s ease-out both;
}
@keyframes caSideReveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.ca-side-card,
.ca-side-card-dark,
.ca-ceu-card {
  background: #ffffff !important;
  color: #17212f !important;
  border: 1px solid rgba(13,39,66,.12) !important;
  box-shadow: 0 14px 34px rgba(7,20,33,.075) !important;
}
.ca-side-card::before { background: linear-gradient(90deg, #2f7fbd, #52cdbc) !important; opacity: 1 !important; }
.ca-side-kicker,
.ca-side-card-dark .ca-side-kicker { color: #1a5f94 !important; }
.ca-side-title,
.ca-stat-value { color: #102a43 !important; }
.ca-step-list { color: #5f6f82 !important; }
.ca-step-list li::marker { color: #2f7fbd; }

.ca-existing-registration-message {
  background: #f7fbff !important;
  border: 1px solid rgba(46,126,195,.18) !important;
  color: #102a43 !important;
  box-shadow: 0 12px 28px rgba(7,20,33,.07) !important;
}
.ca-existing-registration-message.warning {
  background: #fff6f6 !important;
  border-color: rgba(184,57,63,.30) !important;
  color: #691b20 !important;
}
.ca-existing-registration-message.warning::before {
  content: '⚑' !important;
  background: linear-gradient(135deg, #d92832, #9f1720) !important;
  color: #ffffff !important;
}
.ca-message-title { color: inherit !important; }
.ca-message-copy { color: inherit !important; font-weight: 650; }
.ca-message-copy a { color: #1a5f94 !important; }

.ca-summary-head {
  background: linear-gradient(180deg, #f8fbfe, #eef4f9) !important;
  border: 1px solid rgba(13,39,66,.10) !important;
  border-radius: 20px 20px 0 0 !important;
}
.ca-summary-body {
  background: #ffffff !important;
  border-color: rgba(13,39,66,.10) !important;
}
.ca-sum-time,
.ca-sum-name { color: #102a43 !important; }
.ca-sum-name.ca-pending { color: #758397 !important; }
.ca-inline-stats {
  background: #f7fbff !important;
  border: 1px solid rgba(13,39,66,.10) !important;
  color: #102a43 !important;
}
.ca-inline-stat-label { color: #1a5f94 !important; }
.ca-inline-stat-value { color: #102a43 !important; }
.ca-inline-stat-copy { color: #5f6f82 !important; }

.ca-submit-btn {
  background: linear-gradient(135deg, #1f73ad, #35a7a6) !important;
  color: #ffffff !important;
  box-shadow: 0 16px 32px rgba(31,115,173,.18) !important;
}
.ca-submit-btn:disabled {
  background: #d8e2ec !important;
  color: #718197 !important;
  box-shadow: none !important;
}
.ca-submit-note { color: #66768a !important; }

@media (prefers-color-scheme: dark) {
  body {
    background:
      radial-gradient(circle at 14% 2%, rgba(46,126,195,.14), transparent 24rem),
      linear-gradient(135deg, #dce7f1 0%, #edf3f8 54%, #f7fafc 100%) !important;
    color: #17212f !important;
  }
  .ca-hero {
    background: linear-gradient(120deg, #0b2740 0%, #174d7f 58%, #216996 100%) !important;
  }
  .ca-progress-wrap,
  .ca-body,
  .ca-section,
  .ca-side-card,
  .ca-side-card-dark,
  .ca-ceu-card,
  .ca-inline-stats,
  .ca-summary-body {
    background: #ffffff !important;
    color: #17212f !important;
    border-color: rgba(13,39,66,.12) !important;
  }
  .ca-section-head,
  .ca-summary-head {
    background: linear-gradient(180deg, #f8fbfe, #eef4f9) !important;
    border-color: rgba(13,39,66,.10) !important;
  }
  .ca-section-label,
  .ca-section-time,
  .ca-bus-time,
  .ca-fixed-name,
  .ca-sess-title,
  .ca-summary-title,
  .ca-side-title,
  .ca-stat-value,
  .ca-sum-time,
  .ca-sum-name {
    color: #102a43 !important;
  }
  .ca-section-micro,
  .ca-fixed-sub,
  .ca-sess-meta,
  .ca-input-hint,
  .ca-summary-email,
  .ca-sum-sub,
  .ca-stat-note,
  .ca-side-copy,
  .ca-inline-stat-copy,
  .ca-step-list {
    color: #5f6f82 !important;
  }
  .ca-input,
  .ca-admin-select,
  .ca-json-editor {
    background: #ffffff !important;
    color: #15243a !important;
    border-color: rgba(13,39,66,.16) !important;
  }
  .ca-bus-card,
  .ca-sess-card,
  .ca-fixed-row {
    background: linear-gradient(180deg, #ffffff, #f7fafc) !important;
    border-color: rgba(13,39,66,.12) !important;
    color: #17212f !important;
  }
  .ca-bus-card:hover,
  .ca-sess-card:hover {
    background: linear-gradient(180deg, #f8fbfe, #edf4f9) !important;
    border-color: rgba(46,126,195,.26) !important;
  }
  .ca-bus-card.selected,
  .ca-sess-card.selected {
    background: linear-gradient(180deg, #eef8ff, #e8f5fb) !important;
    border-color: rgba(46,126,195,.44) !important;
  }
}

/* Catalyst Connect production polish pass: admin readability, bus alerts, sharing/print, reminders */
.ca-backoffice-page,
.ca-admin-page { color: #102a43; }
.ca-admin-card,
.ca-admin-mini-card,
.ca-admin-nested-card,
.ca-admin-table-wrap,
.ca-edit-form {
  overflow: visible;
  max-width: 100%;
}
.ca-admin-card,
.ca-admin-mini-card,
.ca-admin-nested-card {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,255,.95)) !important;
  border: 1px solid rgba(13,39,66,.12) !important;
  color: #102a43 !important;
}
.ca-admin-section-heading { align-items: flex-start; }
.ca-admin-section-heading p,
.ca-admin-card p,
.ca-admin-mini-card p,
.ca-admin-nested-card p { color: #5f6f82; line-height: 1.55; }
.ca-admin-form-grid label,
.ca-toggle-field span:first-child { color: #102a43 !important; }
.ca-admin-form-grid small { color: #64748b; font-weight: 650; }
.ca-admin-table-wrap {
  overflow: auto;
  max-height: none;
  background: #fff !important;
  box-shadow: 0 18px 42px rgba(7,20,33,.07);
}
.ca-admin-edit-table { table-layout: auto; }
.ca-admin-edit-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #eff6fb !important;
  color: #21435f !important;
}
.ca-admin-edit-table td {
  color: #102a43 !important;
  background: rgba(255,255,255,.96);
  min-width: 120px;
}
.ca-admin-edit-table tr:nth-child(even) td { background: #f8fbfe; }
.ca-admin-edit-table td:last-child { min-width: 96px; }
.ca-input,
.ca-admin-select,
.ca-json-editor,
.ca-admin-edit-table input,
.ca-admin-edit-table textarea,
.ca-admin-edit-table select {
  min-width: 0;
  width: 100%;
  color: #102a43 !important;
  background: #fff !important;
  caret-color: #102a43;
}
.ca-input::placeholder { color: #8a9aab; }
.ca-input.small { min-width: 76px; }
.ca-input.xsmall { min-width: 64px; }
.ca-admin-btn,
.ca-submit-btn { white-space: nowrap; }
.ca-admin-btn:focus-visible,
.ca-submit-btn:focus-visible,
.ca-action-card:focus-visible,
.ca-input:focus-visible {
  outline: 3px solid rgba(47,127,189,.30);
  outline-offset: 2px;
}
.ca-bus-comment-input { min-width: 220px; min-height: 56px; resize: vertical; }
.ca-bus-note-pill {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  margin-top: .55rem;
  padding: .38rem .62rem;
  border-radius: 999px;
  border: 1px solid rgba(47,127,189,.22);
  background: linear-gradient(135deg, rgba(47,127,189,.14), rgba(85,214,194,.16));
  color: #164d72 !important;
  font-size: .78rem;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: .01em;
  white-space: normal;
  overflow-wrap: anywhere;
}
.ca-bus-note-summary { border-radius: 12px; margin-top: .45rem; }
.ca-agenda-qr-card {
  display: grid;
  grid-template-columns: 92px minmax(0,1fr);
  gap: .85rem;
  align-items: center;
  margin: 1rem 1rem 0;
  padding: .85rem;
  border-radius: 18px;
  border: 1px solid rgba(13,39,66,.10);
  background: linear-gradient(180deg, #f8fbfe, #eef6fb);
}
.ca-agenda-qr-card img { width: 92px; height: 92px; border-radius: 12px; background: #fff; padding: .35rem; }
.ca-agenda-qr-card strong { display: block; color: #102a43; }
.ca-agenda-qr-card span { display: block; margin-top: .2rem; color: #64748b; font-size: .86rem; line-height: 1.4; }
.ca-action-danger { border-color: rgba(159,18,57,.22) !important; background: linear-gradient(180deg, #fff7f8, #fff1f2) !important; }
.ca-action-danger strong { color: #9f1239 !important; }
.ca-action-button:disabled { opacity: .62; cursor: not-allowed; transform: none; }
.ca-reminder-editor { display: grid; gap: 1rem; }
.ca-reminder-card { display: grid; gap: .85rem; }
.ca-reminder-message { min-height: 116px; resize: vertical; }
.ca-char-count { justify-self: end; color: #64748b; font-size: .78rem; font-weight: 800; }
.ca-reminder-preview {
  padding: .85rem 1rem;
  border-radius: 16px;
  border: 1px dashed rgba(47,127,189,.28);
  background: rgba(47,127,189,.07);
  color: #36566e;
  line-height: 1.5;
}
.ca-toggle-inline { display: flex; align-items: center; gap: .5rem; line-height: 1.35; }
.ca-toggle-inline input[type="checkbox"] { width: 1.05rem; height: 1.05rem; accent-color: #2f7fbd; }

@media (prefers-color-scheme: dark) {
  .ca-admin-card,
  .ca-admin-mini-card,
  .ca-admin-nested-card,
  .ca-admin-table-wrap,
  .ca-summary-body,
  .ca-agenda-qr-card {
    background: linear-gradient(180deg, #102033, #0c1a2a) !important;
    border-color: rgba(143,200,255,.18) !important;
    color: #e8f2fb !important;
  }
  .ca-admin-section-heading h2,
  .ca-admin-form-grid label,
  .ca-admin-card-head h2,
  .ca-admin-json-details summary,
  .ca-agenda-qr-card strong { color: #e8f2fb !important; }
  .ca-admin-section-heading p,
  .ca-admin-card p,
  .ca-admin-mini-card p,
  .ca-admin-nested-card p,
  .ca-admin-form-grid small,
  .ca-agenda-qr-card span,
  .ca-reminder-preview { color: #b8c7d6 !important; }
  .ca-admin-table-wrap { background: #0c1a2a !important; }
  .ca-admin-edit-table th { background: #14263a !important; color: #bfe3ff !important; }
  .ca-admin-edit-table td { background: #0f2032 !important; color: #e8f2fb !important; border-color: rgba(143,200,255,.12) !important; }
  .ca-admin-edit-table tr:nth-child(even) td { background: #12263a !important; }
  .ca-input,
  .ca-admin-select,
  .ca-json-editor,
  .ca-admin-edit-table input,
  .ca-admin-edit-table textarea,
  .ca-admin-edit-table select {
    background: #0a1726 !important;
    color: #e8f2fb !important;
    border-color: rgba(143,200,255,.20) !important;
  }
  .ca-input::placeholder { color: #8192a6 !important; }
  .ca-bus-note-pill { background: rgba(85,214,194,.13) !important; border-color: rgba(85,214,194,.26) !important; color: #a8fff1 !important; }
  .ca-reminder-preview { background: rgba(47,127,189,.13) !important; border-color: rgba(143,200,255,.24) !important; }
  .ca-action-danger { background: rgba(159,18,57,.15) !important; border-color: rgba(251,113,133,.24) !important; }
  .ca-action-danger strong { color: #fecdd3 !important; }
}

@media (max-width: 760px) {
  .ca-admin-actions,
  .ca-admin-toolbar,
  .ca-action-grid { align-items: stretch; }
  .ca-admin-btn,
  .ca-submit-btn { width: 100%; justify-content: center; }
  .ca-agenda-qr-card { grid-template-columns: 1fr; text-align: center; justify-items: center; }
}

@media print {
  body.ca-print-agenda-only > *:not(.page-wrap) { display: none !important; }
  body.ca-print-agenda-only .ca-hero,
  body.ca-print-agenda-only .ca-progress-track,
  body.ca-print-agenda-only .ca-confirm-body,
  body.ca-print-agenda-only .ca-back-link { display: none !important; }
  body.ca-print-agenda-only .page-wrap,
  body.ca-print-agenda-only .ca-confirm-layout,
  body.ca-print-agenda-only .ca-confirm-agenda {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
  }
  body.ca-print-agenda-only .ca-confirm-agenda::before {
    content: 'Catalyst Connect';
    display: block;
    padding: 18px 22px;
    margin-bottom: 12px;
    border-radius: 18px;
    background: #0d2742;
    color: #fff;
    font: 800 28px/1 'Barlow Condensed', Arial, sans-serif;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  body.ca-print-agenda-only .ca-sum-row { break-inside: avoid; page-break-inside: avoid; }
  body.ca-print-agenda-only .ca-agenda-qr-card { display: none !important; }
}

/* =====================================================================
   V7 — Back-office readability + wider production admin layout
   Purpose: replace the dark, cramped admin editing surface with a wide,
   light-forward Catalyst control room that keeps data tables usable.
   ===================================================================== */
:root {
  --ca-admin-ink: #0b2036;
  --ca-admin-muted: #53657a;
  --ca-admin-soft: #f4f8fc;
  --ca-admin-panel: #ffffff;
  --ca-admin-panel-2: #f8fbfe;
  --ca-admin-line: rgba(11, 32, 54, .13);
  --ca-admin-line-strong: rgba(28, 87, 132, .24);
  --ca-admin-blue: #1f73ad;
  --ca-admin-teal: #20a8a4;
  --ca-admin-shadow: 0 22px 60px rgba(7, 20, 33, .11);
}

body:has(.ca-admin-page),
body:has(.ca-backoffice-page) {
  overflow-x: hidden;
}

.ca-admin-page.page-wrap,
.ca-backoffice-page.page-wrap,
.ca-admin-page.page-wrap-wide,
.ca-backoffice-page.page-wrap-wide {
  width: min(96vw, 1700px);
  max-width: 1700px;
}

.ca-admin-page {
  padding-top: 1.75rem;
  color: var(--ca-admin-ink);
}

.ca-admin-page .ca-admin-hero {
  width: 100%;
  min-height: 150px;
  padding: clamp(1.4rem, 2.4vw, 2.4rem);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 30px;
  background:
    radial-gradient(circle at 92% 8%, rgba(85, 214, 194, .20), transparent 24rem),
    linear-gradient(135deg, #08192b 0%, #103b61 58%, #17618c 100%);
  box-shadow: 0 28px 75px rgba(7,20,33,.20);
}

.ca-admin-page .ca-admin-hero h1 {
  margin: .32rem 0 .25rem;
  color: #fff;
  font-size: clamp(2.25rem, 4vw, 4.25rem);
  letter-spacing: -.03em;
}

.ca-admin-page .ca-admin-hero p {
  color: rgba(236, 247, 255, .86);
  font-size: 1.02rem;
}

.ca-admin-page .ca-eyebrow {
  color: #9ed9ff;
}

.ca-admin-page .ca-admin-grid {
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  align-items: start;
  gap: 1.15rem;
}

.ca-admin-page .ca-admin-card,
.ca-admin-page .ca-admin-mini-card,
.ca-admin-page .ca-admin-nested-card,
.ca-admin-page .ca-edit-form,
.ca-admin-page .ca-admin-json-details {
  min-width: 0;
  width: 100%;
  overflow: hidden;
  color: var(--ca-admin-ink);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,254,.96)) !important;
  border: 1px solid var(--ca-admin-line) !important;
  border-radius: 26px;
  box-shadow: var(--ca-admin-shadow);
}

.ca-admin-page .ca-edit-form {
  padding: clamp(1rem, 1.4vw, 1.35rem);
}

.ca-admin-page .ca-admin-card-head,
.ca-admin-page .ca-nested-card-header,
.ca-admin-page .ca-admin-section-heading {
  min-width: 0;
}

.ca-admin-page .ca-admin-card-head h2,
.ca-admin-page .ca-nested-card-header h3,
.ca-admin-page .ca-admin-section-heading h2,
.ca-admin-page .ca-admin-json-details summary,
.ca-admin-page .ca-event-title,
.ca-admin-page label,
.ca-admin-page .ca-toggle-field > span:first-child {
  color: var(--ca-admin-ink) !important;
}

.ca-admin-page .ca-admin-card p,
.ca-admin-page .ca-admin-mini-card p,
.ca-admin-page .ca-admin-nested-card p,
.ca-admin-page .ca-admin-section-heading p,
.ca-admin-page .ca-event-meta,
.ca-admin-page .ca-admin-form-grid small,
.ca-admin-page .ca-sticky-savebar span,
.ca-admin-page .ca-admin-editor-note {
  color: var(--ca-admin-muted) !important;
}

.ca-admin-page .ca-admin-form-grid {
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: .95rem;
}

.ca-admin-page .ca-admin-form-grid.compact-grid {
  grid-template-columns: repeat(5, minmax(170px, 1fr));
}

.ca-admin-page .ca-admin-form-grid label,
.ca-admin-page .ca-toggle-field {
  min-width: 0;
  gap: .42rem;
  font-size: .95rem;
  font-weight: 850;
}

.ca-admin-page .ca-input,
.ca-admin-page .ca-admin-select,
.ca-admin-page .ca-json-editor,
.ca-admin-page input[type="text"],
.ca-admin-page input[type="date"],
.ca-admin-page input[type="time"],
.ca-admin-page input[type="number"],
.ca-admin-page input[type="email"],
.ca-admin-page textarea,
.ca-admin-page select {
  min-width: 0;
  width: 100%;
  min-height: 48px;
  color: #102a43 !important;
  background: #fff !important;
  border: 1px solid rgba(22, 59, 92, .22) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 18px rgba(7,20,33,.05), inset 0 1px 0 rgba(255,255,255,.92) !important;
  line-height: 1.35;
}

.ca-admin-page textarea.ca-input,
.ca-admin-page textarea {
  min-height: 74px;
  resize: vertical;
  white-space: normal;
}

.ca-admin-page .ca-input:focus,
.ca-admin-page .ca-admin-select:focus,
.ca-admin-page .ca-json-editor:focus,
.ca-admin-page input:focus,
.ca-admin-page textarea:focus,
.ca-admin-page select:focus {
  outline: none;
  border-color: rgba(31,115,173,.62) !important;
  box-shadow: 0 0 0 4px rgba(31,115,173,.15), 0 12px 24px rgba(7,20,33,.08) !important;
}

.ca-admin-page select,
.ca-admin-page .ca-admin-select,
.ca-admin-page select.ca-input {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 2.6rem;
  background-image:
    linear-gradient(45deg, transparent 50%, #52708d 50%),
    linear-gradient(135deg, #52708d 50%, transparent 50%) !important;
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50% !important;
  background-size: 6px 6px, 6px 6px !important;
  background-repeat: no-repeat !important;
}

.ca-admin-page input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--ca-admin-blue);
}

.ca-admin-page .ca-admin-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  border: 1px solid var(--ca-admin-line) !important;
  border-radius: 20px;
  background: #fff !important;
  box-shadow: 0 14px 34px rgba(7,20,33,.07);
}

.ca-admin-page .ca-admin-edit-table {
  width: max(100%, 1160px);
  min-width: 1160px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.ca-admin-page .ca-admin-edit-table.compact {
  width: max(100%, 1380px);
  min-width: 1380px;
}

.ca-admin-page .ca-admin-edit-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: .78rem .72rem;
  color: #204765 !important;
  background: linear-gradient(180deg, #eaf4fb, #dcebf6) !important;
  border-bottom: 1px solid rgba(22, 59, 92, .15);
  font-size: .76rem;
  line-height: 1.1;
  letter-spacing: .12em;
}

.ca-admin-page .ca-admin-edit-table td {
  padding: .72rem;
  color: var(--ca-admin-ink) !important;
  background: #ffffff !important;
  border-top: 1px solid rgba(22, 59, 92, .10) !important;
  vertical-align: top;
}

.ca-admin-page .ca-admin-edit-table tr:nth-child(even) td {
  background: #f7fbfe !important;
}

.ca-admin-page .ca-admin-edit-table th:nth-child(1),
.ca-admin-page .ca-admin-edit-table td:nth-child(1) { width: 118px; }
.ca-admin-page .ca-admin-edit-table th:last-child,
.ca-admin-page .ca-admin-edit-table td:last-child { width: 112px; }

.ca-admin-page .ca-admin-edit-table input,
.ca-admin-page .ca-admin-edit-table textarea,
.ca-admin-page .ca-admin-edit-table select {
  min-height: 44px;
  padding: .72rem .82rem;
  border-radius: 14px !important;
}

.ca-admin-page .ca-admin-edit-table textarea {
  min-height: 68px;
  overflow: auto;
}

.ca-admin-page .ca-input.small,
.ca-admin-page .ca-input.xsmall {
  max-width: none;
  min-width: 0;
}

.ca-admin-page .ca-slot-editor {
  width: 100%;
  min-width: 0;
  gap: 1.05rem;
}

.ca-admin-page .ca-admin-nested-card {
  padding: clamp(.95rem, 1.2vw, 1.15rem);
  background:
    linear-gradient(180deg, #ffffff, #f6faff) !important;
}

.ca-admin-page .ca-nested-card-header {
  align-items: flex-start;
}

.ca-admin-page .ca-admin-btn,
.ca-admin-page .ca-submit-btn,
.ca-admin-page .ca-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border: 1px solid rgba(31,115,173,.16);
  border-radius: 999px;
  background: linear-gradient(135deg, #1f73ad, #166092) !important;
  color: #fff !important;
  padding: .64rem 1rem;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(31,115,173,.18);
}

.ca-admin-page .ca-admin-btn.ghost,
.ca-admin-page .ca-admin-btn.light,
.ca-admin-page .ca-admin-btn.ca-admin-btn-light {
  background: #ffffff !important;
  color: var(--ca-admin-ink) !important;
  border-color: rgba(22,59,92,.18) !important;
  box-shadow: 0 10px 22px rgba(7,20,33,.08);
}

.ca-admin-page .ca-admin-hero .ca-admin-btn.ghost,
.ca-admin-page .ca-admin-hero .ca-admin-btn.light,
.ca-admin-page .ca-admin-hero .ca-admin-btn.ca-admin-btn-light {
  border-color: rgba(255,255,255,.55) !important;
}

.ca-admin-page .ca-admin-btn.danger {
  background: #fff4f6 !important;
  color: #a3123c !important;
  border-color: rgba(163,18,60,.22) !important;
  box-shadow: none;
}

.ca-admin-page .ca-admin-btn.live,
.ca-admin-page .ca-submit-btn {
  background: linear-gradient(135deg, #1f73ad, #20a8a4) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.24);
}

.ca-admin-page .ca-admin-btn:hover,
.ca-admin-page .ca-submit-btn:hover {
  transform: translateY(-2px);
  filter: none;
  box-shadow: 0 16px 34px rgba(31,115,173,.22);
}

.ca-admin-page .ca-admin-status {
  border: 1px solid transparent;
}

.ca-admin-page .ca-admin-status.live {
  color: #075c52;
  background: #dff9f3;
  border-color: rgba(7,92,82,.16);
}
.ca-admin-page .ca-admin-status.draft {
  color: #1a5f94;
  background: #e8f4ff;
  border-color: rgba(26,95,148,.15);
}
.ca-admin-page .ca-admin-status.completed,
.ca-admin-page .ca-admin-status.archived {
  color: #5b6472;
  background: #eef2f6;
  border-color: rgba(91,100,114,.15);
}

.ca-admin-page .ca-admin-slot-pill {
  min-height: 34px;
  white-space: normal;
  text-align: center;
  color: #08745f;
  background: #dff8f1;
  border-color: rgba(8,116,95,.16);
}

.ca-admin-page .ca-admin-slot-pill.full {
  color: #9f1239;
  background: #fff1f2;
  border-color: rgba(159,18,57,.18);
}

.ca-admin-page .ca-admin-slot-pill.muted {
  color: #64748b;
  background: #eef2f7;
  border-color: rgba(100,116,139,.16);
}

.ca-admin-page .ca-toggle-inline {
  min-height: 52px;
  color: var(--ca-admin-ink) !important;
  background: #f6faff !important;
  border: 1px solid rgba(22,59,92,.12) !important;
  border-radius: 16px;
}

.ca-admin-page .ca-sticky-savebar {
  margin: 1.35rem calc(-1 * clamp(1rem, 1.4vw, 1.35rem)) calc(-1 * clamp(1rem, 1.4vw, 1.35rem));
  background: rgba(248, 251, 254, .96) !important;
  border-top: 1px solid var(--ca-admin-line);
  backdrop-filter: blur(18px);
}

.ca-admin-page .ca-admin-json-details {
  padding: 1rem;
  background: #f8fbfe !important;
  border-style: dashed !important;
}

.ca-admin-page .ca-json-editor {
  min-height: 360px;
  font: 700 .86rem/1.45 Consolas, Monaco, monospace;
}

.ca-reminder-preview {
  background: #eef7ff !important;
  border-color: rgba(31,115,173,.24) !important;
  color: #234961 !important;
}

.ca-bus-note-pill,
.ca-bus-note-summary {
  background: linear-gradient(135deg, #e6fbf7, #e8f4ff) !important;
  border: 1px solid rgba(31,115,173,.22) !important;
  color: #0d4f74 !important;
  box-shadow: none !important;
}

.ca-bus-card .ca-bus-note-pill {
  display: inline-flex;
  justify-content: center;
  width: auto;
  max-width: 100%;
  margin-inline: auto;
  padding: .42rem .7rem;
  font-size: .78rem;
  line-height: 1.24;
}

@media (prefers-color-scheme: dark) {
  .ca-admin-page,
  .ca-backoffice-page {
    color: var(--ca-admin-ink) !important;
  }
  .ca-admin-page .ca-admin-card,
  .ca-admin-page .ca-admin-mini-card,
  .ca-admin-page .ca-admin-nested-card,
  .ca-admin-page .ca-edit-form,
  .ca-admin-page .ca-admin-json-details,
  .ca-admin-page .ca-admin-table-wrap,
  .ca-admin-page .ca-agenda-qr-card {
    color: var(--ca-admin-ink) !important;
    background: linear-gradient(180deg, #ffffff, #f7fbff) !important;
    border-color: var(--ca-admin-line) !important;
  }
  .ca-admin-page .ca-admin-card-head h2,
  .ca-admin-page .ca-nested-card-header h3,
  .ca-admin-page .ca-admin-section-heading h2,
  .ca-admin-page .ca-event-title,
  .ca-admin-page label,
  .ca-admin-page .ca-admin-json-details summary,
  .ca-admin-page .ca-toggle-field > span:first-child {
    color: var(--ca-admin-ink) !important;
  }
  .ca-admin-page .ca-admin-card p,
  .ca-admin-page .ca-admin-mini-card p,
  .ca-admin-page .ca-admin-nested-card p,
  .ca-admin-page .ca-admin-section-heading p,
  .ca-admin-page .ca-event-meta,
  .ca-admin-page .ca-admin-form-grid small,
  .ca-admin-page .ca-sticky-savebar span,
  .ca-admin-page .ca-reminder-preview {
    color: var(--ca-admin-muted) !important;
  }
  .ca-admin-page .ca-input,
  .ca-admin-page .ca-admin-select,
  .ca-admin-page .ca-json-editor,
  .ca-admin-page input[type="text"],
  .ca-admin-page input[type="date"],
  .ca-admin-page input[type="time"],
  .ca-admin-page input[type="number"],
  .ca-admin-page input[type="email"],
  .ca-admin-page textarea,
  .ca-admin-page select {
    color: #102a43 !important;
    background: #fff !important;
    border-color: rgba(22, 59, 92, .22) !important;
  }
  .ca-admin-page .ca-admin-edit-table th {
    color: #204765 !important;
    background: linear-gradient(180deg, #eaf4fb, #dcebf6) !important;
  }
  .ca-admin-page .ca-admin-edit-table td,
  .ca-admin-page .ca-admin-edit-table tr:nth-child(even) td {
    color: var(--ca-admin-ink) !important;
  }
  .ca-admin-page .ca-admin-edit-table td { background: #fff !important; }
  .ca-admin-page .ca-admin-edit-table tr:nth-child(even) td { background: #f7fbfe !important; }
}

@media (max-width: 1200px) {
  .ca-admin-page.page-wrap,
  .ca-backoffice-page.page-wrap,
  .ca-admin-page.page-wrap-wide,
  .ca-backoffice-page.page-wrap-wide {
    width: min(98vw, 100%);
  }
  .ca-admin-page .ca-admin-form-grid,
  .ca-admin-page .ca-admin-form-grid.compact-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

@media (max-width: 720px) {
  body { padding-inline: .65rem; }
  .ca-admin-page .ca-admin-hero,
  .ca-admin-page .ca-admin-section-heading,
  .ca-admin-page .ca-nested-card-header,
  .ca-admin-page .ca-sticky-savebar {
    flex-direction: column;
    align-items: stretch;
  }
  .ca-admin-page .ca-admin-form-grid,
  .ca-admin-page .ca-admin-form-grid.compact-grid {
    grid-template-columns: 1fr;
  }
  .ca-admin-page .ca-admin-grid {
    grid-template-columns: 1fr;
  }
  .ca-admin-page .ca-admin-actions,
  .ca-admin-page .ca-event-actions {
    align-items: stretch;
  }
  .ca-admin-page .ca-admin-btn,
  .ca-admin-page .ca-submit-btn {
    width: 100%;
  }
}

/* =====================================================================
   V8 targeted fixes — readable agenda cards, wider admin, event-level opt-out
   ===================================================================== */
.page-wrap-wide,
.ca-admin-page.page-wrap,
.ca-admin-page.page-wrap-wide,
.ca-backoffice-page.page-wrap,
.ca-backoffice-page.page-wrap-wide {
  width: min(96vw, 1760px);
  max-width: 1760px;
}

.ca-info-head {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.ca-info-title-block { min-width: 0; flex: 1; }
.ca-inline-interest-form { margin-left: auto; }
.ca-no-interest-btn {
  min-height: 34px;
  padding: .48rem .78rem;
  border-radius: 999px;
  border: 1px solid rgba(159,18,57,.18);
  background: #fff7f8;
  color: #9f1239;
  cursor: pointer;
  font: 900 .78rem/1 'Barlow Condensed', sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(159,18,57,.08);
}
.ca-no-interest-btn:hover:not(:disabled) { background: #fff1f2; transform: translateY(-1px); }
.ca-no-interest-btn:disabled { opacity: .48; cursor: not-allowed; box-shadow: none; }

.ca-confirm-agenda,
.ca-confirm-agenda.ca-side-panel,
.ca-side-panel.ca-confirm-agenda {
  background: #ffffff !important;
  border: 1px solid rgba(13,39,66,.12) !important;
  color: #102a43 !important;
  box-shadow: 0 18px 46px rgba(7,20,33,.10) !important;
}
.ca-confirm-agenda .ca-summary-head,
.ca-summary-head {
  background: linear-gradient(180deg, #f8fbfe, #edf4fa) !important;
  border: 1px solid rgba(13,39,66,.11) !important;
  border-radius: 20px 20px 0 0 !important;
}
.ca-confirm-agenda .ca-summary-title,
.ca-summary-title { color: #123456 !important; }
.ca-confirm-agenda .ca-summary-email,
.ca-summary-email { color: #617186 !important; }
.ca-confirm-agenda .ca-summary-body,
.ca-summary-body {
  background: #ffffff !important;
  border: 1px solid rgba(13,39,66,.11) !important;
  border-top: 0 !important;
  color: #102a43 !important;
}
.ca-confirm-agenda .ca-sum-row,
.ca-summary-body .ca-sum-row {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(13,39,66,.08) !important;
}
.ca-confirm-agenda .ca-sum-row:nth-child(even),
.ca-summary-body .ca-sum-row:nth-child(even) { background: #f8fbfe !important; }
.ca-confirm-agenda .ca-sum-time,
.ca-confirm-agenda .ca-sum-name,
.ca-summary-body .ca-sum-time,
.ca-summary-body .ca-sum-name { color: #102a43 !important; opacity: 1 !important; }
.ca-confirm-agenda .ca-sum-sub,
.ca-summary-body .ca-sum-sub { color: #5f6f82 !important; opacity: 1 !important; }
.ca-confirm-agenda .ca-sum-bar,
.ca-summary-body .ca-sum-bar { background: #2f7fbd !important; opacity: 1 !important; }
.ca-confirm-agenda .ca-mini-pill,
.ca-summary-body .ca-mini-pill {
  background: #e9f4fd !important;
  border: 1px solid rgba(47,127,189,.18) !important;
  color: #1a5f94 !important;
}
.ca-agenda-qr-link { display: block; border-radius: 14px; }
.ca-agenda-qr-link:focus-visible { outline: 3px solid rgba(47,127,189,.35); outline-offset: 3px; }

.ca-admin-page .ca-admin-hero,
.ca-admin-page .ca-admin-card,
.ca-admin-page .ca-edit-form,
.ca-admin-page .ca-admin-mini-card,
.ca-admin-page .ca-admin-nested-card {
  border-radius: 22px;
}
.ca-admin-page .ca-admin-form-grid { grid-template-columns: repeat(4, minmax(240px, 1fr)); }
.ca-admin-page .ca-admin-form-grid.compact-grid { grid-template-columns: repeat(4, minmax(220px, 1fr)); }
.ca-admin-page .ca-admin-table-wrap { overflow-x: auto; }
.ca-admin-page .ca-admin-edit-table.compact,
.ca-admin-page .ca-admin-edit-table,
.ca-admin-page .ca-registered-table {
  width: max(100%, 1480px);
  min-width: 1480px;
}
.ca-registered-card { margin-bottom: 1rem; }
.ca-admin-count-pill {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: .45rem .8rem;
  border-radius: 999px;
  background: #e9f4fd;
  border: 1px solid rgba(47,127,189,.18);
  color: #1a5f94;
  font-weight: 900;
}
.ca-empty-state {
  padding: 1rem;
  border-radius: 16px;
  border: 1px dashed rgba(47,127,189,.25);
  background: #f7fbff;
  color: #53657a;
  font-weight: 700;
}
.ca-admin-page .ca-admin-status.danger {
  color: #9f1239 !important;
  background: #fff1f2 !important;
  border-color: rgba(159,18,57,.18) !important;
}

@media (prefers-color-scheme: dark) {
  .ca-confirm-agenda,
  .ca-confirm-agenda.ca-side-panel,
  .ca-side-panel.ca-confirm-agenda,
  .ca-confirm-agenda .ca-summary-body,
  .ca-summary-body,
  .ca-agenda-qr-card {
    background: #ffffff !important;
    color: #102a43 !important;
    border-color: rgba(13,39,66,.12) !important;
  }
  .ca-confirm-agenda .ca-sum-row,
  .ca-summary-body .ca-sum-row { background: #ffffff !important; }
  .ca-confirm-agenda .ca-sum-row:nth-child(even),
  .ca-summary-body .ca-sum-row:nth-child(even) { background: #f8fbfe !important; }
  .ca-confirm-agenda .ca-summary-title,
  .ca-confirm-agenda .ca-sum-time,
  .ca-confirm-agenda .ca-sum-name,
  .ca-summary-body .ca-sum-time,
  .ca-summary-body .ca-sum-name,
  .ca-agenda-qr-card strong { color: #102a43 !important; }
  .ca-confirm-agenda .ca-summary-email,
  .ca-confirm-agenda .ca-sum-sub,
  .ca-summary-body .ca-sum-sub,
  .ca-agenda-qr-card span { color: #5f6f82 !important; }
  .ca-admin-page .ca-admin-card,
  .ca-admin-page .ca-admin-mini-card,
  .ca-admin-page .ca-admin-nested-card,
  .ca-admin-page .ca-edit-form,
  .ca-admin-page .ca-admin-table-wrap,
  .ca-admin-page .ca-admin-json-details {
    background: linear-gradient(180deg, #ffffff, #f7fbff) !important;
    color: #102a43 !important;
    border-color: rgba(13,39,66,.12) !important;
  }
  .ca-admin-page .ca-admin-section-heading h2,
  .ca-admin-page .ca-nested-card-header h3,
  .ca-admin-page label { color: #102a43 !important; }
  .ca-admin-page .ca-admin-section-heading p,
  .ca-admin-page .ca-admin-card p,
  .ca-admin-page .ca-admin-form-grid small { color: #53657a !important; }
  .ca-admin-page .ca-input,
  .ca-admin-page input,
  .ca-admin-page textarea,
  .ca-admin-page select {
    background: #ffffff !important;
    color: #102a43 !important;
    border-color: rgba(22,59,92,.22) !important;
  }
}

@media (max-width: 900px) {
  .ca-info-head { align-items: flex-start; flex-wrap: wrap; }
  .ca-inline-interest-form { width: 100%; margin-left: 0; }
  .ca-no-interest-btn { width: auto; }
  .ca-admin-page .ca-admin-form-grid,
  .ca-admin-page .ca-admin-form-grid.compact-grid { grid-template-columns: 1fr; }
}

/* Targeted hotfix: the attendee email field must stay light/readable even when the browser or page is in dark mode. */
#ca-email-input,
#ca-email-input.ca-input,
#catalyst-agenda-root #ca-email-input {
  background: #ffffff !important;
  color: #11263d !important;
  border-color: rgba(31, 98, 152, .22) !important;
  box-shadow: 0 0 0 4px rgba(46,126,195,.07), inset 0 1px 0 rgba(255,255,255,.92) !important;
  caret-color: #1f6ca8 !important;
}
#ca-email-input::placeholder,
#catalyst-agenda-root #ca-email-input::placeholder {
  color: #7d8ea2 !important;
}
#ca-email-input:focus,
#catalyst-agenda-root #ca-email-input:focus {
  background: #ffffff !important;
  color: #11263d !important;
  border-color: rgba(46,126,195,.58) !important;
  box-shadow: 0 0 0 5px rgba(46,126,195,.16), 0 12px 28px rgba(7,20,33,.09) !important;
}
.ca-inline-interest-form[hidden] { display: none !important; }

.ca-reminder-send-status {
  margin-top: .55rem;
  font-size: .86rem;
  font-weight: 800;
  color: #41546a;
}
.ca-reminder-send-status.success {
  color: #116c51;
}
.ca-reminder-send-status.warning {
  color: #a43b3f;
}

/* Targeted interaction hotfixes: PDF/share, opt-out page, and SMS test */
.ca-agenda-qr-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.ca-agenda-qr-link:hover,
.ca-agenda-qr-link:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(55,151,221,.45);
  box-shadow: 0 18px 38px rgba(15,23,42,.12);
  outline: none;
}

.ca-action-card:disabled,
.ca-action-button:disabled,
.ca-admin-btn:disabled,
.ca-submit-btn:disabled {
  opacity: .62;
  cursor: wait;
  transform: none;
}

.ca-interest-body {
  max-width: 920px;
  margin-inline: auto;
}

.ca-interest-card {
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 28px;
  padding: clamp(1.6rem, 3vw, 3rem);
  box-shadow: 0 26px 70px rgba(15,23,42,.12);
  text-align: center;
  color: #102033;
}

.ca-interest-card h2 {
  margin: .75rem 0 .75rem;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.05;
  color: #071728;
  letter-spacing: -.04em;
}

.ca-interest-card p {
  margin: .65rem auto;
  max-width: 680px;
  color: #52657a;
  line-height: 1.7;
}

.ca-interest-icon {
  width: 64px;
  height: 64px;
  display: inline-grid;
  place-items: center;
  border-radius: 22px;
  background: #eef7ff;
  color: #1f74b7;
  font-size: 2rem;
  font-weight: 900;
  border: 1px solid rgba(55,151,221,.24);
}

.ca-interest-actions {
  margin-top: 1.7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .8rem;
  flex-wrap: wrap;
}

.ca-action-link-btn {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: .7rem 1.05rem;
  border: 1px solid rgba(23,77,127,.18);
  background: #ffffff;
  color: #174d7f;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(15,23,42,.08);
}

.ca-action-link-btn:hover,
.ca-action-link-btn:focus-visible {
  background: #eef7ff;
  outline: none;
}

.ca-sms-test-card {
  margin-bottom: 1.25rem;
}

.compact-toolbar {
  margin-top: .95rem;
  gap: 1rem;
  align-items: center;
  justify-content: flex-start;
}

#smsTestStatus {
  min-height: 1.5rem;
}


/* SMS opt-in on public registration page */
.ca-sms-optin-panel {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(31, 108, 168, .18);
  border-radius: 20px;
  background: linear-gradient(135deg, #f8fbff, #ffffff);
  box-shadow: 0 12px 28px rgba(7,20,33,.055);
}
.ca-sms-optin-title {
  color: var(--ca-navy-900);
  font: 900 .9rem/1 'Barlow Condensed', sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ca-sms-optin-copy, .ca-sms-optin-note {
  margin-top: .25rem;
  color: #586d83;
  font-size: .88rem;
  line-height: 1.45;
}
.ca-sms-phone-label {
  display: block;
  margin: .85rem 0 .35rem;
  color: #102a43;
  font-weight: 800;
}
.ca-phone-input, #ca-phone-input.ca-input {
  background: #ffffff !important;
  color: #11263d !important;
  border-color: rgba(31,98,152,.22) !important;
}
.ca-sms-consent-row {
  display: flex;
  gap: .7rem;
  align-items: flex-start;
  margin-top: .8rem;
  color: #102a43;
  font-size: .9rem;
  line-height: 1.45;
  font-weight: 650;
}
.ca-sms-consent-row input[type="checkbox"] {
  flex: 0 0 auto;
  width: 1.1rem;
  height: 1.1rem;
  margin-top: .12rem;
  accent-color: #1f6ca8;
}
@media (max-width: 640px) {
  .ca-sms-optin-panel { padding: .9rem; border-radius: 16px; }
}

/* ============================= POLICY / LEGAL PAGES ============================= */
.ca-policy-hero .ca-brand-logo,
.ca-confirm-brand-row .ca-brand-logo {
  filter: drop-shadow(0 16px 24px rgba(0,0,0,.22));
}
.ca-confirm-brand-row { margin-bottom: 1rem; }
.ca-confirm-headline { max-width: 820px; }
.ca-policy-shell {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(155,181,205,.45);
  border-radius: 0 0 32px 32px;
  box-shadow: var(--ca-shadow-soft);
  padding: clamp(1.15rem, 2.4vw, 2rem);
}
.ca-policy-card {
  max-width: 980px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid rgba(155,181,205,.42);
  border-radius: 26px;
  box-shadow: 0 18px 40px rgba(11,35,61,.09);
  padding: clamp(1.3rem, 3vw, 2.35rem);
  color: var(--ca-navy-900);
}
.ca-policy-meta {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: 1rem;
  padding: .42rem .72rem;
  border-radius: 999px;
  background: #eef7ff;
  color: var(--ca-blue-700);
  font: 800 .78rem/1 'Barlow Condensed', sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ca-policy-card h2 {
  margin: 1.4rem 0 .45rem;
  color: var(--ca-navy-950);
  font: 850 1.38rem/1.05 'Barlow Condensed', sans-serif;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.ca-policy-card h2:first-of-type { margin-top: .4rem; }
.ca-policy-card p {
  margin: 0;
  color: #42546a;
  font-size: 1rem;
  line-height: 1.72;
}
.ca-policy-card a { color: var(--ca-blue-700); font-weight: 800; }
.ca-policy-actions {
  max-width: 980px;
  margin: 1rem auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .8rem;
}
.ca-policy-actions .ca-back-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: .7rem 1rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(155,181,205,.5);
  color: var(--ca-blue-700);
  box-shadow: 0 10px 22px rgba(11,35,61,.08);
  text-decoration: none;
}
@media (max-width: 760px) {
  .ca-policy-shell { border-radius: 0 0 24px 24px; padding: 1rem; }
  .ca-policy-card { border-radius: 22px; padding: 1.15rem; }
  .ca-policy-actions { flex-direction: column; }
  .ca-policy-actions .ca-back-link { width: 100%; }
}
.ca-sms-optin-note a {
  color: var(--ca-blue-700);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* =====================================================================
   Static / fixed agenda item styling
   Makes non-editable agenda blocks visually distinct everywhere the
   agenda is shown: builder, review, confirmation, printable PDF view.
   ===================================================================== */
:root {
  --ca-fixed-bg: #fff8e8;
  --ca-fixed-bg-2: #fffdf6;
  --ca-fixed-line: rgba(183, 139, 42, .34);
  --ca-fixed-accent: #b7791f;
  --ca-fixed-accent-2: #f2c76f;
  --ca-fixed-ink: #2f220c;
  --ca-fixed-muted: #6f5b33;
}

.ca-fixed-row.ca-static-agenda-row,
.ca-summary-body .ca-sum-row.ca-static-agenda-row {
  position: relative;
  background:
    linear-gradient(90deg, rgba(242,199,111,.22), transparent 34%),
    linear-gradient(180deg, var(--ca-fixed-bg-2), var(--ca-fixed-bg));
  border-bottom-color: rgba(183,139,42,.2);
}

.ca-fixed-row.ca-static-agenda-row {
  border: 1px solid var(--ca-fixed-line);
  box-shadow: inset 4px 0 0 var(--ca-fixed-accent-2), 0 10px 24px rgba(95,70,20,.07);
}

.ca-summary-body .ca-sum-row.ca-static-agenda-row {
  box-shadow: inset 4px 0 0 rgba(242,199,111,.8);
}

.ca-static-agenda-row .ca-fixed-bar,
.ca-static-agenda-row .ca-sum-bar,
.ca-sum-bar.static {
  background: linear-gradient(180deg, var(--ca-fixed-accent-2), var(--ca-fixed-accent));
  box-shadow: 0 0 0 1px rgba(183,139,42,.18);
}

.ca-static-agenda-row .ca-fixed-name,
.ca-static-agenda-row .ca-sum-name {
  color: var(--ca-fixed-ink);
}

.ca-static-agenda-row .ca-fixed-sub,
.ca-static-agenda-row .ca-sum-sub,
.ca-static-agenda-row .ca-fixed-time,
.ca-static-agenda-row .ca-sum-time {
  color: var(--ca-fixed-muted);
}

.ca-fixed-kicker {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 .28rem;
  padding: .18rem .48rem;
  border: 1px solid rgba(183,139,42,.26);
  border-radius: 999px;
  background: rgba(255,255,255,.68);
  color: var(--ca-fixed-accent);
  font: 900 .62rem/1 'Barlow Condensed', sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.ca-static-agenda-row .ca-mini-pill {
  background: rgba(255,255,255,.78);
}

@media (prefers-color-scheme: dark) {
  :root {
    --ca-fixed-bg: #3a2a10;
    --ca-fixed-bg-2: #2c220f;
    --ca-fixed-line: rgba(242,199,111,.32);
    --ca-fixed-accent: #f5c85d;
    --ca-fixed-accent-2: #d99f31;
    --ca-fixed-ink: #fff2cc;
    --ca-fixed-muted: #e6c983;
  }

  .ca-fixed-row.ca-static-agenda-row,
  .ca-summary-body .ca-sum-row.ca-static-agenda-row {
    background:
      linear-gradient(90deg, rgba(242,199,111,.14), transparent 38%),
      linear-gradient(180deg, rgba(59,42,16,.92), rgba(36,29,15,.94));
    border-color: var(--ca-fixed-line);
  }

  .ca-fixed-kicker {
    background: rgba(255,255,255,.08);
    border-color: rgba(242,199,111,.32);
    color: #ffe0a3;
  }
}

@media print {
  body.ca-print-agenda-only .ca-summary-body .ca-sum-row.ca-static-agenda-row {
    background: #fff8e8 !important;
    box-shadow: inset 4px 0 0 #d7b56d !important;
  }
  body.ca-print-agenda-only .ca-static-agenda-row .ca-sum-name,
  body.ca-print-agenda-only .ca-static-agenda-row .ca-fixed-name {
    color: #2f220c !important;
  }
  body.ca-print-agenda-only .ca-static-agenda-row .ca-sum-sub,
  body.ca-print-agenda-only .ca-static-agenda-row .ca-sum-time {
    color: #6f5b33 !important;
  }
}


/* =====================================================================
   Static agenda readability pass
   Makes locked/included rows clear without the pale low-contrast yellow.
   ===================================================================== */
:root {
  --ca-fixed-bg: #eef7ff;
  --ca-fixed-bg-2: #f8fcff;
  --ca-fixed-line: rgba(47, 127, 189, .30);
  --ca-fixed-accent: #0b5e96;
  --ca-fixed-accent-2: #2f7fbd;
  --ca-fixed-ink: #0b2035;
  --ca-fixed-muted: #465c73;
}

.ca-fixed-row.ca-static-agenda-row,
.ca-summary-body .ca-sum-row.ca-static-agenda-row,
.ca-confirm-agenda .ca-sum-row.ca-static-agenda-row {
  background: linear-gradient(90deg, rgba(47,127,189,.16), rgba(248,252,255,.98) 32%, #ffffff 100%) !important;
  border-color: rgba(47,127,189,.22) !important;
  box-shadow: inset 5px 0 0 #2f7fbd !important;
}

.ca-static-agenda-row .ca-fixed-bar,
.ca-static-agenda-row .ca-sum-bar,
.ca-static-agenda-row .ca-sum-bar.static,
.ca-summary-body .ca-static-agenda-row .ca-sum-bar,
.ca-confirm-agenda .ca-static-agenda-row .ca-sum-bar {
  background: #0b5e96 !important;
  opacity: 1 !important;
  box-shadow: none !important;
}


.ca-static-agenda-row .ca-fixed-content,
.ca-static-agenda-row .ca-sum-content,
.ca-summary-body .ca-static-agenda-row .ca-sum-content,
.ca-confirm-agenda .ca-static-agenda-row .ca-sum-content {
  padding-left: .15rem !important;
}

.ca-static-agenda-row .ca-fixed-time,
.ca-static-agenda-row .ca-sum-time,
.ca-summary-body .ca-static-agenda-row .ca-sum-time,
.ca-confirm-agenda .ca-static-agenda-row .ca-sum-time {
  color: #0b2035 !important;
  font-weight: 900 !important;
}

.ca-static-agenda-row .ca-fixed-name,
.ca-static-agenda-row .ca-sum-name,
.ca-summary-body .ca-static-agenda-row .ca-sum-name,
.ca-confirm-agenda .ca-static-agenda-row .ca-sum-name {
  color: #0b2035 !important;
  font-weight: 900 !important;
}

.ca-static-agenda-row .ca-fixed-sub,
.ca-static-agenda-row .ca-sum-sub,
.ca-summary-body .ca-static-agenda-row .ca-sum-sub,
.ca-confirm-agenda .ca-static-agenda-row .ca-sum-sub {
  color: #52657a !important;
}

.ca-fixed-kicker {
  margin: 0 0 .42rem;
  padding: .28rem .62rem;
  background: #0b5e96 !important;
  border: 1px solid #0b5e96 !important;
  color: #ffffff !important;
  font-size: .68rem;
  letter-spacing: .10em;
  box-shadow: 0 5px 12px rgba(11, 94, 150, .18);
}

.ca-static-agenda-row .ca-mini-pill {
  background: #e9f4fd !important;
  border-color: rgba(47,127,189,.22) !important;
  color: #0b5e96 !important;
}

@media (prefers-color-scheme: dark) {
  .ca-fixed-row.ca-static-agenda-row,
  .ca-summary-body .ca-sum-row.ca-static-agenda-row,
  .ca-confirm-agenda .ca-sum-row.ca-static-agenda-row {
    background: linear-gradient(90deg, rgba(80,170,231,.20), rgba(16,42,67,.96) 35%, rgba(11,32,53,.98) 100%) !important;
    border-color: rgba(80,170,231,.30) !important;
    box-shadow: inset 5px 0 0 #50aae7 !important;
  }

  .ca-static-agenda-row .ca-fixed-time,
  .ca-static-agenda-row .ca-sum-time,
  .ca-static-agenda-row .ca-fixed-name,
  .ca-static-agenda-row .ca-sum-name,
  .ca-summary-body .ca-static-agenda-row .ca-sum-time,
  .ca-summary-body .ca-static-agenda-row .ca-sum-name,
  .ca-confirm-agenda .ca-static-agenda-row .ca-sum-time,
  .ca-confirm-agenda .ca-static-agenda-row .ca-sum-name {
    color: #f7fbff !important;
  }

  .ca-static-agenda-row .ca-fixed-sub,
  .ca-static-agenda-row .ca-sum-sub,
  .ca-summary-body .ca-static-agenda-row .ca-sum-sub,
  .ca-confirm-agenda .ca-static-agenda-row .ca-sum-sub {
    color: #c9d7e6 !important;
  }

  .ca-fixed-kicker {
    background: #50aae7 !important;
    border-color: #50aae7 !important;
    color: #06233a !important;
    box-shadow: none;
  }
}

@media print {
  body.ca-print-agenda-only .ca-summary-body .ca-sum-row.ca-static-agenda-row {
    background: #eef7ff !important;
    box-shadow: inset 5px 0 0 #2f7fbd !important;
  }
  body.ca-print-agenda-only .ca-static-agenda-row .ca-sum-name,
  body.ca-print-agenda-only .ca-static-agenda-row .ca-fixed-name,
  body.ca-print-agenda-only .ca-static-agenda-row .ca-sum-time,
  body.ca-print-agenda-only .ca-static-agenda-row .ca-fixed-time {
    color: #0b2035 !important;
  }
  body.ca-print-agenda-only .ca-static-agenda-row .ca-sum-sub,
  body.ca-print-agenda-only .ca-static-agenda-row .ca-fixed-sub {
    color: #52657a !important;
  }
}

/* =====================================================================
   Static agenda final readability pass
   Keep locked/included rows light and high-contrast in every theme.
   ===================================================================== */
.ca-fixed-row.ca-static-agenda-row,
.ca-summary-body .ca-sum-row.ca-static-agenda-row,
.ca-confirm-agenda .ca-sum-row.ca-static-agenda-row {
  background: #f6fbff !important;
  background-image: none !important;
  border: 2px solid #7ea9cf !important;
  box-shadow: inset 4px 0 0 #2d8ed6, 0 8px 22px rgba(16, 62, 100, .08) !important;
  color: #102a43 !important;
}

.ca-fixed-row.ca-static-agenda-row:hover,
.ca-summary-body .ca-sum-row.ca-static-agenda-row:hover,
.ca-confirm-agenda .ca-sum-row.ca-static-agenda-row:hover {
  background: #f0f8ff !important;
  border-color: #5f93c2 !important;
}

.ca-static-agenda-row .ca-fixed-bar,
.ca-static-agenda-row .ca-sum-bar,
.ca-static-agenda-row .ca-sum-bar.static,
.ca-summary-body .ca-static-agenda-row .ca-sum-bar,
.ca-confirm-agenda .ca-static-agenda-row .ca-sum-bar {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  box-shadow: none !important;
}

.ca-static-agenda-row .ca-fixed-time,
.ca-static-agenda-row .ca-sum-time,
.ca-summary-body .ca-static-agenda-row .ca-sum-time,
.ca-confirm-agenda .ca-static-agenda-row .ca-sum-time {
  color: #082033 !important;
  font-weight: 900 !important;
  text-shadow: none !important;
}

.ca-static-agenda-row .ca-fixed-name,
.ca-static-agenda-row .ca-sum-name,
.ca-summary-body .ca-static-agenda-row .ca-sum-name,
.ca-confirm-agenda .ca-static-agenda-row .ca-sum-name {
  color: #102a43 !important;
  font-weight: 900 !important;
  text-shadow: none !important;
}

.ca-static-agenda-row .ca-fixed-sub,
.ca-static-agenda-row .ca-sum-sub,
.ca-summary-body .ca-static-agenda-row .ca-sum-sub,
.ca-confirm-agenda .ca-static-agenda-row .ca-sum-sub {
  color: #40566c !important;
  font-weight: 500 !important;
  text-shadow: none !important;
}

.ca-static-agenda-row .ca-fixed-kicker,
.ca-fixed-kicker {
  background: #176da8 !important;
  border: 1px solid #176da8 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.ca-static-agenda-row .ca-mini-pill {
  background: #e8f5ff !important;
  border-color: #aad7f5 !important;
  color: #0b5e96 !important;
  font-weight: 900 !important;
  text-shadow: none !important;
}

/* Do not invert included/static rows in dark mode. These rows intentionally stay light
   so users can quickly identify agenda items that are included and not editable. */
@media (prefers-color-scheme: dark) {
  .ca-fixed-row.ca-static-agenda-row,
  .ca-summary-body .ca-sum-row.ca-static-agenda-row,
  .ca-confirm-agenda .ca-sum-row.ca-static-agenda-row {
    background: #f6fbff !important;
    background-image: none !important;
    border-color: #7ea9cf !important;
    border-width: 2px !important;
    box-shadow: inset 4px 0 0 #2d8ed6, 0 8px 22px rgba(16, 62, 100, .08) !important;
    color: #102a43 !important;
  }

  .ca-static-agenda-row .ca-fixed-time,
  .ca-static-agenda-row .ca-sum-time,
  .ca-static-agenda-row .ca-fixed-name,
  .ca-static-agenda-row .ca-sum-name,
  .ca-summary-body .ca-static-agenda-row .ca-sum-time,
  .ca-summary-body .ca-static-agenda-row .ca-sum-name,
  .ca-confirm-agenda .ca-static-agenda-row .ca-sum-time,
  .ca-confirm-agenda .ca-static-agenda-row .ca-sum-name {
    color: #102a43 !important;
    text-shadow: none !important;
  }

  .ca-static-agenda-row .ca-fixed-sub,
  .ca-static-agenda-row .ca-sum-sub,
  .ca-summary-body .ca-static-agenda-row .ca-sum-sub,
  .ca-confirm-agenda .ca-static-agenda-row .ca-sum-sub {
    color: #40566c !important;
    text-shadow: none !important;
  }

  .ca-static-agenda-row .ca-fixed-kicker,
  .ca-fixed-kicker {
    background: #176da8 !important;
    border-color: #176da8 !important;
    color: #ffffff !important;
  }
}

/* =====================================================================
   Agenda sequence + header skip refinement
   ===================================================================== */
.ca-info-badge {
  text-transform: lowercase;
  font-family: inherit;
  font-weight: 900;
}

.ca-included-agenda-section {
  border-color: #7ea9cf !important;
  background: #f6fbff !important;
  box-shadow: inset 4px 0 0 #2d8ed6, 0 8px 22px rgba(16, 62, 100, .08) !important;
}

.ca-included-section-head {
  background: transparent !important;
}

.ca-included-step-badge {
  background: #176da8 !important;
  color: #fff !important;
  border-color: #176da8 !important;
}

.ca-session-section-head {
  align-items: flex-start;
  gap: 1rem;
}

.ca-section-title-stack {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-width: 0;
}

.ca-header-skip-btn {
  align-self: flex-start;
  margin-top: .15rem;
  padding: .32rem .72rem;
  min-height: 0;
  border-radius: 999px;
  font-size: .78rem;
  line-height: 1.2;
  background: #eef7ff;
  border: 1px solid #9dcced;
  color: #0b5e96;
  box-shadow: none;
}

.ca-header-skip-btn:hover,
.ca-header-skip-btn:focus-visible {
  background: #dff0ff;
  border-color: #5f9fd1;
  color: #083d66;
}

@media (max-width: 720px) {
  .ca-session-section-head {
    align-items: stretch;
  }

  .ca-header-skip-btn {
    width: fit-content;
  }
}

.ca-section-time-stack {
  margin-left: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .45rem;
  text-align: right;
}

@media (max-width: 720px) {
  .ca-section-time-stack {
    margin-left: 0;
    align-items: flex-start;
    text-align: left;
  }
}

/* =====================================================================
   Included agenda reveal + note readability
   ===================================================================== */
.ca-included-agenda-section[hidden] {
  display: none !important;
}

.ca-included-title-stack {
  gap: .28rem;
}

.ca-included-label-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
  min-width: 0;
}

.ca-included-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .22rem .58rem;
  border-radius: 999px;
  background: #176da8;
  border: 1px solid #176da8;
  color: #ffffff;
  font: 900 .68rem/1 'Barlow Condensed', sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.ca-included-note {
  margin-top: .12rem;
  color: #275675;
  font-size: .86rem;
  font-weight: 800;
  line-height: 1.35;
}

.ca-included-agenda-section .ca-section-micro {
  color: #40566c;
  font-weight: 600;
}

.ca-included-agenda-section .ca-section-label {
  color: #102a43;
  font-weight: 900;
}

@media (prefers-color-scheme: dark) {
  .ca-included-agenda-section .ca-section-label,
  .ca-included-agenda-section .ca-section-time {
    color: #102a43 !important;
  }

  .ca-included-agenda-section .ca-section-micro {
    color: #40566c !important;
  }

  .ca-included-note {
    color: #275675 !important;
  }
}

/* =====================================================================
   Itinerary wording / included item / review layout cleanup
   ===================================================================== */
.ca-included-help-card {
  border-color: rgba(47, 127, 189, .26) !important;
  background: linear-gradient(145deg, #ffffff, #f4f9fe) !important;
  color: #102a43 !important;
}
.ca-included-help-card::before {
  background: linear-gradient(90deg, #2f7fbd, #52cdbc) !important;
  opacity: 1 !important;
}
.ca-included-help-card .ca-side-kicker { color: #0b5e96 !important; }
.ca-included-help-card .ca-side-title {
  color: #102a43 !important;
  font-size: 1.28rem !important;
  line-height: 1.08 !important;
}
.ca-included-help-card .ca-side-copy {
  color: #52657a !important;
  opacity: 1 !important;
  font-weight: 600;
}

.ca-summary-body .ca-sum-row {
  grid-template-columns: 34px 112px minmax(0, 1fr) !important;
  gap: .9rem !important;
  align-items: start !important;
}
.ca-summary-body .ca-sum-row::before {
  content: attr(data-itinerary-number);
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e8f5ff;
  border: 1px solid #aad7f5;
  color: #0b5e96;
  font: 900 .8rem/1 'Barlow Condensed', Arial, sans-serif;
  letter-spacing: .03em;
  box-shadow: 0 6px 14px rgba(47,127,189,.12);
}
.ca-summary-body .ca-sum-row:not([data-itinerary-number])::before { content: none; display: none; }
.ca-summary-body .ca-sum-bar { display: none !important; }
.ca-summary-body .ca-sum-content { min-width: 0; }
.ca-summary-body .ca-sum-time {
  color: #0b2035 !important;
  font-weight: 900 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  line-height: 1.25 !important;
}
.ca-summary-body .ca-sum-name {
  color: #102a43 !important;
  font-weight: 900 !important;
  line-height: 1.28 !important;
  max-width: 100% !important;
}
.ca-summary-body .ca-sum-sub {
  color: #52657a !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}
.ca-summary-body .ca-sum-row.ca-static-agenda-row {
  grid-template-columns: 34px 112px minmax(0, 1fr) !important;
  background: #f6fbff !important;
  border: 2px solid #7ea9cf !important;
  box-shadow: inset 4px 0 0 #2d8ed6 !important;
  margin: .35rem 0 !important;
}
.ca-summary-body .ca-sum-row.ca-static-agenda-row::before {
  background: #176da8;
  border-color: #176da8;
  color: #fff;
}
.ca-summary-body .ca-sum-row.ca-static-agenda-row .ca-fixed-kicker {
  margin: 0 0 .35rem 0 !important;
  width: fit-content;
}

@media (max-width: 720px) {
  .ca-summary-body .ca-sum-row,
  .ca-summary-body .ca-sum-row.ca-static-agenda-row {
    grid-template-columns: 30px minmax(76px, .34fr) minmax(0, 1fr) !important;
    gap: .7rem !important;
    padding: .85rem .75rem !important;
  }
  .ca-summary-body .ca-sum-row::before {
    width: 26px;
    height: 26px;
  }
}


/* =====================================================================
   Keep numbered step badges readable after completion
   ===================================================================== */
.ca-step-badge.done {
  color: #ffffff !important;
  background: linear-gradient(145deg, #15805f, #20a67a) !important;
}

.ca-step-badge.done::after {
  display: none !important;
  content: none !important;
}

.ca-step-badge.ca-included-step-badge.done {
  color: #ffffff !important;
}


/* =====================================================================
   Confirmation itinerary neat layout pass
   Keeps confirmed itinerary readable in the right/side card and on narrow screens.
   ===================================================================== */
.ca-confirm-agenda .ca-summary-body.ca-confirm-summary-body,
.ca-confirm-agenda .ca-summary-body {
  overflow: hidden !important;
  background: #ffffff !important;
}

.ca-confirm-agenda .ca-summary-body .ca-sum-row {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(82px, 96px) minmax(0, 1fr) !important;
  gap: .85rem !important;
  align-items: start !important;
  padding: 1rem 1rem 1rem 1.15rem !important;
  border-bottom: 1px solid rgba(13, 39, 66, .10) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.ca-confirm-agenda .ca-summary-body .ca-sum-row::before {
  content: attr(data-itinerary-number) !important;
  position: absolute !important;
  left: .75rem !important;
  top: .9rem !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #176da8 !important;
  border: 1px solid #176da8 !important;
  color: #ffffff !important;
  font: 900 .72rem/1 Arial, sans-serif !important;
  letter-spacing: 0 !important;
  box-shadow: 0 6px 14px rgba(23, 109, 168, .18) !important;
}

.ca-confirm-agenda .ca-summary-body .ca-sum-row:not([data-itinerary-number])::before {
  display: none !important;
  content: none !important;
}

.ca-confirm-agenda .ca-summary-body .ca-sum-bar {
  display: none !important;
}

.ca-confirm-agenda .ca-summary-body .ca-sum-time {
  grid-column: 1 !important;
  padding-left: 2.15rem !important;
  color: #0b2035 !important;
  font-size: .88rem !important;
  line-height: 1.18 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.ca-confirm-agenda .ca-summary-body .ca-sum-content {
  grid-column: 2 !important;
  min-width: 0 !important;
}

.ca-confirm-agenda .ca-summary-body .ca-sum-name {
  color: #102a43 !important;
  font-size: .98rem !important;
  line-height: 1.28 !important;
  font-weight: 900 !important;
  max-width: 100% !important;
}

.ca-confirm-agenda .ca-summary-body .ca-sum-sub {
  margin-top: .25rem !important;
  color: #52657a !important;
  font-size: .88rem !important;
  line-height: 1.42 !important;
  font-weight: 600 !important;
}

.ca-confirm-agenda .ca-summary-body .ca-mini-pill,
.ca-confirm-agenda .ca-summary-body .ca-bus-note-pill {
  display: inline-flex !important;
  max-width: 100% !important;
  width: fit-content !important;
  white-space: normal !important;
  line-height: 1.25 !important;
  margin-top: .5rem !important;
}

.ca-confirm-agenda .ca-summary-body .ca-sum-row.ca-static-agenda-row {
  background: #f6fbff !important;
  border: 2px solid #7ea9cf !important;
  border-left: 5px solid #2d8ed6 !important;
  margin: .45rem .55rem !important;
  border-radius: 0 !important;
  box-shadow: 0 8px 20px rgba(16, 62, 100, .06) !important;
}

.ca-confirm-agenda .ca-summary-body .ca-sum-row.ca-static-agenda-row::before {
  background: #0b5e96 !important;
  border-color: #0b5e96 !important;
  color: #ffffff !important;
}

.ca-confirm-agenda .ca-summary-body .ca-sum-row.ca-static-agenda-row .ca-fixed-kicker {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  margin: 0 0 .4rem 0 !important;
  padding: .24rem .6rem !important;
  border-radius: 999px !important;
  background: #176da8 !important;
  color: #ffffff !important;
  border: 1px solid #176da8 !important;
  font-size: .62rem !important;
  line-height: 1 !important;
}

@media (max-width: 760px) {
  .ca-confirm-agenda .ca-summary-head {
    align-items: flex-start !important;
    gap: .45rem !important;
  }

  .ca-confirm-agenda .ca-summary-email {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .ca-confirm-agenda .ca-summary-body .ca-sum-row,
  .ca-confirm-agenda .ca-summary-body .ca-sum-row.ca-static-agenda-row {
    grid-template-columns: minmax(74px, 84px) minmax(0, 1fr) !important;
    gap: .7rem !important;
    padding: .9rem .85rem .9rem .85rem !important;
    margin-left: .35rem !important;
    margin-right: .35rem !important;
  }

  .ca-confirm-agenda .ca-summary-body .ca-sum-row::before {
    left: .58rem !important;
    top: .82rem !important;
    width: 22px !important;
    height: 22px !important;
    font-size: .68rem !important;
  }

  .ca-confirm-agenda .ca-summary-body .ca-sum-time {
    padding-left: 1.85rem !important;
    font-size: .82rem !important;
  }

  .ca-confirm-agenda .ca-summary-body .ca-sum-name {
    font-size: .94rem !important;
  }

  .ca-confirm-agenda .ca-summary-body .ca-sum-sub {
    font-size: .84rem !important;
  }

  .ca-confirm-agenda .ca-summary-body .ca-bus-note-pill {
    display: flex !important;
    width: 100% !important;
  }
}

/* === Catalyst Connect layout refinements: header address + post-confirm info === */
.ca-meta-pill-address {
  max-width: min(620px, 100%);
}

.ca-post-confirm-card {
  position: relative;
  margin-top: 1.15rem;
  padding: 1.1rem 1.2rem 1.15rem;
  border: 1px solid rgba(46,126,195,.18);
  border-radius: var(--ca-radius-md);
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(245,250,255,.92));
  box-shadow: var(--ca-shadow-sm);
  overflow: hidden;
}

.ca-post-confirm-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--ca-blue-500), var(--ca-blue-300), var(--ca-aqua));
}

.ca-post-confirm-card .ca-step-list {
  margin: .2rem 0 0;
}

.ca-post-confirm-card .ca-step-list li {
  color: var(--ca-muted);
}

@media (max-width: 760px) {
  .ca-meta-pill-address {
    width: 100%;
  }
}

/* Technical-session CEU flag in admin schedule editor */
.ca-admin-checkbox-cell {
  text-align: center;
  vertical-align: middle;
}
.ca-admin-checkbox-cell input[type="checkbox"] {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: #176da8;
}

/* When the attendee skips the facility tour, keep the row visible but remove the itinerary number. */
.ca-summary-body .ca-sum-row.ca-skipped-tour-row::before {
  content: "" !important;
  background: transparent !important;
  border: 1px dashed rgba(23, 109, 168, .35) !important;
  box-shadow: none !important;
}
.ca-summary-body .ca-sum-row.ca-skipped-tour-row .ca-sum-name {
  color: #52657a !important;
}
.ca-session-ceu-pill {
  width: max-content;
  margin-top: .42rem;
  margin-bottom: .28rem;
}

/* Admin edit cleanup: modalized attendee list and time-slot editors */
body.ca-admin-modal-open { overflow: hidden; }

.ca-admin-compact-panel { margin-bottom: 1rem; }
.ca-admin-page .compact-heading { gap: 1rem; }
.ca-admin-page .compact-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .65rem;
  flex-wrap: wrap;
}

.ca-admin-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: clamp(1rem, 2.5vw, 2rem);
}
.ca-admin-modal.is-open { display: flex; }
.ca-admin-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 20, 33, .58);
  backdrop-filter: blur(7px);
}
.ca-admin-modal-panel {
  position: relative;
  width: min(980px, 96vw);
  max-height: min(88vh, 920px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-radius: 28px;
  border: 1px solid rgba(159, 191, 220, .5);
  background: linear-gradient(180deg, #ffffff, #f6faff);
  box-shadow: 0 32px 90px rgba(7, 20, 33, .32);
}
.ca-admin-modal-panel.wide { width: min(1480px, 96vw); }
.ca-admin-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: clamp(1.15rem, 2vw, 1.65rem);
  border-bottom: 1px solid rgba(22, 59, 92, .12);
  background: linear-gradient(180deg, rgba(234, 244, 251, .96), rgba(255, 255, 255, .96));
}
.ca-admin-modal-header h2 {
  margin: .15rem 0 .2rem;
  color: #0d2742;
  letter-spacing: -.025em;
}
.ca-admin-modal-header p {
  margin: 0;
  color: #607287;
  font-weight: 700;
}
.ca-admin-modal-close {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(22, 59, 92, .14);
  background: #fff;
  color: #0d2742;
  font-size: 1.7rem;
  line-height: 1;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(7, 20, 33, .08);
}
.ca-admin-modal-panel > .ca-admin-form-grid,
.ca-admin-modal-panel > .ca-admin-table-wrap,
.ca-admin-modal-panel > .ca-empty-state {
  margin: 1rem clamp(1rem, 2vw, 1.5rem);
}
.ca-admin-modal-panel > .ca-admin-table-wrap:last-child,
.ca-admin-modal-panel > .ca-empty-state:last-child { margin-bottom: clamp(1rem, 2vw, 1.5rem); }
.ca-admin-table-wrap.in-modal {
  max-height: 58vh;
  overflow: auto;
  box-shadow: none;
}
.ca-admin-page .ca-slot-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}
.ca-admin-page .ca-slot-summary-card {
  min-width: 0;
  box-shadow: 0 14px 34px rgba(7,20,33,.07);
}
.ca-slot-summary-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .6rem;
  margin-top: .9rem;
}
.ca-slot-summary-meta span {
  min-width: 0;
  padding: .72rem .85rem;
  border-radius: 14px;
  border: 1px solid rgba(47, 127, 189, .14);
  background: #eef7fd;
  color: #31495f;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ca-slot-summary-meta strong { color: #0d2742; }

.ca-admin-page .ca-fixed-rows-table {
  width: max(100%, 1280px);
  min-width: 1280px;
  table-layout: fixed;
}
.ca-admin-page .ca-fixed-rows-table th:nth-child(1),
.ca-admin-page .ca-fixed-rows-table td:nth-child(1) { width: 100px; }
.ca-admin-page .ca-fixed-rows-table th:nth-child(2),
.ca-admin-page .ca-fixed-rows-table td:nth-child(2) { width: 190px; }
.ca-admin-page .ca-fixed-rows-table th:nth-child(3),
.ca-admin-page .ca-fixed-rows-table td:nth-child(3),
.ca-admin-page .ca-fixed-rows-table th:nth-child(4),
.ca-admin-page .ca-fixed-rows-table td:nth-child(4) { width: 150px; }
.ca-admin-page .ca-fixed-rows-table th:nth-child(5),
.ca-admin-page .ca-fixed-rows-table td:nth-child(5),
.ca-admin-page .ca-fixed-rows-table th:nth-child(6),
.ca-admin-page .ca-fixed-rows-table td:nth-child(6) { width: 235px; }
.ca-admin-page .ca-fixed-rows-table th:nth-child(7),
.ca-admin-page .ca-fixed-rows-table td:nth-child(7),
.ca-admin-page .ca-fixed-rows-table th:nth-child(8),
.ca-admin-page .ca-fixed-rows-table td:nth-child(8) {
  width: 86px;
  text-align: center;
}
.ca-admin-page .ca-fixed-rows-table th:nth-child(9),
.ca-admin-page .ca-fixed-rows-table td:nth-child(9) { width: 104px; }
.ca-admin-page .ca-fixed-rows-table input:not([type="checkbox"]) { width: 100%; }
.ca-admin-page .ca-fixed-rows-table input[type="checkbox"] { margin-top: .75rem; }

.ca-admin-page .ca-slot-options-table th:nth-child(3),
.ca-admin-page .ca-slot-options-table td:nth-child(3),
.ca-admin-page .ca-slot-options-table th:nth-child(11),
.ca-admin-page .ca-slot-options-table td:nth-child(11) {
  width: 72px;
  text-align: center;
}
.ca-admin-page .ca-slot-options-table th:nth-child(12),
.ca-admin-page .ca-slot-options-table td:nth-child(12) { width: 240px; }
.ca-admin-page .ca-slot-option-table-wrap { margin-top: 1rem; }

@media (max-width: 760px) {
  .ca-admin-modal { padding: .65rem; align-items: stretch; }
  .ca-admin-modal-panel,
  .ca-admin-modal-panel.wide { width: 100%; max-height: 94vh; }
  .ca-admin-modal-header { padding: 1rem; }
  .ca-slot-summary-meta { grid-template-columns: 1fr; }
}

body.dark-mode .ca-admin-modal-backdrop,
[data-theme="dark"] .ca-admin-modal-backdrop { background: rgba(2, 8, 16, .72); }
body.dark-mode .ca-admin-modal-panel,
[data-theme="dark"] .ca-admin-modal-panel {
  background: linear-gradient(180deg, #0f2032, #0a1725);
  border-color: rgba(143, 200, 255, .18);
  box-shadow: 0 32px 90px rgba(0, 0, 0, .55);
}
body.dark-mode .ca-admin-modal-header,
[data-theme="dark"] .ca-admin-modal-header {
  background: linear-gradient(180deg, #14263a, #0f2032);
  border-color: rgba(143, 200, 255, .14);
}
body.dark-mode .ca-admin-modal-header h2,
[data-theme="dark"] .ca-admin-modal-header h2 { color: #e8f2fb; }
body.dark-mode .ca-admin-modal-header p,
[data-theme="dark"] .ca-admin-modal-header p { color: #9fb8cc; }
body.dark-mode .ca-admin-modal-close,
[data-theme="dark"] .ca-admin-modal-close {
  background: #13263a;
  border-color: rgba(143, 200, 255, .18);
  color: #e8f2fb;
}
body.dark-mode .ca-slot-summary-meta span,
[data-theme="dark"] .ca-slot-summary-meta span {
  background: #12263a;
  border-color: rgba(143, 200, 255, .14);
  color: #c9dceb;
}
body.dark-mode .ca-slot-summary-meta strong,
[data-theme="dark"] .ca-slot-summary-meta strong { color: #e8f2fb; }

/* Dynamic itinerary numbering when the facility tour is skipped */
.ca-step-badge.ca-step-badge-blank {
  background: transparent;
  border: 2px dashed rgba(19, 107, 168, 0.35);
  box-shadow: none;
  color: transparent;
}

.ca-tour-skipped-section .ca-section-head {
  border-left-color: rgba(19, 107, 168, 0.28);
}

.ca-tour-skipped-section .ca-section-time:empty {
  display: none;
}

/* === Admin modal and itinerary editor polish pass === */
.ca-meta-pill-location {
  max-width: min(780px, 100%);
  gap: .55rem;
}
.ca-meta-pill-location strong,
.ca-meta-pill-location em {
  display: inline;
  min-width: 0;
  color: inherit;
  font-style: normal;
}
.ca-meta-pill-location strong::after {
  content: " — ";
  opacity: .76;
  font-weight: 800;
}
.ca-meta-pill-location em {
  opacity: .92;
  font-weight: 700;
}

.ca-icon-btn {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 12px;
  border: 1px solid rgba(25, 97, 150, .18);
  background: #ffffff;
  color: #155f93;
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(7, 20, 33, .08);
}
.ca-icon-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(25, 97, 150, .35);
  box-shadow: 0 12px 24px rgba(7, 20, 33, .12);
}
.ca-icon-btn.danger {
  background: #fff7f8;
  color: #b0123d;
  border-color: rgba(176, 18, 61, .22);
}
.ca-admin-actions.compact-actions .ca-icon-btn {
  flex: 0 0 auto;
}

.ca-admin-modal-panel.wide {
  width: min(1760px, 98vw);
}
.ca-admin-modal-header {
  background: linear-gradient(180deg, #ffffff, #f7fbff);
}
.ca-admin-modal-header .ca-eyebrow,
.ca-admin-section-heading .ca-eyebrow {
  color: #0b5f99;
}
.ca-admin-modal-panel > .ca-admin-table-wrap {
  margin-left: clamp(.75rem, 1.2vw, 1.1rem);
  margin-right: clamp(.75rem, 1.2vw, 1.1rem);
}
.ca-admin-table-wrap.in-modal {
  max-height: 64vh;
  border-radius: 18px;
  border: 1px solid rgba(30, 86, 130, .14);
}
.ca-admin-page .ca-admin-edit-table th {
  background: #d6e8f4;
  color: #17476c;
  font-weight: 900;
  letter-spacing: .105em;
}
.ca-admin-page .ca-admin-edit-table td {
  color: #17324c;
}
.ca-admin-page .ca-admin-edit-table input,
.ca-admin-page .ca-admin-edit-table textarea,
.ca-admin-page .ca-admin-edit-table select {
  min-width: 0;
}

.ca-admin-page .ca-fixed-rows-table {
  width: max(100%, 1340px);
  min-width: 1340px;
}
.ca-admin-page .ca-fixed-rows-table th:nth-child(1),
.ca-admin-page .ca-fixed-rows-table td:nth-child(1) { width: 94px; }
.ca-admin-page .ca-fixed-rows-table th:nth-child(2),
.ca-admin-page .ca-fixed-rows-table td:nth-child(2) { width: 185px; }
.ca-admin-page .ca-fixed-rows-table th:nth-child(3),
.ca-admin-page .ca-fixed-rows-table td:nth-child(3),
.ca-admin-page .ca-fixed-rows-table th:nth-child(4),
.ca-admin-page .ca-fixed-rows-table td:nth-child(4) { width: 140px; }
.ca-admin-page .ca-fixed-rows-table th:nth-child(5),
.ca-admin-page .ca-fixed-rows-table td:nth-child(5) { width: 260px; }
.ca-admin-page .ca-fixed-rows-table th:nth-child(6),
.ca-admin-page .ca-fixed-rows-table td:nth-child(6) { width: 315px; }
.ca-admin-page .ca-fixed-rows-table th:nth-child(7),
.ca-admin-page .ca-fixed-rows-table td:nth-child(7),
.ca-admin-page .ca-fixed-rows-table th:nth-child(8),
.ca-admin-page .ca-fixed-rows-table td:nth-child(8) { width: 68px; }
.ca-admin-page .ca-fixed-rows-table th:nth-child(9),
.ca-admin-page .ca-fixed-rows-table td:nth-child(9) { width: 58px; text-align: center; }

.ca-admin-page .ca-slot-options-table {
  width: max(100%, 1580px);
  min-width: 1580px;
  table-layout: fixed;
}
.ca-admin-page .ca-slot-options-table th:nth-child(1),
.ca-admin-page .ca-slot-options-table td:nth-child(1) { width: 86px; }
.ca-admin-page .ca-slot-options-table th:nth-child(2),
.ca-admin-page .ca-slot-options-table td:nth-child(2) { width: 115px; }
.ca-admin-page .ca-slot-options-table th:nth-child(3),
.ca-admin-page .ca-slot-options-table td:nth-child(3) { width: 62px; }
.ca-admin-page .ca-slot-options-table th:nth-child(4),
.ca-admin-page .ca-slot-options-table td:nth-child(4) { width: 210px; }
.ca-admin-page .ca-slot-options-table th:nth-child(5),
.ca-admin-page .ca-slot-options-table td:nth-child(5) { width: 160px; }
.ca-admin-page .ca-slot-options-table th:nth-child(6),
.ca-admin-page .ca-slot-options-table td:nth-child(6) { width: 160px; }
.ca-admin-page .ca-slot-options-table th:nth-child(7),
.ca-admin-page .ca-slot-options-table td:nth-child(7),
.ca-admin-page .ca-slot-options-table th:nth-child(8),
.ca-admin-page .ca-slot-options-table td:nth-child(8) { width: 120px; }
.ca-admin-page .ca-slot-options-table th:nth-child(9),
.ca-admin-page .ca-slot-options-table td:nth-child(9) { width: 90px; }
.ca-admin-page .ca-slot-options-table th:nth-child(10),
.ca-admin-page .ca-slot-options-table td:nth-child(10) { width: 130px; }
.ca-admin-page .ca-slot-options-table th:nth-child(11),
.ca-admin-page .ca-slot-options-table td:nth-child(11) { width: 70px; }
.ca-admin-page .ca-slot-options-table th:nth-child(12),
.ca-admin-page .ca-slot-options-table td:nth-child(12) { width: 255px; }
.ca-admin-page .ca-slot-options-table th:nth-child(13),
.ca-admin-page .ca-slot-options-table td:nth-child(13) { width: 58px; text-align: center; }
.ca-admin-page .ca-slot-options-table textarea {
  min-height: 64px;
  resize: vertical;
}

.ca-admin-page .ca-registered-table {
  width: max(100%, 1320px);
  min-width: 1320px;
  table-layout: fixed;
}
.ca-admin-page .ca-registered-table th:nth-child(1),
.ca-admin-page .ca-registered-table td:nth-child(1) { width: 300px; }
.ca-admin-page .ca-registered-table th:nth-child(2),
.ca-admin-page .ca-registered-table td:nth-child(2) { width: 135px; }
.ca-admin-page .ca-registered-table th:nth-child(3),
.ca-admin-page .ca-registered-table td:nth-child(3) { width: 140px; }
.ca-admin-page .ca-registered-table th:nth-child(4),
.ca-admin-page .ca-registered-table td:nth-child(4) { width: 120px; }
.ca-admin-page .ca-registered-table th:nth-child(5),
.ca-admin-page .ca-registered-table td:nth-child(5) { width: 115px; }
.ca-admin-page .ca-registered-table th:nth-child(6),
.ca-admin-page .ca-registered-table td:nth-child(6),
.ca-admin-page .ca-registered-table th:nth-child(7),
.ca-admin-page .ca-registered-table td:nth-child(7),
.ca-admin-page .ca-registered-table th:nth-child(8),
.ca-admin-page .ca-registered-table td:nth-child(8) { width: 105px; }
.ca-admin-page .ca-registered-table th:nth-child(9),
.ca-admin-page .ca-registered-table td:nth-child(9) { width: 115px; }
.ca-admin-page .ca-registered-table th:nth-child(10),
.ca-admin-page .ca-registered-table td:nth-child(10) { width: 150px; }
.ca-admin-page .ca-registered-table td {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ca-admin-page .ca-registered-table td:first-child strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ca-admin-page .ca-admin-status {
  display: inline-flex;
  max-width: 100%;
}

body.dark-mode .ca-admin-modal-header,
[data-theme="dark"] .ca-admin-modal-header {
  background: linear-gradient(180deg, #10263c, #0c1c2d);
}
body.dark-mode .ca-admin-page .ca-admin-edit-table th,
[data-theme="dark"] .ca-admin-page .ca-admin-edit-table th {
  background: #1c3a54 !important;
  color: #d8efff !important;
}
body.dark-mode .ca-icon-btn,
[data-theme="dark"] .ca-icon-btn {
  background: #13263a;
  color: #d8efff;
  border-color: rgba(143, 200, 255, .18);
}
body.dark-mode .ca-icon-btn.danger,
[data-theme="dark"] .ca-icon-btn.danger {
  background: rgba(176, 18, 61, .15);
  color: #ffb4c6;
  border-color: rgba(255, 180, 198, .22);
}

@media (max-width: 760px) {
  .ca-meta-pill-location {
    width: 100%;
    align-items: flex-start;
    border-radius: 18px;
  }
  .ca-meta-pill-location strong,
  .ca-meta-pill-location em {
    display: block;
  }
  .ca-meta-pill-location strong::after { content: ""; }
}

/* Admin slot editor polish: remove duplicate display-time field and de-cramp session options */
.ca-admin-page .ca-slot-time-grid {
  grid-template-columns: minmax(150px, .75fr) minmax(280px, 1.5fr) minmax(180px, .85fr) minmax(180px, .85fr);
  align-items: end;
}

.ca-slot-option-editor.in-modal {
  margin: 1rem clamp(1rem, 2vw, 1.5rem) clamp(1rem, 2vw, 1.5rem);
  overflow: auto;
  padding-right: .25rem;
}

.ca-option-list-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 0 1rem;
  background: linear-gradient(180deg, #f8fcff 0%, rgba(248,252,255,.94) 70%, rgba(248,252,255,0) 100%);
}

.ca-option-list-head h3 {
  margin: .1rem 0 0;
  color: #0d2742;
  font-size: 1.05rem;
}

.ca-option-edit-card {
  border: 1px solid rgba(47, 127, 189, .18);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(7, 20, 33, .06);
  margin-bottom: .85rem;
  overflow: hidden;
}

.ca-option-edit-card summary {
  cursor: pointer;
  list-style: none;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  padding: .82rem .95rem;
  background: linear-gradient(90deg, rgba(229, 244, 253, .92), rgba(255,255,255,.96));
  border-bottom: 1px solid rgba(47, 127, 189, .12);
}

.ca-option-edit-card summary::-webkit-details-marker { display: none; }

.ca-option-edit-title {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 74px;
  padding: .4rem .65rem;
  border-radius: 999px;
  color: #0a5d96;
  background: rgba(95, 203, 211, .16);
  border: 1px solid rgba(95, 203, 211, .42);
  font-weight: 900;
  letter-spacing: .02em;
}

.ca-option-edit-meta {
  min-width: 0;
  color: #516b82;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ca-option-edit-grid {
  display: grid;
  grid-template-columns: minmax(90px, .5fr) minmax(160px, .8fr) minmax(90px, .35fr) minmax(280px, 1.4fr) minmax(180px, .9fr) minmax(220px, 1fr);
  gap: .85rem;
  padding: 1rem;
}

.ca-option-edit-grid label {
  min-width: 0;
  font-weight: 900;
  color: #17324b;
}

.ca-option-edit-grid .wide-field {
  grid-column: 1 / -1;
}

.ca-option-edit-grid textarea.ca-input {
  width: 100%;
  min-height: 92px;
  resize: vertical;
}

.ca-check-label {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.ca-check-label span {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding-left: .35rem;
}

.ca-check-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
}

body.dark-mode .ca-option-list-head,
[data-theme="dark"] .ca-option-list-head {
  background: linear-gradient(180deg, #0f2032 0%, rgba(15,32,50,.94) 70%, rgba(15,32,50,0) 100%);
}
body.dark-mode .ca-option-list-head h3,
[data-theme="dark"] .ca-option-list-head h3,
body.dark-mode .ca-option-edit-grid label,
[data-theme="dark"] .ca-option-edit-grid label { color: #e8f2fb; }
body.dark-mode .ca-option-edit-card,
[data-theme="dark"] .ca-option-edit-card {
  background: #102437;
  border-color: rgba(143, 200, 255, .18);
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}
body.dark-mode .ca-option-edit-card summary,
[data-theme="dark"] .ca-option-edit-card summary {
  background: linear-gradient(90deg, rgba(22, 52, 78, .96), rgba(15,32,50,.96));
  border-color: rgba(143, 200, 255, .14);
}
body.dark-mode .ca-option-edit-meta,
[data-theme="dark"] .ca-option-edit-meta { color: #b8cede; }

@media (max-width: 1180px) {
  .ca-admin-page .ca-slot-time-grid,
  .ca-option-edit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .ca-admin-page .ca-slot-time-grid,
  .ca-option-edit-grid,
  .ca-option-edit-card summary { grid-template-columns: 1fr; }
  .ca-option-edit-card summary .ca-icon-btn { justify-self: start; }
}

/* Admin attendee PDF + fixed-row card layout + modal scrolling polish */
.ca-modal-header-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: .65rem;
  flex: 0 0 auto;
}
.ca-admin-btn.compact {
  min-height: 40px;
  padding: .65rem .95rem;
  font-size: .78rem;
}

.ca-admin-modal-panel.wide {
  max-height: 92vh;
  overflow-y: auto;
  overflow-x: hidden;
}
.ca-admin-modal-panel.wide .ca-admin-modal-header {
  position: sticky;
  top: 0;
  z-index: 8;
}
.ca-admin-modal-panel.wide .ca-slot-option-editor.in-modal {
  max-height: calc(92vh - 245px);
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 1rem;
}
.ca-admin-modal-panel.wide .ca-option-edit-card:last-child { margin-bottom: 1.5rem; }

.ca-slot-summary-card .ca-eyebrow,
.ca-nested-card-header .ca-eyebrow {
  color: #164765;
  font-weight: 950;
  opacity: 1;
}
.ca-slot-summary-card h3 {
  color: #0d2742;
}

.ca-fixed-row-list {
  display: grid;
  gap: .9rem;
}
.ca-fixed-row-card {
  display: grid;
  grid-template-columns: minmax(420px, .95fr) minmax(520px, 1.25fr) minmax(190px, auto);
  gap: .85rem;
  align-items: end;
  padding: .9rem;
  border: 1px solid rgba(47, 127, 189, .16);
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff, #f7fbff);
  box-shadow: 0 12px 30px rgba(7, 20, 33, .055);
}
.ca-fixed-row-main,
.ca-fixed-row-content,
.ca-fixed-row-actions {
  display: grid;
  gap: .72rem;
  align-items: end;
}
.ca-fixed-row-main {
  grid-template-columns: minmax(82px, .55fr) minmax(170px, 1.1fr) minmax(130px, .8fr) minmax(130px, .8fr);
}
.ca-fixed-row-content {
  grid-template-columns: minmax(240px, .95fr) minmax(280px, 1.25fr);
}
.ca-fixed-row-actions {
  grid-template-columns: 1fr 1fr auto;
  align-items: center;
  justify-items: center;
  padding-bottom: .1rem;
}
.ca-fixed-row-card label {
  min-width: 0;
  color: #17324b;
  font-weight: 900;
  font-size: .82rem;
}
.ca-fixed-row-card .ca-input {
  width: 100%;
  margin-top: .34rem;
}
.ca-check-label.inline-check {
  display: grid;
  gap: .25rem;
  justify-items: center;
  text-align: center;
  font-size: .72rem;
  color: #32546e;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.ca-check-label.inline-check span {
  min-height: 38px;
  padding: 0;
  justify-content: center;
}
.ca-check-label.inline-check input[type="checkbox"] {
  width: 18px;
  height: 18px;
}
.ca-admin-page .ca-registered-table {
  width: max(100%, 1450px);
  min-width: 1450px;
}
.ca-admin-page .ca-registered-table th:nth-child(1),
.ca-admin-page .ca-registered-table td:nth-child(1) { width: 335px; }
.ca-admin-page .ca-registered-table th:nth-child(10),
.ca-admin-page .ca-registered-table td:nth-child(10) { width: 180px; }

body.dark-mode .ca-slot-summary-card .ca-eyebrow,
[data-theme="dark"] .ca-slot-summary-card .ca-eyebrow,
body.dark-mode .ca-nested-card-header .ca-eyebrow,
[data-theme="dark"] .ca-nested-card-header .ca-eyebrow {
  color: #9bd6ff;
}
body.dark-mode .ca-slot-summary-card h3,
[data-theme="dark"] .ca-slot-summary-card h3 { color: #e8f2fb; }
body.dark-mode .ca-fixed-row-card,
[data-theme="dark"] .ca-fixed-row-card {
  background: linear-gradient(180deg, #102437, #0e2030);
  border-color: rgba(143, 200, 255, .18);
  box-shadow: 0 16px 36px rgba(0,0,0,.22);
}
body.dark-mode .ca-fixed-row-card label,
[data-theme="dark"] .ca-fixed-row-card label { color: #e8f2fb; }
body.dark-mode .ca-check-label.inline-check,
[data-theme="dark"] .ca-check-label.inline-check { color: #b8cede; }

@media (max-width: 1320px) {
  .ca-fixed-row-card { grid-template-columns: 1fr; }
  .ca-fixed-row-main { grid-template-columns: minmax(82px, .55fr) minmax(170px, 1.1fr) repeat(2, minmax(130px, .8fr)); }
  .ca-fixed-row-content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ca-fixed-row-actions { justify-content: start; grid-template-columns: auto auto auto; justify-items: start; }
}
@media (max-width: 760px) {
  .ca-modal-header-actions { flex-wrap: wrap; justify-content: flex-start; }
  .ca-fixed-row-main,
  .ca-fixed-row-content,
  .ca-fixed-row-actions { grid-template-columns: 1fr; justify-items: stretch; }
  .ca-check-label.inline-check { justify-items: start; text-align: left; }
}

/* Admin modal usability follow-up: true scroll regions and full-width fixed row editor */
.ca-admin-modal-panel.wide {
  max-height: 94vh;
  overflow: hidden;
}
.ca-admin-modal-panel.wide > .ca-admin-form-grid,
.ca-admin-modal-panel.wide > .ca-slot-time-grid {
  flex: 0 0 auto;
}
.ca-admin-modal-panel.wide .ca-slot-option-editor.in-modal {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 1.5rem;
  scrollbar-gutter: stable;
}
.ca-admin-modal-panel.wide .ca-admin-table-wrap.in-modal {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: auto;
  scrollbar-gutter: stable;
}
.ca-fixed-rows-summary-card {
  margin-top: 1.15rem;
  margin-bottom: 1.15rem;
}
.ca-admin-modal-panel.fixed-rows-modal {
  width: min(1880px, 98vw);
}
.ca-fixed-row-list.in-modal {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: clamp(1rem, 1.5vw, 1.35rem);
  scrollbar-gutter: stable;
}
.ca-fixed-row-list.in-modal .ca-fixed-row-card {
  grid-template-columns: minmax(470px, .88fr) minmax(720px, 1.5fr) minmax(190px, auto);
}
.ca-fixed-row-list.in-modal .ca-fixed-row-main {
  grid-template-columns: minmax(88px, .45fr) minmax(210px, .95fr) minmax(150px, .7fr) minmax(150px, .7fr);
}
.ca-fixed-row-list.in-modal .ca-fixed-row-content {
  grid-template-columns: minmax(350px, .95fr) minmax(420px, 1.2fr);
}
.ca-fixed-row-list.in-modal .ca-input {
  min-height: 46px;
}
.ca-admin-modal a.ca-admin-btn {
  text-decoration: none;
}
@media (max-width: 1400px) {
  .ca-fixed-row-list.in-modal .ca-fixed-row-card,
  .ca-fixed-row-list.in-modal .ca-fixed-row-main,
  .ca-fixed-row-list.in-modal .ca-fixed-row-content {
    grid-template-columns: 1fr;
  }
  .ca-fixed-row-list.in-modal .ca-fixed-row-actions {
    grid-template-columns: auto auto auto;
    justify-content: start;
    justify-items: start;
  }
}

/* Admin modal usability fix: give selectable session modal a real scroll body */
.ca-time-slot-modal-panel {
  height: min(92vh, 980px);
  max-height: 92vh;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
}
.ca-time-slot-modal-panel .ca-admin-modal-header,
.ca-time-slot-modal-panel .ca-slot-time-grid {
  flex: 0 0 auto;
}
.ca-time-slot-modal-panel .ca-slot-time-grid {
  margin-bottom: .5rem;
}
.ca-time-slot-modal-panel .ca-slot-option-editor.in-modal {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  margin-top: .5rem;
  padding-bottom: 2rem;
  scrollbar-gutter: stable both-edges;
}
.ca-time-slot-modal-panel .ca-option-edit-card:last-child {
  margin-bottom: 2.5rem;
}
.ca-time-slot-modal-panel .ca-option-list-head {
  top: 0;
  padding-top: .35rem;
}

/* Admin fixed row modal: use stacked cards instead of a crammed table-like row */
.ca-admin-modal-panel.fixed-rows-modal {
  height: min(92vh, 980px);
  max-height: 92vh;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
}
.ca-admin-modal-panel.fixed-rows-modal .ca-admin-modal-header {
  flex: 0 0 auto;
}
.ca-fixed-row-list.in-modal {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: clamp(1rem, 1.65vw, 1.55rem);
  display: grid;
  gap: 1rem;
  scrollbar-gutter: stable both-edges;
}
.ca-fixed-row-list.in-modal .ca-fixed-row-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "meta actions"
    "content actions";
  align-items: start;
  gap: 1rem 1.1rem;
  padding: 1rem;
}
.ca-fixed-row-list.in-modal .ca-fixed-row-main {
  grid-area: meta;
  display: grid;
  grid-template-columns: minmax(100px, .55fr) minmax(230px, 1.2fr) minmax(160px, .85fr) minmax(160px, .85fr);
  gap: .85rem;
  min-width: 0;
}
.ca-fixed-row-list.in-modal .ca-fixed-row-content {
  grid-area: content;
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(520px, 1.45fr);
  gap: .85rem;
  min-width: 0;
}
.ca-fixed-row-list.in-modal .ca-fixed-row-actions {
  grid-area: actions;
  display: grid;
  grid-template-columns: 1fr;
  gap: .55rem;
  align-content: center;
  justify-items: center;
  min-width: 92px;
  padding: .35rem 0 0;
}
.ca-fixed-row-list.in-modal .ca-fixed-row-card label {
  display: block;
}
.ca-fixed-row-list.in-modal .ca-input {
  min-height: 48px;
  width: 100%;
  font-size: .95rem;
}
.ca-fixed-row-list.in-modal .ca-check-label.inline-check {
  min-width: 72px;
}
.ca-fixed-row-list.in-modal .ca-icon-btn.danger {
  margin-top: .15rem;
}

@media (max-width: 1180px) {
  .ca-fixed-row-list.in-modal .ca-fixed-row-card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "meta"
      "content"
      "actions";
  }
  .ca-fixed-row-list.in-modal .ca-fixed-row-main,
  .ca-fixed-row-list.in-modal .ca-fixed-row-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ca-fixed-row-list.in-modal .ca-fixed-row-actions {
    grid-template-columns: auto auto auto;
    justify-content: start;
    justify-items: start;
  }
}
@media (max-width: 720px) {
  .ca-time-slot-modal-panel,
  .ca-admin-modal-panel.fixed-rows-modal {
    height: 94vh;
    max-height: 94vh;
  }
  .ca-fixed-row-list.in-modal .ca-fixed-row-main,
  .ca-fixed-row-list.in-modal .ca-fixed-row-content,
  .ca-fixed-row-list.in-modal .ca-fixed-row-actions {
    grid-template-columns: 1fr;
  }
}

/* FINAL selectable session modal scroll fix: force a visible scrollable editor area */
.ca-admin-modal.is-open .ca-time-slot-modal-panel,
.ca-admin-modal.is-open .ca-admin-modal-panel.wide.ca-time-slot-modal-panel {
  width: min(1500px, 96vw) !important;
  height: min(88vh, 900px) !important;
  max-height: 88vh !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
.ca-admin-modal.is-open .ca-time-slot-modal-panel .ca-admin-modal-header,
.ca-admin-modal.is-open .ca-time-slot-modal-panel .ca-slot-time-grid {
  flex: 0 0 auto !important;
}
.ca-admin-modal.is-open .ca-time-slot-modal-panel .ca-slot-option-editor.in-modal {
  flex: 1 1 auto !important;
  min-height: 260px !important;
  max-height: calc(88vh - 250px) !important;
  overflow-y: scroll !important;
  overflow-x: hidden !important;
  padding-right: .75rem !important;
  padding-bottom: 4rem !important;
  scrollbar-gutter: stable !important;
}
.ca-admin-modal.is-open .ca-time-slot-modal-panel .ca-option-list-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 3 !important;
  background: linear-gradient(180deg, rgba(246,251,255,.98), rgba(246,251,255,.92)) !important;
  border-bottom: 1px solid rgba(130, 171, 207, .22) !important;
  margin: 0 0 .75rem !important;
  padding: .75rem .35rem .65rem !important;
}
.ca-admin-modal.is-open .ca-time-slot-modal-panel .ca-option-edit-card {
  scroll-margin-top: 84px !important;
}
body.dark-mode .ca-admin-modal.is-open .ca-time-slot-modal-panel .ca-option-list-head,
[data-theme="dark"] .ca-admin-modal.is-open .ca-time-slot-modal-panel .ca-option-list-head {
  background: linear-gradient(180deg, rgba(12,30,48,.98), rgba(12,30,48,.92)) !important;
}


/* Focused selectable-session editor: obvious expand control + roomier time fields */
.ca-admin-page .ca-slot-time-grid,
.ca-admin-modal.is-open .ca-time-slot-modal-panel .ca-slot-time-grid {
  grid-template-columns: minmax(150px, .7fr) minmax(280px, 1.35fr) minmax(260px, 1fr) minmax(230px, .9fr) !important;
}

.ca-option-edit-card summary {
  grid-template-columns: auto minmax(0, 1fr) auto auto !important;
  gap: .8rem !important;
}

.ca-option-expand-toggle {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #0b5f97;
  background: rgba(95, 203, 211, .16);
  border: 1px solid rgba(47, 127, 189, .22);
  box-shadow: 0 8px 18px rgba(15, 51, 82, .08);
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1;
  transition: transform .18s ease, background .18s ease, color .18s ease;
}

.ca-option-edit-card[open] .ca-option-expand-toggle {
  transform: rotate(180deg);
  background: #1875ad;
  color: #fff;
}

.ca-option-edit-card:not([open]) summary {
  border-bottom: 0;
}

.ca-option-edit-card:not([open]) .ca-option-edit-meta::after {
  content: "  •  click the arrow to expand";
  color: #6b8297;
  font-weight: 700;
}

.ca-option-edit-grid {
  grid-template-columns:
    minmax(120px, .55fr)
    minmax(145px, .7fr)
    minmax(84px, .32fr)
    minmax(320px, 1.55fr)
    minmax(220px, 1fr)
    minmax(260px, 1.15fr) !important;
}

.ca-option-edit-grid label:has(input[type="time"]) {
  min-width: 150px;
}

body.dark-mode .ca-option-expand-toggle,
[data-theme="dark"] .ca-option-expand-toggle {
  color: #a8e9ff;
  background: rgba(54, 199, 214, .14);
  border-color: rgba(117, 213, 230, .28);
}

body.dark-mode .ca-option-edit-card[open] .ca-option-expand-toggle,
[data-theme="dark"] .ca-option-edit-card[open] .ca-option-expand-toggle {
  background: #23a9c2;
  color: #061826;
}

body.dark-mode .ca-option-edit-card:not([open]) .ca-option-edit-meta::after,
[data-theme="dark"] .ca-option-edit-card:not([open]) .ca-option-edit-meta::after {
  color: #9fb3c5;
}

@media (max-width: 980px) {
  .ca-admin-page .ca-slot-time-grid,
  .ca-admin-modal.is-open .ca-time-slot-modal-panel .ca-slot-time-grid,
  .ca-option-edit-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}


/* =====================================================================
   Confirmation page full-width layout pass
   Moves the confirmed itinerary below the action buttons so the main cards
   can use the full page width instead of a narrow right rail.
   ===================================================================== */
.ca-confirm-layout {
  display: block !important;
}

.ca-confirm-layout .ca-confirm-body,
.ca-confirm-layout .ca-success {
  width: 100% !important;
  max-width: none !important;
}

.ca-confirm-layout .ca-next-steps {
  grid-template-columns: minmax(0, 2fr) minmax(260px, .9fr) !important;
}

.ca-confirm-layout .ca-action-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.ca-confirm-agenda,
.ca-confirm-agenda.ca-side-panel,
.ca-side-panel.ca-confirm-agenda {
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  margin-top: 1.35rem !important;
  display: block !important;
  grid-template-columns: none !important;
}

.ca-confirm-agenda .ca-summary-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 1rem 1.15rem !important;
}

.ca-confirm-agenda .ca-summary-body.ca-confirm-summary-body,
.ca-confirm-agenda .ca-summary-body {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .85rem !important;
  padding: 1rem !important;
  overflow: visible !important;
}

.ca-confirm-agenda .ca-summary-body .ca-sum-row,
.ca-confirm-agenda .ca-summary-body .ca-sum-row.ca-static-agenda-row {
  margin: 0 !important;
  min-height: 116px !important;
  border-radius: 18px !important;
}

.ca-confirm-agenda .ca-summary-body .ca-sum-row.ca-skipped-tour-row {
  min-height: auto !important;
  border: 1px dashed rgba(47,127,189,.32) !important;
  background: #f8fbfe !important;
}

.ca-confirm-agenda .ca-summary-body .ca-sum-row.ca-skipped-tour-row .ca-sum-time {
  color: #64748b !important;
}

@media (max-width: 1180px) {
  .ca-confirm-layout .ca-action-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .ca-confirm-layout .ca-next-steps,
  .ca-confirm-agenda .ca-summary-body.ca-confirm-summary-body,
  .ca-confirm-agenda .ca-summary-body {
    grid-template-columns: 1fr !important;
  }

  .ca-confirm-layout .ca-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .ca-confirm-layout .ca-action-grid {
    grid-template-columns: 1fr !important;
  }
}
