:root {
  color-scheme: light;
  --navy-950: #071b3a;
  --navy-900: #0b2a5b;
  --navy-800: #123b79;
  --blue-700: #1659b8;
  --blue-600: #2474df;
  --blue-500: #4389e8;
  --blue-100: #e8f1ff;
  --blue-050: #f3f7fd;
  --ink: #172a45;
  --ink-soft: #52647c;
  --muted: #75859a;
  --line: #dce5ef;
  --line-strong: #c9d6e5;
  --surface: #fbfcfe;
  --surface-raised: #ffffff;
  --surface-tint: #f1f5fa;
  --success: #16805d;
  --success-soft: #e6f5ef;
  --warning: #a86a12;
  --warning-soft: #fff4df;
  --danger: #b13b42;
  --danger-soft: #fff0f0;
  --shadow-soft: 0 12px 36px rgba(15, 43, 81, .08);
  --shadow-card: 0 3px 12px rgba(14, 42, 78, .055), 0 1px 2px rgba(14, 42, 78, .04);
  --radius-sm: 9px;
  --radius-md: 15px;
  --radius-lg: 22px;
  --font-body: "DM Sans", "Segoe UI", sans-serif;
  --font-display: "Manrope", "DM Sans", sans-serif;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--surface);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --ink: #e4ecf7;
  --ink-soft: #b1bfd1;
  --muted: #91a2b8;
  --line: #2b405c;
  --line-strong: #3b5270;
  --surface: #101d2d;
  --surface-raised: #17273a;
  --surface-tint: #1c3047;
  --blue-100: #19385f;
  --blue-050: #152840;
  --success-soft: #173c35;
  --warning-soft: #44331c;
  --danger-soft: #47272c;
  --shadow-soft: 0 16px 38px rgba(0, 0, 0, .25);
  --shadow-card: 0 4px 16px rgba(0, 0, 0, .18);
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; scroll-padding-top: 88px; }
body { min-width: 320px; min-height: 100dvh; margin: 0; background: var(--surface); color: var(--ink); font: 400 15px/1.55 var(--font-body); }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a { color: var(--blue-700); text-decoration: none; }
a:hover { color: var(--navy-800); }
img, svg { max-width: 100%; }
::selection { color: #fff; background: var(--blue-700); }
:focus-visible { outline: 3px solid #76aaf0; outline-offset: 3px; }
.skip-link { position: fixed; z-index: 3000; top: 10px; left: 10px; transform: translateY(-160%); padding: 10px 15px; border-radius: 8px; background: var(--navy-900); color: #fff; }
.skip-link:focus { transform: translateY(0); }

h1, h2, h3, h4, h5, h6 { margin-top: 0; color: var(--ink); font-family: var(--font-display); font-weight: 750; letter-spacing: -.035em; line-height: 1.16; }
p { color: var(--ink-soft); }
.eyebrow, .eyebrow-blue, .nav-divider, .eyebrow-pill, .dev-tag { font-size: .68rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow-blue { color: var(--blue-700); }
.eyebrow { color: #a8c5ed; }
.btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 10px 16px; border-radius: 9px; font-weight: 700; transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { border-color: var(--blue-700); background: var(--blue-700); color: #fff; box-shadow: 0 4px 10px rgba(22, 89, 184, .16); }
.btn-primary:hover, .btn-primary:focus { border-color: var(--navy-800); background: var(--navy-800); color: #fff; }
.btn-outline-primary { border: 1px solid var(--line-strong); background: var(--surface-raised); color: var(--blue-700); }
.btn-outline-primary:hover { border-color: var(--blue-600); background: var(--blue-050); color: var(--navy-800); }
.btn-outline-light { border: 1px solid rgba(255,255,255,.36); color: #fff; background: rgba(255,255,255,.05); }
.btn-outline-light:hover { border-color: #fff; color: #fff; background: rgba(255,255,255,.12); }
.btn-sm-rounded { min-height: 39px; border-radius: 99px; padding-inline: 19px; }
.btn-lg-rounded { min-height: 50px; border-radius: 99px; padding: 12px 22px; }
.icon-button { width: 40px; height: 40px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-raised); color: var(--ink-soft); cursor: pointer; transition: color .16s, background .16s, border-color .16s; }
.icon-button:hover { color: var(--blue-700); border-color: #a9c6eb; background: var(--blue-050); }

/* Public landing: a confident navy field, crisp operational blue, and generous pacing. */
.public-body { background: var(--surface); }
.public-header { position: sticky; z-index: 80; top: 0; border-bottom: 1px solid rgba(212, 224, 240, .82); background: rgba(251, 252, 254, .95); backdrop-filter: blur(14px); }
.public-header-inner { width: min(1180px, calc(100% - 44px)); min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 30px; margin: auto; }
.brand-lockup { display: inline-flex; align-items: center; gap: 11px; color: inherit; flex: 0 0 auto; }
.brand-lockup:hover { color: inherit; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(145deg, #2e80e8, #1559b5); color: #fff; font-size: 19px; box-shadow: 0 6px 14px rgba(27, 98, 190, .2); }
.brand-lockup > span:last-child { display: grid; line-height: 1.05; }
.brand-lockup strong { font: 800 15px/1 var(--font-display); letter-spacing: .04em; }
.brand-lockup small { margin-top: 5px; color: var(--muted); font: 750 9px/1 var(--font-body); letter-spacing: .2em; }
.brand-dark { color: var(--navy-900); }
.brand-dark small { color: #667991; }
.public-nav { display: flex; align-items: center; gap: 34px; margin-left: auto; }
.public-nav a, .sign-in-link { color: #40546e; font-size: .9rem; font-weight: 650; }
.public-nav a:hover, .sign-in-link:hover { color: var(--blue-700); }
.public-header-actions { display: flex; align-items: center; gap: 22px; }
.public-main { overflow: hidden; }
.hero-section { position: relative; overflow: hidden; color: #fff; background: var(--navy-900); }
.hero-section::before { position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .18; background-image: linear-gradient(rgba(180,208,243,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(180,208,243,.1) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(90deg, transparent 0, #000 46%, #000 100%); }
.hero-glow { position: absolute; width: 600px; height: 600px; top: -300px; right: 7%; border: 1px solid rgba(110,167,238,.16); border-radius: 50%; box-shadow: 0 0 0 64px rgba(100,155,222,.035), 0 0 0 128px rgba(100,155,222,.025); pointer-events: none; }
.hero-content { position: relative; z-index: 1; width: min(1200px, calc(100% - 52px)); display: grid; grid-template-columns: minmax(0, .86fr) minmax(500px, 1.14fr); align-items: center; gap: 44px; margin: auto; padding: 94px 0 70px; }
.hero-copy { max-width: 550px; }
.eyebrow-pill { width: fit-content; display: inline-flex; align-items: center; gap: 9px; padding: 9px 13px; border: 1px solid rgba(171,204,244,.25); border-radius: 99px; color: #d8e8fd; background: rgba(255,255,255,.07); letter-spacing: .065em; }
.eyebrow-pill > span { width: 7px; height: 7px; border-radius: 50%; background: #7db4fa; box-shadow: 0 0 0 4px rgba(125,180,250,.13); }
.hero-copy h1 { margin: 24px 0 19px; color: #fff; font-size: clamp(2.8rem, 5.2vw, 4.65rem); letter-spacing: -.06em; line-height: 1.03; }
.hero-copy h1 em { color: #8dbdff; font-style: normal; }
.hero-lede { max-width: 500px; margin: 0; color: #c3d1e4; font-size: 1.08rem; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 29px; }
.hero-actions .btn-primary { border-color: #4389e8; background: #4389e8; }
.hero-actions .btn-primary:hover { border-color: #5b9af0; background: #5b9af0; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 9px 20px; margin-top: 25px; color: #c2d4eb; font-size: .79rem; }
.hero-proof i { margin-right: 5px; color: #78b7ab; }
.hero-preview { position: relative; min-width: 0; padding: 10px 0 24px 18px; }
.preview-window { overflow: hidden; border: 1px solid rgba(210,226,247,.24); border-radius: 15px; background: #f8faff; color: #20334e; box-shadow: 0 28px 72px rgba(2, 14, 33, .36); transform: perspective(1200px) rotateY(-3deg) rotateX(1deg); transform-origin: center; }
.preview-topbar { height: 43px; display: flex; align-items: center; gap: 13px; padding: 0 16px; border-bottom: 1px solid #e5ebf3; background: #fff; font-size: .65rem; }
.preview-logo { color: #30445f; font-weight: 750; }
.preview-logo i { margin-right: 5px; color: #2775d5; }
.preview-dots { display: flex; gap: 4px; margin-left: auto; }
.preview-dots i, .board-window i { width: 6px; height: 6px; display: block; border-radius: 50%; background: #ccd5e1; }
.preview-avatar { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #dceaff; color: #235eae; font-size: .56rem; font-weight: 800; }
.preview-layout { min-height: 320px; display: flex; }
.preview-rail { width: 43px; display: flex; flex-direction: column; align-items: center; gap: 17px; padding-top: 21px; border-right: 1px solid #e6ebf2; color: #98a6b8; font-size: 12px; }
.preview-rail .active { color: #2b76d2; }
.preview-screen { min-width: 0; flex: 1; padding: 19px 20px 11px; }
.preview-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.preview-heading > div { display: grid; gap: 5px; }
.preview-heading > div span { color: #8290a2; font-size: .5rem; font-weight: 800; letter-spacing: .1em; }
.preview-heading > div strong { color: #20334e; font: 750 .98rem var(--font-display); }
.preview-filter { border: 1px solid #e0e7ef; border-radius: 5px; padding: 5px 7px; color: #607088; font-size: .54rem; }
.preview-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 15px; }
.preview-metrics > div { position: relative; min-width: 0; display: grid; padding: 9px; border: 1px solid #e8edf4; border-radius: 7px; background: #fff; }
.metric-icon { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 6px; font-size: 10px; }
.metric-icon.blue { color: #3575c6; background: #eaf2fd; }
.metric-icon.green { color: #258266; background: #e5f5ef; }
.metric-icon.violet { color: #6954af; background: #efebfb; }
.preview-metrics small { overflow: hidden; margin-top: 8px; color: #76869a; font-size: .52rem; text-overflow: ellipsis; white-space: nowrap; }
.preview-metrics strong { margin-top: 1px; color: #20334e; font: 750 1.03rem var(--font-display); }
.preview-metrics em { color: #258266; font-size: .5rem; font-style: normal; }
.preview-panels { display: grid; grid-template-columns: 1.35fr .95fr; gap: 10px; margin-top: 10px; }
.preview-chart, .preview-upcoming { min-width: 0; padding: 10px; border: 1px solid #e8edf4; border-radius: 7px; background: #fff; }
.panel-label { display: flex; justify-content: space-between; gap: 6px; color: #3c506b; font-size: .59rem; font-weight: 750; }
.panel-label > span { color: #8794a5; font-size: .5rem; font-weight: 500; }
.preview-chart svg { width: 100%; height: 95px; margin-top: 11px; overflow: visible; }
.preview-event { display: flex; align-items: center; gap: 7px; margin-top: 10px; }
.date-block { width: 29px; flex: 0 0 29px; display: grid; justify-items: center; padding: 3px 0; border-radius: 4px; background: #eef4fc; color: #2a67b1; }
.date-block b { font: 750 .75rem var(--font-display); line-height: 1; }
.date-block small { margin-top: 2px; font-size: .42rem; font-weight: 800; }
.preview-event > span:nth-child(2) { min-width: 0; display: grid; }
.preview-event strong { overflow: hidden; color: #334760; font-size: .49rem; text-overflow: ellipsis; white-space: nowrap; }
.preview-event small { color: #8390a0; font-size: .45rem; }
.preview-event > i { margin-left: auto; color: #98a7b8; font-size: .55rem; }
.preview-progress { margin-top: 12px; color: #63758b; font-size: .49rem; }
.preview-progress b { float: right; color: #314b6b; }
.preview-progress > div { height: 4px; overflow: hidden; margin-top: 5px; border-radius: 4px; background: #e9eef5; }
.preview-progress > div i { width: 72%; height: 100%; display: block; border-radius: inherit; background: #3178d0; }
.preview-footer { display: flex; justify-content: space-between; gap: 8px; margin-top: 11px; color: #8291a3; font-size: .48rem; }
.preview-footer i { margin-right: 4px; color: #40a182; font-size: .45rem; }
.floating-insight { position: absolute; right: -16px; bottom: 0; min-width: 245px; display: flex; align-items: center; gap: 10px; padding: 12px 15px; border: 1px solid #e4ebf3; border-radius: 11px; background: #fff; color: #233751; box-shadow: 0 10px 28px rgba(1,18,42,.2); }
.floating-insight > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: #e9f2ff; color: #2b72ca; }
.floating-insight div { display: grid; }
.floating-insight strong { font-size: .72rem; }
.floating-insight small { color: #7a8ba0; font-size: .6rem; }
.floating-insight > i { margin-left: auto; color: #31936f; }
.hero-bottom { position: relative; z-index: 1; min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px max(calc((100% - 1200px)/2), 26px); border-top: 1px solid rgba(213,228,249,.15); color: #c6d6e9; font-size: .78rem; }
.hero-bottom > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 28px; color: #9fb4cf; font-size: .61rem; font-weight: 750; letter-spacing: .12em; }

.registration-trend-panel { margin: 0 0 24px; padding: 22px 24px 18px; }
.registration-trend-panel .panel-heading { margin-bottom: 18px; }
.registration-trend { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 12px; align-items: stretch; }
.trend-y-axis { display: flex; flex-direction: column; justify-content: space-between; padding: 4px 0 24px; color: var(--muted); font-size: .68rem; text-align: right; }
.trend-plot { min-width: 0; }
.trend-plot svg { width: 100%; height: clamp(160px, 23vw, 235px); overflow: visible; }
.trend-grid-line { stroke: var(--line); stroke-dasharray: 3 6; stroke-width: 1; }
.trend-area { fill: url(#registrationTrendFill); }
.trend-line { fill: none; stroke: var(--blue-600); stroke-linecap: round; stroke-linejoin: round; stroke-width: 4; }
.trend-point { fill: var(--surface-raised); stroke: var(--blue-600); stroke-width: 3; }
.trend-x-axis { display: flex; justify-content: space-between; gap: 12px; padding-top: 4px; color: var(--muted); font-size: .66rem; }
.trend-chart-footer { display: flex; justify-content: space-between; gap: 12px; margin: 14px 0 0 46px; color: var(--ink-soft); font-size: .76rem; }
.trend-chart-footer > span { display: inline-flex; align-items: center; gap: 8px; }
.trend-chart-footer > span i { width: 8px; height: 8px; border-radius: 50%; background: var(--blue-600); }
.trend-chart-footer > strong { color: var(--ink); font-weight: 750; }
.trend-empty { min-height: 130px; }
@media (max-width: 600px) {
  .registration-trend-panel { padding: 17px 15px; }
  .registration-trend-panel .panel-heading { align-items: flex-start; gap: 10px; }
  .registration-trend { grid-template-columns: 26px minmax(0,1fr); gap: 6px; }
  .trend-x-axis { font-size: .58rem; }
  .trend-chart-footer { margin-left: 32px; font-size: .68rem; }
}

.section-wrap { width: min(1160px, calc(100% - 48px)); margin: auto; padding: 106px 0; }
.section-heading { max-width: 690px; margin: 0 auto 46px; text-align: center; }
.section-heading h2, .workflow-copy h2 { margin: 13px 0 14px; font-size: clamp(2rem, 3.4vw, 3rem); }
.section-heading p { max-width: 590px; margin: auto; line-height: 1.75; }
.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.feature-card { min-height: 228px; display: flex; flex-direction: column; align-items: flex-start; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-raised); box-shadow: var(--shadow-card); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.feature-card:hover { transform: translateY(-3px); border-color: #b7cde9; box-shadow: var(--shadow-soft); }
.feature-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; font-size: 18px; }
.feature-blue { color: #2868bc; background: #e8f1ff; }
.feature-purple { color: #6757a7; background: #efedfa; }
.feature-green { color: #268065; background: #e6f5ee; }
.feature-orange { color: #ad6b20; background: #fff2df; }
.feature-cyan { color: #267d91; background: #e5f4f7; }
.feature-navy { color: #244a7f; background: #e8edf5; }
.feature-card h3 { margin: 17px 0 8px; font-size: 1.08rem; letter-spacing: -.02em; }
.feature-card p { margin: 0 0 15px; font-size: .88rem; line-height: 1.65; }
.feature-card a { margin-top: auto; font-size: .79rem; font-weight: 700; }
.feature-card a i { margin-left: 5px; }
.workflow-section { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(38px, 7vw, 100px); padding: 95px max(calc((100% - 1160px)/2), 24px); background: var(--blue-050); }
.workflow-copy h2 { margin-top: 14px; }
.workflow-copy > p { max-width: 470px; line-height: 1.8; }
.check-list { display: grid; gap: 12px; margin: 23px 0; padding: 0; list-style: none; color: var(--ink-soft); font-size: .88rem; }
.check-list i { margin-right: 8px; color: var(--success); }
.text-link { font-size: .88rem; font-weight: 750; }
.text-link i { margin-left: 5px; }
.workflow-board { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-raised); box-shadow: var(--shadow-soft); }
.board-header { min-height: 58px; display: flex; align-items: center; gap: 12px; padding: 12px 18px; border-bottom: 1px solid var(--line); color: var(--ink); font-size: .79rem; }
.board-window { display: flex; gap: 4px; }
.board-window i:nth-child(1) { background: #d9817c; }
.board-window i:nth-child(2) { background: #e3b865; }
.board-window i:nth-child(3) { background: #76b99b; }
.status-chip { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 99px; font-size: .65rem; font-weight: 750; }
.status-published { margin-left: auto; color: #16714f; background: var(--success-soft); }
.board-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 11px 18px; }
.board-step { min-height: 75px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); }
.board-step:nth-last-child(-n+2) { border-bottom: 0; }
.step-number { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: #e8f1ff; color: #276cbe; font-size: .71rem; font-weight: 800; }
.step-number.purple { background: #efedfa; color: #6757a7; }
.step-number.orange { background: #fff1df; color: #a96d22; }
.step-number.green { background: #e6f5ee; color: #247c60; }
.board-step > div { display: grid; }
.board-step strong { color: var(--ink); font-size: .82rem; }
.board-step small { color: var(--muted); font-size: .72rem; }
.step-check { width: 22px; height: 22px; display: grid; place-items: center; margin-left: auto; border-radius: 50%; background: var(--success-soft); color: var(--success); font-size: .72rem; }
.step-live { margin-left: auto; color: #2774d0; font-size: .61rem; font-weight: 800; letter-spacing: .08em; }
.board-bottom { display: flex; flex-wrap: wrap; gap: 10px 22px; padding: 15px 19px; border-top: 1px solid var(--line); color: var(--ink-soft); background: var(--surface-tint); font-size: .69rem; }
.board-bottom i { margin-right: 4px; color: var(--blue-700); }
.security-section { padding: 90px 24px; color: #fff; background: #0c2d60; }
.security-inner { width: min(1040px, 100%); margin: auto; text-align: center; }
.security-badge { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid rgba(183,211,247,.22); border-radius: 99px; color: #d9e9fc; background: rgba(255,255,255,.06); font-size: .75rem; font-weight: 700; }
.security-inner h2 { margin: 21px 0 42px; color: #fff; font-size: clamp(2.15rem, 4vw, 3.55rem); }
.security-inner h2 em { color: #91bcf0; font-style: normal; }
.security-points { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; text-align: left; }
.security-points > div { display: grid; align-content: start; gap: 9px; min-height: 155px; padding: 21px; border: 1px solid rgba(188,212,244,.2); border-radius: 13px; background: rgba(255,255,255,.055); }
.security-points i { color: #8dbafa; font-size: 19px; }
.security-points strong { color: #f3f7fd; font-size: .9rem; }
.security-points span { color: #bfd0e5; font-size: .8rem; line-height: 1.65; }
.security-note { max-width: 790px; margin: 23px auto 0; color: #a9bfd9; font-size: .72rem; }
.plans-section { padding-top: 96px; padding-bottom: 100px; }
.plan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(235px, 1fr)); align-items: stretch; gap: 16px; }
.plan-card { position: relative; display: flex; flex-direction: column; min-height: 315px; padding: 25px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-raised); box-shadow: var(--shadow-card); }
.plan-featured { border: 2px solid var(--blue-600); box-shadow: 0 12px 32px rgba(21,88,176,.12); }
.plan-ribbon { position: absolute; top: -12px; right: 18px; padding: 5px 10px; border-radius: 99px; color: #fff; background: var(--blue-700); font-size: .59rem; font-weight: 800; letter-spacing: .08em; }
.plan-name { font: 750 1.15rem var(--font-display); }
.plan-card > p { min-height: 44px; margin: 8px 0 15px; font-size: .82rem; }
.plan-price { display: flex; align-items: baseline; gap: 6px; margin-bottom: 14px; }
.plan-price strong { color: var(--navy-900); font: 800 2rem var(--font-display); letter-spacing: -.05em; }
html[data-theme="dark"] .plan-price strong { color: #d8e8ff; }
.plan-price span { color: var(--muted); font-size: .78rem; }
.plan-card ul { display: grid; gap: 9px; margin: 0 0 22px; padding: 0; list-style: none; color: var(--ink-soft); font-size: .79rem; }
.plan-card li i { margin-right: 7px; color: var(--success); }
.plan-card > .btn { width: 100%; margin-top: auto; }
.closing-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 68px max(calc((100% - 1120px)/2), 24px); color: #fff; background: var(--navy-950); }
.closing-cta h2 { margin: 17px 0 11px; color: #fff; font-size: clamp(1.9rem, 3.3vw, 2.8rem); }
.closing-cta p { margin: 0; color: #b8c9df; }
.closing-cta > a { flex: 0 0 auto; }
.dev-login-panel { width: min(1130px, calc(100% - 48px)); margin: 42px auto 70px; padding: 30px; border: 1px dashed var(--line-strong); border-radius: 16px; background: var(--surface-tint); }
.dev-login-heading { margin-bottom: 22px; }
.dev-tag { color: var(--warning); }
.dev-login-heading h2 { margin: 10px 0 7px; font-size: 1.4rem; }
.dev-login-heading p { margin: 0; font-size: .86rem; }
.dev-role-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 11px; }
.dev-role-grid form { min-width: 0; }
.dev-role-card { width: 100%; min-height: 155px; display: flex; flex-direction: column; align-items: flex-start; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-raised); color: var(--ink); text-align: left; cursor: pointer; transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease; }
.dev-role-card:hover { transform: translateY(-2px); border-color: #8db5e8; box-shadow: var(--shadow-card); }
.dev-role-card > span { width: 32px; height: 32px; display: grid; place-items: center; margin-bottom: 10px; border-radius: 9px; background: var(--blue-050); color: var(--blue-700); }
.dev-role-card strong { font-size: .84rem; }
.dev-role-card small { margin-top: 4px; color: var(--muted); font-size: .7rem; }
.dev-role-card em { margin-top: auto; padding-top: 12px; color: var(--blue-700); font-size: .72rem; font-style: normal; font-weight: 750; }
.public-footer { border-top: 1px solid var(--line); background: var(--surface-raised); }
.footer-inner { width: min(1160px, calc(100% - 48px)); min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: auto; color: var(--muted); font-size: .74rem; }
.footer-inner a { color: var(--ink-soft); }

/* Authenticated operations workspace */
.workspace-body { overflow-x: hidden; background: var(--surface-tint); }
.workspace { min-height: 100dvh; }
.sidebar { position: fixed; z-index: 120; inset: 0 auto 0 0; width: 264px; display: flex; flex-direction: column; padding: 24px 16px 14px; color: #e7effa; background: #0b2a5b; box-shadow: 8px 0 30px rgba(9,31,65,.08); }
.sidebar .brand-lockup { margin: 0 8px 28px; color: #fff; }
.sidebar .brand-mark { width: 39px; height: 39px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.11); box-shadow: none; }
.sidebar .brand-lockup small { color: #a9bfdd; }
.sidebar-tenant { display: grid; gap: 7px; margin: 0 2px 23px; padding: 15px 13px; border: 1px solid rgba(183,207,239,.13); border-radius: 11px; background: rgba(255,255,255,.055); }
.sidebar-tenant strong { color: #f4f8ff; font: 700 .85rem var(--font-display); }
.tenant-status { color: #a9c4e6; font-size: .69rem; }
.tenant-status i { width: 6px; height: 6px; display: inline-block; margin-right: 6px; border-radius: 50%; background: #66c6a0; }
.side-nav { flex: 1; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(210,228,249,.25) transparent; }
.side-link { min-height: 42px; display: flex; align-items: center; gap: 12px; margin: 2px 0; padding: 9px 11px; border: 1px solid transparent; border-radius: 8px; color: #c0d0e4; font-size: .82rem; font-weight: 550; transition: background .15s, color .15s, border-color .15s; }
.side-link i { width: 18px; color: #9bb5d6; font-size: 15px; text-align: center; }
.side-link:hover, .side-link.active, .side-link[aria-current="page"] { border-color: rgba(182,212,249,.12); color: #fff; background: rgba(255,255,255,.11); }
.side-link:hover i, .side-link.active i, .side-link[aria-current="page"] i { color: #a9ceff; }
.nav-divider { display: block; margin: 21px 11px 7px; color: #809cbe; font-size: .59rem; }
.sidebar-help { display: flex; align-items: center; gap: 10px; margin: 15px 2px 13px; padding: 12px; border: 1px solid rgba(183,207,239,.13); border-radius: 10px; background: rgba(255,255,255,.055); }
.help-icon { width: 31px; height: 31px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: #a7caff; background: rgba(255,255,255,.1); }
.sidebar-help > div, .profile-meta { min-width: 0; display: grid; }
.sidebar-help strong { color: #eaf1fa; font-size: .72rem; }
.sidebar-help small { color: #a2b7d2; font-size: .65rem; }
.sidebar-help > a { margin-left: auto; color: #bdd2ed; }
.sidebar-profile { display: flex; align-items: center; gap: 9px; padding: 13px 3px 1px; border-top: 1px solid rgba(204,222,244,.16); }
.avatar { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: #fff; background: #3874bd; font-size: .78rem; font-weight: 750; }
.avatar-small { width: 33px; height: 33px; }
.profile-meta { flex: 1; }
.profile-meta strong { overflow: hidden; color: #f3f7fc; font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.profile-meta small { overflow: hidden; color: #a7bbd5; font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-signout { width: 34px; height: 34px; border-color: transparent; color: #bad0eb; background: transparent; }
.sidebar-signout:hover { color: #fff; background: rgba(255,255,255,.1); }
.workspace-main { min-height: 100dvh; margin-left: 264px; }
.topbar { position: sticky; z-index: 60; top: 0; min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 32px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--surface-raised) 93%, transparent); backdrop-filter: blur(12px); }
.mobile-menu-button { display: none; }
.topbar-context { display: flex; align-items: center; gap: 10px; color: var(--ink); font-size: .84rem; font-weight: 700; }
.topbar-context .crumb-root { color: var(--muted); font-weight: 500; }
.topbar-context > i { color: #aab8c8; font-size: .62rem; }
.topbar-actions { display: flex; align-items: center; gap: 14px; }
.topbar-date { display: inline-flex; align-items: center; gap: 7px; color: var(--ink-soft); font-size: .76rem; }
.notification-button { position: relative; }
.notification-button > span { position: absolute; width: 7px; height: 7px; top: 8px; right: 8px; border: 1px solid var(--surface-raised); border-radius: 50%; background: #d7795c; }
.topbar-user { display: flex; align-items: center; gap: 8px; color: var(--ink); }
.topbar-user:hover { color: var(--blue-700); }
.avatar-top { width: 32px; height: 32px; border: 0; background: #dceaff; color: #225da8; }
.topbar-user-name { max-width: 130px; overflow: hidden; font-size: .77rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.topbar-user > i { color: var(--muted); font-size: .65rem; }
.workspace-content { width: min(1480px, 100%); min-height: calc(100dvh - 68px); margin: 0 auto; padding: 30px 34px 52px; }
.sidebar-scrim { display: none; }
.app-alert { position: relative; display: flex; align-items: center; gap: 10px; margin-bottom: 22px; padding: 13px 48px 13px 15px; border: 1px solid transparent; border-radius: 10px; font-size: .87rem; }
.alert-success { border-color: #b9dfcf; color: #21684e; background: var(--success-soft); }
.alert-danger { border-color: #efc5c5; color: #96363c; background: var(--danger-soft); }
.app-alert .btn-close { position: absolute; top: 50%; right: 14px; width: 18px; height: 18px; padding: 4px; border: 0; background: transparent; opacity: .7; transform: translateY(-50%); cursor: pointer; }
.app-alert .btn-close::before { content: "×"; color: currentColor; font-size: 22px; line-height: 10px; }

/* Shared patterns for controllers' Razor views: dashboards, records, admin and settings. */
.page-header, .content-header, .page-heading, .dashboard-heading, .admin-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.page-header h1, .content-header h1, .page-heading h1, .dashboard-heading h1, .admin-heading h1 { margin: 0; font-size: clamp(1.55rem, 2.5vw, 2.15rem); }
.page-header p, .content-header p, .page-heading p, .dashboard-heading p, .admin-heading p { margin: 8px 0 0; color: var(--ink-soft); }
.page-actions, .header-actions, .toolbar-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.card, .panel, .data-card, .table-card, .admin-card, .form-card, .content-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-raised); box-shadow: var(--shadow-card); }
.card-header, .panel-header, .data-card-header, .table-card-header, .admin-card-header { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 58px; padding: 13px 19px; border-bottom: 1px solid var(--line); background: var(--surface-raised); }
.card-header h2, .panel-header h2, .data-card-header h2, .table-card-header h2, .admin-card-header h2 { margin: 0; font-size: 1rem; }
.card-body, .panel-body, .form-card-body { padding: 20px; }
.card-footer, .panel-footer { padding: 13px 19px; border-top: 1px solid var(--line); background: var(--surface-tint); }
.dashboard-grid, .stats-grid, .metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 21px; }
.stat-card, .metric-card, .summary-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-raised); box-shadow: var(--shadow-card); }
.stat-card .label, .metric-card .label, .summary-card .label { color: var(--muted); font-size: .75rem; font-weight: 650; }
.stat-card strong, .metric-card strong, .summary-card strong { display: block; margin-top: 6px; color: var(--ink); font: 750 1.75rem var(--font-display); letter-spacing: -.04em; }
.stat-card small, .metric-card small, .summary-card small { color: var(--ink-soft); }
.table-responsive { overflow-x: auto; overscroll-behavior-inline: contain; border-radius: 0 0 var(--radius-md) var(--radius-md); }
table { width: 100%; border-collapse: separate; border-spacing: 0; color: var(--ink); font-size: .84rem; }
thead th { padding: 12px 15px; border-bottom: 1px solid var(--line); color: var(--muted); background: var(--surface-tint); font-size: .67rem; font-weight: 750; letter-spacing: .055em; text-align: left; text-transform: uppercase; white-space: nowrap; }
tbody td { padding: 14px 15px; border-bottom: 1px solid var(--line); vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: color-mix(in srgb, var(--blue-050) 72%, var(--surface-raised)); }
td .btn, th .btn { min-height: 34px; padding: 6px 10px; font-size: .77rem; }
.table-actions { display: flex; flex-wrap: nowrap; gap: 6px; }
.form-label, label { display: inline-block; margin-bottom: 6px; color: var(--ink); font-size: .81rem; font-weight: 700; }
.form-control, .form-select, input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="date"], input[type="datetime-local"], input[type="search"], select, textarea { width: 100%; min-height: 43px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 8px; color: var(--ink); background: var(--surface-raised); box-shadow: inset 0 1px 1px rgba(14,42,78,.025); }
textarea.form-control, textarea { min-height: 110px; resize: vertical; }
.form-control::placeholder, input::placeholder, textarea::placeholder { color: #98a6b6; }
.form-control:focus, .form-select:focus, input:focus, select:focus, textarea:focus { border-color: #6e9fd8; outline: 0; box-shadow: 0 0 0 3px rgba(53,119,198,.13); }
.form-text, .field-hint, .text-muted { color: var(--muted) !important; font-size: .75rem; }
.form-group, .mb-3 { margin-bottom: 17px !important; }
.form-check { min-height: 24px; display: flex; align-items: flex-start; gap: 8px; }
.form-check-input, input[type="checkbox"], input[type="radio"] { width: 17px; height: 17px; flex: 0 0 auto; margin: 2px 0 0; accent-color: var(--blue-700); cursor: pointer; }
.form-check-label { color: var(--ink-soft); font-weight: 500; }
.input-group { display: flex; }
.input-group .form-control, .input-group input { min-width: 0; border-radius: 8px 0 0 8px; }
.input-group .btn, .input-group-text { border-radius: 0 8px 8px 0; }
.form-validation, .field-validation-error, .validation-summary-errors { color: var(--danger); font-size: .77rem; }
.validation-summary-errors { padding: 11px 14px; border: 1px solid #efc5c5; border-radius: 9px; background: var(--danger-soft); }
.alert { padding: 13px 15px; border-radius: 9px; }
.badge, .status-badge, .role-badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 9px; border-radius: 99px; background: var(--blue-050); color: var(--blue-700); font-size: .69rem; font-weight: 750; }
.pagination { display: flex; flex-wrap: wrap; gap: 5px; margin: 18px 0 0; padding: 0; list-style: none; }
.page-link { min-width: 34px; height: 34px; display: grid; place-items: center; padding: 5px 9px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink-soft); background: var(--surface-raised); }
.page-item.active .page-link, .page-link:hover { border-color: var(--blue-700); color: #fff; background: var(--blue-700); }
.empty-state { padding: 48px 22px; text-align: center; }
.empty-state > i { width: 48px; height: 48px; display: grid; place-items: center; margin: 0 auto 15px; border-radius: 14px; color: var(--blue-700); background: var(--blue-050); font-size: 20px; }
.empty-state h2, .empty-state h3 { margin-bottom: 8px; font-size: 1.15rem; }
.empty-state p { max-width: 420px; margin: 0 auto 18px; }
.loading-skeleton { position: relative; overflow: hidden; border-radius: 7px; background: var(--surface-tint); }
.loading-skeleton::after { position: absolute; inset: 0; content: ""; transform: translateX(-100%); background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent); animation: skeleton-sweep 1.55s ease-in-out infinite; }
@keyframes skeleton-sweep { to { transform: translateX(100%); } }

/* Role/action grids, toggles, integrations, and map widgets. */
.role-grid, .responsibility-grid, .feature-selection-grid, .permission-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.role-card, .role-tile, .feature-option, .permission-card, .integration-card { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-raised); }
.role-card, .role-tile, .feature-option { display: flex; align-items: flex-start; gap: 11px; transition: border-color .15s, background .15s; }
.role-card:has(input:checked), .role-tile:has(input:checked), .feature-option:has(input:checked) { border-color: #7fa9dc; background: var(--blue-050); }
.role-card label, .role-tile label, .feature-option label { margin: 0; cursor: pointer; }
.role-matrix, .responsibility-matrix { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.role-matrix table, .responsibility-matrix table { min-width: 680px; }
.role-matrix th:first-child, .role-matrix td:first-child { position: sticky; left: 0; z-index: 1; background: var(--surface-raised); }
.toggle, .switch { position: relative; display: inline-flex; align-items: center; gap: 9px; cursor: pointer; }
.toggle input, .switch input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.toggle-track, .switch-track { position: relative; width: 42px; height: 24px; flex: 0 0 auto; border: 1px solid var(--line-strong); border-radius: 99px; background: #dce4ed; transition: background .16s, border-color .16s; }
.toggle-track::after, .switch-track::after { position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; content: ""; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.18); transition: transform .16s; }
.toggle input:checked + .toggle-track, .switch input:checked + .switch-track { border-color: var(--blue-700); background: var(--blue-700); }
.toggle input:checked + .toggle-track::after, .switch input:checked + .switch-track::after { transform: translateX(18px); }
.toggle input:focus-visible + .toggle-track, .switch input:focus-visible + .switch-track { outline: 3px solid #76aaf0; outline-offset: 2px; }
.map-widget, #eventMap, #venueMap, #map, #mapCanvas { position: relative; min-height: 300px; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 12px; background: #e8eff3; }
.osm-map-tiles { position: absolute; inset: 0; overflow: hidden; background: #e8eff3; cursor: crosshair; }
.osm-map-tiles img { position: absolute; width: 256px; height: 256px; max-width: none; border: 0; }
.osm-map-marker { position: absolute; z-index: 3; top: 50%; left: 50%; width: 18px; height: 18px; border: 3px solid #fff; border-radius: 50% 50% 50% 0; background: #c94c4c; box-shadow: 0 2px 9px rgba(16,42,68,.36); transform: translate(-50%, -90%) rotate(-45deg); pointer-events: none; }
.osm-map-attribution { position: absolute; z-index: 4; right: 0; bottom: 0; padding: 3px 6px; color: #30465b; background: rgba(255,255,255,.87); font: 11px/1.3 var(--font-body); }
.osm-map-attribution a { color: #1659b8; }
.map-search-results { position: absolute; z-index: 8; top: calc(100% + 4px); right: 0; left: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-raised); box-shadow: var(--shadow-soft); }
.map-search-results button { width: 100%; display: block; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--line); color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.map-search-results button:hover { background: var(--blue-050); }

@media (max-width: 1080px) {
  .hero-content { grid-template-columns: minmax(0,.82fr) minmax(430px,1.18fr); gap: 25px; }
  .hero-copy h1 { font-size: clamp(2.7rem, 5vw, 4rem); }
  .workspace-content { padding-inline: 25px; }
  .dashboard-grid, .stats-grid, .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .public-header-inner { width: calc(100% - 32px); min-height: 68px; gap: 14px; }
  .public-nav { gap: 17px; }
  .public-header-actions { gap: 12px; }
  .hero-content { width: min(650px, calc(100% - 40px)); grid-template-columns: 1fr; gap: 25px; padding: 72px 0 52px; }
  .hero-copy { max-width: none; }
  .hero-copy h1 { max-width: 630px; }
  .hero-preview { padding: 0 12px 25px 0; }
  .preview-window { transform: none; }
  .floating-insight { right: -2px; }
  .hero-bottom { align-items: flex-start; flex-direction: column; padding: 17px 24px; }
  .hero-bottom > div { justify-content: flex-start; }
  .section-wrap { padding: 76px 0; }
  .feature-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .workflow-section { grid-template-columns: 1fr; gap: 32px; padding: 72px 24px; }
  .workflow-copy { max-width: 650px; }
  .security-section { padding: 72px 22px; }
  .security-points { grid-template-columns: 1fr; }
  .security-points > div { min-height: 0; grid-template-columns: 28px 1fr; }
  .security-points > div i { grid-row: span 2; }
  .sidebar { width: 278px; transform: translateX(-105%); transition: transform .22s ease; }
  body.sidebar-open .sidebar { transform: translateX(0); }
  .sidebar-scrim { position: fixed; z-index: 110; inset: 0; display: block; visibility: hidden; background: rgba(7,25,51,.5); opacity: 0; transition: opacity .2s, visibility .2s; }
  body.sidebar-open .sidebar-scrim { visibility: visible; opacity: 1; }
  .workspace-main { margin-left: 0; }
  .mobile-menu-button { display: inline-grid; flex: 0 0 auto; }
  .topbar { justify-content: flex-start; padding-inline: 18px; }
  .topbar-context { flex: 1; overflow: hidden; white-space: nowrap; }
  .topbar-context > span:last-child { overflow: hidden; text-overflow: ellipsis; }
  .topbar-actions { gap: 8px; }
  .topbar-date { display: none; }
  .workspace-content { padding: 25px 20px 42px; }
}
@media (max-width: 560px) {
  body { font-size: 14px; }
  .public-header-inner { min-height: 64px; }
  .brand-mark { width: 37px; height: 37px; border-radius: 10px; }
  .public-nav { display: none; }
  .public-header-actions { gap: 11px; }
  .sign-in-link { font-size: .81rem; }
  .public-header-actions .btn { min-height: 35px; padding: 7px 14px; font-size: .78rem; }
  .hero-content { width: calc(100% - 36px); padding: 57px 0 42px; }
  .hero-copy h1 { margin-top: 19px; font-size: clamp(2.55rem, 12vw, 3.55rem); }
  .hero-lede { font-size: .98rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .btn { width: 100%; }
  .hero-proof { gap: 8px 13px; font-size: .71rem; }
  .hero-preview { margin: 0 -8px; padding-right: 0; }
  .preview-window { border-radius: 11px; }
  .preview-screen { padding: 14px 11px 9px; }
  .preview-layout { min-height: auto; }
  .preview-rail { width: 32px; gap: 13px; }
  .preview-metrics { gap: 5px; }
  .preview-metrics > div { padding: 6px; }
  .preview-metrics strong { font-size: .85rem; }
  .preview-metrics small { font-size: .45rem; }
  .preview-panels { grid-template-columns: 1fr; }
  .preview-chart { display: none; }
  .preview-upcoming { padding: 8px; }
  .floating-insight { right: 5px; bottom: -8px; min-width: 0; padding: 9px 11px; }
  .floating-insight > span { width: 29px; height: 29px; }
  .hero-bottom { padding-inline: 18px; }
  .hero-bottom > div { gap: 9px 16px; font-size: .56rem; }
  .section-wrap { width: calc(100% - 36px); padding: 65px 0; }
  .section-heading { margin-bottom: 30px; }
  .section-heading h2, .workflow-copy h2 { font-size: 2rem; }
  .feature-grid { grid-template-columns: 1fr; gap: 11px; }
  .feature-card { min-height: 0; padding: 20px; }
  .workflow-section { padding: 62px 18px; }
  .board-header { gap: 8px; padding-inline: 12px; font-size: .7rem; }
  .board-columns { grid-template-columns: 1fr; padding-inline: 13px; }
  .board-step:nth-last-child(2) { border-bottom: 1px solid var(--line); }
  .board-bottom { gap: 8px 14px; padding-inline: 13px; }
  .security-section { padding: 62px 18px; }
  .security-inner h2 { margin-bottom: 30px; font-size: 2.1rem; }
  .plan-grid { grid-template-columns: 1fr; gap: 17px; }
  .plans-section { padding-top: 65px; padding-bottom: 65px; }
  .closing-cta { align-items: flex-start; flex-direction: column; padding: 53px 20px; }
  .closing-cta > a { width: 100%; }
  .dev-login-panel { width: calc(100% - 36px); padding: 20px; }
  .dev-role-grid { grid-template-columns: 1fr; }
  .dev-role-card { min-height: 130px; }
  .footer-inner { width: calc(100% - 36px); align-items: flex-start; flex-direction: column; justify-content: center; padding: 15px 0; gap: 5px; }
  .topbar { min-height: 60px; gap: 9px; padding: 8px 12px; }
  .topbar-context { gap: 6px; font-size: .75rem; }
  .topbar-context .crumb-root { display: none; }
  .topbar-context > i { display: none; }
  .topbar-actions { gap: 6px; }
  .topbar-user-name, .topbar-user > i { display: none; }
  .topbar-user { margin-left: 1px; }
  .workspace-content { padding: 20px 14px 34px; }
  .page-header, .content-header, .page-heading, .dashboard-heading, .admin-heading { align-items: stretch; flex-direction: column; gap: 15px; margin-bottom: 19px; }
  .page-actions, .header-actions, .toolbar-actions { width: 100%; }
  .page-actions .btn, .header-actions .btn { flex: 1; }
  .dashboard-grid, .stats-grid, .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
  .stat-card, .metric-card, .summary-card { padding: 13px; }
  .stat-card strong, .metric-card strong, .summary-card strong { font-size: 1.4rem; }
  .card-header, .panel-header, .data-card-header, .table-card-header, .admin-card-header { padding: 12px 14px; }
  .card-body, .panel-body, .form-card-body { padding: 15px; }
  .table-responsive { margin-inline: -1px; }
  .role-grid, .responsibility-grid, .feature-selection-grid, .permission-grid { grid-template-columns: 1fr; }
  .map-widget, #eventMap, #venueMap, #map, #mapCanvas { min-height: 250px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* EventHub workspace refinement: calm information hierarchy, visible state, and compact controls. */
.workspace-body { background: #f2f6fb; }
.workspace-content { padding-top: 32px; }
.side-link { min-height: 43px; }
.side-link.active, .side-link[aria-current="page"] { position: relative; border-color: rgba(182,212,249,.18); background: rgba(255,255,255,.12); }
.side-link.active::before, .side-link[aria-current="page"]::before { position: absolute; left: -17px; width: 3px; height: 22px; border-radius: 0 4px 4px 0; background: #79b5fa; content: ""; }
.workspace-context-badge { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink-soft); background: var(--surface-raised); font-size: .73rem; font-weight: 650; white-space: nowrap; }
.workspace-context-badge i { color: var(--success); }
.topbar { box-shadow: 0 1px 0 rgba(14,42,78,.02); }
.panel-card, .metric-card, .admin-module-card, .quick-action-card { transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.panel-card { border-radius: 14px; }
.panel-card:hover { border-color: color-mix(in srgb, var(--line-strong) 80%, var(--blue-600)); }
.metric-card { border-radius: 13px; }
.metric-top { min-height: 29px; }
.metric-value { font-variant-numeric: tabular-nums; }
.panel-heading h2 { letter-spacing: -.025em; }
.app-table { font-variant-numeric: tabular-nums; }
.app-table tbody tr { transition: background-color .14s ease; }
.app-table tbody tr:hover { background: color-mix(in srgb, var(--blue-050) 74%, var(--surface-raised)); }
.app-table tbody tr[hidden] { display: none; }
.app-table .no-results-row td { padding: 28px 18px; color: var(--muted); background: var(--surface-tint); text-align: center; }
.toolbar-search { min-height: 42px; border-radius: 9px; }
.toolbar-search:focus-within { border-color: #83addb; box-shadow: 0 0 0 3px rgba(44,111,187,.11); }
.form-control, .form-select { min-height: 43px; border-color: var(--line-strong); border-radius: 8px; color: var(--ink); background-color: var(--surface-raised); }
.form-control::placeholder { color: #8b9aab; }
.form-control:focus, .form-select:focus { border-color: #79a9dc; box-shadow: 0 0 0 3px rgba(43,111,184,.12); }
.form-field > label { margin-bottom: 6px; color: var(--ink); font-size: .79rem; font-weight: 700; }
.validation-summary:not(:empty) { margin-bottom: 18px; padding: 12px 14px; border: 1px solid #efc5c5; border-radius: 9px; color: #96363c; background: var(--danger-soft); font-size: .83rem; }
.validation-summary ul { margin: 0; padding-left: 18px; }
.btn { border-radius: 8px; }
.btn:focus-visible, .icon-button:focus-visible, .side-link:focus-visible { outline-offset: 3px; }
.empty-state { min-height: 290px; }
.empty-state-icon { width: 54px; height: 54px; border-radius: 16px; }
.empty-inline { border-radius: 10px; }
.permission-banner, .billing-notice, .integration-security-note, .permission-note { border-radius: 10px; }
.metric-strip { border-radius: 13px; }
.event-list-row { transition: background .14s ease; }
.event-list-row:hover { background: var(--blue-050); }
.row-actions .icon-button { width: 35px; height: 35px; }
.quick-action-card:hover, .admin-module-card:hover { transform: translateY(-2px); border-color: #abc7e7; box-shadow: var(--shadow-soft); }
.theme-choice:focus-within, .signup-plan:focus-within { outline: 3px solid #76aaf0; outline-offset: 3px; }
.plan-change-form .btn { white-space: normal; }

/* User and access management */
.users-page-heading { align-items: flex-end; }
.users-heading-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.users-heading-actions .btn { min-height: 40px; display: inline-flex; align-items: center; gap: 8px; }
.users-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin: 0 0 20px; }
.users-summary-card { min-width: 0; display: flex; align-items: center; gap: 13px; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-raised); box-shadow: 0 2px 8px rgba(20,46,78,.035); }
.users-summary-card > div { min-width: 0; display: grid; gap: 3px; }
.users-summary-card > div > span { color: var(--ink-soft); font-size: .76rem; font-weight: 650; }
.users-summary-card strong { color: var(--ink); font-size: 1.6rem; line-height: 1.1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.users-summary-card small { overflow: hidden; color: var(--muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.users-summary-icon { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; font-size: 1.05rem; }
.users-summary-blue .users-summary-icon { color: #195db5; background: #eaf2fd; }
.users-summary-green .users-summary-icon { color: #138355; background: #e9f7f0; }
.users-summary-amber .users-summary-icon { color: #a96112; background: #fff4e3; }
.users-summary-violet .users-summary-icon { color: #6742b5; background: #f1edfc; }
.users-directory-card { overflow: hidden; padding: 0; }
.user-invite-card { margin-bottom: 20px; padding: 20px 23px; }
.user-invite-heading h2 { margin: 4px 0; color: var(--ink); font-size: 1.05rem; }
.user-invite-heading p { margin: 0; color: var(--muted); font-size: .78rem; }
.user-invite-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; align-items: end; gap: 12px; margin-top: 16px; }
.user-invite-form .form-field { min-width: 0; margin: 0; }
.user-invite-form .form-field label, .user-profile-form label { display: block; margin-bottom: 5px; color: var(--ink-soft); font-size: .72rem; font-weight: 700; }
.user-invite-form .btn { min-height: 42px; white-space: nowrap; }
.users-directory-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; padding: 21px 23px 18px; border-bottom: 1px solid var(--line); }
.users-directory-header h2 { margin: 4px 0 4px; color: var(--ink); font-size: 1.1rem; letter-spacing: -.025em; }
.users-directory-header p { margin: 0; color: var(--muted); font-size: .8rem; }
.users-tenant-filter { width: min(340px, 100%); flex: 0 0 auto; }
.users-tenant-filter > label, .users-status-filter > span { display: block; margin: 0 0 6px; color: var(--ink-soft); font-size: .7rem; font-weight: 750; }
.users-tenant-control { display: flex; gap: 7px; }
.users-tenant-control .form-select { min-width: 0; }
.users-tenant-control .btn { flex: 0 0 auto; }
.users-toolbar { display: grid; grid-template-columns: minmax(220px, 1fr) 185px auto; align-items: end; gap: 12px; padding: 15px 23px; border-bottom: 1px solid var(--line); background: var(--surface-tint); }
.users-search { min-width: 0; min-height: 42px; display: flex; align-items: center; gap: 9px; margin: 0; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 9px; color: var(--muted); background: var(--surface-raised); }
.users-search:focus-within { border-color: #79a9dc; box-shadow: 0 0 0 3px rgba(43,111,184,.12); }
.users-search > i { flex: 0 0 auto; }
.users-search input { min-width: 0; min-height: 40px; padding: 7px 0; border: 0; outline: 0; background: transparent; box-shadow: none; }
.users-search input:focus { border: 0; outline: 0; box-shadow: none; }
.users-status-filter { margin: 0; }
.users-status-filter .form-select { min-height: 42px; }
.users-result-count { justify-self: end; padding: 0 1px 10px; color: var(--muted); font-size: .74rem; white-space: nowrap; }
.users-directory-list { display: grid; gap: 12px; padding: 16px 20px 20px; }
.user-access-card { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-raised); transition: border-color .16s ease, box-shadow .16s ease; }
.user-access-card:hover { border-color: #b8cde5; box-shadow: 0 5px 16px rgba(22,54,92,.06); }
.user-access-card[hidden] { display: none; }
.user-access-main { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; }
.user-access-identity { min-width: 0; display: flex; align-items: center; gap: 12px; }
.user-access-identity .avatar { width: 43px; height: 43px; font-size: .9rem; }
.user-access-name { min-width: 0; display: grid; gap: 3px; }
.user-access-name h3 { overflow: hidden; margin: 0; color: var(--ink); font-size: .92rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.user-access-name a { overflow: hidden; color: var(--muted); font-size: .75rem; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.user-access-name a:hover { color: var(--blue-700); text-decoration: underline; }
.user-access-state { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.user-status-pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 99px; font-size: .7rem; font-weight: 750; white-space: nowrap; }
.user-status-pill.is-active { color: #15754e; background: #e9f7f0; }
.user-status-pill.is-suspended { color: #9a4c4c; background: #fbefef; }
.user-status-pill.is-pending { color: #8b5b12; background: #fff4df; }
.user-profile-editor { margin-bottom: 12px; }
.user-profile-editor > summary { width: fit-content; color: var(--blue-700); font-size: .76rem; font-weight: 700; cursor: pointer; }
.user-profile-form { display: grid; grid-template-columns: auto minmax(160px, 1fr) auto; align-items: end; gap: 8px; margin-top: 10px; }
.user-profile-form .form-control { min-height: 36px; }
.user-status-form { margin: 0; }
.user-status-form .btn { min-height: 34px; }
.user-access-details { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(280px, 1.2fr); align-items: start; gap: 18px; padding: 14px 18px; border-top: 1px solid var(--line); background: color-mix(in srgb, var(--surface-tint) 62%, var(--surface-raised)); }
.user-current-roles { min-width: 0; display: grid; align-content: start; gap: 8px; }
.user-section-label { color: var(--muted); font-size: .67rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.role-pill-list { display: flex; flex-wrap: wrap; gap: 6px; }
.role-pill-list .role-pill { max-width: 100%; padding: 5px 8px; font-size: .67rem; }
.user-no-roles { color: var(--muted); font-size: .76rem; }
.user-role-editor { min-width: 0; }
.user-role-editor > summary { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; color: var(--blue-700); background: var(--surface-raised); font-size: .75rem; font-weight: 750; cursor: pointer; list-style: none; }
.user-role-editor > summary::-webkit-details-marker { display: none; }
.user-role-editor > summary > span { display: inline-flex; align-items: center; gap: 8px; }
.role-editor-chevron { transition: transform .16s ease; }
.user-role-editor[open] > summary { border-color: #b4cce8; border-radius: 8px 8px 0 0; }
.user-role-editor[open] .role-editor-chevron { transform: rotate(180deg); }
.user-role-editor-content { padding: 12px; border: 1px solid #b4cce8; border-top: 0; border-radius: 0 0 8px 8px; background: var(--surface-raised); }
.role-editor-intro { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 10px; margin-bottom: 10px; }
.role-editor-intro strong { color: var(--ink); font-size: .75rem; }
.role-editor-intro span { color: var(--muted); font-size: .68rem; }
.user-role-toggle-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.user-role-form { min-width: 0; margin: 0; }
.user-role-toggle { min-height: 54px; display: flex !important; align-items: center; justify-content: space-between; gap: 8px; margin: 0; padding: 8px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-tint); cursor: pointer; }
.user-role-toggle:hover { border-color: #b5cde8; background: var(--blue-050); }
.user-role-copy { min-width: 0; display: grid; gap: 2px; }
.user-role-copy strong { color: var(--ink); font-size: .68rem; line-height: 1.25; }
.user-role-copy small { color: var(--muted); font-size: .61rem; font-weight: 500; line-height: 1.25; }
.user-role-toggle .switch { flex: 0 0 auto; gap: 0; }
.user-readonly-note { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: .72rem; }
.users-filter-empty { display: grid; justify-items: center; gap: 5px; padding: 38px 20px; color: var(--muted); text-align: center; }
.users-filter-empty[hidden] { display: none; }
.users-filter-empty > i { margin-bottom: 4px; color: var(--blue-700); font-size: 1.35rem; }
.users-filter-empty strong { color: var(--ink); font-size: .86rem; }
.users-filter-empty span { font-size: .75rem; }
.users-security-note { display: flex; align-items: flex-start; gap: 9px; padding: 12px 22px; border-top: 1px solid var(--line); color: var(--muted); background: var(--surface-tint); font-size: .72rem; line-height: 1.5; }
.users-security-note > i { margin-top: 1px; color: var(--success); }
.users-empty-state { min-height: 230px; }

@media (max-width: 1100px) {
  .users-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .user-invite-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .users-page-heading { align-items: stretch; }
  .users-heading-actions { justify-content: flex-start; }
  .users-directory-header { align-items: stretch; flex-direction: column; gap: 15px; padding-inline: 17px; }
  .users-tenant-filter { width: 100%; }
  .users-toolbar { grid-template-columns: minmax(0, 1fr) minmax(150px, .65fr); padding-inline: 17px; }
  .users-result-count { grid-column: 1 / -1; justify-self: start; padding: 0; }
  .users-directory-list { padding-inline: 13px; }
  .user-invite-card { padding-inline: 17px; }
  .user-access-details { grid-template-columns: 1fr; gap: 13px; }
}
@media (max-width: 560px) {
  .users-summary-grid { gap: 9px; }
  .users-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .users-summary-card { align-items: flex-start; gap: 9px; padding: 12px; }
  .users-summary-icon { width: 34px; height: 34px; border-radius: 10px; font-size: .9rem; }
  .users-summary-card > div > span { font-size: .68rem; }
  .users-summary-card strong { font-size: 1.35rem; }
  .users-summary-card small { font-size: .61rem; }
  .users-toolbar { grid-template-columns: 1fr; gap: 10px; }
  .user-invite-form { grid-template-columns: 1fr; }
  .user-profile-form { grid-template-columns: 1fr; align-items: stretch; }
  .users-result-count { grid-column: auto; }
  .user-access-main { align-items: flex-start; flex-direction: column; gap: 12px; padding: 14px; }
  .user-access-state { width: 100%; justify-content: space-between; }
  .user-access-details { padding: 13px 14px; }
  .user-role-toggle-grid { grid-template-columns: 1fr; }
  .users-security-note { padding-inline: 16px; }
}

/* A data-free product illustration on the public home page: no sample accounts or invented KPIs. */
.preview-workflows { grid-template-columns: repeat(3, minmax(0,1fr)); }
.preview-workflows > div { min-height: 106px; }
.preview-workflows em { margin-top: 4px; color: #8694a5; font-size: .47rem; font-style: normal; }
.preview-structure { min-height: 158px; }
.structure-path { min-height: 77px; display: flex; align-items: center; justify-content: space-around; gap: 6px; margin-top: 8px; }
.structure-path > span { min-width: 0; display: grid; justify-items: center; gap: 5px; color: #38516f; font-size: .54rem; font-weight: 700; text-align: center; }
.structure-path > span i { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; color: #286cba; background: #eaf2fd; font-size: .8rem; }
.structure-path > i { color: #9bacc0; font-size: .56rem; }
.structure-rows { display: grid; gap: 5px; }
.structure-rows i { height: 4px; border-radius: 5px; background: #edf1f6; }
.structure-rows i:nth-child(2) { width: 76%; }
.structure-rows i:nth-child(3) { width: 56%; }
.mini-control-icon { width: 28px; height: 28px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 7px; color: #3475bc; background: #eaf2fd; font-size: .7rem; }
.preview-upcoming .preview-event { min-height: 34px; }
.preview-upcoming .preview-event > span:nth-child(2) { gap: 2px; }
.preview-progress .progress-lines { height: 4px; margin-top: 6px; border-radius: 9px; background: #eaf0f7; }
.preview-progress .progress-lines i { width: 68%; height: 100%; display: block; border-radius: inherit; background: #4389e8; }

@keyframes workspace-enter {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}
.workspace-content > .page-heading,
.workspace-content > .metric-grid,
.workspace-content > .panel-card,
.workspace-content > .dashboard-grid,
.workspace-content > .report-grid,
.workspace-content > .admin-card-grid { animation: workspace-enter .34s ease both; }
.workspace-content > .metric-grid { animation-delay: .04s; }
.workspace-content > .dashboard-grid, .workspace-content > .report-grid { animation-delay: .08s; }

html[data-theme="system"] { color-scheme: light; }
@media (prefers-color-scheme: dark) {
  html[data-theme="system"] {
    color-scheme: dark;
    --ink: #e4ecf7; --ink-soft: #b1bfd1; --muted: #91a2b8; --line: #2b405c; --line-strong: #3b5270;
    --surface: #101d2d; --surface-raised: #17273a; --surface-tint: #1c3047;
    --blue-100: #19385f; --blue-050: #152840; --success-soft: #173c35; --warning-soft: #44331c;
    --danger-soft: #47272c; --shadow-soft: 0 16px 38px rgba(0,0,0,.25); --shadow-card: 0 4px 16px rgba(0,0,0,.18);
  }
  html[data-theme="system"] .workspace-body { background: #0c1827; }
  html[data-theme="system"] .plan-price strong { color: #d8e8ff; }
}

@media (max-width: 820px) {
  .workspace-content { padding-top: 24px; }
  .workspace-context-badge { display: none; }
}
@media (max-width: 560px) {
  .workspace-content { padding-top: 19px; }
  .preview-workflows > div { min-height: 92px; }
  .preview-workflows em { font-size: .43rem; }
  .structure-path { gap: 3px; }
  .structure-path > span { font-size: .46rem; }
  .structure-path > span i { width: 24px; height: 24px; }
  .workspace-content > .page-heading,
  .workspace-content > .metric-grid,
  .workspace-content > .panel-card,
  .workspace-content > .dashboard-grid,
  .workspace-content > .report-grid,
  .workspace-content > .admin-card-grid { animation: none; }
}

/* Attendee operations: crisp roster hierarchy with touch-ready check-in controls. */
.attendees-page { --attendee-accent: #2474df; --attendee-line: color-mix(in srgb, var(--line) 82%, #91aed0); }
.attendees-heading { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin: 0 0 23px; padding: 4px 0 1px; }
.attendees-heading-copy { position: relative; }
.attendees-eyebrow-mark { width: 25px; height: 25px; display: inline-grid; place-items: center; margin-right: 5px; border-radius: 7px; color: var(--blue-700); background: var(--blue-100); vertical-align: middle; }
.attendees-heading h1 { margin: 10px 0 0; font-size: clamp(2rem, 3vw, 2.65rem); letter-spacing: -.055em; }
.attendees-heading p { margin: 8px 0 0; font-size: .91rem; }
.attendees-heading-actions { display: flex; align-items: center; gap: 12px; padding-bottom: 2px; }
.attendees-scope { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink-soft); background: var(--surface-raised); font-size: .72rem; font-weight: 650; }
.attendees-scope i { color: var(--success); }
.attendees-print { min-height: 42px; padding-inline: 14px; }
.attendees-overview { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-bottom: 22px; }
.attendee-stat { position: relative; min-height: 105px; display: flex; align-items: flex-start; gap: 12px; overflow: hidden; padding: 17px 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-raised); box-shadow: var(--shadow-card); }
.attendee-stat::after { position: absolute; right: -23px; bottom: -35px; width: 94px; height: 94px; content: ""; border: 1px solid color-mix(in srgb, currentColor 9%, transparent); border-radius: 50%; box-shadow: 0 0 0 12px color-mix(in srgb, currentColor 4%, transparent), 0 0 0 25px color-mix(in srgb, currentColor 3%, transparent); pointer-events: none; }
.attendee-stat-icon { width: 37px; height: 37px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; font-size: 16px; }
.attendee-stat-copy { min-width: 0; display: grid; gap: 4px; padding-top: 1px; }
.attendee-stat-copy > span { color: var(--ink-soft); font-size: .73rem; font-weight: 650; }
.attendee-stat-copy strong { color: var(--ink); font: 800 1.68rem/.95 var(--font-display); letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.attendee-stat-caption { position: absolute; right: 12px; bottom: 10px; z-index: 1; color: var(--muted); font-size: .62rem; }
.attendee-stat-checked { color: #218265; }
.attendee-stat-checked .attendee-stat-icon { color: #218265; background: #e4f4ed; }
.attendee-stat-expected { color: #3275c6; }
.attendee-stat-expected .attendee-stat-icon { color: #3275c6; background: #e9f1fc; }
.attendee-stat-total { color: #6b5da9; }
.attendee-stat-total .attendee-stat-icon { color: #6b5da9; background: #efedfa; }
.attendee-stat-payment { color: #a66b22; }
.attendee-stat-payment .attendee-stat-icon { color: #a66b22; background: #fff2df; }
.attendee-directory { overflow: hidden; border-radius: 15px; }
.attendee-directory-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 21px 23px 19px; border-bottom: 1px solid var(--line); background: linear-gradient(110deg, var(--surface-raised), color-mix(in srgb, var(--blue-050) 48%, var(--surface-raised))); }
.attendee-directory-header h2 { margin: 5px 0 0; font-size: 1.22rem; letter-spacing: -.03em; }
.attendee-directory-header p { margin: 5px 0 0; font-size: .78rem; }
.attendee-record-count { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; padding: 8px 11px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--surface-raised); font-size: .76rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.attendee-record-count i { color: var(--blue-700); }
.attendee-record-count > span { color: var(--muted); font-weight: 550; }
.attendee-toolbar { display: flex; align-items: center; gap: 10px; padding: 14px 22px; border-bottom: 1px solid var(--line); background: var(--surface-raised); }
.attendee-search { position: relative; min-width: 180px; flex: 1; display: flex; align-items: center; margin: 0; }
.attendee-search > i { position: absolute; left: 13px; z-index: 1; color: #8191a5; font-size: .9rem; pointer-events: none; }
.attendee-search input { min-height: 43px; padding: 9px 110px 9px 38px; border-color: var(--line); border-radius: 9px; background: var(--surface); box-shadow: none; font-size: .82rem; }
.attendee-search input:focus { border-color: #77a5dc; background: var(--surface-raised); box-shadow: 0 0 0 3px rgba(53,119,198,.12); }
.attendee-search-hint { position: absolute; right: 10px; color: var(--muted); font-size: .64rem; font-weight: 550; pointer-events: none; }
.attendee-filter { position: relative; min-width: 176px; display: flex; align-items: center; margin: 0; }
.attendee-filter > i { position: absolute; left: 12px; z-index: 1; color: var(--ink-soft); font-size: .8rem; pointer-events: none; }
.attendee-filter select { min-height: 43px; padding: 8px 28px 8px 34px; border-color: var(--line); border-radius: 9px; background-color: var(--surface-raised); box-shadow: none; font-size: .78rem; }
.attendee-table-wrap { background: var(--surface-raised); }
.attendee-table-scroll { overflow: auto; }
.attendee-table { min-width: 820px; font-size: .79rem; }
.attendee-table thead th { padding: 11px 15px; border-bottom-color: var(--line); color: var(--muted); background: var(--surface-tint); font-size: .63rem; letter-spacing: .075em; }
.attendee-table tbody td { padding: 12px 15px; border-bottom-color: color-mix(in srgb, var(--line) 74%, transparent); }
.attendee-table tbody tr:last-child td { border-bottom: 0; }
.attendee-table tbody tr:hover { background: color-mix(in srgb, var(--blue-050) 75%, var(--surface-raised)); }
.attendee-person { min-width: 185px; display: flex; align-items: center; gap: 10px; }
.attendee-avatar { width: 36px; height: 36px; border: 1px solid #d9e6f5; color: #285f9f; background: #eaf2fc; font-size: .75rem; }
.attendee-person-meta { min-width: 0; display: grid; gap: 2px; }
.attendee-person-meta strong { overflow: hidden; color: var(--ink); font-size: .79rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.attendee-person-meta small { overflow: hidden; color: var(--muted); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.attendee-type { display: inline-flex; padding: 5px 8px; border: 1px solid color-mix(in srgb, var(--blue-600) 15%, var(--line)); border-radius: 6px; color: #315d90; background: var(--blue-050); font-size: .68rem; font-weight: 700; white-space: nowrap; }
.attendee-date { display: block; color: var(--ink-soft); font-size: .75rem; white-space: nowrap; }
.attendee-time { display: block; margin-top: 2px; color: var(--muted); font-size: .67rem; }
.attendee-payment { gap: 5px; margin: 0; padding: 5px 8px; font-size: .66rem; white-space: nowrap; }
.attendee-payment-paid { color: #197356; background: var(--success-soft); }
.attendee-payment-pending { color: #94611b; background: var(--warning-soft); }
.attendee-payment-other { color: var(--ink-soft); background: var(--surface-tint); }
.attendee-attendance { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-soft); font-size: .74rem; font-weight: 650; white-space: nowrap; }
.attendee-attendance i { color: #9aa9b8; font-size: .72rem; }
.attendee-attendance.is-checked-in { color: #197356; }
.attendee-attendance.is-checked-in i { color: #258868; }
.attendee-attendance.is-expected i { color: #8e9db0; }
.attendee-action-heading { text-align: right; }
.attendee-action-cell { width: 126px; text-align: right; }
.attendee-checkin-form { display: inline-flex; margin: 0; }
.attendee-checkin { min-width: 101px; min-height: 37px; padding: 7px 11px; border-color: #b7cce4; border-radius: 8px; color: #205fa9; font-size: .72rem; }
.attendee-checkin:hover { border-color: var(--blue-700); color: #fff; background: var(--blue-700); }
.attendee-done { display: inline-flex; align-items: center; gap: 6px; color: var(--success); font-size: .71rem; font-weight: 750; }
.attendee-no-action { color: var(--muted); }
.attendee-privacy-note { min-height: 62px; display: flex; align-items: center; gap: 11px; padding: 12px 21px; border-top: 1px solid var(--line); background: var(--surface-tint); }
.attendee-privacy-icon { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: #276cae; background: var(--blue-100); font-size: .78rem; }
.attendee-privacy-note > span:nth-child(2) { display: grid; gap: 2px; }
.attendee-privacy-note strong { color: var(--ink-soft); font-size: .72rem; }
.attendee-privacy-note small { color: var(--muted); font-size: .68rem; }
.attendee-privacy-shield { margin-left: auto; color: #7a9cc3; font-size: 1rem; }
.attendee-empty-state { min-height: 285px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px 22px; text-align: center; }
.attendee-empty-art { position: relative; width: 72px; height: 72px; display: grid; place-items: center; margin-bottom: 20px; border: 1px solid #d8e6f6; border-radius: 22px; color: #286eb9; background: linear-gradient(145deg, #f1f7ff, #e5effb); box-shadow: inset 0 1px 0 #fff, 0 8px 22px rgba(25,77,135,.08); font-size: 26px; }
.attendee-empty-art > i:last-child { position: absolute; right: -9px; bottom: -7px; width: 30px; height: 30px; display: grid; place-items: center; border: 3px solid var(--surface-raised); border-radius: 10px; color: #755eac; background: #efedfa; font-size: 12px; }
.attendee-empty-state > .eyebrow-blue { font-size: .62rem; }
.attendee-empty-state h3 { margin: 8px 0 6px; font-size: 1.13rem; }
.attendee-empty-state p { max-width: 410px; margin: 0; font-size: .81rem; line-height: 1.65; }
.attendee-table .no-results-row td { padding: 30px 18px; color: var(--muted); background: var(--surface-tint); text-align: center; }

@media (max-width: 1050px) {
  .attendees-overview { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .attendees-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  .attendees-heading-actions { width: 100%; justify-content: space-between; }
  .attendees-overview { gap: 9px; margin-bottom: 17px; }
  .attendee-stat { min-height: 91px; padding: 13px 12px; gap: 9px; }
  .attendee-stat-icon { width: 33px; height: 33px; border-radius: 9px; }
  .attendee-stat-copy > span { font-size: .67rem; }
  .attendee-stat-copy strong { font-size: 1.48rem; }
  .attendee-stat-caption { right: 9px; bottom: 7px; font-size: .56rem; }
  .attendee-directory-header { padding: 17px 16px; }
  .attendee-directory-header p { max-width: 290px; }
  .attendee-record-count { gap: 5px; padding: 7px 8px; font-size: .69rem; }
  .attendee-toolbar { align-items: stretch; flex-direction: column; padding: 12px 15px; }
  .attendee-filter { min-width: 0; }
  .attendee-filter select { width: 100%; }
  .attendee-table-scroll { overflow: visible; }
  .attendee-table { min-width: 0; display: block; }
  .attendee-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; clip-path: inset(50%); }
  .attendee-table tbody { display: grid; gap: 10px; padding: 11px; }
  .attendee-table tbody tr { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; padding: 12px 13px 7px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-raised); box-shadow: 0 1px 4px rgba(18,54,94,.035); }
  .attendee-table tbody tr:hover { background: var(--surface-raised); }
  .attendee-table tbody td { min-width: 0; display: block; padding: 8px 0; border: 0; text-align: left; }
  .attendee-table tbody td:first-child { grid-column: 1 / -1; padding: 2px 0 10px; border-bottom: 1px solid var(--line); }
  .attendee-table tbody td[data-label="Registration type"]::before,
  .attendee-table tbody td[data-label="Registered"]::before,
  .attendee-table tbody td[data-label="Payment"]::before,
  .attendee-table tbody td[data-label="Attendance"]::before { display: block; margin-bottom: 4px; color: var(--muted); content: attr(data-label); font-size: .59rem; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
  .attendee-table tbody td[data-label="Action"] { grid-column: 1 / -1; display: flex; justify-content: flex-end; padding-top: 8px; border-top: 1px solid var(--line); }
  .attendee-person { min-width: 0; }
  .attendee-person-meta strong { font-size: .82rem; }
  .attendee-action-cell { width: auto; }
  .attendee-checkin { min-height: 42px; min-width: 116px; }
  .attendee-table .no-results-row { display: block; padding: 16px; }
  .attendee-table .no-results-row td { display: block; }
  .attendee-privacy-note { padding: 11px 14px; }
  .attendee-privacy-note small { line-height: 1.45; }
}
@media (max-width: 390px) {
  .attendees-heading-actions { align-items: flex-start; flex-direction: column; }
  .attendees-overview { grid-template-columns: 1fr 1fr; }
  .attendee-directory-header { align-items: flex-start; }
  .attendee-record-count { font-size: .65rem; }
  .attendee-table tbody tr { gap: 0 8px; padding-inline: 10px; }
}
@media print {
  .attendees-heading-actions, .attendee-toolbar, .attendee-action-heading, .attendee-action-cell, .sidebar, .topbar, .sidebar-scrim { display: none !important; }
  .workspace-main { margin-left: 0 !important; }
  .workspace-content { padding: 0 !important; }
  .attendee-directory, .attendee-stat { box-shadow: none !important; }
  .attendee-table { min-width: 0; }
}

/* Shared form language for event setup, public registration, and workspace signup. */
.hcde-form-flow { --flow-border: color-mix(in srgb, var(--line) 83%, #a8bfdc); --flow-blue: #1c62b6; }
.hcde-form-flow .form-field { min-width: 0; margin: 0 0 17px !important; }
.hcde-form-flow .form-field > label { display: block; margin: 0 0 7px; color: var(--ink); font-size: .8rem; font-weight: 750; }
.hcde-form-flow .form-control,
.hcde-form-flow .form-select,
.hcde-form-flow input:not([type="radio"]):not([type="checkbox"]),
.hcde-form-flow select { min-height: 47px; border: 1px solid var(--flow-border); border-radius: 9px; color: var(--ink); background-color: var(--surface-raised); box-shadow: 0 1px 2px rgba(14,42,78,.025); font-size: .86rem; }
.hcde-form-flow .form-control:focus,
.hcde-form-flow .form-select:focus,
.hcde-form-flow input:focus,
.hcde-form-flow select:focus { border-color: #75a5dc; box-shadow: 0 0 0 3px rgba(53,119,198,.13); }
.hcde-form-flow .field-error { display: block; margin-top: 5px; color: var(--danger); font-size: .74rem; font-weight: 600; }
.hcde-form-flow .validation-summary:not(:empty) { margin: 0 0 19px; padding: 12px 15px; border: 1px solid #efc5c5; border-radius: 10px; color: #96363c; background: var(--danger-soft); }
.hcde-form-flow .validation-summary ul { margin: 0; padding-left: 18px; }
.hcde-form-flow .back-link { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 18px; color: var(--ink-soft); font-size: .8rem; font-weight: 700; }
.hcde-form-flow .back-link:hover { color: var(--blue-700); }
.hcde-form-flow .btn { min-height: 46px; border-radius: 9px; }
.hcde-form-flow .btn-primary { border-color: var(--blue-700); background: var(--blue-700); box-shadow: 0 5px 12px rgba(22,89,184,.15); }
.hcde-form-flow .btn-primary:hover { border-color: var(--navy-800); background: var(--navy-800); }

/* Event setup form */
.event-create-page { width: min(1160px, 100%); margin: 0 auto; }
.hcde-form-heading { margin-bottom: 24px; }
.hcde-form-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.hcde-form-heading-row h1 { margin: 11px 0 7px; font-size: clamp(1.9rem, 3vw, 2.55rem); letter-spacing: -.05em; }
.hcde-form-heading-row p { margin: 0; font-size: .88rem; }
.hcde-form-heading-icon { width: 27px; height: 27px; display: inline-grid; place-items: center; margin-right: 5px; border-radius: 8px; color: var(--blue-700); background: var(--blue-100); vertical-align: middle; }
.hcde-draft-badge { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 4px; padding: 8px 11px; border: 1px solid #e6d9bb; border-radius: 8px; color: #85601f; background: #fff7e8; font-size: .7rem; font-weight: 750; white-space: nowrap; }
.event-editor-layout { display: grid; grid-template-columns: minmax(0, 1.68fr) minmax(250px, .72fr); align-items: start; gap: 20px; }
.event-editor-form { min-width: 0; overflow: hidden; padding: 25px 27px 0; border: 1px solid var(--flow-border); border-radius: 15px; background: var(--surface-raised); box-shadow: var(--shadow-card); }
.event-editor-form .editor-section-heading { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; }
.event-editor-form .editor-section-heading:not(:first-of-type) { margin-top: 25px; padding-top: 22px; border-top: 1px solid var(--line); }
.event-editor-form .editor-step { width: 35px; height: 35px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: #2367b2; background: #e8f1ff; font: 800 .76rem var(--font-display); }
.event-editor-form .purple-step { color: #6959a7; background: #efedfa; }
.event-editor-form .orange-step { color: #a66b22; background: #fff2df; }
.event-editor-form .editor-section-heading h2 { margin: 0; font-size: 1.03rem; letter-spacing: -.025em; }
.event-editor-form .editor-section-heading p { margin: 4px 0 0; font-size: .74rem; }
.event-editor-form .form-grid.two { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.event-editor-form .map-input-wrap { position: relative; display: flex; align-items: center; gap: 8px; }
.event-editor-form .map-input-wrap > i { position: absolute; left: 13px; color: #768ba5; pointer-events: none; }
.event-editor-form .map-input-wrap input { min-width: 0; padding-left: 37px; }
.event-editor-form .map-input-wrap .btn { min-width: 117px; flex: 0 0 auto; padding-inline: 11px; font-size: .74rem; }
.event-editor-form .venue-map { min-height: 245px; overflow: hidden; border: 1px solid var(--flow-border); border-radius: 11px; background: #e8eff3; }
.event-editor-form .map-help { display: flex; align-items: flex-start; gap: 7px; margin-top: 8px; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.event-editor-form .map-help i { margin-top: 2px; color: var(--blue-700); }
.event-editor-form .currency-input { display: flex; align-items: center; overflow: hidden; border: 1px solid var(--flow-border); border-radius: 9px; background: var(--surface-raised); }
.event-editor-form .currency-input:focus-within { border-color: #75a5dc; box-shadow: 0 0 0 3px rgba(53,119,198,.13); }
.event-editor-form .currency-input > span { padding: 0 13px; color: var(--muted); font-size: .78rem; font-weight: 700; }
.event-editor-form .currency-input > span:last-child { border-left: 1px solid var(--line); font-size: .67rem; letter-spacing: .07em; }
.event-editor-form .currency-input input { min-width: 0; min-height: 47px; border: 0; border-radius: 0; box-shadow: none; }
.event-editor-form .currency-input input:focus { box-shadow: none; }
.event-editor-form .editor-footer { display: flex; justify-content: flex-end; gap: 10px; margin: 8px -27px 0; padding: 16px 27px; border-top: 1px solid var(--line); background: var(--surface-tint); }
.event-editor-form .editor-footer .btn { min-width: 108px; }
.event-editor-form .editor-footer .btn-primary { min-width: 150px; }
.event-editor-side { position: sticky; top: 88px; display: grid; gap: 13px; }
.event-detail-guide { padding: 20px 19px 9px; border: 1px solid var(--flow-border); border-radius: 14px; background: var(--surface-raised); box-shadow: var(--shadow-card); }
.event-detail-guide h2 { margin: 7px 0 6px; font-size: 1.08rem; }
.event-detail-guide > p { margin: 0 0 14px; font-size: .75rem; line-height: 1.55; }
.event-guide-row { display: flex; align-items: center; gap: 10px; padding: 12px 0; border-top: 1px solid var(--line); }
.event-guide-icon { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; color: #2868b4; background: #e9f1fc; font-size: .85rem; }
.event-guide-icon.lilac { color: #6a5ba7; background: #efedfa; }
.event-guide-icon.amber { color: #a66b22; background: #fff2df; }
.event-guide-row > span:last-child { display: grid; gap: 2px; }
.event-guide-row strong { color: var(--ink); font-size: .74rem; }
.event-guide-row small { color: var(--muted); font-size: .67rem; line-height: 1.4; }
.event-draft-note { display: flex; gap: 10px; padding: 13px; border: 1px solid #e9dfc8; border-radius: 11px; background: #fff9ed; }
.event-draft-note > span { color: #9a7029; }
.event-draft-note > div { display: grid; gap: 3px; }
.event-draft-note strong { color: #76551e; font-size: .73rem; }
.event-draft-note small { color: #816f4f; font-size: .68rem; line-height: 1.5; }
.event-editor-side .security-callout { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: var(--blue-050); }
.event-editor-side .security-callout > i { color: var(--blue-700); }
.event-editor-side .security-callout > div { display: grid; gap: 3px; }
.event-editor-side .security-callout strong { color: var(--ink); font-size: .72rem; }
.event-editor-side .security-callout span { color: var(--ink-soft); font-size: .67rem; line-height: 1.5; }

/* Public registration */
.public-registration-flow { width: min(1070px, calc(100% - 48px)); margin: 0 auto; padding: 38px 0 62px; }
.registration-flow-layout { display: grid; grid-template-columns: minmax(0, .84fr) minmax(430px, 1.16fr); align-items: start; gap: clamp(25px, 5vw, 60px); }
.registration-event-summary { position: relative; overflow: hidden; padding: 27px 26px 22px; border: 1px solid rgba(183,207,239,.2); border-radius: 16px; color: #fff; background: linear-gradient(145deg, #0c2d60, #123b79); box-shadow: 0 15px 35px rgba(9,37,77,.17); }
.registration-event-summary::after { position: absolute; right: -54px; top: 56px; width: 195px; height: 195px; content: ""; border: 1px solid rgba(208,226,250,.14); border-radius: 50%; box-shadow: 0 0 0 18px rgba(208,226,250,.035), 0 0 0 38px rgba(208,226,250,.025); pointer-events: none; }
.registration-summary-symbol { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 24px; border: 1px solid rgba(208,226,250,.24); border-radius: 12px; color: #c7ddfb; background: rgba(255,255,255,.09); font-size: 19px; }
.registration-event-summary .eyebrow-blue { position: relative; z-index: 1; color: #a9cbf8; }
.registration-event-summary h1 { position: relative; z-index: 1; margin: 9px 0 18px; color: #fff; font-size: clamp(1.6rem, 3vw, 2.25rem); letter-spacing: -.045em; line-height: 1.13; }
.registration-event-meta { position: relative; z-index: 1; display: flex; align-items: flex-start; gap: 9px; margin: 10px 0; color: #d2dff0; font-size: .81rem; line-height: 1.5; }
.registration-event-meta i { width: 15px; flex: 0 0 auto; margin-top: 3px; color: #9fc3f3; }
.registration-price-card { position: relative; z-index: 1; display: grid; gap: 4px; margin: 24px 0 0; padding: 15px 16px; border: 1px solid rgba(208,226,250,.18); border-radius: 11px; background: rgba(255,255,255,.075); }
.registration-price-card small { color: #b5c9e2; font-size: .7rem; }
.registration-price-card strong { color: #fff; font: 750 1.35rem var(--font-display); letter-spacing: -.03em; }
.registration-pending-notice { position: relative; z-index: 1; display: flex; align-items: flex-start; gap: 8px; margin-top: 12px; padding: 11px 12px; border: 1px solid rgba(236,202,139,.28); border-radius: 9px; color: #f5dfb3; background: rgba(122,86,31,.22); font-size: .7rem; line-height: 1.55; }
.registration-pending-notice > i { margin-top: 2px; color: #f0c875; }
.registration-summary-foot { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(208,226,250,.17); color: #b9cce3; font-size: .7rem; }
.registration-summary-foot i { color: #9bcbb5; }
.registration-form-panel { padding: 27px 29px 18px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-raised); box-shadow: var(--shadow-card); }
.registration-form-heading h2 { margin: 7px 0 5px; font-size: 1.38rem; }
.registration-form-heading p { margin: 0 0 21px; font-size: .82rem; }
.registration-form-panel .form-field { margin-bottom: 16px !important; }
.registration-consent { min-height: 48px; display: flex; align-items: flex-start; gap: 10px; margin: 7px 0 2px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-tint); cursor: pointer; }
.registration-consent input { width: 18px; height: 18px; flex: 0 0 auto; margin: 1px 0 0; accent-color: var(--blue-700); }
.registration-consent span { color: var(--ink-soft); font-size: .74rem; line-height: 1.5; }
.registration-submit { width: 100%; min-height: 49px !important; justify-content: space-between; margin-top: 14px; padding-inline: 16px; }
.registration-submit i { margin-left: auto; }
.registration-form-panel .form-security-note { display: flex; align-items: center; gap: 8px; margin: 17px 0 0; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: .7rem; }
.registration-form-panel .form-security-note i { color: var(--success); }

/* Workspace signup */
.signup-flow-page { min-height: 100dvh; display: grid; grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr); color: var(--ink); background: var(--surface); }
.signup-flow-intro { position: sticky; top: 0; min-height: 100dvh; display: flex; flex-direction: column; padding: 34px clamp(26px, 5vw, 66px) 27px; color: #fff; background: #0b2a5b; }
.signup-flow-intro .brand-lockup { width: fit-content; color: #fff; }
.signup-flow-intro .brand-lockup small { color: #a9bfdd; }
.signup-flow-intro .brand-mark { border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.11); box-shadow: none; }
.signup-intro-copy { position: relative; max-width: 450px; margin: auto 0; padding: 47px 0; }
.signup-orbit { width: 75px; height: 75px; display: grid; place-items: center; margin-bottom: 30px; border: 1px solid rgba(193,216,247,.27); border-radius: 22px; color: #bad5f6; background: rgba(255,255,255,.07); box-shadow: 0 0 0 11px rgba(255,255,255,.025); font-size: 29px; }
.signup-flow-intro .eyebrow-blue { color: #9ec5f5; }
.signup-intro-copy h1 { max-width: 440px; margin: 12px 0 14px; color: #fff; font-size: clamp(2.15rem, 4vw, 3.35rem); letter-spacing: -.055em; line-height: 1.05; }
.signup-intro-copy > p { max-width: 400px; margin: 0 0 29px; color: #c0d0e4; font-size: .91rem; line-height: 1.7; }
.signup-flow-intro .signup-benefit { display: flex; align-items: flex-start; gap: 11px; margin-top: 17px; }
.signup-flow-intro .signup-benefit > span { width: 31px; height: 31px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(191,216,250,.2); border-radius: 9px; color: #a9cbf8; background: rgba(255,255,255,.07); font-size: .8rem; }
.signup-flow-intro .signup-benefit > div { display: grid; gap: 3px; }
.signup-flow-intro .signup-benefit strong { color: #f5f8fd; font-size: .76rem; }
.signup-flow-intro .signup-benefit small { color: #aabed8; font-size: .7rem; line-height: 1.5; }
.signup-flow-intro .back-home-link { width: fit-content; display: inline-flex; align-items: center; gap: 8px; color: #b8cbe3; font-size: .76rem; font-weight: 650; }
.signup-flow-intro .back-home-link:hover { color: #fff; }
.signup-flow-form-area { min-width: 0; display: flex; justify-content: center; padding: 42px clamp(22px, 5vw, 68px); }
.signup-flow-card { width: min(690px, 100%); padding: 27px 29px 20px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-raised); box-shadow: var(--shadow-soft); }
.signup-card-heading { margin-bottom: 22px; }
.signup-card-heading h2 { margin: 7px 0 5px; font-size: 1.46rem; }
.signup-card-heading p { margin: 0; font-size: .81rem; }
.signup-form-fields .form-grid.two { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }
.signup-form-section { margin-bottom: 17px; }
.signup-section-label { display: flex; align-items: center; gap: 10px; margin: 0 0 13px; }
.signup-section-label > span:first-child { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: #2468b5; background: #e8f1ff; font: 800 .68rem var(--font-display); }
.signup-section-label > div, .signup-section-label > span:last-child { display: grid; gap: 2px; }
.signup-section-label strong { color: var(--ink); font-size: .78rem; }
.signup-section-label small { color: var(--muted); font-size: .67rem; }
.signup-plan-picker { min-width: 0; margin: 1px 0 15px; padding: 0; border: 0; }
.signup-plan-picker legend { float: none; width: auto; margin: 0 0 11px; padding: 0; }
.signup-plan-picker legend .signup-section-label { margin: 0; }
.signup-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.signup-plan-grid .signup-plan { position: relative; min-width: 0; min-height: 115px; display: grid; grid-template-columns: 1fr auto; align-content: start; gap: 5px 8px; margin: 0; padding: 13px 13px 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: var(--surface-raised); cursor: pointer; transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease; }
.signup-plan-grid .signup-plan:hover { border-color: #9ab9df; background: var(--blue-050); }
.signup-plan-grid .signup-plan.selected, .signup-plan-grid .signup-plan:has(input:checked) { border-color: #6d9dd5; background: var(--blue-050); box-shadow: inset 0 0 0 1px rgba(36,116,223,.15); }
.signup-plan-grid .signup-plan input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); }
.signup-plan-grid .signup-plan:focus-within { outline: 3px solid #76aaf0; outline-offset: 2px; }
.signup-plan-grid .signup-plan-name { color: var(--ink); font-size: .76rem; font-weight: 750; }
.signup-plan-grid .signup-plan > strong { color: var(--blue-700); font: 800 .8rem var(--font-display); white-space: nowrap; }
.signup-plan-grid .signup-plan > small { grid-column: 1 / -1; color: var(--ink-soft); font-size: .67rem; font-weight: 500; line-height: 1.45; }
.signup-plan-grid .signup-plan-check { width: 18px; height: 18px; grid-column: 2; grid-row: 1; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: transparent; background: var(--surface-raised); font-size: .61rem; }
.signup-plan-grid .signup-plan:has(input:checked) .signup-plan-check { border-color: var(--blue-700); color: #fff; background: var(--blue-700); }
.signup-no-plans { display: flex; align-items: center; gap: 9px; padding: 13px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink-soft); background: var(--surface-tint); font-size: .75rem; }
.signup-no-plans i { color: var(--blue-700); }
.signup-terms { min-height: 45px; display: flex; align-items: flex-start; gap: 9px; margin: 6px 0 0; padding: 10px 11px; border-radius: 9px; color: var(--ink-soft); background: var(--surface-tint); cursor: pointer; }
.signup-terms input { width: 18px; height: 18px; flex: 0 0 auto; margin: 1px 0 0; accent-color: var(--blue-700); }
.signup-terms span { font-size: .73rem; line-height: 1.5; }
.signup-submit { width: 100%; justify-content: space-between; margin-top: 14px; padding-inline: 16px; }
.signup-submit i { margin-left: auto; }
.signup-flow-card .form-security-note { display: flex; align-items: flex-start; gap: 8px; margin: 16px 0 0; padding-top: 13px; border-top: 1px solid var(--line); color: var(--muted); font-size: .67rem; line-height: 1.5; }
.signup-flow-card .form-security-note i { margin-top: 2px; color: var(--success); }
.signup-flow-card .auth-alt { display: flex; justify-content: center; gap: 5px; margin-top: 17px; color: var(--muted); font-size: .75rem; }
.signup-flow-card .auth-alt a { font-weight: 750; }

@media (max-width: 900px) {
  .event-editor-layout { grid-template-columns: minmax(0, 1.4fr) minmax(220px, .8fr); gap: 14px; }
  .event-editor-form { padding-inline: 21px; }
  .event-editor-form .editor-footer { margin-inline: -21px; padding-inline: 21px; }
  .registration-flow-layout { grid-template-columns: minmax(0, .8fr) minmax(350px, 1.2fr); gap: 22px; }
  .registration-event-summary { padding-inline: 21px; }
  .registration-form-panel { padding-inline: 22px; }
  .signup-flow-page { grid-template-columns: minmax(265px, .72fr) minmax(0, 1.28fr); }
  .signup-flow-intro { padding-inline: 30px; }
  .signup-flow-form-area { padding-inline: 27px; }
}
@media (max-width: 700px) {
  .event-editor-layout { grid-template-columns: minmax(0,1fr); }
  .event-editor-side { position: static; grid-template-columns: 1fr; }
  .event-detail-guide { padding: 18px 17px 8px; }
  .event-editor-form { padding: 21px 18px 0; }
  .event-editor-form .editor-footer { margin-inline: -18px; padding-inline: 18px; }
  .registration-flow-layout { grid-template-columns: minmax(0,1fr); }
  .registration-event-summary { display: grid; grid-template-columns: 1fr auto; align-items: start; column-gap: 15px; padding: 20px; }
  .registration-summary-symbol { grid-column: 1 / -1; margin-bottom: 15px; }
  .registration-event-summary .eyebrow-blue, .registration-event-summary h1, .registration-event-meta, .registration-price-card, .registration-pending-notice, .registration-summary-foot { grid-column: 1 / -1; }
  .registration-event-summary h1 { margin-bottom: 13px; font-size: 1.65rem; }
  .registration-price-card { margin-top: 16px; }
  .registration-flow-layout { gap: 13px; }
  .public-registration-flow { width: min(560px, calc(100% - 32px)); padding: 25px 0 40px; }
  .registration-form-panel { padding: 22px 19px 16px; }
  .signup-flow-page { display: block; }
  .signup-flow-intro { display: none; }
  .signup-flow-form-area { padding: 20px 16px 34px; }
  .signup-flow-card { padding: 22px 18px 18px; }
}
@media (max-width: 480px) {
  .hcde-form-heading-row { align-items: flex-start; flex-direction: column; gap: 11px; }
  .hcde-draft-badge { margin: 0; }
  .event-editor-form .form-grid.two, .signup-form-fields .form-grid.two { grid-template-columns: minmax(0,1fr); gap: 0; }
  .event-editor-form .map-input-wrap { flex-wrap: wrap; }
  .event-editor-form .map-input-wrap input { flex: 1 1 100%; }
  .event-editor-form .map-input-wrap .btn { width: 100%; }
  .event-editor-form .venue-map { min-height: 210px; }
  .event-editor-form .editor-footer { justify-content: stretch; }
  .event-editor-form .editor-footer .btn { flex: 1; min-width: 0; padding-inline: 10px; }
  .signup-plan-grid { grid-template-columns: minmax(0,1fr); }
  .signup-plan-grid .signup-plan { min-height: 95px; }
  .registration-form-panel { padding-inline: 16px; }
}

/* Public landing-page account access: keep sign-in and tenant creation in one place. */
.hero-content { grid-template-columns: minmax(0, 1.04fr) minmax(430px, .96fr); gap: 48px; }
.hero-copy { max-width: 580px; }
.landing-auth-card {
  width: min(100%, 520px);
  justify-self: end;
  padding: 28px 30px 22px;
  border: 1px solid rgba(220,230,243,.95);
  border-radius: 20px;
  color: #192b43;
  background: #fff;
  box-shadow: 0 24px 64px rgba(1,17,39,.32);
}
.landing-auth-brand { display: grid; justify-items: center; text-align: center; }
.landing-auth-mark { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: #2873d4; font-size: 1.05rem; box-shadow: 0 7px 17px rgba(34,111,212,.22); }
.landing-auth-brand h2 { margin: 11px 0 2px; color: #182a42; font: 800 1.16rem/1.2 var(--font-display); letter-spacing: -.025em; }
.landing-auth-brand p { margin: 0; color: #718198; font-size: .82rem; }
.landing-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 20px 0 16px; padding: 4px; border-radius: 11px; background: #f0f4f8; }
.landing-auth-tabs button { min-height: 39px; border: 0; border-radius: 8px; color: #607188; background: transparent; font: 700 .81rem var(--font-body); cursor: pointer; transition: color .16s, background .16s, box-shadow .16s; }
.landing-auth-tabs button[aria-selected="true"] { color: #183458; background: #fff; box-shadow: 0 1px 5px rgba(20,44,75,.12); }
.landing-auth-tabs button:focus-visible, .landing-auth-switch button:focus-visible, .landing-quick-access summary:focus-visible, .password-recovery summary:focus-visible { outline: 3px solid #7eb4fa; outline-offset: 2px; }
.landing-auth-panel[hidden] { display: none; }
.landing-auth-panel { outline: none; }
.landing-auth-instruction { margin: 0 0 14px; color: #6c7b8e; font-size: .78rem; line-height: 1.5; }
.landing-auth-form { display: grid; gap: 12px; }
.landing-auth-card .form-field { min-width: 0; margin: 0; }
.landing-auth-card .form-field label { display: block; margin: 0 0 6px; color: #34465e; font-size: .75rem; font-weight: 700; }
.landing-auth-card .form-control, .landing-auth-card .form-select { min-height: 43px; border-color: #d6deea; border-radius: 8px; color: #20344d; background-color: #fff; font-size: .83rem; }
.landing-auth-card .form-control:focus, .landing-auth-card .form-select:focus { border-color: #5794eb; box-shadow: 0 0 0 3px rgba(55,126,220,.15); }
.landing-auth-card .form-control::placeholder { color: #9aa7b7; }
.landing-field-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.landing-subtle-link, .landing-plan-note a { color: #246bc4; font-size: .72rem; font-weight: 650; }
.landing-auth-submit { width: 100%; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin-top: 2px; border-radius: 8px; font-size: .86rem; font-weight: 750; }
.landing-auth-submit:disabled { border-color: #9daec3; background: #9daec3; }
.landing-auth-switch { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid #e8edf3; color: #748397; font-size: .76rem; text-align: center; }
.landing-auth-switch button { padding: 0; border: 0; color: #236bc6; background: transparent; font: inherit; font-weight: 750; cursor: pointer; }
.password-recovery { margin-top: 13px; color: #64758b; font-size: .77rem; }
.password-recovery summary { width: fit-content; color: #236bc6; font-weight: 750; cursor: pointer; }
.password-recovery > p { margin: 8px 0 10px; line-height: 1.5; }
.password-recovery .landing-auth-submit { margin-top: 0; }
.password-recovery-feedback { margin: 0 0 14px; padding: 10px 12px; border: 1px solid #bdd8f7; border-radius: 9px; color: #194a7d; background: #eef6ff; font-size: .79rem; line-height: 1.5; }
.reset-password-card { width: min(100%, 470px); margin: 56px auto; padding: 34px; border: 1px solid #e0e7f0; border-radius: 18px; background: #fff; box-shadow: 0 18px 48px rgba(16, 42, 76, .1); }
.reset-password-card h1 { margin: 0 0 9px; color: #182a42; font: 800 1.55rem/1.2 var(--font-display); letter-spacing: -.03em; }
.reset-password-card > p { margin: 0 0 23px; color: #6c7b8e; font-size: .88rem; line-height: 1.55; }
.reset-password-card .form-field { margin-bottom: 15px; }
.reset-password-card .form-field label { display: block; margin: 0 0 6px; color: #34465e; font-size: .79rem; font-weight: 700; }
.reset-password-card .form-control { min-height: 44px; border-color: #d6deea; }
.reset-password-card .password-requirements { margin: 0 0 18px; color: #718198; font-size: .77rem; }
.reset-password-card .validation-summary:not(:empty) { margin-bottom: 16px; padding: 11px 13px; border: 1px solid #efc5c5; border-radius: 9px; color: #96363c; background: var(--danger-soft); font-size: .81rem; }
.reset-password-card .field-error { color: var(--danger); font-size: .77rem; }
.reset-password-card .back-to-signin { display: inline-block; margin-top: 16px; color: #236bc6; font-size: .83rem; font-weight: 700; text-decoration: none; }
.landing-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.landing-plan-note { display: block; margin-top: 5px; color: #7d8b9d; font-size: .68rem; line-height: 1.45; }
.landing-terms { display: flex; align-items: flex-start; gap: 8px; color: #56677c; font-size: .73rem; line-height: 1.45; }
.landing-terms input { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 1px; accent-color: #236bc6; }
.landing-terms a { color: #246bc4; font-weight: 650; }
.landing-security-note { display: flex; align-items: flex-start; gap: 6px; color: #78879a; font-size: .66rem; line-height: 1.45; }
.landing-security-note i { color: #26816b; }
.landing-plan-unavailable { display: flex; align-items: flex-start; gap: 8px; padding: 10px 11px; border: 1px solid #f0d8a5; border-radius: 8px; color: #745319; background: #fff8e8; font-size: .75rem; }
.landing-quick-access { margin-top: 14px; border: 1px solid #e2e8f0; border-radius: 9px; background: #fafbfd; }
.landing-quick-access summary { display: flex; align-items: center; gap: 8px; min-height: 39px; padding: 0 11px; color: #243750; font-size: .76rem; font-weight: 750; list-style: none; cursor: pointer; }
.landing-quick-access summary::-webkit-details-marker { display: none; }
.landing-quick-access summary::after { content: "⌄"; margin-left: auto; color: #74849a; font-size: 1rem; }
.landing-quick-access summary > i { color: #d18a20; }
.landing-quick-access summary span { margin-left: auto; color: #8492a3; font-size: .64rem; font-weight: 600; }
.landing-quick-access[open] summary span { margin-left: 0; }
.landing-quick-access p { margin: 0; padding: 0 11px 9px; color: #748398; font-size: .68rem; }
.landing-demo-roles { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 0 8px 8px; }
.landing-demo-roles form { min-width: 0; }
.landing-demo-roles button { width: 100%; min-height: 34px; display: flex; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid #e2e8f0; border-radius: 6px; color: #3c5069; background: #fff; font-size: .67rem; text-align: left; cursor: pointer; }
.landing-demo-roles button:hover { border-color: #b9d2f2; color: #1d5eac; background: #f5f9ff; }
.landing-demo-roles button > i:first-child { color: #3779c8; }
.landing-demo-roles button > i:last-child { margin-left: auto; color: #9aa7b7; }
.landing-demo-accounts { display: grid; gap: 7px; padding: 0 8px 9px; }
.landing-demo-account { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; border: 1px solid #e2e8f0; border-radius: 7px; background: #fff; }
.landing-demo-account-identity { display: grid; min-width: 0; gap: 2px; }
.landing-demo-account-identity strong { color: #243750; font-size: .7rem; }
.landing-demo-account-identity span { color: #53657c; font-size: .67rem; }
.landing-demo-account-identity small { overflow-wrap: anywhere; color: #8290a2; font-size: .61rem; }
.landing-demo-account button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; min-height: 32px; padding: 0 9px; border: 1px solid #cfe0f6; border-radius: 6px; color: #1d5eac; background: #f5f9ff; font-size: .66rem; font-weight: 700; cursor: pointer; }
.landing-demo-account button:hover { border-color: #9fc1ed; background: #edf5ff; }
@media (max-width: 540px) {
  .landing-demo-account { align-items: flex-start; flex-direction: column; }
  .landing-demo-account button { width: 100%; justify-content: center; }
}

@media (max-width: 1080px) and (min-width: 821px) {
  .hero-content { width: calc(100% - 40px); grid-template-columns: minmax(0,1fr) minmax(390px,.98fr); gap: 26px; padding-top: 70px; }
  .hero-copy h1 { font-size: clamp(2.55rem, 4.6vw, 3.75rem); }
  .landing-auth-card { padding: 24px 23px 20px; }
}
@media (max-width: 820px) {
  .hero-content { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .landing-auth-card { width: min(100%, 560px); justify-self: center; }
}
@media (max-width: 560px) {
  .landing-auth-card { padding: 22px 18px 18px; border-radius: 15px; }
  .landing-form-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .landing-auth-tabs { margin-top: 16px; }
  .landing-demo-roles { grid-template-columns: 1fr; }
  .landing-quick-access summary { flex-wrap: wrap; }
}

/* Role-scoped operations dashboard */
.dashboard-page { display: grid; gap: 20px; }
.dashboard-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 0 0 2px; }
.dashboard-intro h1 { margin: 7px 0 0; color: var(--ink); font-size: clamp(1.8rem, 3vw, 2.4rem); letter-spacing: -.045em; }
.dashboard-intro p { max-width: 650px; margin: 8px 0 0; color: var(--ink-soft); }
.dashboard-intro-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 9px; }
.dashboard-intro-actions .btn { display: inline-flex; align-items: center; gap: 8px; }
.dashboard-platform-panel, .dashboard-panel, .dashboard-access-note, .dashboard-shortcuts { min-width: 0; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-raised); box-shadow: var(--shadow-card); }
.dashboard-platform-panel { padding: 21px 23px; }
.dashboard-section-heading, .dashboard-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.dashboard-section-heading h2, .dashboard-panel-heading h2, .dashboard-shortcuts-title h2 { margin: 3px 0 0; color: var(--ink); font-size: 1.08rem; letter-spacing: -.025em; }
.dashboard-section-heading p { margin: 5px 0 0; color: var(--ink-soft); font-size: .79rem; }
.dashboard-scope-pill { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; padding: 7px 10px; border: 1px solid var(--line); border-radius: 100px; color: var(--ink-soft); background: var(--surface-tint); font-size: .7rem; font-weight: 700; }
.dashboard-scope-pill i { color: var(--blue-600); }
.platform-summary-content { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(240px,.8fr); gap: 20px; align-items: center; margin-top: 18px; }
.platform-kpi-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.platform-kpi { min-width: 0; min-height: 90px; display: flex; align-items: center; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(145deg,#fff,#f8fafd); }
.platform-kpi > div { min-width: 0; display: grid; gap: 3px; }
.platform-kpi > div > span { color: var(--muted); font-size: .74rem; font-weight: 650; }
.platform-kpi strong { color: var(--ink); font: 760 1.55rem var(--font-display); letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.dashboard-icon { width: 39px; height: 39px; flex: 0 0 39px; display: grid; place-items: center; border-radius: 11px; font-size: 1rem; }
.icon-blue { color: #245fae; background: #eaf2fd; }
.icon-green { color: #278164; background: #e5f5ef; }
.icon-violet { color: #6855ad; background: #efebfb; }
.icon-orange { color: #b56e1d; background: #fff2df; }
.icon-teal { color: #187c83; background: #e3f4f4; }
.platform-portfolio-chart, .registration-mix-content { display: flex; align-items: center; justify-content: center; gap: 20px; min-width: 0; }
.dashboard-donut { width: 142px; height: 142px; flex: 0 0 142px; display: block; border-radius: 50%; position: relative; }
.dashboard-donut::after { position: absolute; inset: 22%; border: 1px solid rgba(14,42,78,.035); border-radius: 50%; background: var(--surface-raised); content: ""; }
.dashboard-donut-large { width: 128px; height: 128px; flex-basis: 128px; }
.dashboard-donut-large::after { inset: 23%; }
.dashboard-chart-legend { min-width: 0; display: grid; gap: 10px; flex: 1 1 auto; }
.dashboard-chart-legend-heading { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 1px; color: var(--ink); font-size: .79rem; }
.dashboard-chart-legend-heading span { color: var(--muted); font-size: .7rem; font-weight: 600; }
.dashboard-legend-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--ink-soft); font-size: .75rem; }
.dashboard-legend-row > span { min-width: 0; display: inline-flex; align-items: center; gap: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-legend-row i { width: 9px; height: 9px; flex: 0 0 9px; border-radius: 3px; background: var(--legend-color); }
.dashboard-legend-row strong { flex: 0 0 auto; color: var(--ink); font-size: .74rem; font-variant-numeric: tabular-nums; }
.dashboard-legend-row strong small { margin-left: 4px; color: var(--muted); font-size: .66rem; font-weight: 600; }
.dashboard-metric-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(195px,1fr)); gap: 13px; }
.dashboard-metric-card { min-width: 0; min-height: 155px; display: flex; flex-direction: column; align-items: flex-start; padding: 16px 17px 14px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-raised); box-shadow: var(--shadow-card); }
.dashboard-metric-top { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 15px; }
.dashboard-metric-context { max-width: 58%; overflow: hidden; color: var(--muted); font-size: .68rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-metric-label { color: var(--ink-soft); font-size: .76rem; font-weight: 650; }
.dashboard-metric-value { display: block; margin-top: 2px; color: var(--ink); font: 760 1.75rem var(--font-display); letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.dashboard-metric-foot { margin-top: auto; padding-top: 8px; color: var(--muted); font-size: .68rem; }
.dashboard-metric-progress { width: 100%; height: 5px; overflow: hidden; margin-top: 10px; border-radius: 10px; background: #e9eff5; }
.dashboard-metric-progress i { height: 100%; display: block; border-radius: inherit; background: #27947d; }
.dashboard-insights-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(255px,.85fr); gap: 15px; align-items: stretch; }
.dashboard-insights-grid .registration-trend-panel { min-width: 0; margin: 0; padding: 20px; border-radius: 15px; box-shadow: var(--shadow-card); }
.dashboard-insights-grid .registration-trend-panel .panel-heading { align-items: flex-start; }
.dashboard-panel { padding: 20px; }
.dashboard-panel-heading { margin-bottom: 17px; }
.dashboard-panel-total { display: grid; justify-items: end; color: var(--ink); font: 750 1.18rem var(--font-display); font-variant-numeric: tabular-nums; }
.dashboard-panel-total small { color: var(--muted); font: 600 .65rem var(--font-body); }
.registration-mix-content { justify-content: flex-start; gap: clamp(15px,2vw,25px); min-height: 190px; }
.registration-mix-content .dashboard-donut { width: 132px; height: 132px; flex-basis: 132px; }
.dashboard-empty-chart { min-height: 175px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--muted); text-align: center; }
.dashboard-empty-chart > i { color: #6d91bd; font-size: 1.4rem; }
.dashboard-empty-chart strong { color: var(--ink); font-size: .81rem; }
.dashboard-empty-chart span { max-width: 250px; font-size: .72rem; }
.attendance-progress-content { min-height: 172px; display: flex; align-items: center; justify-content: center; gap: 22px; }
.attendance-donut { width: 136px; height: 136px; flex-basis: 136px; }
.attendance-donut::after { inset: 20%; }
.attendance-progress-copy { display: grid; gap: 3px; }
.attendance-progress-copy strong { color: var(--ink); font: 780 2rem var(--font-display); letter-spacing: -.05em; }
.attendance-progress-copy > span { color: var(--ink-soft); font-size: .77rem; font-weight: 700; }
.attendance-progress-copy p { max-width: 170px; margin: 7px 0 0; color: var(--muted); font-size: .69rem; line-height: 1.5; }
.dashboard-inline-link { display: inline-flex; align-items: center; gap: 7px; color: var(--blue-700); font-size: .73rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.dashboard-inline-link:hover { color: #174b8b; text-decoration: underline; }
.attendance-progress-panel > .dashboard-inline-link { margin-top: 5px; }
.dashboard-operations-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 15px; align-items: start; }
.dashboard-operations-grid > .dashboard-panel:only-child { grid-column: 1 / -1; }
.dashboard-event-list, .dashboard-attendee-list { display: grid; }
.dashboard-event-row, .dashboard-attendee-row { min-width: 0; display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--line); }
.dashboard-event-row:first-child, .dashboard-attendee-row:first-child { border-top: 0; padding-top: 2px; }
.dashboard-date-tile { width: 46px; min-height: 48px; flex: 0 0 46px; display: grid; align-content: center; justify-items: center; border: 1px solid #d9e7f8; border-radius: 10px; color: #235ea8; background: #f0f6ff; }
.dashboard-date-tile strong { font: 760 1.12rem var(--font-display); line-height: 1; }
.dashboard-date-tile small { margin-top: 3px; font-size: .58rem; font-weight: 800; letter-spacing: .05em; }
.dashboard-event-details, .dashboard-attendee-details { min-width: 0; display: grid; gap: 4px; flex: 1 1 auto; }
.dashboard-event-details strong, .dashboard-attendee-details strong { overflow: hidden; color: var(--ink); font-size: .77rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-event-details small, .dashboard-attendee-details small { overflow: hidden; color: var(--muted); font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-event-status, .dashboard-checkin-status, .dashboard-payment-status { flex: 0 0 auto; padding: 5px 8px; border-radius: 100px; font-size: .63rem; font-weight: 750; white-space: nowrap; }
.dashboard-event-status.is-published { color: #247354; background: #e8f6ef; }
.dashboard-event-status.is-draft { color: #8a601f; background: #fff4df; }
.dashboard-avatar { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 50%; color: #245fae; background: #eaf2fd; font-size: .74rem; font-weight: 800; }
.dashboard-checkin-status.is-checked-in { color: #247354; background: #e8f6ef; }
.dashboard-checkin-status.is-expected { color: #66758a; background: #f0f3f7; }
.dashboard-payment-status { color: #5d4b9a; background: #f0edfb; }
.dashboard-empty-list { min-height: 170px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--muted); text-align: center; }
.dashboard-empty-list strong { color: var(--ink); font-size: .81rem; }
.dashboard-empty-list > span:not(.dashboard-icon) { font-size: .72rem; }
.dashboard-empty-list .btn { margin-top: 5px; }
.dashboard-access-note { display: flex; align-items: flex-start; gap: 13px; padding: 17px 19px; border-color: #d8e5f5; background: #f6faff; }
.dashboard-access-note strong { color: var(--ink); font-size: .83rem; }
.dashboard-access-note p { margin: 5px 0 0; color: var(--ink-soft); font-size: .75rem; line-height: 1.5; }
.dashboard-shortcuts { padding: 18px 20px; }
.dashboard-shortcuts-title { margin-bottom: 14px; }
.dashboard-shortcut-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 9px; }
.dashboard-shortcut { min-width: 0; display: flex; align-items: center; gap: 11px; padding: 11px; border: 1px solid var(--line); border-radius: 11px; color: inherit; background: #fff; text-decoration: none; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.dashboard-shortcut:hover { transform: translateY(-1px); border-color: #b8d0ee; background: #f8fbff; }
.dashboard-shortcut > span:nth-child(2) { min-width: 0; display: grid; gap: 3px; flex: 1 1 auto; }
.dashboard-shortcut strong { overflow: hidden; color: var(--ink); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-shortcut small { color: var(--muted); font-size: .66rem; }
.dashboard-shortcut > i { color: #8797aa; font-size: .78rem; }
.dashboard-muted-copy { margin: 0; color: var(--muted); font-size: .72rem; }

.audit-filters { display: grid; grid-template-columns: minmax(180px,.8fr) minmax(180px,.8fr) minmax(220px,1.2fr) auto; gap: 12px; align-items: end; padding: 17px 18px; border-bottom: 1px solid var(--line); }
.audit-filters label { min-width: 0; display: grid; gap: 6px; margin: 0; color: var(--ink-soft); font-size: .7rem; font-weight: 700; }
.audit-filter-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.audit-filter-actions .btn { white-space: nowrap; }
.audit-action { color: var(--ink); font-weight: 700; }
.audit-action i { color: var(--blue-600); }

@media (max-width: 1100px) {
  .platform-summary-content { grid-template-columns: 1fr; }
  .platform-portfolio-chart { justify-content: flex-start; }
}
@media (max-width: 860px) {
  .dashboard-insights-grid, .dashboard-operations-grid { grid-template-columns: minmax(0,1fr); }
  .dashboard-insights-grid .registration-trend-panel { min-width: 0; }
}
@media (max-width: 640px) {
  .dashboard-page { gap: 14px; }
  .dashboard-intro { align-items: flex-start; flex-direction: column; gap: 14px; }
  .dashboard-intro-actions { width: 100%; }
  .dashboard-intro-actions .btn { flex: 1 1 auto; justify-content: center; }
  .dashboard-platform-panel, .dashboard-panel, .dashboard-shortcuts { padding: 16px; }
  .dashboard-section-heading { flex-direction: column; }
  .platform-kpi-grid { grid-template-columns: 1fr; }
  .platform-kpi { min-height: 72px; }
  .platform-portfolio-chart, .registration-mix-content { justify-content: flex-start; gap: 15px; }
  .dashboard-donut-large, .registration-mix-content .dashboard-donut { width: 108px; height: 108px; flex-basis: 108px; }
  .dashboard-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .dashboard-metric-card { min-height: 142px; padding: 13px; }
  .dashboard-metric-value { font-size: 1.45rem; }
  .dashboard-panel-heading { align-items: flex-start; }
  .dashboard-event-row, .dashboard-attendee-row { gap: 8px; }
  .dashboard-payment-status { display: none; }
  .dashboard-shortcuts { padding: 15px; }
  .dashboard-shortcut-list { grid-template-columns: 1fr; }
  .audit-filters { grid-template-columns: minmax(0,1fr); padding: 14px; }
  .audit-filter-actions .btn { flex: 1 1 auto; justify-content: center; }
}
@media (max-width: 390px) {
  .dashboard-metric-grid { grid-template-columns: 1fr; }
  .platform-portfolio-chart, .registration-mix-content { align-items: flex-start; flex-direction: column; }
  .dashboard-event-status, .dashboard-checkin-status { font-size: .58rem; padding: 4px 6px; }
}

/* Event workspace and program management */
.event-heading-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.event-overview-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 4px 0 17px; }
.event-overview-stat, .event-workspace-stat { position: relative; min-width: 0; display: flex; align-items: center; gap: 13px; overflow: hidden; padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 7px 20px rgba(26,52,84,.035); }
.event-overview-stat > div, .event-workspace-stat > div { min-width: 0; display: grid; gap: 2px; }
.event-overview-stat small, .event-workspace-stat small { color: var(--muted); font-size: .69rem; font-weight: 700; }
.event-overview-stat strong, .event-workspace-stat strong { color: var(--ink); font-size: 1.35rem; line-height: 1.3; }
.event-overview-stat > div > span, .event-workspace-stat > div > span { color: var(--muted); font-size: .67rem; }
.event-overview-icon { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; font-size: 1.04rem; }
.event-overview-icon.stat-blue, .event-overview-stat.stat-blue .event-overview-icon { color: #1265d7; background: #eaf2ff; }
.event-overview-icon.stat-green, .event-overview-stat.stat-green .event-overview-icon { color: #158456; background: #e8f7f0; }
.event-overview-icon.stat-amber, .event-overview-stat.stat-amber .event-overview-icon { color: #b56a05; background: #fff4df; }
.event-overview-icon.stat-slate, .event-overview-stat.stat-slate .event-overview-icon { color: #53667b; background: #eef2f6; }
.event-overview-icon.stat-purple, .event-overview-stat.stat-purple .event-overview-icon { color: #7046c8; background: #f2ecff; }
.event-list-filters { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.event-list-filter { position: relative; display: inline-flex; align-items: center; }
.event-list-filter > i { position: absolute; left: 11px; color: #8191a5; font-size: .78rem; pointer-events: none; }
.event-list-filter select { min-height: 36px; padding: 6px 28px 6px 30px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink-soft); font-size: .72rem; }
.event-row-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: 6px; }
.event-row-actions form { display: inline-flex; }
.event-row-actions .btn { white-space: nowrap; }
.event-workspace-page, .event-agenda-page, .event-calendar-page, .event-session-form-page { width: min(1240px,100%); margin: 0 auto; }
.event-workspace-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 17px; }
.event-workspace-heading .back-link { display: inline-flex; margin-bottom: 13px; }
.event-workspace-title-row { display: flex; align-items: center; gap: 12px; }
.event-workspace-title-row h1 { margin: 4px 0 5px; color: var(--ink); font-size: clamp(1.65rem,3vw,2.18rem); font-weight: 790; letter-spacing: -.045em; }
.event-workspace-title-row p { margin: 0; color: var(--muted); font-size: .83rem; }
.event-workspace-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-bottom: 17px; }
.event-workspace-stat { min-height: 91px; padding: 14px; }
.event-workspace-stat .event-overview-icon { flex-basis: 38px; width: 38px; height: 38px; }
.event-workspace-stat strong { font-size: 1.2rem; }
.event-stat-location { max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.event-workspace-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(260px,.82fr); align-items: start; gap: 16px; }
.event-workspace-main, .event-workspace-side { display: grid; gap: 16px; min-width: 0; }
.event-workspace-card { padding: 20px; }
.event-card-heading, .event-agenda-list-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.event-card-heading > i { color: #94a6ba; font-size: 1.15rem; }
.event-card-heading h2, .event-agenda-list-heading h2 { margin: 4px 0 0; color: var(--ink); font-size: 1.08rem; font-weight: 760; }
.event-card-heading p { margin: 5px 0 0; color: var(--muted); font-size: .73rem; }
.event-details-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 20px; margin-top: 20px; }
.event-details-grid > div { min-width: 0; display: grid; gap: 5px; }
.event-details-grid span { color: var(--muted); font-size: .67rem; font-weight: 650; }
.event-details-grid strong { color: var(--ink); font-size: .79rem; font-weight: 690; }
.event-details-location { grid-column: 1 / -1; }
.event-details-location strong i { margin-right: 5px; color: var(--blue-600); }
.event-capacity-meter { display: grid; gap: 7px; margin-top: 19px; padding-top: 15px; border-top: 1px solid var(--line); }
.event-capacity-meter > div:first-child { display: flex; justify-content: space-between; color: var(--muted); font-size: .68rem; }
.event-capacity-meter strong { color: var(--ink); }
.event-capacity-track { height: 8px; overflow: hidden; border-radius: 20px; background: #edf2f8; }
.event-capacity-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#1783eb,#21b5a2); }
.event-agenda-preview { display: grid; margin-top: 17px; }
.event-agenda-preview-row { position: relative; display: grid; grid-template-columns: 65px 14px minmax(0,1fr); gap: 11px; min-height: 66px; }
.event-agenda-preview-row:not(:last-child)::before { position: absolute; top: 16px; bottom: -2px; left: 81px; width: 1px; content: ""; background: #dde7f2; }
.event-agenda-preview-row time { display: grid; align-content: start; gap: 3px; padding-top: 2px; color: #315375; font-size: .69rem; font-weight: 750; }
.event-agenda-preview-row time small { color: var(--muted); font-size: .62rem; font-weight: 500; }
.event-agenda-marker { position: relative; z-index: 1; width: 10px; height: 10px; margin: 5px auto 0; border: 2px solid #fff; border-radius: 50%; background: #2679dc; box-shadow: 0 0 0 2px #d8e8fa; }
.event-agenda-preview-row > div { display: grid; align-content: start; gap: 5px; min-width: 0; padding-bottom: 16px; }
.event-agenda-preview-row > div strong { color: var(--ink); font-size: .78rem; }
.event-agenda-preview-row > div span { color: var(--muted); font-size: .68rem; }
.event-empty-inline { display: flex; align-items: center; gap: 13px; margin-top: 17px; padding: 15px; border: 1px dashed #cfdae7; border-radius: 12px; background: #fafcff; }
.event-empty-inline > i { color: var(--blue-600); font-size: 1.2rem; }
.event-empty-inline > div { display: grid; gap: 3px; }
.event-empty-inline strong { color: var(--ink); font-size: .77rem; }
.event-empty-inline span { color: var(--muted); font-size: .68rem; }
.event-quick-actions { display: grid; gap: 7px; padding: 18px; }
.event-quick-actions h2 { margin: 0 0 6px; color: var(--ink); font-size: 1rem; font-weight: 760; }
.event-quick-actions > a { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px 8px; border: 1px solid transparent; border-radius: 11px; color: inherit; text-decoration: none; transition: background .15s,border-color .15s; }
.event-quick-actions > a:hover { border-color: #e1eaf4; background: #f8fbff; }
.event-quick-actions > a > span:nth-child(2) { display: grid; flex: 1; gap: 3px; min-width: 0; }
.event-quick-actions > a strong { color: var(--ink); font-size: .73rem; }
.event-quick-actions > a small { color: var(--muted); font-size: .64rem; }
.event-quick-actions > a > i { color: #98a9bb; font-size: .68rem; }
.quick-action-icon { flex: 0 0 35px; width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px; }
.icon-purple { color: #7046c8; background: #f2ecff; }
.icon-blue { color: #1265d7; background: #eaf2ff; }
.icon-cyan { color: #087f9b; background: #e6f8fc; }
.icon-green { color: #158456; background: #e8f7f0; }
.event-payment-note, .security-callout { display: flex; align-items: flex-start; gap: 10px; padding: 13px; border: 1px solid #f2dfbd; border-radius: 12px; background: #fffaf0; color: #94600c; }
.event-payment-note > i { margin-top: 2px; }
.event-payment-note div, .security-callout div { display: grid; gap: 4px; }
.event-payment-note strong, .security-callout strong { color: var(--ink); font-size: .7rem; }
.event-payment-note span, .security-callout span { color: var(--muted); font-size: .66rem; line-height: 1.55; }
.security-callout { border-color: #dce9f7; background: #f4f8fe; color: var(--blue-600); }
.event-agenda-summary { display: flex; align-items: center; gap: 13px; margin-bottom: 15px; padding: 14px 17px; border: 1px solid #dce8f6; border-radius: 13px; background: linear-gradient(120deg,#f5f9ff,#fff); }
.agenda-summary-icon { flex: 0 0 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: #e7f0ff; color: #1265d7; font-size: 1rem; }
.event-agenda-summary > div { display: grid; gap: 4px; flex: 1; }
.event-agenda-summary > div strong { color: var(--ink); font-size: .8rem; }
.event-agenda-summary > div span { color: var(--muted); font-size: .67rem; }
.agenda-summary-status { display: inline-flex; align-items: center; gap: 6px; color: #627791; font-size: .68rem; }
.event-agenda-empty { display: grid; justify-items: center; gap: 9px; padding: 43px 20px; text-align: center; }
.event-empty-art { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 17px; background: #eaf2ff; color: #176bda; font-size: 1.35rem; }
.event-agenda-empty h2 { margin: 0; color: var(--ink); font-size: 1.2rem; }
.event-agenda-empty p { max-width: 510px; margin: 0 0 6px; color: var(--muted); font-size: .77rem; line-height: 1.7; }
.event-agenda-list { padding: 19px; }
.event-agenda-list-heading { align-items: center; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.event-agenda-table-wrap { display: grid; }
.event-agenda-manage-row { display: grid; grid-template-columns: 88px 16px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 17px 4px; border-bottom: 1px solid #edf1f6; }
.event-agenda-manage-row:last-child { border-bottom: 0; }
.agenda-manage-time { display: grid; gap: 3px; color: #315375; font-size: .71rem; }
.agenda-manage-time strong { font-weight: 750; }
.agenda-manage-time span { color: var(--muted); font-size: .63rem; }
.agenda-manage-main { display: grid; gap: 8px; min-width: 0; }
.agenda-manage-main > strong { color: var(--ink); font-size: .82rem; }
.agenda-manage-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--muted); font-size: .65rem; }
.agenda-manage-meta i { margin-right: 4px; color: #7890aa; }
.event-agenda-manage-row .row-actions { display: flex; gap: 5px; }
.event-agenda-manage-row form { display: flex; }
.event-session-form-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(250px,.72fr); align-items: start; gap: 17px; }
.event-session-form { display: grid; gap: 17px; padding: 22px; }
.event-session-form .editor-section-heading { margin-bottom: 0; }
.event-session-form .form-field { margin: 0; }
.event-session-form .location-heading { margin-top: 3px; }
.event-session-form .editor-footer { margin-top: 4px; }
.event-session-help { display: grid; justify-items: start; gap: 10px; padding: 19px; }
.event-session-help h2 { margin: 0; color: var(--ink); font-size: 1.03rem; }
.event-session-help p { margin: 0; color: var(--muted); font-size: .73rem; line-height: 1.7; }
.event-session-help-row { display: flex; align-items: flex-start; gap: 8px; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.event-session-help-row i { color: #158456; }
.event-session-help-row:last-child i { color: #587696; }
.event-calendar-card { padding: 18px; }
.event-calendar-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 17px; }
.event-calendar-toolbar h2 { margin: 4px 0 0; color: var(--ink); font-size: 1.18rem; font-weight: 760; }
.event-calendar-nav { display: flex; align-items: center; gap: 7px; }
.event-calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.event-calendar-weekday { padding: 9px 6px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f7f9fc; color: #72839a; font-size: .65rem; font-weight: 750; text-align: center; }
.event-calendar-day { min-width: 0; min-height: 119px; padding: 8px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.event-calendar-day.is-outside-month { background: #fafbfd; }
.event-calendar-day.is-outside-month .event-calendar-day-number { color: #a8b4c2; }
.event-calendar-day.is-today { background: #f5f9ff; box-shadow: inset 0 0 0 1px #8dbaf0; }
.event-calendar-day-number { display: inline-grid; min-width: 23px; height: 23px; place-items: center; border-radius: 50%; color: var(--ink-soft); font-size: .68rem; font-weight: 700; }
.event-calendar-day.is-today .event-calendar-day-number { background: #176bda; color: #fff; }
.event-calendar-day-events { display: grid; gap: 4px; margin-top: 5px; }
.event-calendar-item { display: grid; gap: 1px; overflow: hidden; padding: 5px 6px; border-left: 3px solid #2173d7; border-radius: 4px 7px 7px 4px; background: #edf5ff; color: #234a73; text-decoration: none; }
.event-calendar-item:hover { background: #e0edff; }
.event-calendar-item.is-draft { border-color: #d19227; background: #fff7e8; color: #7b5718; }
.event-calendar-item time { font-size: .57rem; font-weight: 750; }
.event-calendar-item span { overflow: hidden; font-size: .61rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.event-calendar-more { padding-left: 5px; color: var(--muted); font-size: .59rem; }
.event-calendar-legend { display: flex; align-items: center; gap: 15px; padding-top: 13px; color: #60758d; font-size: .65rem; }
.event-calendar-legend span { display: inline-flex; align-items: center; gap: 6px; }
.event-calendar-legend i { width: 8px; height: 8px; border-radius: 50%; background: #2173d7; }
.event-calendar-legend .legend-draft { background: #d19227; }
.event-calendar-legend small { margin-left: auto; color: var(--muted); font-size: .62rem; }

@media (max-width: 1000px) {
  .event-overview-stats, .event-workspace-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .event-workspace-grid, .event-session-form-grid { grid-template-columns: minmax(0,1fr); }
  .event-workspace-side { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
  .event-quick-actions { grid-row: span 2; }
}
@media (max-width: 700px) {
  .event-workspace-heading { align-items: flex-start; flex-direction: column; }
  .event-workspace-heading > .event-heading-actions { width: 100%; }
  .event-heading-actions > .btn { flex: 1 1 auto; justify-content: center; }
  .event-list-filters { justify-content: flex-start; width: 100%; }
  .event-workspace-side { grid-template-columns: minmax(0,1fr); }
  .event-quick-actions { grid-row: auto; }
  .event-agenda-manage-row { grid-template-columns: 65px 13px minmax(0,1fr); gap: 8px; }
  .event-agenda-manage-row > .row-actions { grid-column: 3; }
  .agenda-manage-meta { gap: 5px 10px; }
  .event-calendar-card { padding: 12px; }
  .event-calendar-day { min-height: 88px; padding: 5px 3px; }
  .event-calendar-item { padding: 4px 3px; }
  .event-calendar-item span { font-size: .54rem; }
  .event-calendar-item time { font-size: .52rem; }
}
@media (max-width: 520px) {
  .event-overview-stats, .event-workspace-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .event-overview-stat, .event-workspace-stat { gap: 8px; padding: 11px; }
  .event-overview-icon { flex-basis: 34px; width: 34px; height: 34px; border-radius: 10px; }
  .event-overview-stat strong, .event-workspace-stat strong { font-size: 1.08rem; }
  .event-calendar-weekday { padding: 7px 1px; font-size: .56rem; }
  .event-calendar-day { min-height: 75px; padding: 3px 2px; }
  .event-calendar-day-number { min-width: 20px; height: 20px; font-size: .6rem; }
  .event-calendar-item { border-left-width: 2px; }
  .event-calendar-item span { display: none; }
  .event-calendar-item time { font-size: .49rem; }
  .event-calendar-legend { flex-wrap: wrap; gap: 8px 12px; }
  .event-calendar-legend small { width: 100%; margin-left: 0; }
  .event-agenda-summary { align-items: flex-start; padding: 11px; }
  .agenda-summary-status { display: none; }
  .event-details-grid { gap: 13px; }
  .event-details-grid strong { font-size: .72rem; }
  .event-session-form { padding: 16px; }
  .event-session-form .form-grid.two { grid-template-columns: minmax(0,1fr); }
}
