/* =========================================
   RacePSL Public Base
   Precision Lab Light Theme
========================================= */
.app-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #ffffff;
  border-bottom: 1px solid #e9ecef;
}

.app-header-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  gap: 24px;
}

.app-brand {
  flex-shrink: 0;
}

.navbar-brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.app-logo {
  height: 52px;
  width: auto;
  display: block;
}

.app-nav {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  min-width: 0;
}

.app-nav a {
  color: #1a1a1a;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.app-nav a:hover {
  color: #ff4f00;
}

.app-shell {
  max-width: 1400px;
  margin: 0 auto;
  padding: 12px 20px 0;
}

.page {
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px;
}

.admin-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #ffffff;
  border-bottom: 1px solid #e9ecef;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.admin-nav-link {
  color: #1a1a1a;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  padding: 4px 6px;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.admin-nav-link:hover {
  color: #ff4f00;
}

/* ACTIVE STATE */
.admin-nav-link.active {
  color: #ff4f00;
  font-weight: 800;
  position: relative;
}

.admin-nav-link.active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 2px;
  background: #ff4f00;
}

.admin-nav-group.active {
  background: #fff7f2;
  border-radius: 8px;
  padding: 8px;
}

.admin-header-top {
  border-bottom: 1px solid #eef1f4;
  background: #ffffff;
}

.admin-header-bottom {
  background: #f8f9fa;
}

.admin-header-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 10px 20px;
}

.admin-header-top .admin-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.admin-brand {
  flex-shrink: 0;
}

.navbar-brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.admin-logo {
  height: 55px;
  width: auto;
  display: block;
}

.admin-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.admin-quick-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  background: #ffffff;
  color: #1a1a1a;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  transition: all 0.2s ease;
}

.admin-quick-link:hover {
  border-color: #ff4f00;
  color: #ff4f00;
}

.admin-quick-link--accent {
  background: #ff4f00;
  border-color: #ff4f00;
  color: #ffffff;
}

.admin-quick-link--accent:hover {
  color: #ffffff;
  filter: brightness(0.96);
}

.admin-nav-groups {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items: start;
}

.admin-nav-group {
  min-width: 0;
}

.admin-nav-label {
  display: block;
  margin-bottom: 8px;
  color: #6c757d;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.4px;
}

.admin-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}

.admin-nav a {
  color: #1a1a1a;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.admin-nav a:hover {
  color: #ff4f00;
}

.app-shell {
  max-width: 1400px;
  margin: 0 auto;
  padding: 12px 20px 0;
}

.page {
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px;
}

.notice,
.alert-box {
  margin-bottom: 12px;
}

@media (max-width: 1100px) {
  .admin-nav-groups {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .admin-header-top .admin-header-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-logo {
    height: 48px;
  }

  .admin-nav {
    gap: 8px 12px;
  }

  .admin-nav a {
    font-size: 13px;
  }

  .page,
  .app-shell,
  .admin-header-inner {
    padding-left: 14px;
    padding-right: 14px;
  }
}

:root {
  --bg-main: #F8F9FA;
  --card-bg: #FFFFFF;
  --accent-orange: #FF4F00;
  --accent-orange-soft: #FFF2EB;
  --text-primary: #1A1A1A;
  --text-muted: #6C757D;
  --border-light: #E9ECEF;
  --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.08);
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 18px;
}

/* =========================================
   Base
========================================= */

body {
  background: var(--bg-main);
  color: var(--text-primary);
  font-family: "Inter", "Roboto Condensed", sans-serif;
}

.public-muted {
  color: var(--text-muted);
  line-height: 1.5;
}

.public-kicker {
  color: var(--text-muted);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 700;
  margin: 0 0 8px;
}

.public-title {
  color: var(--text-primary);
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1.05;
  margin: 0 0 10px;
}

.public-subtitle {
  color: var(--text-muted);
  line-height: 1.5;
  margin: 0;
}

/* =========================================
   Shells
========================================= */

.public-rider-shell,
.public-dashboard-shell,
.public-promoter-shell,
.public-meeting-shell,
.public-standings-shell,
.meeting-calendar-shell {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px;
  background: var(--bg-main);
}

/* =========================================
   Cards
========================================= */

.public-hero-card,
.public-section-card,
.public-stat-card,
.promoter-series-card,
.promoter-featured-meeting-card,
.meeting-headline-card,
.meeting-support-card,
.meeting-calendar-card,
.public-rival-row {
  background: var(--card-bg);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.public-hero-card,
.public-section-card {
  padding: 24px;
  margin-bottom: 20px;
}

.public-hero-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}

.public-hero-actions,
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.promoter-series-card,
.meeting-support-card,
.meeting-calendar-card,
.public-stat-card,
.public-rival-row {
  transition: all 0.2s ease;
}

.promoter-series-card:hover,
.meeting-support-card:hover,
.meeting-calendar-card:hover,
.public-stat-card:hover,
.public-rival-row:hover {
  border-color: var(--accent-orange);
  transform: translateY(-2px);
}

/* =========================================
   Section Titles
========================================= */

.public-section-title,
.section-title {
  color: var(--accent-orange);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  border-bottom: 2px solid var(--border-light);
  padding-bottom: 8px;
  margin: 0 0 20px;
  font-weight: 800;
}

/* =========================================
   Buttons
========================================= */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-light);
  background: var(--card-bg);
  color: var(--text-primary);
  text-decoration: none;
  font-weight: 700;
  transition: all 0.2s ease;
  cursor: pointer;
}

.btn:hover {
  border-color: var(--accent-orange);
  color: var(--accent-orange);
}

.btn-primary {
  background: var(--accent-orange);
  color: #FFFFFF;
  border-color: var(--accent-orange);
}

.btn-primary:hover {
  filter: brightness(0.96);
  color: #FFFFFF;
}

/* =========================================
   Stat Grid / Cards
========================================= */

.public-stat-grid,
.stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
}

.public-stat-card,
.stat-card {
  background: var(--card-bg);
  border: 1px solid var(--border-light);
  padding: 24px;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

.public-stat-value,
.stat-value {
  display: block;
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1;
}

.public-stat-label,
.stat-label {
  color: var(--text-muted);
  font-size: 0.75rem;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 4px;
}

/* =========================================
   Tables
========================================= */

.public-table-wrap {
  overflow-x: auto;
}

.public-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--card-bg);
}

.public-table th {
  text-align: left;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border-light);
  padding: 12px 10px;
  white-space: nowrap;
}

.public-table td {
  padding: 14px 10px;
  border-bottom: 1px solid var(--border-light);
  color: var(--text-primary);
  vertical-align: middle;
}

.public-table tr:hover {
  background: var(--accent-orange-soft);
}

/* =========================================
   Rider Profile
========================================= */

.public-rider-hero-wrap {
  display: flex;
  align-items: center;
  gap: 18px;
}

.public-rider-avatar {
  flex-shrink: 0;
}

.public-rider-avatar-img,
.public-rider-avatar-placeholder {
  width: 120px;
  height: 120px;
  border-radius: var(--radius-xl);
  object-fit: cover;
  border: 1px solid var(--border-light);
  background: var(--card-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 42px;
  font-weight: 900;
  color: var(--text-primary);
  box-shadow: var(--shadow-sm);
}

.public-rider-hero-copy {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.race-badge,
.public-rider-number-badge {
  background-color: var(--accent-orange);
  color: #FFFFFF;
  font-weight: 900;
  font-size: 2rem;
  padding: 8px 16px;
  border-radius: 4px;
  display: inline-block;
  transform: skewX(-10deg);
  box-shadow: 4px 4px 0px var(--text-primary);
  width: fit-content;
}

.public-rivals-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.public-rival-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px;
}

.public-rival-row strong {
  color: var(--text-primary);
  font-weight: 800;
}

/* =========================================
   Promoter
========================================= */

.promoter-featured-meeting-card {
  padding: 24px;
}

.promoter-series-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.promoter-series-card {
  padding: 18px;
}

.promoter-series-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 10px;
}

.promoter-series-name {
  font-size: 20px;
  font-weight: 900;
  line-height: 1.15;
  color: var(--accent-orange);
}

.promoter-series-status {
  font-size: 12px;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.promoter-meeting-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.promoter-meeting-row {
  background: var(--card-bg);
  border: 1px solid var(--border-light);
  border-radius: 14px;
  padding: 16px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  box-shadow: var(--shadow-sm);
}

.promoter-meeting-title {
  font-size: 17px;
  font-weight: 800;
  margin-bottom: 4px;
}

/* =========================================
   Meeting Public Page
========================================= */

.meeting-headline-card {
  padding: 24px;
}

.meeting-headline-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.meeting-headline-tag {
  display: inline-block;
  background: var(--accent-orange);
  color: #FFFFFF;
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: 999px;
  padding: 6px 10px;
}

.meeting-headline-series {
  display: inline-block;
  background: var(--accent-orange-soft);
  color: var(--text-primary);
  font-weight: 700;
  font-size: 12px;
  border: 1px solid var(--border-light);
  border-radius: 999px;
  padding: 6px 10px;
}

.meeting-headline-title {
  margin: 0 0 8px;
  font-size: 28px;
  line-height: 1.1;
  color: var(--text-primary);
}

.meeting-headline-subtitle {
  margin: 0 0 8px;
  color: var(--text-muted);
}

.meeting-support-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.meeting-support-card {
  padding: 18px;
}

.meeting-support-series {
  color: var(--accent-orange);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
}

.meeting-support-title {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.15;
  color: var(--text-primary);
}

/* =========================================
   Meetings Calendar
========================================= */

.meeting-calendar-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.meeting-calendar-card {
  display: grid;
  grid-template-columns: 120px 1fr 170px;
  gap: 18px;
  padding: 18px;
  align-items: center;
}

.meeting-calendar-date-block {
  background: var(--accent-orange-soft);
  border: 1px solid var(--border-light);
  border-radius: 16px;
  padding: 16px 12px;
  text-align: center;
}

.meeting-calendar-month {
  color: var(--accent-orange);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.meeting-calendar-day {
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
  margin: 8px 0;
  color: #fff;
}

.meeting-calendar-year {
  color: var(--text-muted);
  font-size: 13px;
  font-weight: 700;
}

.meeting-calendar-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.meeting-calendar-promoter,
.meeting-calendar-status {
  display: inline-block;
  background: var(--accent-orange-soft);
  color: var(--text-primary);
  border: 1px solid var(--border-light);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
}

.meeting-status-completed {
  background: #E8F8EF;
  color: #198754;
  border-color: #CFEBDD;
}

.meeting-calendar-title {
  margin: 0 0 8px;
  font-size: 28px;
  line-height: 1.1;
  color: var(--text-primary);
}

.meeting-calendar-subtitle {
  margin: 0 0 14px;
  color: var(--text-muted);
}

.meeting-calendar-results-heading,
.meeting-calendar-preview-heading {
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  margin-bottom: 10px;
}

.meeting-calendar-podium-row,
.meeting-calendar-series-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.meeting-calendar-podium-pill,
.meeting-calendar-series-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--accent-orange-soft);
  border: 1px solid var(--border-light);
  border-radius: 999px;
  padding: 8px 12px;
}

.meeting-calendar-podium-pos {
  color: var(--accent-orange);
  font-weight: 900;
}

.meeting-calendar-podium-name {
  color: var(--text-primary);
  font-weight: 700;
}

.meeting-calendar-series-pill {
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 700;
}

.meeting-calendar-card-right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* =========================================
   Standings
========================================= */

.public-rank-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  border-radius: 999px;
  background: var(--accent-orange);
  color: #FFFFFF;
  font-weight: 900;
  box-shadow: var(--shadow-sm);
}

.public-leader-row {
  background: #FFF7F2;
}

/* =========================================
   Forms
========================================= */

.form-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-group.full {
  grid-column: 1 / -1;
}

.form-group label {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  background: #FFFFFF;
  color: var(--text-primary);
  padding: 10px 12px;
  font: inherit;
}

.form-group textarea {
  min-height: 120px;
  resize: vertical;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--accent-orange);
  box-shadow: 0 0 0 3px rgba(255, 79, 0, 0.1);
}

.checkbox-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* =========================================
   Utilities
========================================= */

.table-primary-link {
  color: var(--text-primary);
  font-weight: 700;
  text-decoration: none;
}

.table-primary-link:hover {
  color: var(--accent-orange);
}

.alert-box {
  background: #FFF4E5;
  border: 1px solid #FFD8A8;
  color: #7A4E00;
  border-radius: var(--radius-md);
  padding: 14px 16px;
  margin-bottom: 16px;
}

/* =========================================
   Responsive
========================================= */

@media (max-width: 900px) {
  .public-hero-top,
  .public-rider-hero-wrap,
  .public-rival-row,
  .promoter-meeting-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .promoter-series-grid,
  .meeting-support-grid,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .meeting-calendar-card {
    grid-template-columns: 1fr;
  }

  .meeting-calendar-card-right {
    justify-content: flex-start;
  }

  .public-stat-grid,
  .stat-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .public-stat-grid,
  .stat-grid {
    grid-template-columns: 1fr;
  }

  .public-title {
    font-size: 1.8rem;
  }

  .race-badge,
  .public-rider-number-badge {
    font-size: 1.4rem;
  }

  .public-rider-avatar-img,
  .public-rider-avatar-placeholder {
    width: 96px;
    height: 96px;
    font-size: 32px;
  }
}

/* =========================================
   Admin Racer Profiles Index
========================================= */

.admin-list-hero-card,
.admin-filter-card,
.admin-data-card,
.admin-pagination-card {
  background: #ffffff;
  border: 1px solid #d0d3d7;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  padding: 22px 24px;
  margin-bottom: 22px;
}

.admin-list-hero-card {
  border-top: 4px solid #E10600;
}

.admin-list-hero-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}

.admin-list-kicker {
  color: #E10600;
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 900;
  margin: 0 0 8px;
}

.admin-list-title {
  color: #15151E;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.1;
  margin: 0 0 8px;
}

.admin-list-subtitle {
  color: #67676D;
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0;
}

.admin-filter-grid--riders {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: end;
}

.admin-filter-actions {
  justify-content: flex-start;
}

.admin-riders-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.admin-rider-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  border: 1px solid #e7eaee;
  border-left: 6px solid #d0d3d7;
  border-radius: 14px;
  padding: 16px;
  background: #ffffff;
  transition: all 0.2s ease;
}

.admin-rider-row:hover {
  transform: translateX(2px);
  background: #fafbfc;
}

.admin-rider-identity {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  flex: 1;
}

.admin-rider-avatar-wrap {
  flex-shrink: 0;
}

.admin-rider-avatar,
.admin-rider-avatar--placeholder {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  object-fit: cover;
  border: 1px solid #d0d3d7;
  background: #f5f6f8;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #15151E;
  font-weight: 900;
  font-size: 1.2rem;
}

.admin-rider-copy {
  min-width: 0;
  flex: 1;
}

.admin-rider-name-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}

.admin-rider-name {
  color: #15151E;
  font-size: 1rem;
  font-weight: 900;
  text-decoration: none;
  line-height: 1.2;
}

.admin-rider-name:hover {
  color: #E10600;
}

.admin-rider-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  border: 1px solid #d0d3d7;
  background: #f3f4f6;
  color: #67676D;
}

.admin-rider-status--active {
  background: #E8F8EF;
  color: #198754;
  border-color: #CFEBDD;
}

.admin-rider-status--inactive {
  background: #FFF1EE;
  color: #E10600;
  border-color: #FFD2C9;
}

.admin-rider-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: #67676D;
  font-size: 0.82rem;
  line-height: 1.5;
}

.admin-rider-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.admin-empty-state {
  color: #67676D;
  text-align: center;
  padding: 24px;
  border: 1px dashed #d0d3d7;
  border-radius: 12px;
  background: #fafbfc;
}

@media (max-width: 900px) {
  .admin-list-hero-top,
  .admin-rider-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-filter-grid--riders {
    grid-template-columns: 1fr;
  }

  .admin-rider-actions {
    width: 100%;
  }
}

/* =========================================
   Event Show
========================================= */

.event-show-hero-card,
.event-show-actions-card,
.event-show-info-card,
.event-show-results-card,
.event-show-section-card {
  background: #ffffff;
  border: 1px solid #d0d3d7;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  padding: 22px 24px;
  margin-bottom: 22px;
}

.event-show-hero-card {
  border-top: 4px solid #E10600;
}

.event-show-results-card {
  border-top: 4px solid #15151E;
}

.event-show-hero-top,
.event-show-section-header,
.event-heat-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}

.event-show-kicker {
  color: #E10600;
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 900;
  margin: 0 0 8px;
}

.event-show-title {
  color: #15151E;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.1;
  margin: 0 0 8px;
}

.event-show-subtitle {
  color: #67676D;
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0;
}

.event-show-meta-grid,
.event-show-info-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
  margin-top: 18px;
}

.event-show-meta-block,
.event-show-info-block {
  background: #fafbfc;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  padding: 14px 16px;
}

.event-show-meta-label {
  display: block;
  color: #67676D;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
  margin-bottom: 6px;
}

.event-show-meta-value {
  display: block;
  color: #15151E;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
}

.event-show-actions-wrap {
  gap: 10px;
  flex-wrap: wrap;
}

.event-show-notes {
  margin-top: 18px;
}

.event-show-notes-body {
  margin-top: 8px;
  color: #15151E;
}

.event-show-section-title {
  color: #15151E;
  font-size: 1.4rem;
  font-weight: 900;
  line-height: 1.1;
  margin: 0;
}

.event-show-table {
  width: 100%;
  border-collapse: collapse;
}

.event-show-table th {
  text-align: left;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #67676D;
  border-bottom: 1px solid #e7eaee;
  padding: 12px 10px;
}

.event-show-table td {
  padding: 14px 10px;
  border-bottom: 1px solid #eceff3;
  color: #15151E;
  vertical-align: middle;
}

.event-show-table tr:hover {
  background: #fafbfc;
}

.event-rank-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #15151E;
  color: #ffffff;
  font-weight: 900;
}

.event-heat-block {
  border: 1px solid #e7eaee;
  border-left: 6px solid #d0d3d7;
  border-radius: 14px;
  padding: 18px;
  margin-bottom: 16px;
  background: #ffffff;
}

.event-heat-title {
  margin: 0;
  color: #15151E;
  font-size: 1.1rem;
  font-weight: 900;
}

@media (max-width: 1100px) {
  .event-show-meta-grid,
  .event-show-info-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 800px) {
  .event-show-hero-top,
  .event-show-section-header,
  .event-heat-top {
    flex-direction: column;
    align-items: flex-start;
  }

  .event-show-meta-grid,
  .event-show-info-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .event-show-meta-grid,
  .event-show-info-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================
   Public Event Page
========================================= */

.public-event-shell {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 24px 24px;
}

.public-event-hero-card {
  border-radius: 18px;
  margin-bottom: 22px;
}

.public-event-hero-card--premium {
  position: relative;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  border: 1px solid #2A2A36;
  border-top: 4px solid #E10600;
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}

.public-event-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(21, 21, 30, 0.88) 0%, rgba(30, 30, 42, 0.84) 100%);
  z-index: 1;
}

.public-event-hero-content {
  position: relative;
  z-index: 3;
  padding: 26px 28px;
}

.public-title--light {
  color: #FFFFFF;
}

.public-subtitle--light {
  color: #D0D4DD;
}

.public-event-track-outline {
  position: absolute;
  right: 22px;
  top: 22px;
  z-index: 2;
  opacity: 0.12;
  pointer-events: none;
}

.public-event-track-outline-img {
  width: 220px;
  max-width: 34vw;
  filter: brightness(0) invert(1) contrast(1.1);
}

.public-event-track-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.public-event-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: #FFFFFF;
  border: 1px solid rgba(255,255,255,0.12);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.4px;
}

.public-stat-card--dark {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: none;
}

.public-stat-value--light {
  color: #FFFFFF;
}

.public-section-header {
  margin-bottom: 14px;
}

.public-heat-card {
  border: 1px solid #e7eaee;
  border-left: 6px solid #d0d3d7;
  border-radius: 14px;
  padding: 18px;
  margin-bottom: 16px;
  background: #ffffff;
}

.public-heat-title {
  color: #fff;
  font-weight: 900;
  font-size: 1.1rem;
  margin: 0;
}
.public-heat-header {
  border-bottom: 1px solid #eceff3;
  padding-bottom: 10px;
  margin-bottom: 12px;
}
.public-heat-header .public-muted {
  color: #67676D;
}


@media (max-width: 900px) {
  .public-event-track-outline {
    right: 14px;
    top: 14px;
  }

  .public-event-track-outline-img {
    width: 150px;
  }
}

@media (max-width: 640px) {
  .public-event-shell {
    padding: 16px;
  }
}

.public-event-winner-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin: 20px 0 18px;
  padding: 18px 20px;
  border-radius: 16px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
}

.public-event-winner-left {
  min-width: 0;
}

.public-event-winner-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(225, 6, 0, 0.18);
  color: #FFD9D8;
  border: 1px solid rgba(225, 6, 0, 0.35);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

.public-event-winner-name {
  margin: 0 0 6px;
  color: #FFFFFF;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.1;
}

.public-event-winner-meta {
  margin: 0;
  color: #D0D4DD;
  font-size: 0.92rem;
}

.public-event-winner-stats {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
}

.public-event-winner-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 84px;
  text-align: right;
}

.public-event-winner-stat .label {
  color: #9AA1AE;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
}

.public-event-winner-stat .value {
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.1;
}

@media (max-width: 800px) {
  .public-event-winner-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .public-event-winner-stat {
    text-align: left;
  }
}

.value--purple {
  color: #C9A7FF;
}

.public-event-fastest-lap-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(155, 81, 224, 0.18);
  color: #EAD9FF;
  border: 1px solid rgba(155, 81, 224, 0.35);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* =========================================
   Public Event Telemetry Results
========================================= */

.public-heat-card--telemetry {
  background: #ffffff;
  border: 1px solid #e7eaee;
  border-left: 6px solid #d0d3d7;
  border-radius: 14px;
  padding: 18px;
  margin-bottom: 16px;
}

.public-telemetry-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.public-telemetry-row {
  display: grid;
  grid-template-columns: 72px minmax(220px, 1.7fr) minmax(140px, 1fr) 100px 140px;
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid #e7eaee;
  border-left: 6px solid #d0d3d7;
  border-radius: 12px;
  background: #ffffff;
  transition: all 0.2s ease;
}

.public-telemetry-row:hover {
  transform: translateX(2px);
  background: #fafbfc;
}

.public-telemetry-row--winner {
  border-left-color: #21ba45;
  background: #f8fdf9;
}

.public-telemetry-row--fastest {
  border-left-color: #9B51E0;
}

.public-telemetry-pos-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  border-radius: 999px;
  background: #15151E;
  color: #ffffff;
  font-weight: 900;
  font-size: 1rem;
}

.public-telemetry-row--winner .public-telemetry-pos-badge {
  background: #21ba45;
}

.public-telemetry-rider-name {
  color: #15151E;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
}

.public-telemetry-rider-meta {
  color: #67676D;
  font-size: 0.82rem;
  margin-top: 4px;
}

.public-telemetry-metric {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.public-telemetry-metric--right {
  align-items: flex-start;
}

.public-telemetry-label {
  color: #67676D;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  font-weight: 800;
}

.public-telemetry-value {
  color: #15151E;
  font-family: monospace;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.1;
}

.public-telemetry-value--purple {
  color: #9B51E0;
}

.public-telemetry-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  border: 1px solid #d0d3d7;
  background: #f3f4f6;
  color: #67676D;
}

.public-telemetry-chip--purple {
  background: #F2E8FF;
  color: #9B51E0;
  border-color: #E0CCFF;
}

.public-telemetry-chip--finished {
  background: #E8F8EF;
  color: #198754;
  border-color: #CFEBDD;
}

.public-telemetry-chip--warning {
  background: #FFF4E5;
  color: #B26A00;
  border-color: #FFD8A8;
}

.public-telemetry-chip--neutral {
  background: #F3F4F6;
  color: #67676D;
  border-color: #D0D3D7;
}

.public-telemetry-chip--danger {
  background: rgba(239, 68, 68, 0.18);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.4);
}

@media (max-width: 980px) {
  .public-telemetry-row {
    grid-template-columns: 72px 1fr;
  }

  .public-telemetry-metric,
  .public-telemetry-metric--right {
    align-items: flex-start;
  }
}

/* =========================================
   Public Event Qualifying Telemetry
========================================= */

.public-qualifying-pole-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 16px;
  padding: 18px 20px;
  border-radius: 16px;
  background: linear-gradient(135deg, #15151E 0%, #1E1E2A 100%);
  border: 1px solid #2A2A36;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
}

.public-qualifying-pole-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(155, 81, 224, 0.18);
  color: #EAD9FF;
  border: 1px solid rgba(155, 81, 224, 0.35);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

.public-qualifying-pole-name {
  margin: 0 0 6px;
  color: #FFFFFF;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.1;
}

.public-qualifying-pole-meta {
  margin: 0;
  color: #D0D4DD;
  font-size: 0.9rem;
}

.public-qualifying-pole-right {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: right;
}

.public-qualifying-pole-label {
  color: #9AA1AE;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
}

.public-qualifying-pole-value {
  color: #FFFFFF;
  font-family: monospace;
  font-size: 1.15rem;
  font-weight: 900;
  line-height: 1.1;
}

@media (max-width: 800px) {
  .public-qualifying-pole-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .public-qualifying-pole-right {
    text-align: left;
  }
}

/* =========================================
   Public Event Entry Cards
========================================= */

.public-entry-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.public-entry-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid #e7eaee;
  border-left: 6px solid #d0d3d7;
  border-radius: 14px;
  background: #ffffff;
  transition: all 0.2s ease;
}

.public-entry-card:hover {
  transform: translateX(2px);
  background: #fafbfc;
}

.public-entry-card-left {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.public-entry-number-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  height: 52px;
  padding: 0 10px;
  border-radius: 12px;
  background: #15151E;
  color: #ffffff;
  font-weight: 900;
  font-size: 0.95rem;
  letter-spacing: 0.5px;
  flex-shrink: 0;
}

.public-entry-rider-block {
  min-width: 0;
}

.public-entry-rider-name {
  color: #15151E;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
}

.public-entry-rider-meta {
  color: #67676D;
  font-size: 0.82rem;
  margin-top: 4px;
  line-height: 1.4;
}

.public-entry-card-right {
  flex-shrink: 0;
}

.public-entry-status-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  border: 1px solid #d0d3d7;
  background: #f3f4f6;
  color: #67676D;
}

.public-entry-status-chip--active {
  background: #E8F8EF;
  color: #198754;
  border-color: #CFEBDD;
}

.public-entry-status-chip--pending {
  background: #FFF4E5;
  color: #B26A00;
  border-color: #FFD8A8;
}

.public-entry-status-chip--inactive {
  background: #FFF1EE;
  color: #E10600;
  border-color: #FFD2C9;
}

.public-entry-status-chip--neutral {
  background: #F3F4F6;
  color: #67676D;
  border-color: #D0D3D7;
}

@media (max-width: 700px) {
  .public-entry-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .public-entry-card-right {
    width: 100%;
  }
}

/* =========================================
   Admin Show Pages
========================================= */

.admin-show-hero-card,
.admin-show-info-card,
.admin-show-section-card {
  background: #ffffff;
  border: 1px solid #d0d3d7;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  padding: 22px 24px;
  margin-bottom: 22px;
}

.admin-show-hero-card {
  border-top: 4px solid #E10600;
}

.admin-show-hero-top,
.admin-show-section-header,
.admin-show-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}

.admin-show-kicker {
  color: #E10600;
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 900;
  margin: 0 0 8px;
}

.admin-show-title {
  color: #15151E;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.1;
  margin: 0 0 8px;
}

.admin-show-subtitle {
  color: #67676D;
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0;
}

.admin-show-section-title {
  color: #15151E;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.1;
  margin: 0;
}

.admin-show-stat-grid,
.admin-show-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 18px;
}

.admin-show-stat-card,
.admin-show-info-block {
  background: #fafbfc;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  padding: 14px 16px;
}

.admin-show-stat-label,
.admin-show-info-label {
  display: block;
  color: #67676D;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
  margin-bottom: 6px;
}

.admin-show-stat-value,
.admin-show-info-value {
  display: block;
  color: #15151E;
  font-size: 1.1rem;
  font-weight: 900;
  line-height: 1.2;
}

.admin-show-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.admin-show-row {
  border: 1px solid #e7eaee;
  border-left: 6px solid #d0d3d7;
  border-radius: 14px;
  padding: 16px;
  background: #ffffff;
  transition: all 0.2s ease;
}

.admin-show-row:hover {
  transform: translateX(2px);
  background: #fafbfc;
}

.admin-show-row-title {
  color: #15151E;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 4px;
}

.admin-show-row-meta {
  color: #67676D;
  font-size: 0.82rem;
  line-height: 1.4;
}

.admin-empty-state {
  color: #67676D;
  text-align: center;
  padding: 24px;
  border: 1px dashed #d0d3d7;
  border-radius: 12px;
  background: #fafbfc;
}

@media (max-width: 900px) {
  .admin-show-hero-top,
  .admin-show-section-header,
  .admin-show-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-show-stat-grid,
  .admin-show-info-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================
   Admin Meetings Index
========================================= */

.admin-meetings-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.admin-meeting-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  border: 1px solid #e7eaee;
  border-left: 6px solid #d0d3d7;
  border-radius: 14px;
  padding: 16px;
  background: #ffffff;
  transition: all 0.2s ease;
}

.admin-meeting-row:hover {
  transform: translateX(2px);
  background: #fafbfc;
}

.admin-meeting-main {
  min-width: 0;
  flex: 1;
}

.admin-meeting-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 12px;
}

.admin-meeting-title-block {
  min-width: 0;
}

.admin-meeting-title {
  color: #15151E;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 6px;
}

.admin-meeting-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: #67676D;
  font-size: 0.82rem;
  line-height: 1.5;
}

.admin-meeting-status-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.admin-meeting-phase-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  border: 1px solid #d0d3d7;
  background: #F3F4F6;
  color: #67676D;
}

.admin-meeting-stats {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.admin-meeting-stat {
  background: #fafbfc;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  padding: 10px 12px;
  min-width: 90px;
}

.admin-meeting-stat-label {
  display: block;
  color: #67676D;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  font-weight: 800;
  margin-bottom: 4px;
}

.admin-meeting-stat-value {
  display: block;
  color: #15151E;
  font-family: monospace;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.1;
}

.admin-meeting-stat-value--text {
  font-family: inherit;
  font-size: 0.9rem;
}

.admin-meeting-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

@media (max-width: 900px) {
  .admin-meeting-row,
  .admin-meeting-title-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-meeting-actions {
    width: 100%;
  }
}

.admin-show-notes {
  margin-top: 18px;
}

.admin-show-notes-body {
  margin-top: 8px;
  color: #15151E;
}

/* =========================================
   Public Meeting Page
========================================= */

.public-meeting-shell {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 24px 24px;
}

.public-meeting-hero-card {
  border-radius: 18px;
  margin-bottom: 22px;
}

.public-meeting-hero-card--premium {
  position: relative;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  border: 1px solid #2A2A36;
  border-top: 4px solid #E10600;
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}

.public-meeting-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(21, 21, 30, 0.88) 0%, rgba(30, 30, 42, 0.84) 100%);
  z-index: 1;
}

.public-meeting-hero-content {
  position: relative;
  z-index: 3;
  padding: 26px 28px;
}

.public-meeting-track-outline {
  position: absolute;
  right: 22px;
  top: 22px;
  z-index: 2;
  opacity: 0.12;
  pointer-events: none;
}

.public-meeting-track-outline-img {
  width: 220px;
  max-width: 34vw;
  filter: brightness(0) invert(1) contrast(1.1);
}

.public-meeting-track-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.public-meeting-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: #FFFFFF;
  border: 1px solid rgba(255,255,255,0.12);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.4px;
}

.meeting-headline-card {
  border: 1px solid #e7eaee;
  border-left: 6px solid #E10600;
  border-radius: 14px;
  padding: 20px;
  background: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%);
}

.meeting-headline-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
}

.meeting-headline-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: #FFF1EE;
  color: #E10600;
  border: 1px solid #FFD2C9;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.meeting-headline-series {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: #F3F4F6;
  color: #67676D;
  border: 1px solid #D0D3D7;
  font-size: 0.72rem;
  font-weight: 800;
}

.meeting-headline-title {
  color: #15151E;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.15;
  margin: 0 0 8px;
}

.meeting-headline-subtitle {
  color: #67676D;
  font-size: 0.92rem;
  margin: 0 0 6px;
}

.meeting-support-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.meeting-support-card {
  border: 1px solid #e7eaee;
  border-left: 6px solid #d0d3d7;
  border-radius: 14px;
  padding: 18px;
  background: #ffffff;
  transition: all 0.2s ease;
}

.meeting-support-card:hover {
  transform: translateX(2px);
  background: #fafbfc;
}

.meeting-support-series {
  color: #E10600;
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
}

.meeting-support-title {
  color: #15151E;
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1.2;
  margin: 0 0 8px;
}

.meeting-programme-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.meeting-programme-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  border: 1px solid #e7eaee;
  border-left: 6px solid #d0d3d7;
  border-radius: 14px;
  padding: 16px;
  background: #ffffff;
  transition: all 0.2s ease;
}

.meeting-programme-row:hover {
  transform: translateX(2px);
  background: #fafbfc;
}

.meeting-programme-title {
  color: #15151E;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
}

.meeting-programme-meta {
  color: #67676D;
  font-size: 0.82rem;
  margin-top: 4px;
  line-height: 1.4;
}

@media (max-width: 900px) {
  .public-meeting-track-outline {
    right: 14px;
    top: 14px;
  }

  .public-meeting-track-outline-img {
    width: 150px;
  }

  .meeting-support-grid {
    grid-template-columns: 1fr;
  }

  .meeting-programme-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .public-meeting-shell {
    padding: 16px;
  }
}

/* =========================================
   Meetings Calendar
========================================= */

.meeting-calendar-shell {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 24px 24px;
}

.meeting-calendar-hero-card {
  background: linear-gradient(135deg, #15151E 0%, #1E1E2A 100%);
  border: 1px solid #2A2A36;
  border-top: 4px solid #E10600;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
  padding: 26px 28px;
  margin-bottom: 22px;
}

.meeting-calendar-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.meeting-calendar-card {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  gap: 18px;
  align-items: center;
  border: 1px solid #e7eaee;
  border-left: 6px solid #E10600;
  border-radius: 16px;
  padding: 18px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(0,0,0,0.05);
  transition: all 0.2s ease;
}

.meeting-calendar-card:hover {
  transform: translateX(2px);
  background: #fafbfc;
}

.meeting-calendar-card--completed {
  border-left-color: #67676D;
}

.meeting-calendar-card-left {
  display: flex;
  justify-content: center;
}

.meeting-calendar-date-block {
  width: 88px;
  min-height: 108px;
  border-radius: 16px;
  background: #15151E;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.12);
}

.meeting-calendar-month {
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 800;
  opacity: 0.82;
}

.meeting-calendar-day {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
  margin: 6px 0;
}

.meeting-calendar-year {
  font-size: 0.78rem;
  font-weight: 700;
  opacity: 0.82;
}

.meeting-calendar-card-main {
  min-width: 0;
}

.meeting-calendar-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 8px;
}

.meeting-calendar-promoter {
  color: #E10600;
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.meeting-calendar-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  border-radius: 999px;
  background: #F3F4F6;
  color: #67676D;
  border: 1px solid #D0D3D7;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.meeting-status-completed {
  background: #E8F8EF;
  color: #198754;
  border-color: #CFEBDD;
}

.meeting-calendar-title {
  color: #15151E;
  font-size: 1.2rem;
  font-weight: 900;
  line-height: 1.15;
  margin: 0 0 8px;
}

.meeting-calendar-subtitle {
  color: #67676D;
  font-size: 0.92rem;
  margin: 0 0 10px;
}

.meeting-calendar-preview-block,
.meeting-calendar-results-block {
  margin-top: 6px;
}

.meeting-calendar-preview-heading,
.meeting-calendar-results-heading {
  color: #15151E;
  font-size: 0.82rem;
  font-weight: 800;
  margin-bottom: 10px;
}

.meeting-calendar-series-list,
.meeting-calendar-podium-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.meeting-calendar-series-pill,
.meeting-calendar-podium-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #F3F4F6;
  color: #15151E;
  border: 1px solid #D0D3D7;
  font-size: 0.76rem;
  font-weight: 800;
}

.meeting-calendar-podium-pos {
  color: #E10600;
  font-weight: 900;
}

.meeting-calendar-podium-name {
  color: #15151E;
  font-weight: 800;
}

.meeting-calendar-footnote {
  margin-top: 10px;
}

.meeting-calendar-card-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

@media (max-width: 900px) {
  .meeting-calendar-card {
    grid-template-columns: 1fr;
  }

  .meeting-calendar-card-left {
    justify-content: flex-start;
  }

  .meeting-calendar-card-right {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .meeting-calendar-shell {
    padding: 16px;
  }
}

/* =========================================
   Public Dashboard
========================================= */

.public-dashboard-shell {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 24px 32px;
}

.public-dashboard-hero-card,
.public-dashboard-topbar {
  background: linear-gradient(135deg, #15151E 0%, #1E1E2A 100%);
  border: 1px solid #2A2A36;
  border-top: 4px solid #E10600;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
  padding: 22px 26px;
  margin-bottom: 22px;
}

.public-dashboard-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}

.public-dashboard-brand-kicker {
  color: #E10600;
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 900;
  margin: 0 0 6px;
}

.public-dashboard-brand-title {
  color: #FFFFFF;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.1;
  margin: 0;
}

.public-dashboard-topbar-actions,
.public-dashboard-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.public-dashboard-topbar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 10px;
  background: rgba(255,255,255,0.08);
  color: #FFFFFF;
  border: 1px solid rgba(255,255,255,0.12);
  text-decoration: none;
  font-weight: 800;
}

.public-dashboard-topbar-btn--primary {
  background: #E10600;
  border-color: #E10600;
}

.public-dashboard-feature-card {
  position: relative;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  border: 1px solid #2A2A36;
  border-top: 4px solid #21ba45;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
  margin-bottom: 22px;
}

.public-dashboard-feature-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(21, 21, 30, 0.88) 0%, rgba(30, 30, 42, 0.84) 100%);
  z-index: 1;
}

.public-dashboard-feature-outline {
  position: absolute;
  right: 22px;
  top: 22px;
  z-index: 2;
  opacity: 0.12;
  pointer-events: none;
}

.public-dashboard-feature-outline-img {
  width: 220px;
  max-width: 34vw;
  filter: brightness(0) invert(1) contrast(1.1);
}

.public-dashboard-feature-content {
  position: relative;
  z-index: 3;
  padding: 26px 28px;
}

.public-dashboard-feature-head {
  margin-bottom: 18px;
}

.public-dashboard-feature-title {
  color: #FFFFFF;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.1;
  margin: 0 0 8px;
}

.public-dashboard-feature-meta {
  color: #D0D4DD;
  font-size: 0.95rem;
  margin: 0;
}

.public-dashboard-feature-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.public-dashboard-mini-card {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  padding: 16px;
  min-height: 110px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.public-dashboard-mini-label {
  color: #9AA1AE;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
  margin-bottom: 8px;
}

.public-dashboard-mini-value {
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
}

.public-dashboard-mini-sub {
  color: #D0D4DD;
  font-size: 0.82rem;
  margin-top: 6px;
}

.public-dashboard-feature-link {
  color: #FFFFFF;
  font-weight: 900;
  text-decoration: none;
}

.public-dashboard-standings-section {
  margin-bottom: 22px;
}

.public-dashboard-split-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.public-dashboard-panel {
  background: #ffffff;
  border: 1px solid #d0d3d7;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
  padding: 20px;
}

.public-dashboard-panel-header {
  margin-bottom: 14px;
}

.public-dashboard-standing-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.public-dashboard-standing-row {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  background: #ffffff;
}

.public-dashboard-standing-rank {
  color: #15151E;
  font-weight: 900;
}

.public-dashboard-standing-name {
  color: #15151E;
  font-weight: 800;
  min-width: 0;
}

.public-dashboard-standing-points {
  color: #15151E;
  font-family: monospace;
  font-weight: 900;
}

.public-next-race-card {
  border-radius: 18px;
}

.public-next-race-card--premium {
  position: relative;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  border: 1px solid #2A2A36;
  border-top: 4px solid #21ba45;
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
  min-height: 100%;
}

.public-next-race-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(21, 21, 30, 0.88) 0%, rgba(30, 30, 42, 0.84) 100%);
  z-index: 1;
}

.public-next-race-content {
  position: relative;
  z-index: 3;
  padding: 22px 24px;
}

.public-next-race-outline {
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 2;
  opacity: 0.12;
  pointer-events: none;
}

.public-next-race-outline-img {
  width: 180px;
  max-width: 34vw;
  filter: brightness(0) invert(1) contrast(1.1);
}

.public-section-title--light {
  color: #FFFFFF;
}

.public-next-race-title {
  color: #FFFFFF;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.15;
  margin: 0 0 8px;
}

.public-next-race-meta {
  color: #D0D4DD;
  font-size: 0.92rem;
  margin: 0;
}

.public-next-race-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.public-next-race-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: #FFFFFF;
  border: 1px solid rgba(255,255,255,0.12);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.4px;
}

.public-muted--light {
  color: #D0D4DD;
}

.public-featured-rider-copy {
  min-width: 0;
}

.public-featured-rider-title {
  margin: 0 0 10px;
}

.public-form-row--spaced {
  margin-top: 12px;
}

.public-dashboard-footer {
  margin-top: 28px;
  background: linear-gradient(135deg, #0f0f16 0%, #171721 100%);
  border: 1px solid #2A2A36;
  border-top: 3px solid #E10600;
  border-radius: 18px;
  padding: 22px 24px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.16);
}

.public-dashboard-footer-main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.public-dashboard-footer-brand {
  color: #FFFFFF;
  font-size: 1.15rem;
  font-weight: 900;
  margin-bottom: 6px;
}

.public-dashboard-footer-tagline {
  color: #B8BCC6;
  font-size: 0.88rem;
  line-height: 1.5;
}

.public-dashboard-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.public-dashboard-footer-link {
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 800;
}

.public-dashboard-footer-bottom {
  padding-top: 14px;
  color: #9AA1AE;
  font-size: 0.8rem;
}

@media (max-width: 900px) {
  .public-dashboard-topbar,
  .public-dashboard-footer-main {
    flex-direction: column;
    align-items: flex-start;
  }

  .public-dashboard-feature-outline,
  .public-next-race-outline {
    right: 14px;
    top: 14px;
  }

  .public-dashboard-feature-outline-img {
    width: 150px;
  }

  .public-next-race-outline-img {
    width: 140px;
  }

  .public-dashboard-feature-cards,
  .public-dashboard-split-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .public-dashboard-shell {
    padding: 16px;
  }
}

/* =========================================
   Meet The Grid
========================================= */

.public-grid-tabs {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.public-grid-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 10px;
  background: #E10600;
  color: #FFFFFF;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.public-grid-tab-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 10px;
  background: #F3F4F6;
  color: #15151E;
  border: 1px solid #D0D3D7;
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 800;
}

.public-grid-cards {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}

.public-grid-card {
  border: 1px solid #e7eaee;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(0,0,0,0.05);
  overflow: hidden;
  transition: all 0.2s ease;
}

.public-grid-card:hover {
  transform: translateY(-2px);
  background: #fafbfc;
}

.public-grid-card-avatar {
  height: 180px;
  background: linear-gradient(135deg, #15151E 0%, #1E1E2A 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.public-grid-card-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.public-grid-card-avatar-placeholder {
  width: 72px;
  height: 72px;
  border-radius: 16px;
  background: rgba(255,255,255,0.08);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,0.12);
}

.public-grid-card-body {
  padding: 16px;
}

.public-grid-card-name {
  margin: 0 0 6px;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 900;
}

.btn-black {
  background: #111827;
  color: #ffffff;
  border: 1px solid #111827;
  font-weight: 800;
}

.btn-black:hover {
  background: #000000;
  border-color: #000000;
}

.public-grid-card-name a {
  color: #15151E;
  text-decoration: none;
}

.public-grid-card-name a:hover {
  color: #E10600;
}

.public-grid-card-meta {
  margin: 0 0 12px;
  color: #67676D;
  font-size: 0.82rem;
  line-height: 1.4;
}

.public-grid-card-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 14px;
}

.public-grid-card-stat {
  background: #fafbfc;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  padding: 10px 12px;
}

.public-grid-card-stat .label {
  display: block;
  color: #67676D;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  font-weight: 800;
  margin-bottom: 4px;
}

.public-grid-card-stat .value {
  display: block;
  color: #15151E;
  font-family: monospace;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.1;
}

.public-grid-card-actions {
  display: flex;
}

.public-grid-card-actions .btn {
  width: 100%;
  justify-content: center;
}

@media (max-width: 1100px) {
  .public-grid-cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 800px) {
  .public-grid-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 540px) {
  .public-grid-cards {
    grid-template-columns: 1fr;
  }
}

/* =========================================
   Live Streaming Bar
========================================= */

.public-live-stream-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin: -4px 0 22px;
  padding: 16px 20px;
  border-radius: 16px;
  background: linear-gradient(135deg, #2A0C0C 0%, #431111 100%);
  border: 1px solid rgba(225, 6, 0, 0.35);
  box-shadow: 0 10px 24px rgba(0,0,0,0.12);
}

.public-live-stream-bar-left {
  display: flex;
  align-items: center;
  gap: 14px;
}

.public-live-stream-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #E10600;
  box-shadow: 0 0 0 0 rgba(225, 6, 0, 0.65);
  animation: public-live-pulse 1.8s infinite;
  flex-shrink: 0;
}

.public-live-stream-title {
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.public-live-stream-subtitle {
  color: #FFD7D7;
  font-size: 0.88rem;
  margin-top: 4px;
  line-height: 1.4;
}

@keyframes public-live-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(225, 6, 0, 0.55);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(225, 6, 0, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(225, 6, 0, 0);
  }
}

@media (max-width: 700px) {
  .public-live-stream-bar {
    flex-direction: column;
    align-items: flex-start;
  }

  .public-live-stream-bar-right {
    width: 100%;
  }

  .public-live-stream-bar-right .btn {
    width: 100%;
    justify-content: center;
  }
}

.admin-show-hero-brand {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.admin-show-brand-logo {
  max-width: 260px;
  max-height: 180px;
  object-fit: contain;
  border-radius: 10px;
  background: #fff;
  padding: 3px;
}

.season-sponsor-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.season-sponsor-card {
  border: 1px solid #e7eaee;
  border-radius: 14px;
  padding: 16px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(0,0,0,0.05);
}

.season-sponsor-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
  margin-bottom: 12px;
  background: #fafbfc;
  border: 1px solid #e7eaee;
  border-radius: 12px;
}

.season-sponsor-logo {
  max-width: 100%;
  max-height: 70px;
  object-fit: contain;
}

.season-sponsor-logo-placeholder {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: #15151E;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
}

.season-sponsor-name {
  color: #15151E;
  font-size: 1rem;
  font-weight: 900;
  margin-bottom: 6px;
}

.season-sponsor-meta {
  color: #67676D;
  font-size: 0.82rem;
  line-height: 1.4;
}

@media (max-width: 900px) {
  .season-sponsor-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .season-sponsor-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================
   Public Dashboard Sponsors
========================================= */

.public-sponsor-strip-card {
  background: #ffffff;
  border: 1px solid #d0d3d7;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
  padding: 18px 20px;
  margin-bottom: 22px;
}

.public-sponsor-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.public-sponsor-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  min-height: 72px;
  padding: 10px 14px;
  border-radius: 14px;
  background: #fafbfc;
  border: 1px solid #e7eaee;
}

.public-sponsor-pill-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-decoration: none;
}

.public-sponsor-pill-logo {
  max-width: 120px;
  max-height: 48px;
  object-fit: contain;
  display: block;
}

.public-sponsor-pill-text {
  color: #15151E;
  font-size: 0.84rem;
  font-weight: 800;
  text-align: center;
}

.public-dashboard-footer-sponsors {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.public-dashboard-footer-sponsor {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 90px;
  min-height: 44px;
  padding: 6px 10px;
  border-radius: 10px;
  background: #fff;
  border: 0px solid rgba(255,255,255,0.08);
  color: #ffffff;
}

.public-dashboard-footer-sponsor-logo {
  max-width: 90px;
  max-height: 28px;
  object-fit: contain;
  filter: brightness(1.02);
}

/* =========================================
   Public Standings Branding
========================================= */

.public-standings-brand-strip {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 16px;
}

.public-standings-brand-label {
  display: block;
  color: #9AA1AE;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
  margin-bottom: 8px;
}

.public-standings-promoter-brand {
  display: flex;
  flex-direction: column;
}

.public-standings-promoter-logo {
  max-width: 180px;
  max-height: 64px;
  object-fit: contain;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
  padding: 8px 10px;
}

.public-standings-sponsor-group {
  display: flex;
  flex-direction: column;
}

.public-standings-sponsor-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.public-standings-sponsor-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  min-height: 58px;
  padding: 8px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
}

.public-standings-sponsor-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-decoration: none;
}

.public-standings-sponsor-logo {
  max-width: 110px;
  max-height: 34px;
  object-fit: contain;
  display: block;
}

.public-standings-sponsor-text {
  color: #FFFFFF;
  font-size: 0.8rem;
  font-weight: 800;
  text-align: center;
}

/* =========================================
   F1 Public Standings
========================================= */

.f1-standings-shell {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 24px 24px;
}

.f1-standings-brand-strip {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 16px;
}

.f1-standings-brand-label {
  display: block;
  color: #9AA1AE;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
  margin-bottom: 8px;
}

.f1-standings-promoter-brand {
  display: flex;
  flex-direction: column;
}

.f1-standings-promoter-logo {
  max-width: 180px;
  max-height: 64px;
  object-fit: contain;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
  padding: 8px 10px;
}

.f1-standings-sponsor-group {
  display: flex;
  flex-direction: column;
}

.f1-standings-sponsor-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.f1-standings-sponsor-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  min-height: 58px;
  padding: 8px 12px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.14);
}

.f1-standings-sponsor-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-decoration: none;
}

.f1-standings-sponsor-logo {
  max-width: 110px;
  max-height: 34px;
  object-fit: contain;
  display: block;
}

.f1-standings-sponsor-text {
  color: #15151E;
  font-size: 0.8rem;
  font-weight: 800;
  text-align: center;
}

.f1-hero-card .f1-standings-sponsor-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  min-height: 58px;
  padding: 8px 12px;
  border-radius: 12px;
  background: #ffffff !important;
  border: 1px solid rgba(17, 24, 39, 0.08) !important;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.16) !important;
}

.f1-hero-card .f1-standings-sponsor-logo {
  max-width: 110px;
  max-height: 34px;
  object-fit: contain;
  display: block;
}

.f1-hero-card .f1-standings-sponsor-text {
  color: #15151E !important;
  font-size: 0.8rem;
  font-weight: 800;
  text-align: center;
}

/* =========================================
   F1 Leaderboard
========================================= */

.f1-leaderboard-shell {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 24px 24px;
}

.f1-leaderboard-podium-section {
  margin-bottom: 22px;
}

.f1-leaderboard-podium-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items: stretch;
}

.f1-leaderboard-podium-card {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  padding: 22px;
  background: linear-gradient(135deg, #15151E 0%, #1E1E2A 100%);
  border: 1px solid #2A2A36;
  box-shadow: 0 10px 28px rgba(0,0,0,0.16);
}

.f1-leaderboard-podium-card.rank-1 {
  border-top: 4px solid #22c55e;
}

.f1-leaderboard-podium-card.rank-2 {
  border-top: 4px solid #9B51E0;
}

.f1-leaderboard-podium-card.rank-3 {
  border-top: 4px solid #E10600;
}

.f1-leaderboard-rank-watermark {
  position: absolute;
  top: 12px;
  right: 16px;
  font-size: 3rem;
  font-weight: 900;
  color: rgba(255,255,255,0.06);
  line-height: 1;
}

.f1-leaderboard-rider-photo {
  width: 110px;
  height: 110px;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.f1-leaderboard-rider-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.f1-leaderboard-rider-photo-placeholder {
  color: #FFFFFF;
  font-size: 2rem;
  font-weight: 900;
}

.f1-leaderboard-number-points {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.f1-leaderboard-number-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: #15151E;
  color: #FFFFFF;
  border: 1px solid #15151E;
  font-size: 0.84rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.2px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

.f1-leaderboard-number-badge.small {
  min-width: 58px;
  min-height: 32px;
  font-size: 0.82rem;
  padding: 0 12px;
}

.f1-leaderboard-points {
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: 900;
  font-family: monospace;
}

.f1-leaderboard-points small {
  font-size: 0.72rem;
  color: #9AA1AE;
}

.f1-leaderboard-rider-name {
  margin-bottom: 8px;
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1.2;
}

.f1-leaderboard-rider-link {
  color: inherit;
  text-decoration: none;
}

.f1-leaderboard-rider-link:hover {
  text-decoration: underline;
}

.f1-leaderboard-podium-card .f1-leaderboard-rider-link {
  color: #FFFFFF;
}

.f1-leaderboard-machine {
  color: #D0D4DD;
  font-size: 0.9rem;
  margin-bottom: 6px;
}

.f1-leaderboard-class {
  color: #9AA1AE;
  font-size: 0.82rem;
  margin-bottom: 12px;
}

.f1-leaderboard-podium-meta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  color: #D0D4DD;
  font-size: 0.8rem;
}

.f1-leaderboard-list-section {
  background: #ffffff;
  border: 1px solid #d0d3d7;
  border-top: 4px solid #15151E;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
  padding: 20px;
}

.f1-leaderboard-head {
  display: grid;
  grid-template-columns: 60px 80px 1.8fr 1.2fr 150px;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  margin-bottom: 10px;
  border-radius: 12px;
  background: #15151E;
  color: #FFFFFF;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
}

.f1-leaderboard-list-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.f1-leaderboard-list-row {
  display: grid;
  grid-template-columns: 60px 80px 1.8fr 1.2fr 150px;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  transition: 0.2s ease;
}

.f1-leaderboard-list-row:hover {
  background: #f9fafb;
}

.f1lb-rank-badge {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #111827;
  color: #FFFFFF;
  font-weight: 900;
}

.f1lb-rider-name {
  font-weight: 900;
  line-height: 1.2;
}

.f1lb-rider-sub {
  margin-top: 3px;
  font-size: 0.76rem;
  color: #6b7280;
}

.f1lb-machine {
  color: #111827;
  font-weight: 700;
}

.f1lb-points-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.f1lb-points-value {
  font-family: monospace;
  font-weight: 900;
  color: #111827;
}

.f1lb-points-value small {
  color: #6b7280;
  font-size: 0.72rem;
}

.f1lb-telemetry-bar {
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: #e5e7eb;
  overflow: hidden;
}

.f1lb-telemetry-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #E10600 0%, #9B51E0 100%);
}

.f1lb-mobile-meta {
  display: none;
}

@media (max-width: 1000px) {
  .f1-leaderboard-podium-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .f1-leaderboard-head {
    display: none;
  }

  .f1-leaderboard-list-row {
    grid-template-columns: 56px 80px 1fr 120px;
    grid-template-areas:
      "rank number rider points"
      "mobile mobile mobile mobile";
    align-items: start;
  }

  .f1lb-rank { grid-area: rank; }
  .f1lb-number { grid-area: number; }
  .f1lb-rider { grid-area: rider; }
  .f1lb-points { grid-area: points; }
  .f1lb-machine { display: none; }

  .f1lb-mobile-meta {
    display: grid;
    grid-area: mobile;
    grid-template-columns: 1fr 1fr;
    gap: 10px 14px;
    padding-top: 10px;
    margin-top: 4px;
    border-top: 1px solid #eceff3;
  }

  .f1lb-mobile-meta div {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .f1lb-mobile-meta span {
    font-size: 0.68rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    font-weight: 800;
  }

  .f1lb-mobile-meta strong {
    color: #111827;
    font-size: 0.84rem;
    font-weight: 900;
  }
}

@media (max-width: 640px) {
  .f1-leaderboard-shell {
    padding: 16px;
  }

  .f1-leaderboard-list-section {
    padding: 16px;
  }

  .f1-leaderboard-podium-card {
    padding: 18px;
  }

  .f1-leaderboard-rider-photo {
    width: 90px;
    height: 90px;
  }
}



.f1-standings-card {
  background: #ffffff;
  border: 1px solid #d0d3d7;
  border-top: 4px solid #15151E;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  padding: 22px 24px;
  margin-bottom: 22px;
}

.f1-standings-header {
  margin-bottom: 16px;
}

.f1-standings-table-wrap {
  overflow-x: auto;
}

.f1-standings-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #ffffff;
}

.f1-standings-table thead th {
  padding: 12px 14px;
  border-bottom: 1px solid #d0d3d7;
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
  color: #67676D;
}

.f1-standings-row td {
  padding: 14px;
  border-bottom: 1px solid #eceff3;
  vertical-align: middle;
}

.f1-standings-row:hover {
  background: #f8f9fb;
}

.f1-standings-row--leader {
  background: #f8fdf9;
}

.f1-standings-rank-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  border-radius: 999px;
  background: #15151E;
  color: #ffffff;
  font-weight: 900;
  font-size: 0.9rem;
}

.f1-standings-row--leader .f1-standings-rank-badge {
  background: #21ba45;
}

.f1-standings-rider-main {
  color: #15151E;
  font-size: 0.95rem;
  font-weight: 900;
  line-height: 1.2;
}

.f1-standings-rider-sub {
  color: #67676D;
  font-size: 0.78rem;
  margin-top: 4px;
}

.f1-standings-points {
  font-family: monospace;
  font-size: 1rem;
  font-weight: 900;
  color: #15151E;
}

@media (max-width: 640px) {
  .f1-standings-shell {
    padding: 16px;
  }

  .f1-standings-table thead th,
  .f1-standings-row td {
    padding: 10px;
  }
}

/* =========================================
   F1 Public Standings
========================================= */

.f1-standings-shell {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 24px 24px;
}

.f1-standings-brand-strip {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 16px;
}

.f1-standings-brand-label {
  display: block;
  color: #9AA1AE;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
  margin-bottom: 8px;
}

.f1-standings-promoter-brand {
  display: flex;
  flex-direction: column;
}

.f1-standings-promoter-logo {
  max-width: 180px;
  max-height: 64px;
  object-fit: contain;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
  padding: 8px 10px;
}

.f1-standings-sponsor-group {
  display: flex;
  flex-direction: column;
}

.f1-standings-sponsor-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.f1-standings-sponsor-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  min-height: 58px;
  padding: 8px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
}

.f1-standings-sponsor-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-decoration: none;
}

.f1-standings-sponsor-logo {
  max-width: 110px;
  max-height: 34px;
  object-fit: contain;
  display: block;
}

.f1-standings-sponsor-text {
  color: #FFFFFF;
  font-size: 0.8rem;
  font-weight: 800;
  text-align: center;
}

.f1-standings-card {
  background: #ffffff;
  border: 1px solid #d0d3d7;
  border-top: 4px solid #15151E;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  padding: 22px 24px;
  margin-bottom: 22px;
}

.f1-standings-header {
  margin-bottom: 16px;
}

.f1s-head {
  display: grid;
  grid-template-columns: 58px 58px 1.8fr 1fr 120px 88px 70px 90px 70px;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  margin-bottom: 10px;
  border-radius: 12px;
  background: #15151E;
  color: #FFFFFF;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
}

.f1s-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.f1s-row {
  display: grid;
  grid-template-columns: 58px 58px 1.8fr 1fr 120px 88px 70px 90px 70px;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  transition: 0.2s ease;
}

.f1s-row:hover {
  background: #f9fafb;
}

.f1s-row.is-leader {
  background: #f8fdf9;
  border-color: #22c55e;
  box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.08);
}

.f1s-pos-badge {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  background: #111827;
  color: white;
}

.f1s-row.is-leader .f1s-pos-badge {
  background: #22c55e;
}

.f1s-move,
.f1s-gap,
.f1s-stat {
  font-family: monospace;
  color: #374151;
  font-weight: 800;
}

.f1s-move-value {
  font-weight: 900;
}

.f1s-rider-block {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.f1s-avatar {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  overflow: hidden;
  flex-shrink: 0;
  background: linear-gradient(135deg, #15151E 0%, #1E1E2A 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.f1s-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.f1s-avatar-placeholder {
  width: 100%;
  height: 100%;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 1rem;
}

.f1s-rider-copy {
  min-width: 0;
}

.f1s-rider-name {
  font-weight: 900;
  color: #111827;
  line-height: 1.2;
}

.f1s-rider-sub {
  font-size: 0.75rem;
  color: #6b7280;
  margin-top: 3px;
}

.f1s-class {
  color: #111827;
  font-weight: 700;
}

.f1s-points-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.f1s-points-value {
  font-weight: 900;
  font-family: monospace;
  color: #111827;
  line-height: 1;
}

.f1s-telemetry-bar {
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: #e5e7eb;
  overflow: hidden;
}

.f1s-telemetry-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #E10600 0%, #9B51E0 100%);
}

.f1s-telemetry-fill.is-leader {
  background: linear-gradient(90deg, #22c55e 0%, #16a34a 100%);
}

.f1s-mobile-meta {
  display: none;
}

.f1s-empty {
  padding: 24px;
  text-align: center;
  color: #67676D;
  border: 1px dashed #d0d3d7;
  border-radius: 14px;
  background: #fafbfc;
}

@media (max-width: 1100px) {
  .f1s-head,
  .f1s-row {
    grid-template-columns: 54px 54px 1.7fr 1fr 110px 84px 64px 84px 64px;
    gap: 10px;
  }
}

@media (max-width: 900px) {
  .f1s-head {
    display: none;
  }

  .f1s-row {
    grid-template-columns: 52px 44px 1fr 96px;
    grid-template-areas:
      "pos move rider points"
      "mobile mobile mobile mobile";
    align-items: start;
    gap: 12px;
  }

  .f1s-pos { grid-area: pos; }
  .f1s-move { grid-area: move; padding-top: 10px; }
  .f1s-rider { grid-area: rider; }
  .f1s-points { grid-area: points; padding-top: 4px; }

  .f1s-class,
  .f1s-gap,
  .f1s-stat {
    display: none;
  }

  .f1s-mobile-meta {
    display: block;
    grid-area: mobile;
    margin-top: 2px;
    padding-top: 10px;
    border-top: 1px solid #eceff3;
  }

  .f1s-mobile-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 14px;
  }

  .f1s-mobile-grid div {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .f1s-mobile-grid span {
    font-size: 0.68rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    font-weight: 800;
  }

  .f1s-mobile-grid strong {
    color: #111827;
    font-size: 0.84rem;
    font-weight: 900;
  }
}

@media (max-width: 640px) {
  .f1-standings-shell {
    padding: 16px;
  }

  .f1-standings-card {
    padding: 18px 16px;
  }

  .f1s-row {
    padding: 12px;
  }

  .f1s-avatar {
    width: 46px;
    height: 46px;
  }
}

.share-card {
  width: 900px;
  background: linear-gradient(135deg, #15151E, #1E1E2A);
  color: white;
  padding: 28px;
  font-family: system-ui;
}

.share-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.share-header-left {
  display: flex;
  gap: 16px;
  align-items: center;
}

.share-promoter-logo {
  height: 50px;
  object-fit: contain;
}

.share-title {
  font-size: 1.4rem;
  font-weight: 900;
}

.share-subtitle {
  font-size: 0.85rem;
  color: #cbd5e1;
}

.share-table {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.share-row {
  display: grid;
  grid-template-columns: 60px 1fr 160px 80px;
  padding: 10px 12px;
  background: rgba(255,255,255,0.04);
  border-radius: 8px;
}

.share-rank {
  font-weight: 900;
}

.share-rider {
  font-weight: 700;
}

.share-machine {
  font-size: 0.8rem;
  color: #cbd5e1;
}

.share-points {
  text-align: right;
  font-weight: 900;
}

.share-sponsors {
  margin-top: 20px;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
}

.share-sponsor-logo {
  height: 30px;
  object-fit: contain;
  filter: brightness(1.1);
}

.share-footer {
  margin-top: 20px;
  font-size: 0.7rem;
  color: #9ca3af;
}

.public-event-media-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.public-event-media-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 900;
  color: #c9ced8;
}

.public-event-media-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.public-event-media-btn {
  min-width: 220px;
  padding: 14px 16px;
  border-radius: 16px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 1px solid transparent;
  transition: all 0.2s ease;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.public-event-media-btn span {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.public-event-media-btn strong {
  font-size: 0.92rem;
  font-weight: 900;
}

.public-event-media-btn small {
  font-size: 0.74rem;
  opacity: 0.82;
  margin-top: 4px;
}

.public-event-media-btn-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 900;
  flex-shrink: 0;
}

.public-event-media-btn--primary {
  background: linear-gradient(135deg, #f5b301 0%, #e39a00 100%);
  color: #15151e;
  border-color: rgba(255, 255, 255, 0.08);
}

.public-event-media-btn--primary .public-event-media-btn-icon {
  background: rgba(255, 255, 255, 0.34);
  color: #15151e;
}

.public-event-media-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
}

.public-event-media-btn--secondary {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.12);
}

.public-event-media-btn--secondary .public-event-media-btn-icon {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.public-event-media-btn--secondary:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.12);
}

@media (max-width: 900px) {
  .public-event-media-actions {
    align-items: stretch;
  }

  .public-event-media-buttons {
    justify-content: stretch;
  }

  .public-event-media-btn {
    width: 100%;
    min-width: 0;
  }
}

.public-event-media-note {
  margin: 0;
  font-size: 0.72rem;
  color: #c9ced8;
  text-align: right;
}

/* =========================================
   Public Rider Profile
========================================= */

:root {
  --rp-bg: #0f1117;
  --rp-surface: #141822;
  --rp-card: #171b26;
  --rp-card-2: #1c2130;
  --rp-border: rgba(255, 255, 255, 0.08);
  --rp-border-strong: rgba(255, 255, 255, 0.14);
  --rp-text: #f3f5f7;
  --rp-muted: #aab2bf;
  --rp-dim: #7f8898;
  --rp-accent: #e10600;
  --rp-accent-2: #ff5a36;
  --rp-green: #1fc26b;
  --rp-green-soft: rgba(31, 194, 107, 0.14);
  --rp-shadow: 0 14px 32px rgba(0, 0, 0, 0.22);
}

.rp-shell {
  background: linear-gradient(180deg, #0f1117 0%, #121722 100%);
  min-height: 100vh;
  color: var(--rp-text);
  padding-bottom: 40px;
}

/* HERO */

.rp-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(225, 6, 0, 0.12), transparent 28%),
    linear-gradient(135deg, #131720 0%, #1a2030 100%);
  border-bottom: 1px solid var(--rp-border);
  padding: 34px 28px;
}

.rp-hero::after {
  content: "";
  position: absolute;
  inset: auto -80px -70px auto;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(255, 90, 54, 0.07), transparent 65%);
  pointer-events: none;
}

.rp-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 24px;
  position: relative;
  z-index: 1;
}

.rp-avatar {
  width: 92px;
  height: 92px;
  border-radius: 18px;
  overflow: hidden;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--rp-accent) 0%, var(--rp-accent-2) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 900;
  font-size: 1.55rem;
  box-shadow: var(--rp-shadow);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.rp-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rp-identity {
  min-width: 0;
  flex: 1;
}

.rp-eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--rp-accent-2);
}

.rp-name {
  margin: 0;
  font-size: 2rem;
  line-height: 1.02;
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.03em;
}

.rp-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.rp-badge,
.rp-badge-number {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--rp-text);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  backdrop-filter: blur(8px);
}

.rp-badge-number {
  background: linear-gradient(135deg, var(--rp-accent) 0%, var(--rp-accent-2) 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 8px 20px rgba(225, 6, 0, 0.24);
}

.rp-active {
  background: var(--rp-green-soft);
  border-color: rgba(31, 194, 107, 0.28);
  color: #8cf0bc;
}

.rp-actions {
  margin-left: auto;
  flex-shrink: 0;
}

.rp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 12px;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(135deg, var(--rp-accent) 0%, var(--rp-accent-2) 100%);
  font-size: 0.86rem;
  font-weight: 800;
  border: 1px solid transparent;
  box-shadow: 0 10px 24px rgba(225, 6, 0, 0.22);
  transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.rp-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 30px rgba(225, 6, 0, 0.28);
}

/* STATS */

.rp-stats {
  max-width: 1200px;
  margin: 18px auto 0;
  padding: 0 28px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.rp-stat {
  background: linear-gradient(180deg, var(--rp-card) 0%, var(--rp-card-2) 100%);
  border: 1px solid var(--rp-border);
  border-radius: 14px;
  padding: 16px 14px;
  text-align: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14);
}

.rp-stat span {
  display: block;
  margin-bottom: 7px;
  font-size: 0.7rem;
  line-height: 1;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--rp-dim);
}

.rp-stat strong {
  display: block;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

/* BODY GRID */

.rp-grid {
  max-width: 1200px;
  margin: 18px auto 0;
  padding: 0 28px;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
  gap: 18px;
  align-items: start;
}

.rp-main,
.rp-side {
  min-width: 0;
}

/* CARDS */

.rp-card {
  background: linear-gradient(180deg, var(--rp-card) 0%, var(--rp-card-2) 100%);
  border: 1px solid var(--rp-border);
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
}

.rp-main .rp-card + .rp-card,
.rp-side .rp-card + .rp-card {
  margin-top: 16px;
}

.rp-card h3 {
  margin: 0 0 14px;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 10px;
}

.rp-card h3::before {
  content: "";
  width: 4px;
  height: 14px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--rp-accent) 0%, var(--rp-accent-2) 100%);
  display: block;
  flex-shrink: 0;
}

/* ROWS */

.rp-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.rp-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.rp-row:first-of-type {
  padding-top: 0;
}

.rp-row strong {
  display: block;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.18;
}

.rp-row small {
  display: block;
  margin-top: 4px;
  color: var(--rp-dim);
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1.2;
}

/* META */

.rp-meta {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.rp-meta:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.rp-meta:first-of-type {
  padding-top: 0;
}

.rp-meta span {
  color: var(--rp-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.rp-meta strong {
  color: #fff;
  font-size: 0.82rem;
  font-weight: 800;
  text-align: right;
}

/* OPTIONAL VISUAL IMPROVEMENTS FOR STANDOUT VALUES */

.rp-card .rp-row > div:last-child strong,
.rp-card .rp-meta strong {
  white-space: nowrap;
}

/* EMPTY STATES */

.rp-row span {
  color: var(--rp-muted);
  font-size: 0.84rem;
  font-weight: 600;
}

/* RESPONSIVE */

@media (max-width: 980px) {
  .rp-grid {
    grid-template-columns: 1fr;
  }

  .rp-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .rp-hero {
    padding: 24px 16px;
  }

  .rp-hero-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .rp-actions {
    margin-left: 0;
    width: 100%;
  }

  .rp-btn {
    width: 100%;
  }

  .rp-stats,
  .rp-grid {
    padding-left: 16px;
    padding-right: 16px;
  }

  .rp-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rp-name {
    font-size: 1.65rem;
  }

  .rp-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .rp-row > div:last-child,
  .rp-row > div:nth-child(2) {
    justify-self: start;
  }

  .rp-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .rp-meta strong {
    text-align: left;
  }
}

@media (max-width: 480px) {
  .rp-avatar {
    width: 78px;
    height: 78px;
    font-size: 1.3rem;
  }

  .rp-badges {
    gap: 6px;
  }

  .rp-badge,
  .rp-badge-number {
    font-size: 0.72rem;
    padding: 0 10px;
    min-height: 32px;
  }

  .rp-stat strong {
    font-size: 1.15rem;
  }

  .rp-card {
    padding: 16px;
  }
}

/* =========================================
   Points Chart (Telemetry Style)
========================================= */

.rp-chart {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  height: 120px;
  margin-top: 12px;
}

.rp-chart-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}

.rp-chart-value {
  font-size: 0.65rem;
  color: var(--rp-muted);
  margin-bottom: 4px;
  font-weight: 700;
}

.rp-chart-bar-wrap {
  width: 100%;
  height: 80px;
  display: flex;
  align-items: flex-end;
}

.rp-chart-bar {
  width: 100%;
  border-radius: 4px 4px 0 0;
  background: linear-gradient(
    180deg,
    rgba(225, 6, 0, 0.9),
    rgba(225, 6, 0, 0.4)
  );
  transition: all 0.3s ease;
}

.rp-chart-bar.best {
  background: linear-gradient(
    180deg,
    #ffb800,
    rgba(255, 184, 0, 0.4)
  );
}

.rp-chart-label {
  margin-top: 6px;
  font-size: 0.6rem;
  color: var(--rp-dim);
  font-weight: 700;
}

/* =========================================
   Rider Form Indicator
========================================= */

.rp-form-strip {
  max-width: 1200px;
  margin: 14px auto 0;
  padding: 0 28px;
}

.rp-form-strip-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.rp-form-label {
  color: #fff;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.rp-form-subtitle {
  color: var(--rp-dim);
  font-size: 0.74rem;
  font-weight: 700;
}

.rp-form-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.rp-form-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1;
}

.rp-form-pill.is-win {
  background: rgba(31,194,107,0.18);
  border-color: rgba(31,194,107,0.35);
  color: #8cf0bc;
}

.rp-form-pill.is-podium {
  background: rgba(255,184,0,0.16);
  border-color: rgba(255,184,0,0.32);
  color: #ffd66b;
}

.rp-form-pill.is-finish {
  background: rgba(255,255,255,0.08);
  color: #fff;
}

.rp-form-pill.is-bad {
  background: rgba(225,6,0,0.16);
  border-color: rgba(225,6,0,0.3);
  color: #ff8c8c;
}

@media (max-width: 760px) {
  .rp-form-strip {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.rp-stat-sub {
  display: block;
  margin-top: 6px;
  font-size: 0.68rem;
  color: var(--rp-dim);
  font-weight: 700;
  line-height: 1.2;
}

.rp-form-card-head {
  margin-bottom: 10px;
}

.rp-form-card-head span {
  color: var(--rp-dim);
  font-size: 0.74rem;
  font-weight: 700;
}

.rp-form-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.rp-form-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1;
}

.rp-form-pill.is-win {
  background: rgba(31,194,107,0.18);
  border-color: rgba(31,194,107,0.35);
  color: #8cf0bc;
}

.rp-form-pill.is-podium {
  background: rgba(255,184,0,0.16);
  border-color: rgba(255,184,0,0.32);
  color: #ffd66b;
}

.rp-form-pill.is-finish {
  background: rgba(255,255,255,0.08);
  color: #fff;
}

.rp-form-pill.is-bad {
  background: rgba(225,6,0,0.16);
  border-color: rgba(225,6,0,0.3);
  color: #ff8c8c;
}

.pole-card {
  border-radius: 24px;
  padding: 32px;
  background: linear-gradient(180deg, #0b1020 0%, #111827 100%);
  color: #fff;
  max-width: 720px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.25);
}

.pole-card__eyebrow {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.8;
  margin-bottom: 12px;
}

.pole-card__title {
  font-size: 42px;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 24px;
}

.pole-card__driver {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 8px;
}

.pole-card__meta {
  font-size: 18px;
  opacity: 0.9;
  margin-bottom: 28px;
}

.pole-card__time {
  font-size: 72px;
  font-weight: 900;
  line-height: 1;
}

.pole-card__time-label {
  margin-top: 8px;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.75;
}

.pole-card__footer {
  margin-top: 32px;
  font-size: 16px;
  opacity: 0.85;
}

.public-section-actions--compact {
  display: flex;
  align-items: center;
  gap: 16px;
}

.public-link-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 0;
  font-size: 13px;
  font-weight: 800;
  color: #111827;
  text-decoration: none;
  letter-spacing: 0.01em;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
}

.public-link-action:hover {
  color: #E10600;
  border-bottom-color: #E10600;
}

.public-link-action--muted {
  color: #6b7280;
  font-weight: 700;
}

.public-link-action--muted:hover {
  color: #111827;
  border-bottom-color: #9ca3af;
}

/* =========================================
   Promoter Dashboard
========================================= */

.promoter-dashboard-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px 24px 30px;
}

.promoter-dashboard-hero {
  background: linear-gradient(135deg, #15151e 0%, #1f2330 100%);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 4px solid #e10600;
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(0,0,0,0.16);
  padding: 24px 26px;
  margin-bottom: 22px;
}

.promoter-dashboard-hero-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 18px;
}

.promoter-dashboard-kicker {
  color: #ff5a36;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  margin: 0 0 8px;
}

.promoter-dashboard-title {
  color: #fff;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
  margin: 0 0 10px;
}

.promoter-dashboard-subtitle {
  color: #c6ced9;
  margin: 0;
  font-size: 0.95rem;
  max-width: 760px;
}

.promoter-dashboard-stat-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.promoter-dashboard-stat-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 14px 16px;
}

.promoter-dashboard-stat-label {
  display: block;
  color: #9ca3af;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.promoter-dashboard-stat-value {
  display: block;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1;
}

.promoter-dashboard-stat-value--small {
  font-size: 0.95rem;
  line-height: 1.2;
}

.promoter-dashboard-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 18px;
  margin-bottom: 18px;
}

.promoter-dashboard-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.promoter-dashboard-category-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 16px;
}

.promoter-dashboard-category-title {
  color: #fff;
  font-size: 0.88rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.promoter-dashboard-category-total {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1;
}

.promoter-dashboard-category-sub {
  color: #9ca3af;
  font-size: 0.78rem;
  margin-top: 6px;
}

.promoter-dashboard-series-mini-list {
  margin-top: 14px;
}

.promoter-dashboard-series-mini-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.84rem;
}

.promoter-dashboard-series-mini-row:last-child {
  border-bottom: none;
}

.promoter-dashboard-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.promoter-dashboard-list-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
}

.promoter-dashboard-list-row strong {
  color: #fff;
  display: block;
  line-height: 1.15;
}

.promoter-dashboard-list-row small {
  display: block;
  margin-top: 4px;
  color: #9ca3af;
  font-size: 0.74rem;
}

.promoter-dashboard-list-metric,
.promoter-dashboard-award-type {
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
  white-space: nowrap;
}

.promoter-dashboard-series-table-wrap {
  overflow-x: auto;
}

.promoter-dashboard-series-table th,
.promoter-dashboard-series-table td {
  white-space: nowrap;
}

.promoter-dashboard-chart {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  height: 160px;
  margin-top: 10px;
}

.promoter-dashboard-chart-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.promoter-dashboard-chart-value {
  font-size: 0.72rem;
  color: #9ca3af;
  margin-bottom: 6px;
  font-weight: 800;
}

.promoter-dashboard-chart-bar-wrap {
  width: 100%;
  height: 110px;
  display: flex;
  align-items: flex-end;
}

.promoter-dashboard-chart-bar {
  width: 100%;
  border-radius: 6px 6px 0 0;
  background: linear-gradient(180deg, #e10600 0%, rgba(225, 6, 0, 0.45) 100%);
}

.promoter-dashboard-chart-label {
  margin-top: 8px;
  color: #9ca3af;
  font-size: 0.72rem;
  font-weight: 800;
}

@media (max-width: 980px) {
  .promoter-dashboard-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .promoter-dashboard-grid,
  .promoter-dashboard-category-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .promoter-dashboard-shell {
    padding: 16px;
  }

  .promoter-dashboard-hero-top {
    flex-direction: column;
  }
}

.telemetry-shell {
  background: #0a0a0c;
  color: #e6e6f0;
  padding: 2rem;
  font-family: 'Inter', sans-serif;
}

/* HEADER */
.telemetry-header h1 {
  font-size: 1.8rem;
  font-weight: 700;
}

.telemetry-sub {
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  color: #777;
}

/* KPI STRIP */
.telemetry-kpis {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.75rem;
  margin: 1.5rem 0;
}

.kpi {
  background: #121216;
  border: 1px solid #1f1f26;
  padding: 0.9rem;
  border-radius: 6px;
}

.kpi span {
  font-size: 0.6rem;
  color: #888;
  text-transform: uppercase;
}

.kpi strong {
  font-size: 1.5rem;
  display: block;
  margin-top: 4px;
}

.kpi.highlight {
  background: linear-gradient(135deg, #ff6a00, #ff3c00);
  color: white;
}

/* SERIES GRID */
.series-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 1rem;
}

/* CARD */
.series-card {
  background: #121216;
  border: 1px solid #1f1f26;
  border-radius: 8px;
  padding: 1rem;
  transition: all 0.2s ease;
}

.series-card:hover {
  border-color: #ff6a00;
  box-shadow: 0 0 12px rgba(255,106,0,0.2);
}

/* TOP */
.series-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

.series-top h3 {
  font-size: 1rem;
  font-weight: 600;
}

.series-category {
  font-size: 0.6rem;
  padding: 0.2rem 0.5rem;
  border-radius: 3px;
}

.series-category.bike {
  background: rgba(255,106,0,0.15);
  color: #ff6a00;
}

.series-category.car {
  background: rgba(0,150,255,0.15);
  color: #4da3ff;
}

/* METRICS */
.series-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
}

.series-metrics span {
  font-size: 0.6rem;
  color: #777;
}

.series-metrics strong {
  font-size: 1rem;
}

/* GAP */
.gap {
  color: #ff6a00;
}

.zero {
  color: #1aaa5c;
}

/* =========================================
   Telemetry Insight Layer
========================================= */

.telemetry-insights-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.telemetry-insight-card {
  background: #121216;
  border: 1px solid #1f1f26;
  border-radius: 10px;
  padding: 14px 16px;
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}

.telemetry-insight-card--accent {
  background: linear-gradient(135deg, rgba(255,106,0,0.16), rgba(255,60,0,0.1));
  border-color: rgba(255,106,0,0.22);
}

.telemetry-insight-label {
  display: block;
  color: #8b93a3;
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.telemetry-insight-card strong {
  display: block;
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.15;
}

.telemetry-insight-card small {
  display: block;
  margin-top: 6px;
  color: #9ca3af;
  font-size: 0.72rem;
  font-weight: 700;
}

@media (max-width: 980px) {
  .telemetry-insights-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .telemetry-insights-grid {
    grid-template-columns: 1fr;
  }
}

.promoter-telemetry-shell {
  max-width: 1380px;
  margin: 0 auto;
  padding: 22px 24px 40px;
}

.promoter-telemetry-hero {
  background:
    radial-gradient(circle at top right, rgba(225, 6, 0, 0.12), transparent 28%),
    linear-gradient(135deg, #12141d 0%, #1a2030 100%);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 4px solid #e10600;
  border-radius: 20px;
  padding: 26px;
  margin-bottom: 20px;
  box-shadow: 0 12px 28px rgba(0,0,0,0.16);
}

.promoter-telemetry-hero-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 20px;
}

.promoter-telemetry-kicker {
  color: #ff5a36;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  margin: 0 0 8px;
}

.promoter-telemetry-title {
  color: #fff;
  font-size: 2.3rem;
  font-weight: 900;
  line-height: 1;
  margin: 0 0 10px;
}

.promoter-telemetry-subtitle {
  color: #c6ced9;
  font-size: 0.95rem;
  max-width: 760px;
  margin: 0;
}

.promoter-kpi-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.promoter-kpi-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 16px 18px;
}

.promoter-kpi-card span {
  display: block;
  color: #9ca3af;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.promoter-kpi-card strong {
  display: block;
  color: #fff;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
}

.promoter-kpi-card--accent {
  background: linear-gradient(135deg, #ff6a00, #ff3c00);
  border-color: transparent;
}

.promoter-kpi-card--accent span,
.promoter-kpi-card--accent strong {
  color: #fff;
}

.promoter-section-card {
  background: #12141d;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 20px;
  padding: 22px;
  margin-bottom: 20px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.14);
}

.promoter-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 14px;
  margin-bottom: 18px;
}

.promoter-section-head h2 {
  margin: 0;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 900;
}

.promoter-section-head span {
  color: #9ca3af;
  font-size: 0.8rem;
  font-weight: 700;
}

.promoter-category-split-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.promoter-category-panel {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 18px;
  padding: 18px;
}

.promoter-category-panel-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 8px;
}

.promoter-category-panel-top h3 {
  margin: 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
}

.promoter-category-big-number {
  color: #fff;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
}

.promoter-category-subline {
  color: #9ca3af;
  font-size: 0.8rem;
  margin-bottom: 14px;
}

.promoter-category-series-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.promoter-category-series-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.promoter-category-series-row:last-child {
  border-bottom: none;
}

.promoter-category-series-row span {
  color: #dce2ea;
  font-size: 0.86rem;
}

.promoter-category-series-row strong {
  color: #fff;
  font-weight: 900;
}

.promoter-series-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.promoter-series-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  padding: 18px;
}

.promoter-series-card-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.promoter-series-card-top h3 {
  margin: 0 0 4px;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 900;
}

.promoter-series-card-top p {
  margin: 0;
  color: #9ca3af;
  font-size: 0.8rem;
  font-weight: 700;
}

.promoter-series-pill {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.5px;
}

.promoter-series-pill.bike {
  background: rgba(255,106,0,0.16);
  color: #ff9a3c;
}

.promoter-series-pill.car {
  background: rgba(60,140,255,0.16);
  color: #7cb4ff;
}

.promoter-series-metrics-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.promoter-series-metric {
  background: rgba(255,255,255,0.03);
  border-radius: 12px;
  padding: 12px;
}

.promoter-series-metric span {
  display: block;
  color: #8f98a8;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.promoter-series-metric strong {
  display: block;
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
}

.metric-gap {
  color: #ff8b2d !important;
}

.metric-flat {
  color: #65d38b !important;
}

.promoter-round-chart {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  height: 220px;
  margin-top: 10px;
}

.promoter-round-chart-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.promoter-round-chart-value {
  color: #b7bfcc;
  font-size: 0.75rem;
  font-weight: 800;
  margin-bottom: 8px;
}

.promoter-round-chart-bar-wrap {
  width: 100%;
  height: 160px;
  display: flex;
  align-items: flex-end;
}

.promoter-round-chart-bar {
  width: 100%;
  border-radius: 8px 8px 0 0;
  background: linear-gradient(180deg, #e10600 0%, rgba(225,6,0,0.45) 100%);
  box-shadow: 0 10px 20px rgba(225,6,0,0.12);
}

.promoter-round-chart-bar.is-empty {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.06);
}

.promoter-round-chart-value {
  min-height: 20px;
}

.promoter-round-chart-bar {
  border-radius: 6px;
  transition: all 0.3s ease;
}

/* 🔥 High intensity (leader round) */
.bar-high {
  background: linear-gradient(180deg, #ff3b30 0%, #ff6a00 100%);
  box-shadow: 0 0 12px rgba(255, 80, 0, 0.6);
}

/* ⚡ Medium */
.bar-medium {
  background: linear-gradient(180deg, #ff7a18 0%, #ffb347 100%);
}

/* 🌙 Low */
.bar-low {
  background: linear-gradient(180deg, #4facfe 0%, #00f2fe 100%);
}

/* ⚪ Empty */
.bar-empty {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.05);
}

.promoter-round-chart-bar {
  animation: growBar 0.8s ease-out;
}

@keyframes growBar {
  from { height: 0; opacity: 0.3; }
  to { opacity: 1; }
}

.promoter-round-legend {
  display: flex;
  gap: 18px;
  margin-top: 10px;
  margin-bottom: 18px;
  align-items: center;
  flex-wrap: wrap;
  font-size: 12px;
  color: rgba(255,255,255,0.72);
}

.legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.legend-high {
  background: linear-gradient(180deg, #ff3b30 0%, #ff6a00 100%);
  box-shadow: 0 0 6px rgba(255, 80, 0, 0.45);
}

.legend-medium {
  background: linear-gradient(180deg, #4facfe 0%, #00f2fe 100%);
}

.legend-empty {
  background: rgba(255,255,255,0.14);
}

.promoter-round-chart-bar {
  border-radius: 8px 8px 0 0;
  transition: all 0.3s ease;
}

.promoter-round-chart-bar.bar-high {
  background: linear-gradient(180deg, #ff3b30 0%, #ff6a00 100%);
  box-shadow: 0 0 12px rgba(255, 80, 0, 0.35);
}

.promoter-round-chart-bar.bar-medium {
  background: linear-gradient(180deg, #4facfe 0%, #00f2fe 100%);
}

.promoter-round-chart-bar.bar-low {
  background: linear-gradient(180deg, #7c3aed 0%, #22d3ee 100%);
}

.promoter-round-chart-bar.bar-empty {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.05);
}

.promoter-round-chart-value {
  min-height: 20px;
}

.promoter-round-chart-label {
  margin-top: 10px;
  color: #9ca3af;
  font-size: 0.76rem;
  font-weight: 800;
}

.promoter-insights-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.promoter-insight-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 16px;
  padding: 16px;
}

.promoter-insight-card--accent {
  background: linear-gradient(135deg, rgba(255,106,0,0.16), rgba(255,60,0,0.08));
  border-color: rgba(255,106,0,0.2);
}

.promoter-insight-card span {
  display: block;
  color: #8f98a8;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.promoter-insight-card strong {
  display: block;
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
}

.promoter-insight-card small {
  display: block;
  margin-top: 8px;
  color: #aab2bf;
  font-size: 0.74rem;
  font-weight: 700;
}

@media (max-width: 1100px) {
  .promoter-kpi-strip,
  .promoter-insights-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .promoter-series-grid,
  .promoter-category-split-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .promoter-telemetry-shell {
    padding: 16px;
  }

  .promoter-telemetry-hero-top,
  .promoter-section-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .promoter-kpi-strip,
  .promoter-insights-grid,
  .promoter-series-metrics-grid {
    grid-template-columns: 1fr;
  }
}

.promoter-category-series-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  align-items: flex-start;
}

.promoter-category-series-row:last-child {
  border-bottom: none;
}

.promoter-category-series-row > div {
  min-width: 0;
}

.promoter-category-series-row span {
  display: block;
  color: #dce2ea;
  font-size: 0.86rem;
  font-weight: 800;
}

.promoter-category-series-row small {
  display: block;
  margin-top: 5px;
  color: #8f98a8;
  font-size: 0.72rem;
  line-height: 1.3;
  font-weight: 700;
}

.promoter-category-series-row strong {
  color: #fff;
  font-weight: 900;
  white-space: nowrap;
}

.entry-load-panel {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 24px;
  align-items: center;
}

.entry-load-summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.entry-load-ring-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}

.entry-load-ring {
  --entry-fill: 0;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background:
    conic-gradient(#ff8a1e calc(var(--entry-fill) * 1%), rgba(255,255,255,0.08) 0);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.entry-load-ring::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: #12141d;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.05);
}

.entry-load-ring-center {
  position: relative;
  z-index: 2;
  text-align: center;
}

.entry-load-ring-center strong {
  display: block;
  color: #fff;
  font-size: 3.8rem;
  line-height: 1;
  font-weight: 900;
}

.entry-load-ring-center span {
  display: block;
  margin-top: 8px;
  color: #8f98a8;
  font-size: 0.86rem;
  text-transform: uppercase;
  letter-spacing: 4px;
  font-weight: 800;
}

.entry-load-summary-title {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 900;
  text-align: center;
}

.entry-load-summary-title small {
  color: #8f98a8;
  font-size: 0.86rem;
  margin-left: 8px;
  font-weight: 800;
}

.entry-load-summary-sub {
  color: #8f98a8;
  font-size: 0.86rem;
  margin-top: 6px;
  text-align: center;
}

.entry-load-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.entry-load-row {
  display: grid;
  grid-template-columns: 260px 110px 1fr;
  gap: 18px;
  align-items: center;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.entry-load-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.entry-load-series {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.entry-load-series span:last-child {
  color: #dce2ea;
  font-size: 0.96rem;
  font-weight: 800;
}

.entry-load-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  flex-shrink: 0;
}

.entry-load-values {
  text-align: right;
  white-space: nowrap;
}

.entry-load-values strong {
  color: #fff;
  font-size: 1.05rem;
  font-weight: 900;
}

.entry-load-values span {
  color: #7f8898;
  font-size: 0.98rem;
  margin-left: 6px;
  font-weight: 700;
}

.entry-load-bar-wrap {
  width: 100%;
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.07);
  overflow: hidden;
}

.entry-load-bar {
  height: 100%;
  border-radius: 999px;
}

.series-color-zx10,
.entry-load-bar.series-color-zx10 {
  background: #ff5a1f;
}

.series-color-polo,
.entry-load-bar.series-color-polo {
  background: #2f7dff;
}

.series-color-rookie,
.entry-load-bar.series-color-rookie {
  background: #5db7ff;
}

.series-color-supa,
.entry-load-bar.series-color-supa {
  background: #ffb21f;
}

.series-color-supercars,
.entry-load-bar.series-color-supercars {
  background: #8a5cff;
}

.series-color-msa4,
.entry-load-bar.series-color-msa4 {
  background: #1bc26b;
}

.series-color-toyota,
.entry-load-bar.series-color-toyota {
  background: #f44336;
}

.series-color-default,
.entry-load-bar.series-color-default {
  background: #9ca3af;
}

@media (max-width: 1100px) {
  .entry-load-panel {
    grid-template-columns: 1fr;
  }

  .entry-load-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .entry-load-values {
    text-align: left;
  }
}

.kpi.danger {
  background: linear-gradient(135deg, #ff2e2e, #b30000);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.1);
}

.kpi.danger span {
  opacity: 0.85;
}

.kpi.danger small {
  display: block;
  font-size: 12px;
  opacity: 0.8;
  margin-top: 4px;
}

.ledger-table {
  display: grid;
  gap: 8px;
}

.ledger-head,
.ledger-row {
  display: grid;
  grid-template-columns:
    2fr 1fr 1.5fr 2fr 1fr
    80px 80px 80px 80px 100px 100px;
  gap: 10px;
  align-items: center;
}

.ledger-head {
  font-weight: bold;
  border-bottom: 2px solid #ddd;
  padding-bottom: 8px;
}

.ledger-row {
  padding: 10px;
  border-bottom: 1px solid #eee;
}

.f1-ledger-shell {
  display: grid;
  gap: 20px;
}

.f1-ledger-hero-card,
.f1-ledger-filter-card,
.f1-ledger-card {
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e5e7eb;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.f1-ledger-hero-card {
  padding: 28px;
}

.f1-ledger-hero-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
}

.f1-ledger-kicker {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ef4444;
}

.f1-ledger-page-title {
  margin: 0;
  font-size: 34px;
  line-height: 1.05;
  font-weight: 800;
  color: #0f172a;
}

.f1-ledger-page-subtitle {
  margin-top: 10px;
  max-width: 860px;
  color: #475569;
  line-height: 1.5;
}

.f1-ledger-brand-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 18px;
}

.f1-ledger-brand-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748b;
  margin-bottom: 8px;
}

.f1-ledger-promoter-logo {
  max-height: 42px;
  max-width: 150px;
  object-fit: contain;
}

.f1-ledger-sponsor-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.f1-ledger-sponsor-pill {
  min-width: 70px;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #e5e7eb;
  display: grid;
  place-items: center;
}

.f1-ledger-sponsor-logo {
  max-height: 30px;
  max-width: 90px;
  object-fit: contain;
}

.f1-ledger-hero-actions {
  display: flex;
  justify-content: flex-end;
}

.f1-ledger-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #111827;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}

.f1-ledger-hero-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 20px;
}

.f1-ledger-hero-pill {
  min-width: 170px;
  padding: 14px 16px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #e5e7eb;
}

.f1-ledger-hero-pill-label {
  display: block;
  font-size: 12px;
  color: #64748b;
  margin-bottom: 6px;
}

.f1-ledger-hero-pill-value {
  font-size: 18px;
  font-weight: 800;
  color: #111827;
}

.f1-ledger-filter-card {
  padding: 20px 24px;
}

.f1-ledger-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 320px));
  gap: 16px;
}

.f1-ledger-filter-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 700;
  color: #334155;
}

.f1-ledger-filter-group select {
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid #d1d5db;
  padding: 0 12px;
  background: #fff;
}

.f1-ledger-card {
  padding: 18px;
}

.f1-ledger-table-head,
.f1-ledger-row {
  display: grid;
  grid-template-columns:
    2.2fr
    1fr
    1.3fr
    2fr
    1fr
    90px
    90px
    80px
    80px
    100px
    100px;
  gap: 12px;
  align-items: center;
}

.f1-ledger-table-head {
  padding: 14px 12px;
  font-size: 12px;
  font-weight: 800;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-bottom: 1px solid #e5e7eb;
}

.f1-ledger-list {
  display: grid;
}

.f1-ledger-row {
  padding: 14px 12px;
  border-bottom: 1px solid #eef2f7;
  background: #fff;
}

.f1-ledger-row:nth-child(even) {
  background: #f8fafc;
}

.f1-ledger-driver,
.f1-ledger-total,
.f1-ledger-running {
  font-weight: 700;
  color: #0f172a;
}

.f1-ledger-class {
  font-weight: 600;
  color: #334155;
}

.f1-ledger-empty {
  padding: 24px 12px;
  color: #64748b;
}

.f1-ledger-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #111827;
  color: #fff;
  text-decoration: none;
}

.f1-ledger-btn strong {
  display: block;
  font-size: 14px;
  line-height: 1.1;
}

.f1-ledger-btn small {
  display: block;
  opacity: 0.8;
  font-size: 11px;
}

.f1-ledger-btn-icon {
  font-size: 18px;
}

@media (max-width: 1200px) {
  .f1-ledger-table-head,
  .f1-ledger-row {
    grid-template-columns:
      2fr
      1fr
      1.1fr
      1.7fr
      1fr
      80px
      80px
      70px
      70px
      90px
      90px;
  }
}

@media (max-width: 900px) {
  .f1-ledger-hero-top {
    flex-direction: column;
  }

  .f1-ledger-filter-grid {
    grid-template-columns: 1fr;
  }

  .f1-ledger-table-head {
    display: none;
  }

  .f1-ledger-row {
    grid-template-columns: 1fr;
    gap: 8px;
    border-radius: 16px;
    margin-bottom: 10px;
  }
}

.f1-leaderboard-bonus-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.f1-leaderboard-bonus-badges.inline {
  margin-top: 6px;
}

.f1-bonus-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  border: 1px solid transparent;
}

.f1-bonus-pill--pole {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
}

.f1-bonus-pill--fl {
  background: #ecfdf5;
  color: #047857;
  border-color: #a7f3d0;
}

.f1-leaderboard-bonus-total {
  display: inline-block;
  margin-left: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #16a34a;
}

.f1lb-points-value .f1-leaderboard-bonus-total {
  margin-left: 4px;
}

.public-clickable-row:hover {
  background: rgba(255,255,255,0.04);
}

.public-inline-link {
  color: inherit;
  text-decoration: none;
  font-weight: 600;
}

.f1-rider-shell {
  display: grid;
  gap: 20px;
}

.f1-rider-hero-card,
.f1-rider-panel {
  border-radius: 24px;
  background: linear-gradient(180deg, #111318 0%, #0b0d12 100%);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 12px 36px rgba(0,0,0,0.28);
}

.f1-rider-hero-card {
  padding: 28px;
}

.f1-rider-hero-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
}

.f1-rider-identity-wrap {
  display: flex;
  gap: 18px;
  align-items: center;
}

.f1-rider-avatar,
.f1-rider-avatar-placeholder {
  width: 108px;
  height: 108px;
  border-radius: 22px;
  overflow: hidden;
  flex: 0 0 108px;
}

.f1-rider-avatar {
  border: 1px solid rgba(255,255,255,0.08);
}

.f1-rider-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.f1-rider-avatar-placeholder {
  display: grid;
  place-items: center;
  font-size: 34px;
  font-weight: 800;
  background: #1a1f2a;
  color: #fff;
}

.f1-rider-kicker,
.f1-rider-panel-kicker {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #f59e0b;
}

.f1-rider-title {
  margin: 0;
  font-size: 36px;
  line-height: 1.05;
  font-weight: 900;
  color: #fff;
}

.f1-rider-meta-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.f1-rider-meta-pill {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  background: rgba(255,255,255,0.06);
  color: #e5e7eb;
  border: 1px solid rgba(255,255,255,0.08);
}

.f1-rider-meta-pill.accent {
  background: rgba(245,158,11,0.14);
  color: #fbbf24;
  border-color: rgba(245,158,11,0.3);
}

.f1-rider-meta-pill.live {
  background: rgba(34,197,94,0.14);
  color: #86efac;
  border-color: rgba(34,197,94,0.3);
}

.f1-rider-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 14px;
  text-decoration: none;
  font-weight: 700;
}

.f1-rider-btn--ghost {
  background: rgba(255,255,255,0.05);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.1);
}

.f1-rider-telemetry-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.f1-rider-kpi {
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}

.f1-rider-kpi-label {
  display: block;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #9ca3af;
  margin-bottom: 8px;
}

.f1-rider-kpi-value {
  font-size: 30px;
  font-weight: 900;
  color: #fff;
}

.f1-rider-content-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 20px;
}

.f1-rider-panel {
  padding: 22px;
}

.f1-rider-panel-title {
  margin: 0;
  font-size: 24px;
  font-weight: 800;
  color: #fff;
}

.f1-rider-bio,
.f1-rider-muted {
  color: #cbd5e1;
}

.f1-rider-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.f1-rider-mini-stat {
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}

.f1-rider-mini-stat span {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #9ca3af;
  margin-bottom: 6px;
}

.f1-rider-mini-stat strong {
  color: #fff;
  font-size: 20px;
}

.f1-rider-form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.f1-rider-form-pill {
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(245,158,11,0.12);
  border: 1px solid rgba(245,158,11,0.32);
  color: #fbbf24;
  font-weight: 800;
}

.f1-rider-table-wrap {
  overflow-x: auto;
}

.f1-rider-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 12px;
}

.f1-rider-table thead th {
  text-align: left;
  padding: 0 16px 10px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}

.f1-rider-table tbody tr {
  background: #ffffff;
}

.f1-rider-table tbody td {
  padding: 18px 16px;
  color: #111827;
  font-size: 15px;
  font-weight: 600;
  vertical-align: middle;
  background: #ffffff;
  border-top: 1px solid rgba(15, 23, 42, 0.10);
  border-bottom: 1px solid rgba(15, 23, 42, 0.10);
}

.f1-rider-table tbody td:first-child {
  border-left: 1px solid rgba(15, 23, 42, 0.10);
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
}

.f1-rider-table tbody td:last-child {
  border-right: 1px solid rgba(15, 23, 42, 0.10);
  border-top-right-radius: 16px;
  border-bottom-right-radius: 16px;
}

.f1-rider-table tbody td strong {
  color: #111827;
  font-weight: 900;
}

.f1-rider-inline-link {
  color: #111827;
  font-weight: 800;
  text-decoration: none;
}

.f1-rider-inline-link:hover {
  text-decoration: underline;
}

.f1-rider-clickable-row {
  cursor: pointer;
}

.f1-rider-clickable-row:hover td {
  background: #f8fafc;
}

.f1-rider-table tbody td,
.f1-rider-table tbody td a,
.f1-rider-table tbody td strong,
.f1-rider-table tbody td span {
  color: #111827;
}

.f1-rider-clickable-row {
  cursor: pointer;
  transition: background 0.15s ease;
}

.f1-rider-clickable-row:hover {
  background: rgba(255,255,255,0.04);
}

.f1-rider-inline-link {
  color: inherit;
  text-decoration: none;
  font-weight: 700;
}

@media (max-width: 1100px) {
  .f1-rider-telemetry-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .f1-rider-content-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .f1-rider-hero-top {
    flex-direction: column;
  }

  .f1-rider-identity-wrap {
    align-items: flex-start;
  }

  .f1-rider-telemetry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .f1-rider-title {
    font-size: 28px;
  }
}

.f1-telemetry-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.f1-telemetry-head,
.f1-telemetry-row {
  display: grid;
  gap: 12px;
  align-items: center;
}

.f1-telemetry-head {
  padding: 0 14px 6px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #9ca3af;
}

.f1-telemetry-row {
  padding: 18px 16px;
  border-radius: 18px;
  background: #f8fafc;
  color: #0f172a;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}

.f1-telemetry-row strong {
  color: #020617;
  font-weight: 800;
}

.f1-telemetry-row-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.f1-telemetry-row-link:hover .f1-telemetry-row {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(0,0,0,0.12);
}

.f1-telemetry-head--standings,
.f1-telemetry-row--standings {
  grid-template-columns: 2fr 1.1fr 1fr 80px 90px 80px 90px;
}

.f1-telemetry-head--results,
.f1-telemetry-row--results {
  grid-template-columns: 2fr 1fr 90px 120px 90px;
}

.f1-telemetry-head--garage,
.f1-telemetry-row--garage {
  grid-template-columns: 1fr 1.5fr 1fr 1fr;
}

.f1-telemetry-head--registrations,
.f1-telemetry-row--registrations {
  grid-template-columns: 1.8fr 1fr 1.4fr 100px 120px;
}

@media (max-width: 900px) {
  .f1-telemetry-head {
    display: none;
  }

  .f1-telemetry-row,
  .f1-telemetry-row--standings,
  .f1-telemetry-row--results,
  .f1-telemetry-row--garage,
  .f1-telemetry-row--registrations {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

.iw-shell {
  display: grid;
  gap: 18px;
  max-width: 980px;
}

.iw-header {
  padding: 4px 0;
}

.iw-kicker {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #f59e0b;
}

.iw-title {
  margin: 0;
  font-size: 32px;
  line-height: 1.05;
  font-weight: 900;
  color: #111827;
}

.iw-subtitle {
  margin-top: 10px;
  color: #475569;
  max-width: 760px;
}

.iw-steps {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.iw-step {
  padding: 10px 14px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid #e2e8f0;
}

.iw-step.is-active {
  background: #111827;
  color: #fff;
  border-color: #111827;
}

.iw-card {
  padding: 22px;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e5e7eb;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.iw-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 18px;
}

.iw-field label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #334155;
}

.iw-select {
  width: 100%;
  min-height: 46px;
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #0f172a;
  font-size: 14px;
}

.iw-select:focus {
  outline: none;
  border-color: #111827;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

.iw-help {
  margin-top: 8px;
  font-size: 12px;
  color: #64748b;
}

.iw-actions {
  margin-top: 20px;
  display: flex;
  justify-content: flex-end;
}

.iw-btn {
  min-height: 44px;
  padding: 0 16px;
  border-radius: 14px;
  border: 0;
  font-weight: 800;
  cursor: pointer;
}

.iw-btn--primary {
  background: #111827;
  color: #fff;
}

.iw-btn--primary:hover {
  opacity: 0.95;
}

@media (max-width: 800px) {
  .iw-grid {
    grid-template-columns: 1fr;
  }

  .iw-actions {
    justify-content: stretch;
  }

  .iw-btn--primary {
    width: 100%;
  }
}

.iw-shell {
  display: grid;
  gap: 18px;
  max-width: 1100px;
}

.iw-header {
  padding: 4px 0;
}

.iw-kicker {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #f59e0b;
}

.iw-title {
  margin: 0;
  font-size: 32px;
  line-height: 1.05;
  font-weight: 900;
  color: #111827;
}

.iw-subtitle {
  margin-top: 10px;
  color: #475569;
  max-width: 760px;
}

.iw-steps {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.iw-step {
  padding: 10px 14px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid #e2e8f0;
}

.iw-step.is-active {
  background: #111827;
  color: #fff;
  border-color: #111827;
}

.iw-card {
  padding: 22px;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e5e7eb;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.iw-card-head {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
}

.iw-section-title {
  margin: 0;
  font-size: 24px;
  font-weight: 900;
  color: #111827;
}

.iw-context-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.iw-context-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #eef2ff;
  border: 1px solid #dbeafe;
  color: #1e293b;
  font-size: 12px;
}

.iw-context-pill--error {
  background: #fef2f2;
  border-color: #fecaca;
  color: #991b1b;
}

.iw-context-pill--warning {
  background: #fffbeb;
  border-color: #fde68a;
  color: #92400e;
}

.iw-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 18px;
}

.iw-field label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #334155;
}

.iw-select {
  width: 100%;
  min-height: 46px;
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #0f172a;
  font-size: 14px;
}

.iw-select:focus,
.iw-file-input:focus {
  outline: none;
  border-color: #111827;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

.iw-help {
  margin-top: 8px;
  font-size: 12px;
  color: #64748b;
}

.iw-upload-box {
  display: grid;
  gap: 18px;
  padding: 18px;
  border-radius: 18px;
  border: 1px dashed #cbd5e1;
  background: #fff;
}

.iw-upload-title {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  color: #111827;
}

.iw-upload-subtitle {
  margin-top: 6px;
  color: #64748b;
}

.iw-file-input {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid #cbd5e1;
  background: #fff;
}

.iw-validation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 16px;
}

.iw-validation-panel {
  padding: 16px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #e5e7eb;
}

.iw-validation-title {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 800;
  color: #111827;
}

.iw-issue-list {
  margin: 0;
  padding-left: 18px;
}

.iw-issue-list li {
  margin-bottom: 8px;
}

.iw-issue-list--error {
  color: #991b1b;
}

.iw-issue-list--warning {
  color: #92400e;
}

.iw-empty-state {
  color: #64748b;
}

.iw-preview-wrap {
  margin-top: 18px;
}

.iw-table-wrap {
  overflow-x: auto;
  margin-top: 10px;
}

.iw-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
}

.iw-table thead th {
  padding: 12px;
  text-align: left;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #475569;
  background: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
}

.iw-table tbody td {
  padding: 12px;
  border-bottom: 1px solid #eef2f7;
  color: #111827;
  font-size: 14px;
}

.iw-execute-grid {
  display: grid;
  gap: 14px;
}

.iw-toggle-card {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #e5e7eb;
  cursor: pointer;
}

.iw-toggle-card strong {
  display: block;
  color: #111827;
}

.iw-toggle-card p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 13px;
}

.iw-actions {
  margin-top: 20px;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.iw-btn {
  min-height: 44px;
  padding: 0 16px;
  border-radius: 14px;
  border: 0;
  font-weight: 800;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.iw-btn--primary {
  background: #111827;
  color: #fff;
}

.iw-btn--ghost {
  background: #fff;
  color: #111827;
  border: 1px solid #d1d5db;
}

.iw-btn--danger {
  background: #b91c1c;
  color: #fff;
}

@media (max-width: 800px) {
  .iw-grid,
  .iw-validation-grid {
    grid-template-columns: 1fr;
  }

  .iw-actions {
    justify-content: stretch;
  }

  .iw-btn {
    width: 100%;
  }
}

.iw-subsection-copy {
  margin-top: 8px;
  color: #64748b;
}

.iw-actions--between {
  justify-content: flex-start;
}

.iw-context-review {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e5e7eb;
}

.reg-board-shell {
  max-width: 1380px;
  margin: 0 auto;
  padding: 22px 24px 40px;
}

.reg-board-hero {
  background:
    radial-gradient(circle at top right, rgba(225, 6, 0, 0.10), transparent 28%),
    linear-gradient(135deg, #12141d 0%, #1a2030 100%);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 4px solid #e10600;
  border-radius: 20px;
  padding: 24px;
  margin-bottom: 20px;
  box-shadow: 0 12px 28px rgba(0,0,0,0.16);
}

.reg-board-hero-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.reg-board-kicker {
  color: #ff5a36;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  margin: 0 0 8px;
}

.reg-board-title {
  color: #fff;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
  margin: 0 0 10px;
}

.reg-board-subtitle {
  color: #c6ced9;
  margin: 0;
  font-size: 0.94rem;
  max-width: 720px;
}

.reg-kpi-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.reg-kpi-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 14px 16px;
}

.reg-kpi-card span {
  display: block;
  color: #9ca3af;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.reg-kpi-card strong {
  display: block;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1;
}

.reg-kpi-card--pending {
  background: linear-gradient(135deg, rgba(255,140,0,0.18), rgba(255,110,0,0.08));
}

.reg-kpi-card--confirmed {
  background: linear-gradient(135deg, rgba(27,194,107,0.18), rgba(27,194,107,0.08));
}

.reg-kpi-card--rejected {
  background: linear-gradient(135deg, rgba(225,6,0,0.18), rgba(225,6,0,0.08));
}

.reg-board-card {
  background: #12141d;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 20px;
  padding: 22px;
  margin-bottom: 20px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.14);
}

.reg-board-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 14px;
  margin-bottom: 18px;
}

.reg-board-section-head h2 {
  margin: 0;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 900;
}

.reg-board-section-head span {
  color: #9ca3af;
  font-size: 0.8rem;
  font-weight: 700;
}

.reg-filter-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 14px;
}

.reg-board-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.reg-item-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  padding: 18px;
}

.reg-item-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.reg-item-season {
  color: #8f98a8;
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.reg-item-rider {
  margin: 0;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 900;
  line-height: 1.15;
}

.reg-status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.reg-status-pending {
  background: rgba(255,140,0,0.18);
  color: #ffb15c;
}

.reg-status-confirmed {
  background: rgba(27,194,107,0.18);
  color: #72e2a0;
}

.reg-status-rejected {
  background: rgba(225,6,0,0.18);
  color: #ff8f8f;
}

.reg-item-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.reg-item-meta {
  background: rgba(255,255,255,0.03);
  border-radius: 12px;
  padding: 12px;
}

.reg-item-meta span {
  display: block;
  color: #8f98a8;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.reg-item-meta strong {
  display: block;
  color: #fff;
  font-size: 0.98rem;
  font-weight: 900;
  line-height: 1.2;
}

.reg-item-footer {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.06);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
}

.reg-item-date {
  color: #8f98a8;
  font-size: 0.76rem;
  font-weight: 700;
}

.reg-item-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.reg-item-actions a {
  color: #dce2ea;
  font-size: 0.82rem;
  font-weight: 800;
  text-decoration: none;
}

.reg-item-actions a:hover {
  color: #fff;
}

.reg-empty-state {
  padding: 30px 16px;
  text-align: center;
  color: #9ca3af;
  font-weight: 700;
}

.reg-pagination {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.reg-pagination-center {
  color: #cfd6e2;
  font-size: 0.88rem;
}

@media (max-width: 1100px) {
  .reg-kpi-strip,
  .reg-filter-grid,
  .reg-board-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .reg-board-shell {
    padding: 16px;
  }

  .reg-board-hero-top,
  .reg-board-section-head,
  .reg-item-footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .reg-item-meta-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   EVENT HERO — Graphite Silver Premium Theme
   Keeps structure, softens darkness, improves readability
   ========================================================= */

.public-event-hero,
.event-hero-card,
.winner-hero-card {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  padding: 28px 28px 24px;
  background:
    radial-gradient(circle at top right, rgba(225, 6, 0, 0.10), transparent 22%),
    radial-gradient(circle at left bottom, rgba(255, 196, 0, 0.06), transparent 20%),
    linear-gradient(135deg, #434a54 0%, #5e6673 55%, #727b89 100%);
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow:
    0 18px 45px rgba(13, 18, 28, 0.18),
    inset 0 1px 0 rgba(255,255,255,0.12);
  color: #ffffff;
}

.public-event-hero::before,
.event-hero-card::before,
.winner-hero-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.05) 0%, transparent 26%, transparent 72%, rgba(255,255,255,0.03) 100%);
  pointer-events: none;
}

.public-event-hero::after,
.event-hero-card::after,
.winner-hero-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,0.08), transparent 14%);
  pointer-events: none;
}

/* =========================================================
   HEADER
   ========================================================= */

.public-event-hero-top,
.event-hero-top,
.winner-hero-top {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 22px;
}

.public-event-kicker,
.event-kicker,
.winner-kicker {
  margin: 0 0 8px;
  color: #ffd16a;
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}

.public-event-title,
.event-hero-title,
.winner-hero-title {
  margin: 0 0 8px;
  color: #ffffff;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 0.98;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.public-event-meta,
.event-hero-meta,
.winner-hero-meta {
  margin: 0;
  color: rgba(255,255,255,0.84);
  font-size: 1rem;
  line-height: 1.45;
  font-weight: 700;
}

.public-event-media-label,
.event-media-label,
.winner-media-label {
  color: rgba(255,255,255,0.76);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  text-align: right;
}

/* =========================================================
   CTA ACTIONS
   ========================================================= */

.public-event-actions,
.event-hero-actions,
.winner-hero-actions {
  display: flex;
  align-items: stretch;
  gap: 14px;
  flex-wrap: wrap;
}

.public-event-action-primary,
.event-action-primary,
.winner-action-primary {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 74px;
  padding: 16px 20px;
  border-radius: 18px;
  background: linear-gradient(135deg, #f7cd35 0%, #e8b413 100%);
  color: #201a08;
  text-decoration: none;
  box-shadow:
    0 10px 28px rgba(255, 197, 49, 0.25),
    inset 0 1px 0 rgba(255,255,255,0.25);
  border: 1px solid rgba(122, 87, 0, 0.16);
  transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
}

.public-event-action-primary:hover,
.event-action-primary:hover,
.winner-action-primary:hover {
  transform: translateY(-1px);
  box-shadow:
    0 14px 34px rgba(255, 197, 49, 0.32),
    inset 0 1px 0 rgba(255,255,255,0.25);
  filter: brightness(1.01);
}

.public-event-action-icon,
.event-action-icon,
.winner-action-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(255,255,255,0.42);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 900;
  flex-shrink: 0;
}

.public-event-action-copy strong,
.event-action-copy strong,
.winner-action-copy strong {
  display: block;
  color: #201a08;
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.1;
}

.public-event-action-copy span,
.event-action-copy span,
.winner-action-copy span {
  display: block;
  margin-top: 2px;
  color: rgba(32,26,8,0.78);
  font-size: 0.82rem;
  font-weight: 700;
}

.public-event-action-secondary,
.event-action-secondary,
.winner-action-secondary {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 74px;
  padding: 16px 20px;
  border-radius: 18px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.18);
  backdrop-filter: blur(8px);
  color: #ffffff;
  text-decoration: none;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}

.public-event-action-secondary:hover,
.event-action-secondary:hover,
.winner-action-secondary:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.16);
  border-color: rgba(255,255,255,0.24);
}

.public-event-action-secondary .public-event-action-icon,
.event-action-secondary .event-action-icon,
.winner-action-secondary .winner-action-icon {
  background: rgba(255,255,255,0.14);
  color: #ffffff;
}

.public-event-action-secondary .public-event-action-copy strong,
.event-action-secondary .event-action-copy strong,
.winner-action-secondary .winner-action-copy strong {
  color: #ffffff;
}

.public-event-action-secondary .public-event-action-copy span,
.event-action-secondary .event-action-copy span,
.winner-action-secondary .winner-action-copy span {
  color: rgba(255,255,255,0.74);
}

/* =========================================================
   WINNER BAND
   ========================================================= */

.public-event-winner-band,
.event-winner-strip,
.winner-summary-band {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.8fr auto;
  gap: 18px;
  align-items: center;
  margin-bottom: 20px;
  padding: 22px 24px;
  border-radius: 22px;
  background: rgba(255,255,255,0.16);
  border: 1px solid rgba(255,255,255,0.22);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
}

.public-event-winner-left,
.event-winner-left,
.winner-band-left {
  min-width: 0;
}

.public-event-winner-tag,
.event-winner-tag,
.winner-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  margin-bottom: 14px;
  background: rgba(181, 55, 55, 0.22);
  border: 1px solid rgba(255,185,185,0.20);
  color: #ffd6d6;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.public-event-winner-name,
.event-winner-name,
.winner-name {
  margin: 0 0 8px;
  color: #ffffff;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.03em;
}

.public-event-winner-meta,
.event-winner-meta,
.winner-meta {
  color: rgba(255,255,255,0.84);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}

.public-event-winner-stats,
.event-winner-stats,
.winner-band-right {
  display: grid;
  grid-template-columns: repeat(3, minmax(90px, 1fr));
  gap: 18px;
  align-items: start;
  min-width: 320px;
}

.public-event-winner-stat,
.event-winner-stat,
.winner-stat {
  text-align: right;
}

.public-event-winner-stat-label,
.event-winner-stat-label,
.winner-stat-label {
  display: block;
  margin-bottom: 6px;
  color: rgba(255,255,255,0.68);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.public-event-winner-stat-value,
.event-winner-stat-value,
.winner-stat-value {
  display: block;
  color: #ffffff;
  font-size: 2rem;
  line-height: 1;
  font-weight: 900;
}

.public-event-winner-stat-note,
.event-winner-stat-note,
.winner-stat-note {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  margin-top: 10px;
  border-radius: 999px;
  background: rgba(124, 82, 221, 0.22);
  color: #e7dcff;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

/* =========================================================
   SUMMARY STATS ROW
   ========================================================= */

.public-event-summary-grid,
.event-summary-grid,
.hero-summary-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.public-event-summary-card,
.event-summary-stat,
.hero-stat-box {
  min-height: 122px;
  border-radius: 20px;
  padding: 18px 20px;
  background: linear-gradient(180deg, #203050 0%, #24385d 100%);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.06),
    0 10px 24px rgba(15, 24, 42, 0.16);
}

.public-event-summary-card.is-active,
.event-summary-stat.is-active,
.hero-stat-box.is-active {
  border-color: rgba(255, 109, 77, 0.52);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.06),
    0 0 0 1px rgba(255,109,77,0.18),
    0 10px 24px rgba(15, 24, 42, 0.16);
}

.public-event-summary-label,
.event-summary-label,
.hero-stat-label {
  display: block;
  margin-bottom: 10px;
  color: rgba(255,255,255,0.72);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.public-event-summary-value,
.event-summary-value,
.hero-stat-value {
  display: block;
  color: #ffffff;
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.02em;
}

/* =========================================================
   FOOT / MICRO TEXT
   ========================================================= */

.public-event-micro,
.event-hero-micro,
.winner-hero-micro {
  color: rgba(255,255,255,0.70);
  font-size: 0.78rem;
  font-weight: 700;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1180px) {
  .public-event-winner-band,
  .event-winner-strip,
  .winner-summary-band {
    grid-template-columns: 1fr;
  }

  .public-event-winner-stats,
  .event-winner-stats,
  .winner-band-right {
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .public-event-winner-stat,
  .event-winner-stat,
  .winner-stat {
    text-align: left;
  }
}

@media (max-width: 920px) {
  .public-event-summary-grid,
  .event-summary-grid,
  .hero-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .public-event-hero-top,
  .event-hero-top,
  .winner-hero-top {
    flex-direction: column;
    align-items: flex-start;
  }

  .public-event-actions,
  .event-hero-actions,
  .winner-hero-actions {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .public-event-hero,
  .event-hero-card,
  .winner-hero-card {
    padding: 20px 18px 18px;
    border-radius: 20px;
  }

  .public-event-summary-grid,
  .event-summary-grid,
  .hero-summary-grid,
  .public-event-winner-stats,
  .event-winner-stats,
  .winner-band-right {
    grid-template-columns: 1fr;
  }

  .public-event-action-primary,
  .public-event-action-secondary,
  .event-action-primary,
  .event-action-secondary,
  .winner-action-primary,
  .winner-action-secondary {
    width: 100%;
  }

  .public-event-title,
  .event-hero-title,
  .winner-hero-title {
    font-size: 2.1rem;
  }
}

.platform-disclaimer {
  margin-top: 28px;
  padding: 16px 20px;
  background: #0f1117;
  border-top: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.7);
  font-size: 12px;
  line-height: 1.6;
}

.platform-disclaimer p {
  margin: 0;
}

.results-disclaimer-banner {
  display: grid;
  gap: 10px;
  margin: 18px 0 22px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.82);
}

.results-disclaimer-banner__left {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.results-disclaimer-banner__right {
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255,255,255,0.72);
}

.results-status-pill,
.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.results-status-pill,
.status-pill--provisional {
  background: rgba(245, 158, 11, 0.16);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.24);
}

.status-pill--final {
  background: rgba(34, 197, 94, 0.16);
  color: #86efac;
  border: 1px solid rgba(34, 197, 94, 0.24);
}

.status-pill--neutral {
  background: rgba(148, 163, 184, 0.14);
  color: #cbd5e1;
  border: 1px solid rgba(148, 163, 184, 0.2);
}

.results-status-updated {
  font-size: 12px;
  color: rgba(255,255,255,0.68);
}
.f1s-rider-awards {
  display: flex;
  gap: 6px;
  margin-top: 6px;
  flex-wrap: wrap;
}

.f1s-award-pill {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1;
}

.f1s-award-pill--pole {
  background: rgba(245, 158, 11, 0.14);
  color: #b45309;
  border: 1px solid rgba(245, 158, 11, 0.22);
}

.f1s-award-pill--fl {
  background: rgba(59, 130, 246, 0.14);
  color: #1d4ed8;
  border: 1px solid rgba(59, 130, 246, 0.22);
}

.racepsl-shell {
  width: min(1200px, 92%);
  margin: 0 auto;
}

.racepsl-homepage section {
  padding: 72px 0;
}

.racepsl-kicker {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.78rem;
  font-weight: 700;
  margin-bottom: 12px;
  opacity: 0.8;
}

.racepsl-section-heading {
  margin-bottom: 32px;
}

.racepsl-section-heading--center {
  text-align: center;
}

.racepsl-hero__grid,
.racepsl-feature-grid,
.racepsl-card-grid,
.racepsl-hero__actions,
.racepsl-final-cta__actions,
.racepsl-h2h-card__top {
  display: grid;
  gap: 20px;
}

.racepsl-hero__grid {
  grid-template-columns: 1.2fr 0.8fr;
  align-items: center;
}

.racepsl-feature-grid--3,
.racepsl-card-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.racepsl-card-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.racepsl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border-radius: 12px;
  padding: 12px 18px;
  font-weight: 700;
}

.racepsl-btn--primary { background: #ff6a00; color: #fff; }
.racepsl-btn--secondary { background: #1f1f1f; color: #fff; }
.racepsl-btn--ghost { border: 1px solid #d0d0d0; color: inherit; }

.racepsl-dashboard-card,
.racepsl-feature-card,
.racepsl-event-card,
.racepsl-rider-card,
.racepsl-ranking-card,
.racepsl-h2h-card,
.racepsl-final-cta__card {
  border: 1px solid #e7e7e7;
  border-radius: 20px;
  padding: 24px;
  background: #fff;
}

.racepsl-table {
  width: 100%;
  border-collapse: collapse;
}

.racepsl-table th,
.racepsl-table td {
  padding: 14px 12px;
  border-bottom: 1px solid #ececec;
  text-align: left;
}

.racepsl-rider-card__img,
.racepsl-h2h-rider__avatar img {
  width: 100%;
  max-width: 120px;
  border-radius: 16px;
  object-fit: cover;
}

.racepsl-rider-card__placeholder {
  width: 120px;
  height: 120px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: #f3f3f3;
  font-size: 2rem;
  font-weight: 800;
}

.racepsl-badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
}

.racepsl-badge--up { background: #e8f7eb; }
.racepsl-badge--down { background: #fdecec; }
.racepsl-badge--same { background: #f3f3f3; }
.racepsl-badge--live { background: #fff4e8; }

@media (max-width: 960px) {
  .racepsl-hero__grid,
  .racepsl-feature-grid--3,
  .racepsl-card-grid--3,
  .racepsl-card-grid--4 {
    grid-template-columns: 1fr;
  }
}

.rp-chart-col:nth-child(1) .rp-chart-bar { background: #f59e0b; }
.rp-chart-col:nth-child(2) .rp-chart-bar { background: #ef4444; }
.rp-chart-col:nth-child(3) .rp-chart-bar { background: #3b82f6; }
.rp-chart-col:nth-child(4) .rp-chart-bar { background: #10b981; }

.rp-performance-chart {
  margin-top: 14px;
}

.rp-performance-chart-head {
  display: flex;
  gap: 18px;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.rp-performance-legend {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: rgba(255,255,255,0.72);
}

.rp-performance-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display: inline-block;
}

.rp-performance-legend-dot--bar {
  background: linear-gradient(180deg, #f59e0b, #f97316);
}

.rp-performance-legend-dot--line {
  background: #22c55e;
}

.rp-performance-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 18px;
  align-items: end;
  min-height: 260px;
}

.rp-performance-col {
  position: relative;
  text-align: center;
}

.rp-performance-values {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 10px;
  min-height: 38px;
}

.rp-performance-round-points {
  font-size: 13px;
  font-weight: 800;
  color: #ffffff;
}

.rp-performance-cumulative-points {
  font-size: 11px;
  font-weight: 700;
  color: #22c55e;
}

.rp-performance-plot {
  position: relative;
  height: 180px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.rp-performance-bar {
  width: 42px;
  max-width: 80%;
  border-radius: 10px 10px 4px 4px;
  background: linear-gradient(180deg, #f59e0b 0%, #f97316 100%);
  box-shadow: 0 10px 20px rgba(249, 115, 22, 0.22);
  position: relative;
  z-index: 2;
}

.rp-performance-bar.is-best {
  box-shadow: 0 0 0 2px rgba(255,255,255,0.14), 0 12px 24px rgba(249, 115, 22, 0.35);
}

.rp-performance-line-point {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #22c55e;
  border: 2px solid #0f172a;
  z-index: 4;
}

.rp-performance-line-segment {
  position: absolute;
  left: 50%;
  transform-origin: left center;
  height: 3px;
  background: #22c55e;
  z-index: 3;
  border-radius: 999px;
}

.rp-performance-label {
  margin-top: 10px;
  font-size: 12px;
  font-weight: 800;
  color: #f8fafc;
}

.rp-performance-sub-label {
  margin-top: 4px;
  font-size: 11px;
  color: rgba(255,255,255,0.58);
}

.rp-performance-chart {
  margin-top: 14px;
}

.rp-performance-chart-head {
  display: flex;
  gap: 18px;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.rp-performance-legend {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.72);
}

.rp-performance-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display: inline-block;
}

.rp-performance-legend-dot--bar {
  background: linear-gradient(180deg, #f59e0b, #f97316);
}

.rp-performance-legend-dot--line {
  background: #22c55e;
}

.rp-performance-plot-shell {
  position: relative;
  padding-top: 8px;
}

.rp-performance-svg {
  position: absolute;
  left: 0;
  right: 0;
  top: 56px;
  width: 100%;
  height: 220px;
  z-index: 3;
  pointer-events: none;
  overflow: visible;
}

.rp-performance-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
  gap: 18px;
  align-items: end;
}

.rp-performance-col {
  text-align: center;
}

.rp-performance-values {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 10px;
  min-height: 38px;
}

.rp-performance-round-points {
  font-size: 13px;
  font-weight: 800;
  color: #ffffff;
}

.rp-performance-cumulative-points {
  font-size: 11px;
  font-weight: 700;
  color: #22c55e;
}

.rp-performance-bar-zone {
  position: relative;
  height: 220px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.rp-performance-bar {
  width: 42px;
  max-width: 80%;
  border-radius: 10px 10px 4px 4px;
  background: linear-gradient(180deg, #f59e0b 0%, #f97316 100%);
  box-shadow: 0 10px 20px rgba(249, 115, 22, 0.22);
  position: relative;
  z-index: 2;
}

.rp-performance-bar.is-best {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.14), 0 12px 24px rgba(249, 115, 22, 0.35);
}

.rp-performance-label {
  margin-top: 10px;
  font-size: 12px;
  font-weight: 800;
  color: #f8fafc;
}

.rp-performance-sub-label {
  margin-top: 4px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.58);
}

.weekend-series-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.series-card {
  border: 1px solid #e7e2d8;
  border-radius: 16px;
  padding: 20px;
  background: #fff;
}

.series-card h3 {
  margin-bottom: 12px;
}

.series-insight {
  margin-top: 10px;
  color: #6f685d;
  font-style: italic;
}

.ledger-rider-story {
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.2;
  color: #64748b;
}

.ledger-rider-story span + span {
  margin-left: 8px;
}

.ledger-rider-move {
  font-weight: 900;
}

.ledger-rider-move.is-up {
  color: #15803d;
}

.ledger-rider-move.is-down {
  color: #b91c1c;
}

.ledger-rider-move.is-neutral {
  color: #64748b;
}

.ledger-rider-points {
  font-weight: 700;
  color: #0f172a;
}

.ledger-rider-gap {
  color: #475569;
}

.race-control-hero-card,
.race-control-section-card {
  background: linear-gradient(135deg, #0b1020 0%, #11182d 55%, #171f36 100%);
  color: #fff;
  border-radius: 22px;
  padding: 28px;
  margin-bottom: 24px;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 24px 60px rgba(0,0,0,0.18);
}

.race-control-hero-card {
  position: relative;
  overflow: hidden;
}

.race-control-hero-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, #d9000a 0 25%, #c49a00 25% 50%, #008c3a 50% 75%, #0055cc 75% 100%);
  height: 5px;
}

.race-control-hero-top,
.race-control-section-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.race-control-kicker {
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #9aa4bf;
  font-weight: 800;
  margin: 0 0 8px;
}

.race-control-title {
  font-size: clamp(36px, 5vw, 64px);
  line-height: 0.95;
  letter-spacing: -0.04em;
  margin: 0;
}

.race-control-subtitle {
  color: #c8d0e6;
  font-size: 17px;
  margin-top: 10px;
}

.race-control-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: rgba(217,0,10,0.12);
  color: #ffccd0;
  border: 1px solid rgba(217,0,10,0.45);
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
}

.race-control-live-pill span {
  width: 9px;
  height: 9px;
  background: #d9000a;
  border-radius: 50%;
  box-shadow: 0 0 18px #d9000a;
}

.race-control-filter {
  margin-top: 26px;
}

.race-control-filter label {
  display: block;
  color: #9aa4bf;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.race-control-filter select {
  width: 100%;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-weight: 700;
}

.race-control-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}

.race-control-stat-card {
  background: #fff;
  border-radius: 18px;
  padding: 20px;
  border: 1px solid #e6e9f0;
  box-shadow: 0 12px 28px rgba(10, 16, 32, 0.08);
  border-top: 5px solid #11182d;
}

.race-control-stat-card span {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  font-size: 11px;
  color: #6b7280;
  font-weight: 900;
}

.race-control-stat-card strong {
  display: block;
  font-size: 42px;
  line-height: 1;
  margin-top: 12px;
  color: #11182d;
}

.race-control-stat-card.warning {
  border-top-color: #c49a00;
  background: #fffaf0;
}

.race-control-stat-card.danger {
  border-top-color: #d9000a;
  background: #fff3f3;
}

.race-control-section-card h2 {
  font-size: 28px;
  margin: 0;
}

.race-control-section-card .btn,
.race-control-hero-card .btn {
  background: rgba(255,255,255,0.1);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.18);
  padding: 10px 14px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 800;
}

.race-control-section-card .btn-primary {
  background: #d9000a;
  border-color: #d9000a;
}

.table-wrap {
  overflow-x: auto;
  margin-top: 18px;
}

.race-control-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #121827;
  border-radius: 18px;
  overflow: hidden;
}

.race-control-table th {
  background: #080d1a;
  color: #fff;
  text-align: left;
  padding: 14px 16px;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.race-control-table td {
  padding: 15px 16px;
  border-bottom: 1px solid #edf0f5;
  vertical-align: middle;
}

.race-control-id {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  color: #6b7280;
  font-weight: 800;
}

.severity-pill,
.status-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.severity-minor,
.status-pill.safe {
  background: #eaf8ef;
  color: #007a32;
}

.severity-serious,
.status-pill.warning {
  background: #fff4df;
  color: #b85c00;
}

.severity-critical,
.status-pill.danger {
  background: #ffe8ea;
  color: #d9000a;
}

.table-primary-link {
  color: #c49a00;
  font-weight: 900;
  text-decoration: none;
}

.muted {
  color: #8a93a8;
}

.race-control-split-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.race-control-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.race-control-list-item {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 16px;
}

.race-control-list-item strong {
  display: block;
  color: #fff;
  font-size: 17px;
}

.race-control-list-item span {
  display: block;
  color: #aab4ce;
  margin-top: 4px;
}

@media (max-width: 980px) {
  .race-control-stat-grid,
  .race-control-split-grid {
    grid-template-columns: 1fr;
  }

  .race-control-hero-top,
  .race-control-section-header {
    flex-direction: column;
  }
}

.incident-console-hero {
  position: relative;
  background:
    radial-gradient(circle at top right, rgba(217, 0, 10, 0.20), transparent 36%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 52%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 30px;
  margin-bottom: 22px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 24px 60px rgba(0,0,0,0.24);
}

.incident-console-hero__top {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.incident-console-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.incident-console-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 0.92;
  letter-spacing: -0.045em;
  font-weight: 950;
}

.incident-console-subtitle {
  margin: 14px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 720px;
}

.incident-console-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.incident-console-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,0.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.16);
  text-decoration: none;
  font-weight: 900;
}

.incident-console-btn--danger {
  background: #d9000a;
  border-color: #d9000a;
}

.incident-console-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.incident-console-stripe .red { background: #d9000a; }
.incident-console-stripe .gold { background: #c49a00; }
.incident-console-stripe .green { background: #008c3a; }
.incident-console-stripe .blue { background: #0055cc; }

.incident-console-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.incident-console-stat {
  background: #fff;
  border: 1px solid #e5e9f2;
  border-radius: 18px;
  padding: 18px;
  border-top: 5px solid #111827;
  box-shadow: 0 12px 26px rgba(10,16,32,0.07);
}

.incident-console-stat span {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11px;
  font-weight: 950;
  color: #6b7280;
}

.incident-console-stat strong {
  display: block;
  margin-top: 12px;
  font-size: 40px;
  line-height: 1;
  color: #111827;
}

.incident-console-stat--danger {
  border-top-color: #d9000a;
  background: #fff3f3;
}

.incident-console-stat--warning {
  border-top-color: #c49a00;
  background: #fffaf0;
}

.incident-console-card {
  background: linear-gradient(135deg, #0f1724 0%, #151e31 100%);
  border-radius: 24px;
  padding: 26px;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 22px 54px rgba(0,0,0,0.20);
}

.incident-console-card__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 18px;
}

.incident-console-card h2 {
  margin: 0;
  font-size: 32px;
  letter-spacing: -0.03em;
}

.incident-console-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.incident-console-filter {
  text-decoration: none;
  color: #e8edf8;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  padding: 9px 13px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
}

.incident-console-filter--danger {
  background: rgba(217,0,10,0.16);
  border-color: rgba(217,0,10,0.35);
}

.incident-console-filter--warning {
  background: rgba(196,154,0,0.18);
  border-color: rgba(196,154,0,0.38);
}

.incident-console-table-wrap {
  overflow-x: auto;
}

.incident-console-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #111827;
  border-radius: 18px;
  overflow: hidden;
}

.incident-console-table th {
  background: #080d1a;
  color: #fff;
  padding: 14px 15px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  font-size: 11px;
}

.incident-console-table td {
  padding: 15px;
  border-bottom: 1px solid #edf0f5;
  vertical-align: middle;
}

.incident-console-id {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight: 950;
  color: #647086;
}

.incident-console-rider-link,
.incident-console-open {
  color: #b77900;
  font-weight: 950;
  text-decoration: none;
}

.incident-console-severity,
.incident-console-pill,
.incident-console-action {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: 0.10em;
  font-weight: 950;
  text-transform: uppercase;
}

.incident-console-severity--minor,
.incident-console-pill--safe,
.incident-console-action--safe {
  background: #e8f8ee;
  color: #007a32;
}

.incident-console-severity--serious,
.incident-console-pill--warning,
.incident-console-action--warning {
  background: #fff1d6;
  color: #a55300;
}

.incident-console-severity--critical,
.incident-console-pill--danger,
.incident-console-action--danger {
  background: #ffe4e7;
  color: #d9000a;
}

.incident-console-muted {
  color: #8a94a8;
  font-weight: 700;
}

.incident-console-empty {
  background: rgba(255,255,255,0.08);
  border: 1px dashed rgba(255,255,255,0.18);
  border-radius: 18px;
  padding: 26px;
}

.incident-console-empty strong,
.incident-console-empty span {
  display: block;
}

.incident-console-empty span {
  color: #aab4ca;
  margin-top: 6px;
}

@media (max-width: 1100px) {
  .incident-console-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .incident-console-hero__top,
  .incident-console-card__header {
    flex-direction: column;
  }
}

@media (max-width: 720px) {
  .incident-console-stats {
    grid-template-columns: 1fr;
  }
}

.incident-show-hero,
.incident-show-card {
  background:
    radial-gradient(circle at top right, rgba(217, 0, 10, 0.18), transparent 32%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 22px 54px rgba(0,0,0,0.20);
}

.incident-show-hero__top,
.incident-show-card__header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
}

.incident-show-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.incident-show-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: 0.95;
  letter-spacing: -0.045em;
  font-weight: 950;
}

.incident-show-subtitle {
  color: #cad2e4;
  font-size: 17px;
  margin: 12px 0 0;
}

.incident-show-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.incident-show-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,0.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.16);
  text-decoration: none;
  font-weight: 900;
}

.incident-show-btn--gold {
  background: #c49a00;
  border-color: #c49a00;
  color: #111827;
}

.incident-show-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.incident-show-stripe .red { background: #d9000a; }
.incident-show-stripe .gold { background: #c49a00; }
.incident-show-stripe .green { background: #008c3a; }
.incident-show-stripe .blue { background: #0055cc; }

.incident-show-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.incident-show-status-card {
  background: #fff;
  border: 1px solid #e5e9f2;
  border-radius: 18px;
  padding: 18px;
  border-top: 5px solid #111827;
  box-shadow: 0 12px 26px rgba(10,16,32,0.07);
}

.incident-show-status-card span {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11px;
  font-weight: 950;
  color: #6b7280;
}

.incident-show-status-card strong {
  display: block;
  margin-top: 10px;
  font-size: 24px;
  line-height: 1.1;
  color: #111827;
}

.incident-show-status-card--critical,
.incident-show-status-card--danger {
  border-top-color: #d9000a;
  background: #fff3f3;
}

.incident-show-status-card--serious {
  border-top-color: #c49a00;
  background: #fffaf0;
}

.incident-show-status-card--minor,
.incident-show-status-card--safe {
  border-top-color: #008c3a;
  background: #f0faf4;
}

.incident-show-alert {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: #fff1f1;
  border: 1px solid #ffcfd2;
  border-left: 6px solid #d9000a;
  color: #7f0007;
  padding: 16px 18px;
  border-radius: 18px;
  margin-bottom: 22px;
}

.incident-show-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 22px;
}

.incident-show-card h2 {
  margin: 0;
  font-size: 28px;
  letter-spacing: -0.03em;
}

.incident-show-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 20px;
}

.incident-show-detail-grid.single {
  grid-template-columns: 1fr;
}

.incident-show-detail-grid > div {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px;
  padding: 15px;
}

.incident-show-detail-grid span,
.incident-show-label {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 7px;
}

.incident-show-detail-grid strong {
  color: #fff;
  font-size: 16px;
}

.incident-show-medical-state {
  margin-top: 20px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.08);
}

.incident-show-medical-state span {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 950;
}

.incident-show-medical-state strong {
  display: block;
  margin-top: 8px;
  font-size: 32px;
  line-height: 1;
}

.incident-show-medical-state small {
  display: block;
  color: #cbd5e1;
  margin-top: 10px;
}

.incident-show-medical-state.unfit strong { color: #ff4d55; }
.incident-show-medical-state.pending_review strong { color: #ffb020; }
.incident-show-medical-state.fit strong { color: #35d07f; }

.incident-show-chip-section,
.incident-show-notes-grid,
.incident-show-attachment-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 20px;
}

.incident-show-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.incident-show-chip {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  font-weight: 950;
}

.incident-show-chip.danger {
  background: #ffe4e7;
  color: #d9000a;
}

.incident-show-chip.info {
  background: #e8f1ff;
  color: #0055cc;
}

.incident-show-notes {
  background: #fff;
  color: #111827;
  border-radius: 16px;
  padding: 16px;
  min-height: 100px;
}

.incident-show-muted {
  color: #98a3ba;
}

.incident-show-attachment {
  display: block;
  background: rgba(255,255,255,0.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px;
  padding: 16px;
  text-decoration: none;
  font-weight: 900;
}

.incident-show-attachment.muted {
  color: #98a3ba;
}

@media (max-width: 980px) {
  .incident-show-grid,
  .incident-show-status-grid,
  .incident-show-chip-section,
  .incident-show-notes-grid,
  .incident-show-attachment-row {
    grid-template-columns: 1fr;
  }

  .incident-show-hero__top,
  .incident-show-card__header {
    flex-direction: column;
  }
}

.incident-form-hero {
  position: relative;
  background:
    radial-gradient(circle at top right, rgba(217, 0, 10, 0.18), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 30px;
  margin-bottom: 22px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 24px 60px rgba(0,0,0,0.22);
}

.incident-form-hero__top {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.incident-form-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.incident-form-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 0.92;
  letter-spacing: -0.045em;
  font-weight: 950;
}

.incident-form-subtitle {
  margin: 14px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 760px;
}

.incident-form-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.incident-form-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,0.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.16);
  text-decoration: none;
  font-weight: 900;
}

.incident-form-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.incident-form-stripe .red { background: #d9000a; }
.incident-form-stripe .gold { background: #c49a00; }
.incident-form-stripe .green { background: #008c3a; }
.incident-form-stripe .blue { background: #0055cc; }

.incident-form-error {
  background: #fff1f1;
  color: #7f0007;
  border: 1px solid #ffcfd2;
  border-left: 6px solid #d9000a;
  border-radius: 18px;
  padding: 16px 20px;
  margin-bottom: 22px;
}

.incident-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 22px;
  align-items: start;
}

.incident-form-main {
  display: grid;
  gap: 22px;
}

.incident-form-card,
.incident-form-panel,
.incident-form-submit-card {
  background:
    radial-gradient(circle at top right, rgba(217, 0, 10, 0.12), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #151e31 100%);
  color: #fff;
  border-radius: 24px;
  padding: 26px;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 22px 54px rgba(0,0,0,0.18);
}

.incident-form-card__header {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 22px;
}

.incident-form-step {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(217,0,10,0.16);
  color: #ffb4b8;
  border: 1px solid rgba(217,0,10,0.34);
  font-weight: 950;
  margin: 0;
}

.incident-form-card h2,
.incident-form-panel h2,
.incident-form-submit-card h2 {
  margin: 0;
  font-size: 28px;
  letter-spacing: -0.03em;
}

.incident-form-fields {
  display: grid;
  gap: 16px;
}

.incident-form-fields.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.incident-form-field.wide {
  grid-column: 1 / -1;
}

.incident-form-field label,
.incident-form-label {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 8px;
}

.incident-form-input,
.incident-form-textarea {
  width: 100%;
  background: rgba(255,255,255,0.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 14px;
  padding: 13px 14px;
  font-weight: 800;
  outline: none;
}

.incident-form-input::placeholder,
.incident-form-textarea::placeholder {
  color: #758197;
}

.incident-form-input:focus,
.incident-form-textarea:focus {
  border-color: rgba(217,0,10,0.65);
  box-shadow: 0 0 0 3px rgba(217,0,10,0.12);
}

.incident-form-block {
  margin-bottom: 22px;
}

.incident-form-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.incident-form-check-chip {
  cursor: pointer;
}

.incident-form-check-chip input {
  display: none;
}

.incident-form-check-chip span {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.13);
  color: #cbd5e1;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  font-weight: 950;
}

.incident-form-check-chip.danger input:checked + span {
  background: #ffe4e7;
  color: #d9000a;
  border-color: #ffcfd2;
}

.incident-form-check-chip.info input:checked + span {
  background: #e8f1ff;
  color: #0055cc;
  border-color: #bcd4ff;
}

.incident-form-side {
  position: sticky;
  top: 20px;
  display: grid;
  gap: 22px;
}

.incident-form-alert-box {
  background: #fff1f1;
  color: #7f0007;
  border: 1px solid #ffcfd2;
  border-left: 6px solid #d9000a;
  border-radius: 18px;
  padding: 14px 16px;
  margin: 18px 0;
}

.incident-form-alert-box strong,
.incident-form-alert-box span {
  display: block;
}

.incident-form-alert-box span {
  margin-top: 4px;
  color: #8a1b22;
}

.incident-form-toggle {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 16px;
  padding: 15px;
  margin-bottom: 12px;
  cursor: pointer;
  color: #ffffff;
}

.incident-form-toggle input {
  margin-top: 4px;
  transform: scale(1.2);
}

.incident-form-toggle strong {
  display: block;
  color: #ffffff;
}

.incident-form-toggle small {
  display: block;
  color: #cbd5e1;
  margin-top: 4px;
}

.incident-form-toggle.danger {
  border-left: 5px solid #d9000a;
}

.incident-form-toggle.warning {
  border-left: 5px solid #c49a00;
}

.incident-form-submit-card p {
  color: #cad2e4;
  line-height: 1.5;
}

.incident-form-submit {
  width: 100%;
  border: none;
  background: #d9000a;
  color: #fff;
  padding: 15px 18px;
  border-radius: 16px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  cursor: pointer;
  margin-top: 14px;
}

@media (max-width: 1100px) {
  .incident-form-grid {
    grid-template-columns: 1fr;
  }

  .incident-form-side {
    position: static;
  }

  .incident-form-hero__top {
    flex-direction: column;
  }
}

@media (max-width: 720px) {
  .incident-form-fields.two {
    grid-template-columns: 1fr;
  }
}

.incident-form-card--details {
  transition: all 0.25s ease;
  border-left: 8px solid rgba(255,255,255,0.08);
}

.incident-form-card--details.severity-minor {
  border-left-color: #22c55e;
  box-shadow: 0 0 0 2px rgba(34,197,94,.35), 0 22px 54px rgba(34,197,94,.18);
}

.incident-form-card--details.severity-serious {
  border-left-color: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245,158,11,.40), 0 22px 54px rgba(245,158,11,.22);
}

.incident-form-card--details.severity-critical {
  border-left-color: #ef4444;
  box-shadow: 0 0 0 2px rgba(239,68,68,.45), 0 22px 54px rgba(239,68,68,.28);
}

.incident-severity-live-badge {
  display: inline-flex;
  margin-top: 10px;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.14em;
}

.incident-severity-live-badge.severity-none {
  background: rgba(255,255,255,.10);
  color: #cbd5e1;
}

.incident-severity-live-badge.severity-minor {
  background: #dcfce7;
  color: #15803d;
}

.incident-severity-live-badge.severity-serious {
  background: #fef3c7;
  color: #b45309;
}

.incident-severity-live-badge.severity-critical {
  background: #fee2e2;
  color: #dc2626;
}

.incident-form-panel {
  transition: all 0.25s ease;
  border-left: 8px solid rgba(255,255,255,0.08);
}

.incident-form-panel.decision-unfit {
  border-left-color: #ef4444;
  box-shadow: 0 0 0 2px rgba(239,68,68,.45), 0 22px 54px rgba(239,68,68,.28);
}

.incident-form-panel.decision-hospital {
  border-left-color: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245,158,11,.40), 0 22px 54px rgba(245,158,11,.22);
}

.incident-form-panel.decision-claim {
  border-left-color: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245,158,11,.30), 0 22px 54px rgba(245,158,11,.16);
}

.claims-console-hero,
.claims-console-card {
  background:
    radial-gradient(circle at top right, rgba(196, 154, 0, 0.20), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 30px;
  margin-bottom: 22px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 24px 60px rgba(0,0,0,0.22);
}

.claims-console-hero__top,
.claims-console-card__header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.claims-console-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.claims-console-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 0.92;
  letter-spacing: -0.045em;
  font-weight: 950;
}

.claims-console-subtitle {
  margin: 14px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 760px;
}

.claims-console-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.claims-console-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,0.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.16);
  text-decoration: none;
  font-weight: 900;
}

.claims-console-btn--gold {
  background: #c49a00;
  border-color: #c49a00;
  color: #111827;
}

.claims-console-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.claims-console-stripe .red { background: #d9000a; }
.claims-console-stripe .gold { background: #c49a00; }
.claims-console-stripe .green { background: #008c3a; }
.claims-console-stripe .blue { background: #0055cc; }

.claims-console-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.claims-console-stat {
  background: #fff;
  border: 1px solid #e5e9f2;
  border-radius: 18px;
  padding: 18px;
  border-top: 5px solid #111827;
  box-shadow: 0 12px 26px rgba(10,16,32,0.07);
}

.claims-console-stat span {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11px;
  font-weight: 950;
  color: #6b7280;
}

.claims-console-stat strong {
  display: block;
  margin-top: 12px;
  font-size: 40px;
  line-height: 1;
  color: #111827;
}

.claims-console-stat--warning {
  border-top-color: #c49a00;
  background: #fffaf0;
}

.claims-console-stat--safe {
  border-top-color: #008c3a;
  background: #f0faf4;
}

.claims-console-stat--danger {
  border-top-color: #d9000a;
  background: #fff3f3;
}

.claims-console-card h2 {
  margin: 0;
  font-size: 32px;
  letter-spacing: -0.03em;
}

.claims-console-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.claims-console-filter {
  text-decoration: none;
  color: #e8edf8;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  padding: 9px 13px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
}

.claims-console-filter--warning {
  background: rgba(196,154,0,0.18);
  border-color: rgba(196,154,0,0.38);
}

.claims-console-filter--safe {
  background: rgba(0,140,58,0.18);
  border-color: rgba(0,140,58,0.38);
}

.claims-console-filter--danger {
  background: rgba(217,0,10,0.16);
  border-color: rgba(217,0,10,0.35);
}

.claims-console-table-wrap {
  overflow-x: auto;
  margin-top: 18px;
}

.claims-console-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #111827;
  border-radius: 18px;
  overflow: hidden;
}

.claims-console-table th {
  background: #080d1a;
  color: #fff;
  padding: 14px 15px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  font-size: 11px;
}

.claims-console-table td {
  padding: 15px;
  border-bottom: 1px solid #edf0f5;
  vertical-align: middle;
}

.claims-console-id {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight: 950;
  color: #647086;
}

.claims-console-link,
.claims-console-open {
  color: #b77900;
  font-weight: 950;
  text-decoration: none;
}

.claims-console-muted {
  color: #8a94a8;
  font-weight: 700;
}

.claims-console-pill,
.claims-console-status {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: 0.10em;
  font-weight: 950;
  text-transform: uppercase;
}

.claims-console-pill--safe,
.claims-console-status--approved {
  background: #e8f8ee;
  color: #007a32;
}

.claims-console-pill--muted {
  background: #edf0f5;
  color: #647086;
}

.claims-console-status--pending {
  background: #fff1d6;
  color: #a55300;
}

.claims-console-status--rejected {
  background: #ffe4e7;
  color: #d9000a;
}

.claims-console-empty {
  background: rgba(255,255,255,0.08);
  border: 1px dashed rgba(255,255,255,0.18);
  border-radius: 18px;
  padding: 26px;
  margin-top: 18px;
}

.claims-console-empty strong,
.claims-console-empty span {
  display: block;
}

.claims-console-empty span {
  color: #aab4ca;
  margin-top: 6px;
}

@media (max-width: 1100px) {
  .claims-console-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .claims-console-hero__top,
  .claims-console-card__header {
    flex-direction: column;
  }
}

@media (max-width: 720px) {
  .claims-console-stats {
    grid-template-columns: 1fr;
  }
}

.claim-file-hero,
.claim-file-card,
.claim-file-panel,
.claim-file-timeline-card {
  background:
    radial-gradient(circle at top right, rgba(196, 154, 0, 0.18), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 22px 54px rgba(0,0,0,0.20);
}

.claim-file-hero__top {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.claim-file-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.claim-file-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: 0.95;
  letter-spacing: -0.045em;
  font-weight: 950;
}

.claim-file-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 760px;
}

.claim-file-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.claim-file-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,0.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.16);
  text-decoration: none;
  font-weight: 900;
}

.claim-file-btn--gold {
  background: #c49a00;
  border-color: #c49a00;
  color: #111827;
}

.claim-file-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.claim-file-stripe .red { background: #d9000a; }
.claim-file-stripe .gold { background: #c49a00; }
.claim-file-stripe .green { background: #008c3a; }
.claim-file-stripe .blue { background: #0055cc; }

.claim-file-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 22px;
  align-items: start;
}

.claim-file-main {
  display: grid;
  gap: 22px;
}

.claim-file-side {
  position: sticky;
  top: 20px;
  display: grid;
  gap: 22px;
}

.claim-file-card__header h2,
.claim-file-panel h2 {
  margin: 0;
  font-size: 30px;
  letter-spacing: -0.03em;
}

.claim-file-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.claim-file-meta-block,
.claim-file-incident-card,
.claim-file-document,
.claim-file-timeline-row {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px;
  padding: 16px;
}

.claim-file-meta-block span,
.claim-file-timeline-row span {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 7px;
}

.claim-file-meta-block strong,
.claim-file-timeline-row strong {
  display: block;
  color: #fff;
  font-size: 17px;
}

.claim-file-incident-card,
.claim-file-document {
  margin-top: 18px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
}

.claim-file-incident-card strong {
  display: block;
  color: #fff;
  font-size: 18px;
}

.claim-file-incident-card p {
  color: #cad2e4;
  margin: 6px 0 0;
}

.claim-file-inline-link {
  color: #f2c14e;
  font-weight: 950;
  text-decoration: none;
}

.claim-file-document--empty {
  color: #98a3ba;
}

.claim-file-status {
  display: inline-flex;
  margin-top: 18px;
  padding: 9px 14px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: 0.14em;
  font-weight: 950;
}

.claim-file-status--pending {
  background: #fff1d6;
  color: #a55300;
}

.claim-file-status--approved {
  background: #e8f8ee;
  color: #007a32;
}

.claim-file-status--rejected {
  background: #ffe4e7;
  color: #d9000a;
}

.claim-file-panel-copy {
  color: #cad2e4;
  line-height: 1.5;
  margin: 18px 0;
}

.claim-file-decision-actions {
  display: grid;
  gap: 12px;
}

.claim-file-action-btn {
  width: 100%;
  border: none;
  padding: 14px 16px;
  border-radius: 14px;
  font-weight: 950;
  cursor: pointer;
}

.claim-file-action-btn--approve {
  background: #008c3a;
  color: #fff;
}

.claim-file-action-btn--reject {
  background: #d9000a;
  color: #fff;
}

@media (max-width: 1000px) {
  .claim-file-grid {
    grid-template-columns: 1fr;
  }

  .claim-file-side {
    position: static;
  }

  .claim-file-hero__top {
    flex-direction: column;
  }
}

.claim-form-hero,
.claim-form-card,
.claim-form-panel,
.claim-form-submit-card {
  background:
    radial-gradient(circle at top right, rgba(196, 154, 0, 0.18), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 22px 54px rgba(0,0,0,0.20);
}

.claim-form-hero__top {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.claim-form-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.claim-form-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.claim-form-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 760px;
}

.claim-form-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.claim-form-btn {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
}

.claim-form-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.claim-form-stripe .red { background: #d9000a; }
.claim-form-stripe .gold { background: #c49a00; }
.claim-form-stripe .green { background: #008c3a; }
.claim-form-stripe .blue { background: #0055cc; }

.claim-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 22px;
  align-items: start;
}

.claim-form-main {
  display: grid;
  gap: 22px;
}

.claim-form-side {
  position: sticky;
  top: 20px;
  display: grid;
  gap: 22px;
}

.claim-form-card__header {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 22px;
}

.claim-form-step {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(196,154,0,.18);
  color: #ffe29a;
  border: 1px solid rgba(196,154,0,.38);
  font-weight: 950;
  margin: 0;
}

.claim-form-card h2,
.claim-form-panel h2,
.claim-form-submit-card h2 {
  margin: 0;
  font-size: 28px;
  letter-spacing: -.03em;
}

.claim-form-fields {
  display: grid;
  gap: 16px;
}

.claim-form-fields.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.claim-form-field.wide {
  grid-column: 1 / -1;
}

.claim-form-field label,
.claim-form-upload label {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 8px;
}

.claim-form-input,
.claim-form-textarea {
  width: 100%;
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  padding: 13px 14px;
  font-weight: 800;
  outline: none;
}

.claim-form-input:focus,
.claim-form-textarea:focus {
  border-color: rgba(196,154,0,.70);
  box-shadow: 0 0 0 3px rgba(196,154,0,.16);
}

.claim-form-upload p,
.claim-form-submit-card p {
  color: #cad2e4;
  line-height: 1.5;
}

.claim-form-alert-box {
  background: #fffaf0;
  color: #7a4b00;
  border: 1px solid #ffe5a3;
  border-left: 6px solid #c49a00;
  border-radius: 18px;
  padding: 14px 16px;
  margin: 18px 0;
}

.claim-form-alert-box strong,
.claim-form-alert-box span {
  display: block;
}

.claim-form-status-pill {
  display: inline-flex;
  padding: 9px 14px;
  border-radius: 999px;
  background: #fff1d6;
  color: #a55300;
  font-size: 12px;
  letter-spacing: .14em;
  font-weight: 950;
}

.claim-form-submit {
  width: 100%;
  border: none;
  background: #c49a00;
  color: #111827;
  padding: 15px 18px;
  border-radius: 16px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .12em;
  cursor: pointer;
  margin-top: 14px;
}

.claim-form-error {
  background: #fff1f1;
  color: #7f0007;
  border: 1px solid #ffcfd2;
  border-left: 6px solid #d9000a;
  border-radius: 18px;
  padding: 16px 20px;
  margin-bottom: 22px;
}

@media (max-width: 1100px) {
  .claim-form-grid {
    grid-template-columns: 1fr;
  }

  .claim-form-side {
    position: static;
  }

  .claim-form-hero__top {
    flex-direction: column;
  }
}

@media (max-width: 720px) {
  .claim-form-fields.two {
    grid-template-columns: 1fr;
  }
}

.medical-console-hero,
.medical-console-card {
  background:
    radial-gradient(circle at top right, rgba(0, 140, 58, 0.18), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 30px;
  margin-bottom: 22px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 24px 60px rgba(0,0,0,0.22);
}

.medical-console-hero__top,
.medical-console-card__header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.medical-console-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.medical-console-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 0.92;
  letter-spacing: -0.045em;
  font-weight: 950;
}

.medical-console-subtitle {
  margin: 14px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 760px;
}

.medical-console-actions,
.medical-console-filter-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.medical-console-btn,
.medical-console-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,0.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.16);
  text-decoration: none;
  font-weight: 900;
}

.medical-console-btn--green {
  background: #008c3a;
  border-color: #008c3a;
}

.medical-console-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.medical-console-stripe .red { background: #d9000a; }
.medical-console-stripe .gold { background: #c49a00; }
.medical-console-stripe .green { background: #008c3a; }
.medical-console-stripe .blue { background: #0055cc; }

.medical-console-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.medical-console-stat {
  background: #fff;
  border: 1px solid #e5e9f2;
  border-radius: 18px;
  padding: 18px;
  border-top: 5px solid #111827;
  box-shadow: 0 12px 26px rgba(10,16,32,0.07);
}

.medical-console-stat span {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11px;
  font-weight: 950;
  color: #6b7280;
}

.medical-console-stat strong {
  display: block;
  margin-top: 12px;
  font-size: 40px;
  line-height: 1;
  color: #111827;
}

.medical-console-stat--warning { border-top-color: #c49a00; background: #fffaf0; }
.medical-console-stat--safe { border-top-color: #008c3a; background: #f0faf4; }
.medical-console-stat--danger { border-top-color: #d9000a; background: #fff3f3; }

.medical-console-card h2 {
  margin: 0;
  font-size: 32px;
  letter-spacing: -0.03em;
}

.medical-console-filter {
  padding: 9px 13px;
  border-radius: 999px;
  font-size: 12px;
}

.medical-console-filter--warning { background: rgba(196,154,0,0.18); border-color: rgba(196,154,0,0.38); }
.medical-console-filter--safe { background: rgba(0,140,58,0.18); border-color: rgba(0,140,58,0.38); }
.medical-console-filter--danger { background: rgba(217,0,10,0.16); border-color: rgba(217,0,10,0.35); }

.medical-console-table-wrap {
  overflow-x: auto;
  margin-top: 18px;
}

.medical-console-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #111827;
  border-radius: 18px;
  overflow: hidden;
}

.medical-console-table th {
  background: #080d1a;
  color: #fff;
  padding: 14px 15px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  font-size: 11px;
}

.medical-console-table td {
  padding: 15px;
  border-bottom: 1px solid #edf0f5;
  vertical-align: middle;
}

.medical-console-id {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight: 950;
  color: #647086;
}

.medical-console-link,
.medical-console-open {
  color: #008c3a;
  font-weight: 950;
  text-decoration: none;
}

.medical-console-muted {
  color: #8a94a8;
  font-weight: 700;
}

.medical-console-pill,
.medical-console-status {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: 0.10em;
  font-weight: 950;
  text-transform: uppercase;
}

.medical-console-pill--safe,
.medical-console-status--approved {
  background: #e8f8ee;
  color: #007a32;
}

.medical-console-pill--muted {
  background: #edf0f5;
  color: #647086;
}

.medical-console-status--submitted {
  background: #fff1d6;
  color: #a55300;
}

.medical-console-status--rejected {
  background: #ffe4e7;
  color: #d9000a;
}

.medical-console-empty {
  background: rgba(255,255,255,0.08);
  border: 1px dashed rgba(255,255,255,0.18);
  border-radius: 18px;
  padding: 26px;
  margin-top: 18px;
}

.medical-console-empty strong,
.medical-console-empty span {
  display: block;
}

.medical-console-empty span {
  color: #aab4ca;
  margin-top: 6px;
}

@media (max-width: 1100px) {
  .medical-console-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .medical-console-hero__top,
  .medical-console-card__header {
    flex-direction: column;
  }
}

@media (max-width: 720px) {
  .medical-console-stats {
    grid-template-columns: 1fr;
  }
}

.medical-file-hero,
.medical-file-card,
.medical-file-panel {
  background: radial-gradient(circle at top right, rgba(0, 140, 58, 0.18), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 22px 54px rgba(0,0,0,0.20);
}

.medical-file-hero__top {
  display: flex;
  justify-content: space-between;
  gap: 24px;
}

.medical-file-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.medical-file-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.medical-file-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
}

.medical-file-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.medical-file-btn {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
}

.medical-file-btn--green {
  background: #008c3a;
  border-color: #008c3a;
}

.medical-file-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.medical-file-stripe .red { background: #d9000a; }
.medical-file-stripe .gold { background: #c49a00; }
.medical-file-stripe .green { background: #008c3a; }
.medical-file-stripe .blue { background: #0055cc; }

.medical-file-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 22px;
  align-items: start;
}

.medical-file-main {
  display: grid;
  gap: 22px;
}

.medical-file-side {
  position: sticky;
  top: 20px;
}

.medical-file-card h2,
.medical-file-panel h2 {
  margin: 0;
  font-size: 30px;
  letter-spacing: -.03em;
}

.medical-file-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.medical-file-meta-block,
.medical-file-document {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 16px;
}

.medical-file-meta-block span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 7px;
}

.medical-file-meta-block strong {
  color: #fff;
  font-size: 17px;
}

.medical-file-document {
  margin-top: 18px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
}

.medical-file-document--empty {
  color: #98a3ba;
}

.medical-file-inline-link {
  color: #35d07f;
  font-weight: 950;
  text-decoration: none;
}

.medical-file-status {
  display: inline-flex;
  margin-top: 18px;
  padding: 9px 14px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: .14em;
  font-weight: 950;
}

.medical-file-status--submitted {
  background: #fff1d6;
  color: #a55300;
}

.medical-file-status--approved {
  background: #e8f8ee;
  color: #007a32;
}

.medical-file-status--rejected {
  background: #ffe4e7;
  color: #d9000a;
}

.medical-file-panel-copy {
  color: #cad2e4;
  line-height: 1.5;
  margin: 18px 0;
}

.medical-file-decision-actions {
  display: grid;
  gap: 12px;
}

.medical-file-action-btn {
  width: 100%;
  border: none;
  padding: 14px 16px;
  border-radius: 14px;
  font-weight: 950;
  cursor: pointer;
}

.medical-file-action-btn--approve {
  background: #008c3a;
  color: #fff;
}

.medical-file-action-btn--reject {
  background: #d9000a;
  color: #fff;
}

@media (max-width: 1000px) {
  .medical-file-grid {
    grid-template-columns: 1fr;
  }

  .medical-file-side {
    position: static;
  }

  .medical-file-hero__top {
    flex-direction: column;
  }
}

.medical-form-hero,
.medical-form-card,
.medical-form-panel,
.medical-form-submit-card {
  background: radial-gradient(circle at top right, rgba(0, 140, 58, 0.18), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 22px 54px rgba(0,0,0,0.20);
}

.medical-form-hero__top {
  display: flex;
  justify-content: space-between;
  gap: 24px;
}

.medical-form-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.medical-form-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.medical-form-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
}

.medical-form-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.medical-form-btn {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
}

.medical-form-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.medical-form-stripe .red { background: #d9000a; }
.medical-form-stripe .gold { background: #c49a00; }
.medical-form-stripe .green { background: #008c3a; }
.medical-form-stripe .blue { background: #0055cc; }

.medical-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 22px;
  align-items: start;
}

.medical-form-main {
  display: grid;
  gap: 22px;
}

.medical-form-side {
  position: sticky;
  top: 20px;
  display: grid;
  gap: 22px;
}

.medical-form-card__header {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 22px;
}

.medical-form-step {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(0,140,58,.18);
  color: #9ff2bf;
  border: 1px solid rgba(0,140,58,.38);
  font-weight: 950;
  margin: 0;
}

.medical-form-card h2,
.medical-form-panel h2,
.medical-form-submit-card h2 {
  margin: 0;
  font-size: 28px;
  letter-spacing: -.03em;
}

.medical-form-fields.two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.medical-form-field label,
.medical-form-upload label {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 8px;
}

.medical-form-input {
  width: 100%;
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  padding: 13px 14px;
  font-weight: 800;
  outline: none;
}

.medical-form-input:focus {
  border-color: rgba(0,140,58,.70);
  box-shadow: 0 0 0 3px rgba(0,140,58,.16);
}

.medical-form-upload p,
.medical-form-submit-card p {
  color: #cad2e4;
  line-height: 1.5;
}

.medical-form-alert-box {
  background: #f0faf4;
  color: #064e2b;
  border: 1px solid #b8e8c9;
  border-left: 6px solid #008c3a;
  border-radius: 18px;
  padding: 14px 16px;
  margin: 18px 0;
}

.medical-form-alert-box strong,
.medical-form-alert-box span {
  display: block;
}

.medical-form-status-pill {
  display: inline-flex;
  padding: 9px 14px;
  border-radius: 999px;
  background: #fff1d6;
  color: #a55300;
  font-size: 12px;
  letter-spacing: .14em;
  font-weight: 950;
}

.medical-form-submit {
  width: 100%;
  border: none;
  background: #008c3a;
  color: #fff;
  padding: 15px 18px;
  border-radius: 16px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .12em;
  cursor: pointer;
  margin-top: 14px;
}

.medical-form-error {
  background: #fff1f1;
  color: #7f0007;
  border: 1px solid #ffcfd2;
  border-left: 6px solid #d9000a;
  border-radius: 18px;
  padding: 16px 20px;
  margin-bottom: 22px;
}

@media (max-width: 1100px) {
  .medical-form-grid {
    grid-template-columns: 1fr;
  }

  .medical-form-side {
    position: static;
  }

  .medical-form-hero__top {
    flex-direction: column;
  }
}

@media (max-width: 720px) {
  .medical-form-fields.two {
    grid-template-columns: 1fr;
  }
}

.comms-console-hero,
.comms-console-card {
  background: radial-gradient(circle at top right, rgba(0, 85, 204, 0.18), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 30px;
  margin-bottom: 22px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 24px 60px rgba(0,0,0,0.22);
}

.comms-console-hero__top,
.comms-console-card__header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.comms-console-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.comms-console-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 68px);
  line-height: .92;
  letter-spacing: -.045em;
  font-weight: 950;
}

.comms-console-subtitle {
  margin: 14px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 760px;
}

.comms-console-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.comms-console-btn {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
}

.comms-console-btn--green {
  background: #008c3a;
  border-color: #008c3a;
}

.comms-console-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.comms-console-stripe .red { background: #d9000a; }
.comms-console-stripe .gold { background: #c49a00; }
.comms-console-stripe .green { background: #008c3a; }
.comms-console-stripe .blue { background: #0055cc; }

.comms-console-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.comms-console-stat {
  background: #fff;
  border: 1px solid #e5e9f2;
  border-radius: 18px;
  padding: 18px;
  border-top: 5px solid #111827;
  box-shadow: 0 12px 26px rgba(10,16,32,.07);
}

.comms-console-stat span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #6b7280;
}

.comms-console-stat strong {
  display: block;
  margin-top: 12px;
  font-size: 40px;
  line-height: 1;
  color: #111827;
}

.comms-console-stat--safe {
  border-top-color: #008c3a;
  background: #f0faf4;
}

.comms-console-stat--danger {
  border-top-color: #d9000a;
  background: #fff3f3;
}

.comms-console-card h2 {
  margin: 0;
  font-size: 32px;
  letter-spacing: -.03em;
}

.comms-console-filter-form {
  display: grid;
  grid-template-columns: 180px 1fr auto;
  gap: 12px;
  align-items: end;
  margin-top: 20px;
}

.comms-console-filter-form label {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 8px;
}

.comms-console-input {
  width: 100%;
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  padding: 13px 14px;
  font-weight: 800;
}

.comms-console-submit {
  border: none;
  background: #0055cc;
  color: #fff;
  padding: 14px 18px;
  border-radius: 14px;
  font-weight: 950;
  cursor: pointer;
}

.comms-console-table-wrap {
  overflow-x: auto;
  margin-top: 22px;
}

.comms-console-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #111827;
  border-radius: 18px;
  overflow: hidden;
}

.comms-console-table th {
  background: #080d1a;
  color: #fff;
  padding: 14px 15px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 11px;
}

.comms-console-table td {
  padding: 15px;
  border-bottom: 1px solid #edf0f5;
  vertical-align: middle;
}

.comms-console-id {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight: 950;
  color: #647086;
}

.comms-console-status {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .10em;
  font-weight: 950;
}

.comms-console-status--sent,
.comms-console-status--delivered,
.comms-console-status--read {
  background: #e8f8ee;
  color: #007a32;
}

.comms-console-status--pending {
  background: #fff1d6;
  color: #a55300;
}

.comms-console-status--failed {
  background: #ffe4e7;
  color: #d9000a;
}

.comms-console-error {
  color: #d9000a;
  font-weight: 800;
}

.comms-console-muted {
  color: #8a94a8;
}

.comms-console-open {
  color: #0055cc;
  font-weight: 950;
  text-decoration: none;
}

@media (max-width: 900px) {
  .comms-console-stats,
  .comms-console-filter-form {
    grid-template-columns: 1fr;
  }

  .comms-console-hero__top {
    flex-direction: column;
  }
}

.race-wa-hero,
.race-wa-card {
  background: radial-gradient(circle at top right, rgba(0, 85, 204, .18), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.race-wa-hero__top,
.race-wa-card__header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
}

.race-wa-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.race-wa-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.race-wa-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
}

.race-wa-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.race-wa-btn {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
}

.race-wa-btn--blue {
  background: #0055cc;
  border-color: #0055cc;
}

.race-wa-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.race-wa-stripe .red { background: #d9000a; }
.race-wa-stripe .gold { background: #c49a00; }
.race-wa-stripe .green { background: #008c3a; }
.race-wa-stripe .blue { background: #0055cc; }

.race-wa-event-form label,
.race-wa-test-form label {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 8px;
}

.race-wa-input {
  width: 100%;
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  padding: 13px 14px;
  font-weight: 800;
}

.race-wa-muted {
  color: #98a3ba;
}

.race-wa-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.race-wa-stat {
  background: #fff;
  border: 1px solid #e5e9f2;
  border-radius: 18px;
  padding: 18px;
  border-top: 5px solid #111827;
  box-shadow: 0 12px 26px rgba(10,16,32,.07);
}

.race-wa-stat span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #6b7280;
}

.race-wa-stat strong {
  display: block;
  margin-top: 12px;
  font-size: 40px;
  line-height: 1;
  color: #111827;
}

.race-wa-stat--safe { border-top-color: #008c3a; background: #f0faf4; }
.race-wa-stat--danger { border-top-color: #d9000a; background: #fff3f3; }

.race-wa-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.race-wa-card h2 {
  margin: 0 0 16px;
  font-size: 30px;
}

.race-wa-test-form {
  display: grid;
  gap: 12px;
}

.race-wa-submit,
.race-wa-broadcast {
  border: none;
  background: #0055cc;
  color: #fff;
  padding: 14px 18px;
  border-radius: 14px;
  font-weight: 950;
  cursor: pointer;
}

.race-wa-broadcast {
  background: #008c3a;
  width: 100%;
}

.race-wa-card--send p {
  color: #cad2e4;
  line-height: 1.5;
}

.race-wa-table-wrap {
  overflow-x: auto;
}

.race-wa-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #111827;
  border-radius: 18px;
  overflow: hidden;
}

.race-wa-table th {
  background: #080d1a;
  color: #fff;
  padding: 14px 15px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 11px;
}

.race-wa-table td {
  padding: 15px;
  border-bottom: 1px solid #edf0f5;
  vertical-align: top;
}

.race-wa-id {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight: 950;
  color: #647086;
}

.race-wa-pre {
  white-space: pre-wrap;
  margin: 0;
  font-size: 12px;
}

.race-wa-pill {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .10em;
  font-weight: 950;
  text-transform: uppercase;
  background: #edf0f5;
  color: #647086;
}

.race-wa-pill--safe {
  background: #e8f8ee;
  color: #007a32;
}

.race-wa-pill--danger {
  background: #ffe4e7;
  color: #d9000a;
}

.race-wa-preview summary {
  cursor: pointer;
  color: #0055cc;
  font-weight: 950;
}

.race-wa-preview pre {
  white-space: pre-wrap;
  margin-top: 12px;
  background: #f8fafc;
  padding: 12px;
  border-radius: 12px;
}

.race-wa-empty {
  background: rgba(255,255,255,.08);
  border: 1px dashed rgba(255,255,255,.18);
  border-radius: 18px;
  padding: 22px;
}

.race-wa-empty strong,
.race-wa-empty span {
  display: block;
}

.race-wa-empty span {
  color: #98a3ba;
  margin-top: 6px;
}

@media (max-width: 1100px) {
  .race-wa-stats,
  .race-wa-grid {
    grid-template-columns: 1fr;
  }

  .race-wa-hero__top {
    flex-direction: column;
  }
}

.import-health-hero,
.import-health-card,
.import-health-season {
  background: radial-gradient(circle at top right, rgba(196, 154, 0, .18), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.import-health-hero__top,
.import-health-card__header,
.import-health-season {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.import-health-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.import-health-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.import-health-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 780px;
}

.import-health-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.import-health-btn,
.import-health-rerun {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
  cursor: pointer;
}

.import-health-btn--gold,
.import-health-rerun {
  background: #c49a00;
  border-color: #c49a00;
  color: #111827;
}

.import-health-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.import-health-stripe .red { background: #d9000a; }
.import-health-stripe .gold { background: #c49a00; }
.import-health-stripe .green { background: #008c3a; }
.import-health-stripe .blue { background: #0055cc; }

.import-health-filter-form label {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 8px;
}

.import-health-input {
  width: 100%;
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  padding: 13px 14px;
  font-weight: 800;
}

.import-health-season h2,
.import-health-card h2 {
  margin: 0;
  font-size: 30px;
  letter-spacing: -.03em;
}

.import-health-season p {
  color: #cad2e4;
}

.import-health-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.import-health-stat {
  background: #fff;
  border: 1px solid #e5e9f2;
  border-radius: 18px;
  padding: 18px;
  border-top: 5px solid #111827;
  box-shadow: 0 12px 26px rgba(10,16,32,.07);
}

.import-health-stat span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #6b7280;
}

.import-health-stat strong {
  display: block;
  margin-top: 12px;
  font-size: 34px;
  line-height: 1;
  color: #111827;
}

.import-health-stat--safe { border-top-color: #008c3a; background: #f0faf4; }
.import-health-stat--warning { border-top-color: #c49a00; background: #fffaf0; }
.import-health-stat--danger { border-top-color: #d9000a; background: #fff3f3; }

.import-health-status {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .10em;
  font-weight: 950;
  text-transform: uppercase;
}

.import-health-status--healthy,
.import-health-status--completed {
  background: #e8f8ee;
  color: #007a32;
}

.import-health-status--needs_resolution {
  background: #fff1d6;
  color: #a55300;
}

.import-health-status--failed {
  background: #ffe4e7;
  color: #d9000a;
}

.import-health-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.import-health-meta-grid > div {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 16px;
}

.import-health-meta-grid span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 7px;
}

.import-health-meta-grid strong {
  color: #fff;
}

.import-health-inline-link,
.import-health-open {
  color: #f2c14e;
  font-weight: 950;
  text-decoration: none;
}

.import-health-table-wrap {
  overflow-x: auto;
  margin-top: 18px;
}

.import-health-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #111827;
  border-radius: 18px;
  overflow: hidden;
}

.import-health-table th {
  background: #080d1a;
  color: #fff;
  padding: 14px 15px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 11px;
}

.import-health-table td {
  padding: 15px;
  border-bottom: 1px solid #edf0f5;
  vertical-align: middle;
}

.import-health-empty {
  background: rgba(255,255,255,.08);
  border: 1px dashed rgba(255,255,255,.18);
  border-radius: 18px;
  padding: 22px;
  margin-top: 18px;
}

.import-health-empty strong,
.import-health-empty span {
  display: block;
}

.import-health-empty span {
  color: #98a3ba;
  margin-top: 6px;
}

@media (max-width: 1100px) {
  .import-health-stats,
  .import-health-meta-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .import-health-hero__top,
  .import-health-card__header,
  .import-health-season {
    flex-direction: column;
  }
}

@media (max-width: 720px) {
  .import-health-stats,
  .import-health-meta-grid {
    grid-template-columns: 1fr;
  }
}

.alias-console-hero,
.alias-console-card {
  background: radial-gradient(circle at top right, rgba(196,154,0,.18), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.alias-console-hero__top,
.alias-console-card__header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.alias-console-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.alias-console-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.alias-console-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 780px;
}

.alias-console-actions,
.alias-console-row-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.alias-console-btn {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
}

.alias-console-btn--gold {
  background: #c49a00;
  border-color: #c49a00;
  color: #111827;
}

.alias-console-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.alias-console-stripe .red { background: #d9000a; }
.alias-console-stripe .gold { background: #c49a00; }
.alias-console-stripe .green { background: #008c3a; }
.alias-console-stripe .blue { background: #0055cc; }

.alias-console-filter-form {
  display: grid;
  grid-template-columns: 260px minmax(260px, 1fr) auto auto;
  gap: 12px;
  align-items: end;
}

.alias-console-filter-form label {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 8px;
}

.alias-console-input {
  width: 100%;
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  padding: 13px 14px;
  font-weight: 800;
}

.alias-console-submit {
  border: none;
  background: #c49a00;
  color: #111827;
  padding: 14px 18px;
  border-radius: 14px;
  font-weight: 950;
  cursor: pointer;
}

.alias-console-submit--dark {
  background: #080d1a;
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
}

.alias-console-inline-form {
  display: inline;
}

.alias-console-card h2 {
  margin: 0;
  font-size: 32px;
  letter-spacing: -.03em;
}

.alias-console-table-wrap {
  overflow-x: auto;
  margin-top: 18px;
}

.alias-console-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #111827;
  border-radius: 18px;
  overflow: hidden;
}

.alias-console-table th {
  background: #080d1a;
  color: #fff;
  padding: 14px 15px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 11px;
}

.alias-console-table td {
  padding: 15px;
  border-bottom: 1px solid #edf0f5;
  vertical-align: middle;
}

.alias-console-code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  color: #647086;
  font-weight: 900;
}

.alias-console-pill {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .10em;
  font-weight: 950;
  text-transform: uppercase;
  background: #fff1d6;
  color: #a55300;
}

.alias-console-open {
  color: #b77900;
  font-weight: 950;
  text-decoration: none;
}

.alias-console-delete {
  color: #d9000a;
  font-weight: 950;
  text-decoration: none;
}

.alias-console-empty {
  background: #f8fafc;
  border: 1px dashed #d7dce6;
  border-radius: 16px;
  padding: 20px;
}

.alias-console-empty strong,
.alias-console-empty span {
  display: block;
}

.alias-console-empty span {
  color: #647086;
  margin-top: 6px;
}

@media (max-width: 1100px) {
  .alias-console-filter-form {
    grid-template-columns: 1fr;
  }

  .alias-console-hero__top,
  .alias-console-card__header {
    flex-direction: column;
  }
}

.penalty-board-hero,
.penalty-board-card {
  background: radial-gradient(circle at top right, rgba(217,0,10,.16), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.penalty-board-hero__top,
.penalty-board-card__header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.penalty-board-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.penalty-board-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.penalty-board-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 760px;
}

.penalty-board-actions {
  display: flex;
  gap: 10px;
}

.penalty-board-btn {
  padding: 11px 16px;
  border-radius: 13px;
  text-decoration: none;
  font-weight: 900;
}

.penalty-board-btn--danger {
  background: #d9000a;
  color: #fff;
}

.penalty-board-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.penalty-board-stripe .red { background: #d9000a; }
.penalty-board-stripe .gold { background: #c49a00; }
.penalty-board-stripe .green { background: #008c3a; }
.penalty-board-stripe .blue { background: #0055cc; }

.penalty-board-card h2 {
  margin: 0;
  font-size: 30px;
  letter-spacing: -.03em;
}

.penalty-board-count {
  text-align: right;
}

.penalty-board-count span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  color: #98a3ba;
}

.penalty-board-count strong {
  display: block;
  margin-top: 6px;
  font-size: 34px;
}

.penalty-board-table-wrap {
  overflow-x: auto;
  margin-top: 18px;
}

.penalty-board-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #111827;
  border-radius: 18px;
  overflow: hidden;
}

.penalty-board-table th {
  background: #080d1a;
  color: #fff;
  padding: 14px 15px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 11px;
}

.penalty-board-table td {
  padding: 15px;
  border-bottom: 1px solid #edf0f5;
  vertical-align: middle;
}

.penalty-board-type,
.penalty-board-status {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .10em;
  font-weight: 950;
  text-transform: uppercase;
}

.penalty-board-type {
  background: #fff1d6;
  color: #a55300;
}

.penalty-board-status--pending {
  background: #fff1d6;
  color: #a55300;
}

.penalty-board-status--applied,
.penalty-board-status--confirmed {
  background: #e8f8ee;
  color: #007a32;
}

.penalty-board-status--reversed,
.penalty-board-status--cancelled {
  background: #eef2ff;
  color: #3730a3;
}

.penalty-board-open {
  color: #b77900;
  font-weight: 950;
  text-decoration: none;
}

.penalty-board-empty {
  background: #f8fafc;
  border: 1px dashed #d7dce6;
  border-radius: 16px;
  padding: 20px;
}

.penalty-board-empty strong,
.penalty-board-empty span {
  display: block;
}

.penalty-board-empty span {
  margin-top: 6px;
  color: #647086;
}

@media (max-width: 900px) {
  .penalty-board-hero__top,
  .penalty-board-card__header {
    flex-direction: column;
  }
}

.penalty-file-hero,
.penalty-file-card,
.penalty-file-panel {
  background: radial-gradient(circle at top right, rgba(217,0,10,.16), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.penalty-file-hero__top {
  display: flex;
  justify-content: space-between;
  gap: 24px;
}

.penalty-file-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.penalty-file-kicker--spaced {
  margin-top: 22px;
}

.penalty-file-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.penalty-file-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
}

.penalty-file-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.penalty-file-btn {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
}

.penalty-file-btn--danger {
  background: #d9000a;
  border-color: #d9000a;
}

.penalty-file-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.penalty-file-stripe .red { background: #d9000a; }
.penalty-file-stripe .gold { background: #c49a00; }
.penalty-file-stripe .green { background: #008c3a; }
.penalty-file-stripe .blue { background: #0055cc; }

.penalty-file-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.penalty-file-status-card {
  background: #fff;
  border: 1px solid #e5e9f2;
  border-radius: 18px;
  padding: 18px;
  border-top: 5px solid #111827;
  box-shadow: 0 12px 26px rgba(10,16,32,.07);
}

.penalty-file-status-card span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #6b7280;
}

.penalty-file-status-card strong {
  display: block;
  margin-top: 10px;
  font-size: 22px;
  color: #111827;
}

.penalty-file-status-card--warning,
.penalty-file-status-card--pending {
  border-top-color: #c49a00;
  background: #fffaf0;
}

.penalty-file-status-card--applied {
  border-top-color: #008c3a;
  background: #f0faf4;
}

.penalty-file-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 22px;
  align-items: start;
}

.penalty-file-main {
  display: grid;
  gap: 22px;
}

.penalty-file-side {
  position: sticky;
  top: 20px;
}

.penalty-file-card h2,
.penalty-file-panel h2 {
  margin: 0;
  font-size: 30px;
  letter-spacing: -.03em;
}

.penalty-file-meta-grid,
.penalty-file-impact-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.penalty-file-meta-grid > div,
.penalty-file-impact-summary > div {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 16px;
}

.penalty-file-meta-grid span,
.penalty-file-impact-summary span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 7px;
}

.penalty-file-meta-grid strong,
.penalty-file-impact-summary strong {
  color: #fff;
}

.penalty-file-notes {
  background: #fff;
  color: #111827;
  border-radius: 16px;
  padding: 16px;
  margin-top: 18px;
}

.penalty-file-status {
  display: inline-flex;
  margin-top: 18px;
  padding: 9px 14px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: .14em;
  font-weight: 950;
  text-transform: uppercase;
}

.penalty-file-status--pending {
  background: #fff1d6;
  color: #a55300;
}

.penalty-file-status--applied {
  background: #e8f8ee;
  color: #007a32;
}

.penalty-file-panel-copy {
  color: #cad2e4;
  line-height: 1.5;
  margin: 18px 0;
}

.penalty-file-action-btn {
  width: 100%;
  border: none;
  padding: 14px 16px;
  border-radius: 14px;
  font-weight: 950;
  cursor: pointer;
}

.penalty-file-action-btn--apply {
  background: #c49a00;
  color: #111827;
}

.penalty-file-applied {
  background: #e8f8ee;
  color: #007a32;
  padding: 14px;
  border-radius: 14px;
  font-weight: 950;
  text-align: center;
}

.penalty-file-table-wrap {
  overflow-x: auto;
  margin-top: 18px;
}

.penalty-file-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #111827;
  border-radius: 18px;
  overflow: hidden;
}

.penalty-file-table th {
  background: #080d1a;
  color: #fff;
  padding: 14px 15px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 11px;
}

.penalty-file-table td {
  padding: 15px;
  border-bottom: 1px solid #edf0f5;
}

.penalty-file-table td span {
  color: #647086;
  margin-left: 6px;
}

@media (max-width: 1000px) {
  .penalty-file-grid,
  .penalty-file-status-grid {
    grid-template-columns: 1fr;
  }

  .penalty-file-side {
    position: static;
  }

  .penalty-file-hero__top {
    flex-direction: column;
  }
}

.penalty-form-hero,
.penalty-form-card {
  background: radial-gradient(circle at top right, rgba(217,0,10,.16), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.penalty-form-hero__top,
.penalty-form-card__header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.penalty-form-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.penalty-form-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.penalty-form-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 780px;
}

.penalty-form-btn {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
}

.penalty-form-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.penalty-form-stripe .red { background: #d9000a; }
.penalty-form-stripe .gold { background: #c49a00; }
.penalty-form-stripe .green { background: #008c3a; }
.penalty-form-stripe .blue { background: #0055cc; }

.penalty-form-step {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(217,0,10,.16);
  color: #ffb4b8;
  border: 1px solid rgba(217,0,10,.34);
  font-weight: 950;
  margin: 0;
}

.penalty-form-card h2 {
  margin: 0;
  font-size: 30px;
  letter-spacing: -.03em;
}

.penalty-form-fields.three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.penalty-form-field label {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 8px;
}

.penalty-form-input {
  width: 100%;
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  padding: 13px 14px;
  font-weight: 800;
  outline: none;
}

.penalty-form-input:focus {
  border-color: rgba(217,0,10,.70);
  box-shadow: 0 0 0 3px rgba(217,0,10,.16);
}

@media (max-width: 900px) {
  .penalty-form-fields.three {
    grid-template-columns: 1fr;
  }

  .penalty-form-hero__top,
  .penalty-form-card__header {
    flex-direction: column;
  }
}

.penalty-decision-form {
  margin-top: 18px;
}

.penalty-decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.penalty-decision-field--wide {
  grid-column: 1 / -1;
}

.penalty-decision-field label {
  display: block;
  margin-bottom: 8px;
  color: #cbd5e1;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.penalty-decision-input,
.penalty-decision-textarea {
  width: 100%;
  background: rgba(255,255,255,.09);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  padding: 14px 16px;
  font-weight: 800;
  outline: none;
}

.penalty-decision-input:focus,
.penalty-decision-textarea:focus {
  border-color: rgba(217,0,10,.75);
  box-shadow: 0 0 0 3px rgba(217,0,10,.16);
}

.penalty-decision-input option {
  color: #111827;
}

.penalty-decision-textarea {
  min-height: 140px;
  resize: vertical;
}

.penalty-decision-submit-row {
  margin-top: 22px;
  display: flex;
  justify-content: flex-end;
}

.penalty-decision-submit {
  border: none;
  background: #d9000a;
  color: #fff;
  padding: 15px 22px;
  border-radius: 16px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .12em;
  cursor: pointer;
}

.penalty-form-error {
  background: #fff1f1;
  color: #7f0007;
  border: 1px solid #ffcfd2;
  border-left: 6px solid #d9000a;
  border-radius: 18px;
  padding: 16px 20px;
  margin-bottom: 22px;
}

@media (max-width: 800px) {
  .penalty-decision-grid {
    grid-template-columns: 1fr;
  }
}

.entry-console-notice {
  background: #e8f8ee;
  color: #007a32;
  border: 1px solid #b8e8c9;
  border-left: 6px solid #008c3a;
  border-radius: 18px;
  padding: 14px 18px;
  margin-bottom: 22px;
  font-weight: 900;
}

.entry-console-hero,
.entry-console-card {
  background: radial-gradient(circle at top right, rgba(0,140,58,.16), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.entry-console-hero__top,
.entry-console-card__header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.entry-console-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.entry-console-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.entry-console-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 780px;
}

.entry-console-actions,
.entry-console-row-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.entry-console-btn {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
}

.entry-console-btn--green {
  background: #008c3a;
  border-color: #008c3a;
}

.entry-console-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.entry-console-stripe .red { background: #d9000a; }
.entry-console-stripe .gold { background: #c49a00; }
.entry-console-stripe .green { background: #008c3a; }
.entry-console-stripe .blue { background: #0055cc; }

.entry-console-filter-form {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 280px 220px auto auto;
  gap: 12px;
  align-items: end;
}

.entry-console-filter-form label {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 8px;
}

.entry-console-input {
  width: 100%;
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  padding: 13px 14px;
  font-weight: 800;
  outline: none;
}

.entry-console-input option {
  color: #111827;
}

.entry-console-submit,
.entry-console-reset {
  border: none;
  background: #008c3a;
  color: #fff;
  padding: 14px 18px;
  border-radius: 14px;
  font-weight: 950;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
}

.entry-console-reset {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
}

.entry-console-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.entry-console-stat {
  background: #fff;
  border: 1px solid #e5e9f2;
  border-radius: 18px;
  padding: 18px;
  border-top: 5px solid #111827;
  box-shadow: 0 12px 26px rgba(10,16,32,.07);
}

.entry-console-stat span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #6b7280;
}

.entry-console-stat strong {
  display: block;
  margin-top: 10px;
  font-size: 28px;
  color: #111827;
}

.entry-console-stat--safe {
  border-top-color: #008c3a;
  background: #f0faf4;
}

.entry-console-card h2 {
  margin: 0;
  font-size: 32px;
  letter-spacing: -.03em;
}

.entry-console-table-wrap {
  overflow-x: auto;
  margin-top: 18px;
}

.entry-console-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #111827;
  border-radius: 18px;
  overflow: hidden;
}

.entry-console-table th {
  background: #080d1a;
  color: #fff;
  padding: 14px 15px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 11px;
}

.entry-console-table td {
  padding: 15px;
  border-bottom: 1px solid #edf0f5;
  vertical-align: middle;
}

.entry-console-code {
  color: #647086;
  font-weight: 800;
}

.entry-console-race-no {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef2ff;
  color: #3730a3;
  font-weight: 950;
}

.entry-console-status {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .10em;
  font-weight: 950;
  text-transform: uppercase;
  background: #edf0f5;
  color: #647086;
}

.entry-console-status--confirmed,
.entry-console-status--approved,
.entry-console-status--accepted {
  background: #e8f8ee;
  color: #007a32;
}

.entry-console-status--pending {
  background: #fff1d6;
  color: #a55300;
}

.entry-console-status--rejected,
.entry-console-status--withdrawn {
  background: #ffe4e7;
  color: #d9000a;
}

.entry-console-open {
  color: #008c3a;
  font-weight: 950;
  text-decoration: none;
}

.entry-console-empty {
  background: rgba(255,255,255,.08);
  border: 1px dashed rgba(255,255,255,.18);
  border-radius: 18px;
  padding: 22px;
  margin-top: 18px;
}

.entry-console-empty strong,
.entry-console-empty span {
  display: block;
}

.entry-console-empty span {
  color: #98a3ba;
  margin-top: 6px;
}

.entry-console-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
}

.entry-console-page-btn,
.entry-console-page-current {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 950;
}

.entry-console-page-btn--disabled {
  opacity: .45;
}

@media (max-width: 1100px) {
  .entry-console-filter-form,
  .entry-console-stats {
    grid-template-columns: 1fr;
  }

  .entry-console-hero__top,
  .entry-console-card__header {
    flex-direction: column;
  }
}

.entry-file-hero,
.entry-file-card,
.entry-file-panel {
  background: radial-gradient(circle at top right, rgba(0,140,58,.16), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.entry-file-hero__top {
  display: flex;
  justify-content: space-between;
  gap: 24px;
}

.entry-file-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.entry-file-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.entry-file-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
}

.entry-file-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.entry-file-btn {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
}

.entry-file-btn--green {
  background: #008c3a;
  border-color: #008c3a;
}

.entry-file-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.entry-file-stripe .red { background: #d9000a; }
.entry-file-stripe .gold { background: #c49a00; }
.entry-file-stripe .green { background: #008c3a; }
.entry-file-stripe .blue { background: #0055cc; }

.entry-file-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 22px;
  align-items: start;
}

.entry-file-main {
  display: grid;
  gap: 22px;
}

.entry-file-side {
  position: sticky;
  top: 20px;
}

.entry-file-card h2,
.entry-file-panel h2 {
  margin: 0;
  font-size: 30px;
  letter-spacing: -.03em;
}

.entry-file-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.entry-file-meta-grid > div,
.entry-file-check {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 16px;
}

.entry-file-meta-grid span,
.entry-file-check span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 7px;
}

.entry-file-meta-grid strong,
.entry-file-check strong {
  color: #fff;
  font-size: 17px;
}

.entry-file-status {
  display: inline-flex;
  margin-top: 18px;
  margin-bottom: 18px;
  padding: 9px 14px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: .14em;
  font-weight: 950;
  text-transform: uppercase;
}

.entry-file-status--confirmed,
.entry-file-status--approved,
.entry-file-status--accepted {
  background: #e8f8ee;
  color: #007a32;
}

.entry-file-status--pending {
  background: #fff1d6;
  color: #a55300;
}

.entry-file-status--rejected,
.entry-file-status--withdrawn {
  background: #ffe4e7;
  color: #d9000a;
}

.entry-file-notes {
  background: #fff;
  color: #111827;
  border-radius: 16px;
  padding: 16px;
  margin-top: 18px;
}

@media (max-width: 1000px) {
  .entry-file-grid {
    grid-template-columns: 1fr;
  }

  .entry-file-side {
    position: static;
  }

  .entry-file-hero__top {
    flex-direction: column;
  }

  .entry-file-meta-grid {
    grid-template-columns: 1fr;
  }
}

.entry-form-card {
  background: radial-gradient(circle at top right, rgba(0,140,58,.16), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.entry-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.entry-form-field--wide {
  grid-column: 1 / -1;
}

.entry-form-field label {
  display: block;
  margin-bottom: 8px;
  color: #cbd5e1;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.entry-form-input,
.entry-form-textarea {
  width: 100%;
  background: rgba(255,255,255,.09);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  padding: 14px 16px;
  font-weight: 800;
  outline: none;
}

.entry-form-input option {
  color: #111827;
}

.entry-form-input:focus,
.entry-form-textarea:focus {
  border-color: rgba(0,140,58,.75);
  box-shadow: 0 0 0 3px rgba(0,140,58,.16);
}

.entry-form-textarea {
  min-height: 130px;
  resize: vertical;
}

.entry-form-toggle {
  display: flex !important;
  align-items: center;
  gap: 12px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-left: 6px solid #008c3a;
  border-radius: 16px;
  padding: 14px;
  cursor: pointer;
}

.entry-form-toggle input {
  width: auto;
}

.entry-form-toggle span {
  display: grid;
  gap: 3px;
}

.entry-form-toggle strong {
  color: #fff;
  font-size: 14px;
}

.entry-form-toggle small {
  color: #98a3ba;
  font-weight: 700;
}

.entry-form-actions {
  margin-top: 22px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.entry-form-submit,
.entry-form-btn {
  border: none;
  background: #008c3a;
  color: #fff;
  padding: 15px 22px;
  border-radius: 16px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .12em;
  cursor: pointer;
  text-decoration: none;
}

.entry-form-btn {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
}

.entry-form-error {
  background: #fff1f1;
  color: #7f0007;
  border: 1px solid #ffcfd2;
  border-left: 6px solid #d9000a;
  border-radius: 18px;
  padding: 16px 20px;
  margin-bottom: 22px;
}

@media (max-width: 800px) {
  .entry-form-grid {
    grid-template-columns: 1fr;
  }
}

.entry-edit-hero {
  background:
    radial-gradient(circle at top right, rgba(0,140,58,.18), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 24px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.entry-edit-hero__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  flex-wrap: wrap;
}

.entry-edit-kicker {
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: #94a3b8;
  margin-bottom: 8px;
}

.entry-edit-title {
  font-size: 34px;
  font-weight: 950;
  margin: 0 0 8px;
}

.entry-edit-subtitle {
  max-width: 680px;
  color: #cbd5e1;
  line-height: 1.6;
}

.entry-edit-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.entry-edit-btn {
  padding: 12px 18px;
  border-radius: 14px;
  text-decoration: none;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
}

.entry-edit-btn:hover {
  background: rgba(255,255,255,.14);
}

.entry-edit-meta-grid {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.entry-edit-meta-block {
  padding: 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
}

.entry-edit-meta-block span {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #94a3b8;
  margin-bottom: 6px;
}

.entry-edit-meta-block strong {
  font-size: 15px;
  font-weight: 900;
  color: #fff;
}

@media (max-width: 900px) {
  .entry-edit-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .entry-edit-meta-grid {
    grid-template-columns: 1fr;
  }
}

.entry-new-hero {
  background:
    radial-gradient(circle at top right, rgba(180,83,9,.18), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 24px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.entry-new-hero__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  flex-wrap: wrap;
}

.entry-new-kicker {
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: #94a3b8;
  margin-bottom: 8px;
}

.entry-new-title {
  font-size: 34px;
  font-weight: 950;
  margin: 0 0 8px;
}

.entry-new-subtitle {
  max-width: 680px;
  color: #cbd5e1;
  line-height: 1.6;
}

.entry-new-actions {
  display: flex;
  gap: 10px;
}

.entry-new-btn {
  padding: 12px 18px;
  border-radius: 14px;
  text-decoration: none;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
}

.entry-new-btn:hover {
  background: rgba(255,255,255,.14);
}

.entry-new-workflow {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
}

.entry-new-step {
  padding: 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  font-size: 13px;
  font-weight: 800;
  color: #e2e8f0;
}

.entry-new-step span {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  margin-right: 10px;
  font-size: 12px;
}

@media (max-width: 900px) {
  .entry-new-workflow {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 640px) {
  .entry-new-workflow {
    grid-template-columns: 1fr;
  }
}

.entry-new-stripe,
.entry-edit-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.entry-new-stripe .red,
.entry-edit-stripe .red {
  background: #d9000a;
}

.entry-new-stripe .gold,
.entry-edit-stripe .gold {
  background: #c49a00;
}

.entry-new-stripe .green,
.entry-edit-stripe .green {
  background: #008c3a;
}

.entry-new-stripe .blue,
.entry-edit-stripe .blue {
  background: #0055cc;
}

.event-console-hero,
.event-console-card {
  background: radial-gradient(circle at top right, rgba(0,85,204,.16), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.event-console-hero__top,
.event-console-card__header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.event-console-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.event-console-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.event-console-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 780px;
}

.event-console-actions,
.event-console-row-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.event-console-btn {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
}

.event-console-btn--green {
  background: #008c3a;
  border-color: #008c3a;
}

.event-console-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.event-console-stripe .red { background: #d9000a; }
.event-console-stripe .gold { background: #c49a00; }
.event-console-stripe .green { background: #008c3a; }
.event-console-stripe .blue { background: #0055cc; }

.event-console-filter-form {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 280px 220px auto auto;
  gap: 12px;
  align-items: end;
}

.event-console-filter-form label {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 8px;
}

.event-console-input {
  width: 100%;
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  padding: 13px 14px;
  font-weight: 800;
}

.event-console-input option {
  color: #111827;
}

.event-console-submit,
.event-console-reset {
  border: none;
  background: #0055cc;
  color: #fff;
  padding: 14px 18px;
  border-radius: 14px;
  font-weight: 950;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
}

.event-console-reset {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
}

.event-console-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.event-console-stat {
  background: #fff;
  border: 1px solid #e5e9f2;
  border-radius: 18px;
  padding: 18px;
  border-top: 5px solid #111827;
  box-shadow: 0 12px 26px rgba(10,16,32,.07);
}

.event-console-stat span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #6b7280;
}

.event-console-stat strong {
  display: block;
  margin-top: 10px;
  font-size: 28px;
  color: #111827;
}

.event-console-stat--safe {
  border-top-color: #008c3a;
  background: #f0faf4;
}

.event-console-card h2 {
  margin: 0;
  font-size: 32px;
  letter-spacing: -.03em;
}

.event-console-table-wrap {
  overflow-x: auto;
  margin-top: 18px;
}

.event-console-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #111827;
  border-radius: 18px;
  overflow: hidden;
}

.event-console-table th {
  background: #080d1a;
  color: #fff;
  padding: 14px 15px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 11px;
}

.event-console-table td {
  padding: 15px;
  border-bottom: 1px solid #edf0f5;
  vertical-align: middle;
}

.event-console-round {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef2ff;
  color: #3730a3;
  font-weight: 950;
}

.event-console-status {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .10em;
  font-weight: 950;
  text-transform: uppercase;
  background: #edf0f5;
  color: #647086;
}

.event-console-status--published,
.event-console-status--open,
.event-console-status--official,
.event-console-status--completed {
  background: #e8f8ee;
  color: #007a32;
}

.event-console-status--draft,
.event-console-status--scheduled {
  background: #fff1d6;
  color: #a55300;
}

.event-console-status--cancelled,
.event-console-status--closed {
  background: #ffe4e7;
  color: #d9000a;
}

.event-console-open {
  color: #0055cc;
  font-weight: 950;
  text-decoration: none;
}

.event-console-empty {
  background: rgba(255,255,255,.08);
  border: 1px dashed rgba(255,255,255,.18);
  border-radius: 18px;
  padding: 22px;
  margin-top: 18px;
}

.event-console-empty strong,
.event-console-empty span {
  display: block;
}

.event-console-empty span {
  color: #98a3ba;
  margin-top: 6px;
}

.event-console-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
}

.event-console-page-btn,
.event-console-page-current {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 950;
}

.event-console-page-btn--disabled {
  opacity: .45;
}

@media (max-width: 1100px) {
  .event-console-filter-form,
  .event-console-stats {
    grid-template-columns: 1fr;
  }

  .event-console-hero__top,
  .event-console-card__header {
    flex-direction: column;
  }
}

.event-form-hero,
.event-form-card {
  background:
    radial-gradient(circle at top right, rgba(0,85,204,.16), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.event-form-hero__top,
.event-form-section-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.event-form-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.event-form-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.event-form-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 780px;
}

.event-form-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.event-form-btn,
.event-form-cancel {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
}

.event-form-btn--blue {
  background: #0055cc;
  border-color: #0055cc;
}

.event-form-meta-grid {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.event-form-meta-grid > div {
  padding: 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
}

.event-form-meta-grid span {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #94a3b8;
  margin-bottom: 6px;
  font-weight: 900;
}

.event-form-meta-grid strong {
  color: #fff;
  font-weight: 950;
}

.event-form-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.event-form-stripe .red { background: #d9000a; }
.event-form-stripe .gold { background: #c49a00; }
.event-form-stripe .green { background: #008c3a; }
.event-form-stripe .blue { background: #0055cc; }

.event-form-step {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(0,85,204,.18);
  color: #b3cbff;
  border: 1px solid rgba(0,85,204,.40);
  font-weight: 950;
  margin: 0;
}

.event-form-card h2 {
  margin: 0;
  font-size: 30px;
  letter-spacing: -.03em;
}

.event-decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.event-decision-field--wide {
  grid-column: 1 / -1;
}

.event-decision-field label {
  display: block;
  margin-bottom: 8px;
  color: #cbd5e1;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.event-decision-input,
.event-decision-textarea {
  width: 100%;
  background: rgba(255,255,255,.09);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  padding: 14px 16px;
  font-weight: 800;
  outline: none;
}

.event-decision-input option {
  color: #111827;
}

.event-decision-input:focus,
.event-decision-textarea:focus {
  border-color: rgba(0,85,204,.75);
  box-shadow: 0 0 0 3px rgba(0,85,204,.16);
}

.event-decision-textarea {
  min-height: 130px;
  resize: vertical;
}

.event-form-toggle {
  display: flex !important;
  align-items: center;
  gap: 12px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-left: 6px solid #008c3a;
  border-radius: 16px;
  padding: 14px;
  cursor: pointer;
}

.event-form-toggle--blue {
  border-left-color: #0055cc;
}

.event-form-toggle input {
  width: auto;
}

.event-form-toggle span {
  display: grid;
  gap: 3px;
}

.event-form-toggle strong {
  color: #fff;
  font-size: 14px;
}

.event-form-toggle small {
  color: #98a3ba;
  font-weight: 700;
}

.event-form-submit-row {
  margin-top: 22px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.event-form-submit {
  border: none;
  background: #0055cc;
  color: #fff;
  padding: 15px 22px;
  border-radius: 16px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .12em;
  cursor: pointer;
}

.event-form-error {
  background: #fff1f1;
  color: #7f0007;
  border: 1px solid #ffcfd2;
  border-left: 6px solid #d9000a;
  border-radius: 18px;
  padding: 16px 20px;
  margin-bottom: 22px;
}

@media (max-width: 900px) {
  .event-form-meta-grid,
  .event-decision-grid {
    grid-template-columns: 1fr;
  }

  .event-form-hero__top,
  .event-form-section-header {
    flex-direction: column;
  }
}

.season-console-hero,
.season-console-card {
  background: radial-gradient(circle at top right, rgba(0,85,204,.16), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.season-console-hero__top,
.season-console-card__header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.season-console-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.season-console-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.season-console-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
  max-width: 780px;
}

.season-console-actions,
.season-console-row-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.season-console-btn {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
}

.season-console-btn--green {
  background: #008c3a;
  border-color: #008c3a;
}

.season-console-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.season-console-stripe .red { background: #d9000a; }
.season-console-stripe .gold { background: #c49a00; }
.season-console-stripe .green { background: #008c3a; }
.season-console-stripe .blue { background: #0055cc; }

.season-console-filter-form {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 180px 220px auto auto;
  gap: 12px;
  align-items: end;
}

.season-console-filter-form label {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #98a3ba;
  margin-bottom: 8px;
}

.season-console-input {
  width: 100%;
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  padding: 13px 14px;
  font-weight: 800;
}

.season-console-input option {
  color: #111827;
}

.season-console-submit,
.season-console-reset {
  border: none;
  background: #0055cc;
  color: #fff;
  padding: 14px 18px;
  border-radius: 14px;
  font-weight: 950;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
}

.season-console-reset {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
}

.season-console-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.season-console-stat {
  background: #fff;
  border: 1px solid #e5e9f2;
  border-radius: 18px;
  padding: 18px;
  border-top: 5px solid #111827;
  box-shadow: 0 12px 26px rgba(10,16,32,.07);
}

.season-console-stat span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #6b7280;
}

.season-console-stat strong {
  display: block;
  margin-top: 10px;
  font-size: 28px;
  color: #111827;
}

.season-console-stat--safe {
  border-top-color: #008c3a;
  background: #f0faf4;
}

.season-console-card h2 {
  margin: 0;
  font-size: 32px;
  letter-spacing: -.03em;
}

.season-console-table-wrap {
  overflow-x: auto;
  margin-top: 18px;
}

.season-console-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #111827;
  border-radius: 18px;
  overflow: hidden;
}

.season-console-table th {
  background: #080d1a;
  color: #fff;
  padding: 14px 15px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 11px;
}

.season-console-table td {
  padding: 15px;
  border-bottom: 1px solid #edf0f5;
  vertical-align: middle;
}

.season-console-year {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef2ff;
  color: #3730a3;
  font-weight: 950;
}

.season-console-status {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .10em;
  font-weight: 950;
  text-transform: uppercase;
  background: #edf0f5;
  color: #647086;
}

.season-console-status--active,
.season-console-status--published,
.season-console-status--open,
.season-console-status--completed {
  background: #e8f8ee;
  color: #007a32;
}

.season-console-status--draft,
.season-console-status--scheduled {
  background: #fff1d6;
  color: #a55300;
}

.season-console-status--cancelled,
.season-console-status--closed {
  background: #ffe4e7;
  color: #d9000a;
}

.season-console-open {
  color: #0055cc;
  font-weight: 950;
  text-decoration: none;
}

.season-console-empty {
  background: rgba(255,255,255,.08);
  border: 1px dashed rgba(255,255,255,.18);
  border-radius: 18px;
  padding: 22px;
  margin-top: 18px;
}

.season-console-empty strong,
.season-console-empty span {
  display: block;
}

.season-console-empty span {
  color: #98a3ba;
  margin-top: 6px;
}

.season-console-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
}

.season-console-page-btn,
.season-console-page-current {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 950;
}

.season-console-page-btn--disabled {
  opacity: .45;
}

@media (max-width: 1100px) {
  .season-console-filter-form,
  .season-console-stats {
    grid-template-columns: 1fr;
  }

  .season-console-hero__top,
  .season-console-card__header {
    flex-direction: column;
  }
}

.season-file-hero,
.season-file-card,
.season-file-panel {
  background: radial-gradient(circle at top right, rgba(0,85,204,.16), transparent 34%),
    linear-gradient(135deg, #0f1724 0%, #121a2b 55%, #1a2236 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

.season-file-hero__top,
.season-file-card__header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.season-file-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #98a3ba;
  font-size: 11px;
  font-weight: 900;
}

.season-file-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

.season-file-subtitle {
  margin: 12px 0 0;
  color: #cad2e4;
  font-size: 17px;
}

.season-file-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.season-file-btn,
.season-file-inline-btn,
.season-file-mini-btn {
  padding: 11px 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  font-weight: 900;
  cursor: pointer;
}

.season-file-btn--blue {
  background: #0055cc;
  border-color: #0055cc;
}

.season-file-btn--green {
  background: #008c3a;
  border-color: #008c3a;
}

.season-file-btn--danger {
  background: #d9000a;
  border-color: #d9000a;
}

.season-file-stripe {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 28px;
}

.season-file-stripe .red { background: #d9000a; }
.season-file-stripe .gold { background: #c49a00; }
.season-file-stripe .green { background: #008c3a; }
.season-file-stripe .blue { background: #0055cc; }

.season-file-meta-grid {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.season-file-meta-grid > div,
.season-file-info-grid > div,
.season-file-control-status {
  padding: 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
}

.season-file-meta-grid span,
.season-file-info-grid span,
.season-file-control-status span {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #94a3b8;
  margin-bottom: 6px;
  font-weight: 900;
}

.season-file-meta-grid strong,
.season-file-info-grid strong,
.season-file-control-status strong {
  color: #fff;
  font-weight: 950;
}

.season-file-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 22px;
  align-items: start;
}

.season-file-main {
  display: grid;
  gap: 22px;
}

.season-file-side {
  position: sticky;
  top: 20px;
  display: grid;
  gap: 22px;
}

.season-file-card h2,
.season-file-panel h2 {
  margin: 0;
  font-size: 30px;
  letter-spacing: -.03em;
}

.season-file-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.season-file-notes {
  background: #fff;
  color: #111827;
  border-radius: 16px;
  padding: 16px;
  margin-top: 18px;
}

.season-file-notes span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 950;
  color: #647086;
  margin-bottom: 7px;
}

.season-file-table-wrap {
  overflow-x: auto;
  margin-top: 18px;
}

.season-file-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #111827;
  border-radius: 18px;
  overflow: hidden;
}

.season-file-table th {
  background: #080d1a;
  color: #fff;
  padding: 14px 15px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 11px;
}

.season-file-table td {
  padding: 15px;
  border-bottom: 1px solid #edf0f5;
}

.season-file-code,
.season-file-round {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef2ff;
  color: #3730a3;
  font-weight: 950;
}

.season-file-status {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .10em;
  font-weight: 950;
  text-transform: uppercase;
  background: #edf0f5;
  color: #647086;
}

.season-file-status--active,
.season-file-status--published,
.season-file-status--open,
.season-file-status--completed {
  background: #e8f8ee;
  color: #007a32;
}

.season-file-status--inactive,
.season-file-status--draft,
.season-file-status--scheduled {
  background: #fff1d6;
  color: #a55300;
}

.season-file-status--cancelled,
.season-file-status--closed {
  background: #ffe4e7;
  color: #d9000a;
}

.season-file-open {
  color: #0055cc;
  font-weight: 950;
  text-decoration: none;
}

.season-file-panel-copy {
  color: #cad2e4;
  line-height: 1.5;
  margin: 18px 0;
}

.season-file-rebuild {
  width: 100%;
  border: none;
  background: #d9000a;
  color: #fff;
  padding: 15px 18px;
  border-radius: 16px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .12em;
  cursor: pointer;
}

.season-file-empty {
  background: rgba(255,255,255,.08);
  border: 1px dashed rgba(255,255,255,.18);
  border-radius: 18px;
  padding: 22px;
  margin-top: 18px;
}

.season-file-empty.compact {
  padding: 16px;
}

.season-file-empty strong,
.season-file-empty span {
  display: block;
}

.season-file-empty span {
  color: #98a3ba;
  margin-top: 6px;
}

.season-file-sponsor-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.season-file-sponsor {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 14px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 14px;
}

.season-file-sponsor-logo {
  width: 58px;
  height: 58px;
  border-radius: 14px;
  background: rgba(255,255,255,.10);
  display: grid;
  place-items: center;
  overflow: hidden;
}

.season-file-sponsor-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.season-file-sponsor-logo span {
  font-weight: 950;
  color: #fff;
}

.season-file-sponsor strong,
.season-file-sponsor small {
  display: block;
}

.season-file-sponsor small {
  color: #98a3ba;
  margin-top: 4px;
}

.season-file-sponsor-actions {
  display: flex;
  gap: 10px;
  margin-top: 10px;
}

.season-file-sponsor-actions a {
  color: #b3cbff;
  font-weight: 900;
  text-decoration: none;
}

@media (max-width: 1100px) {
  .season-file-grid,
  .season-file-meta-grid,
  .season-file-info-grid {
    grid-template-columns: 1fr;
  }

  .season-file-side {
    position: static;
  }

  .season-file-hero__top,
  .season-file-card__header {
    flex-direction: column;
  }
}


.racer-file-card {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.racer-file-header {
  display: flex;
  gap: 20px;
  align-items: center;
}

.racer-file-photo img {
  width: 160px;
  height: 160px;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid var(--border-color);
}

.racer-file-meta {
  flex: 1;
}

.status-banner {
  padding: 14px 16px;
  border-radius: 8px;
  font-weight: 600;
}

.status-banner--danger {
  background: #fef2f2;
  border: 1px solid #fecaca;
}

.status-banner--warning {
  background: #fff7ed;
  border: 1px solid #fdba74;
}

.status-banner--success {
  background: #ecfdf5;
  border: 1px solid #86efac;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.detail-grid div {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.section-block {
  padding-top: 20px;
  border-top: 1px solid var(--border-color);
}

.alias-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.alias-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--border-color);
  border-radius: 8px;
}

.inline-form-block {
  margin-top: 20px;
}

.timeline-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.timeline-row {
  display: flex;
  justify-content: space-between;
  padding: 12px;
  border-bottom: 1px solid var(--border-color);
}

@media (max-width: 768px) {
  .racer-file-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .detail-grid {
    grid-template-columns: 1fr;
  }

  .alias-row,
  .timeline-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* app/assets/stylesheets/calendar.css */

.calendar-flagship {
  background: #ffffff;
  color: #0e0e0c;
  font-family: "Barlow", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.calendar-hero {
  background:
    radial-gradient(circle at 85% 20%, rgba(26, 78, 156, 0.22), transparent 34%),
    radial-gradient(circle at 10% 80%, rgba(26, 138, 60, 0.16), transparent 34%),
    #0e0e0c;
  color: #ffffff;
  padding: 64px 40px 0;
  position: relative;
  overflow: hidden;
}

.calendar-hero::before {
  content: "CALENDAR";
  position: absolute;
  right: -28px;
  top: 20px;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 220px;
  line-height: 1;
  color: rgba(255,255,255,0.035);
  pointer-events: none;
}

.calendar-hero__inner {
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 330px;
  gap: 48px;
  align-items: end;
  position: relative;
  z-index: 2;
}

.calendar-hero__eyebrow,
.calendar-next-card__label {
  font-family: "DM Mono", monospace;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}

.calendar-hero__title {
  margin-top: 14px;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(70px, 9vw, 125px);
  line-height: 0.88;
  letter-spacing: 0.01em;
}

.calendar-hero__title span {
  display: block;
}

.calendar-hero__title .accent {
  color: #f5b300;
}

.calendar-hero__title .ghost {
  color: transparent;
  -webkit-text-stroke: 2px rgba(255,255,255,0.16);
}

.calendar-hero__subtitle {
  max-width: 560px;
  margin-top: 14px;
  color: rgba(255,255,255,0.56);
  font-size: 16px;
  line-height: 1.65;
  font-weight: 300;
}

.calendar-next-card {
  background: rgba(255,255,255,0.065);
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 16px;
  padding: 24px;
  backdrop-filter: blur(10px);
}

.calendar-next-card h3 {
  margin-top: 12px;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 34px;
  line-height: 0.95;
}

.calendar-next-card p {
  margin-top: 7px;
  color: rgba(255,255,255,0.5);
  font-size: 13px;
}

.calendar-next-card__countdown {
  margin-top: 16px;
  display: inline-flex;
  font-family: "DM Mono", monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #f5b300;
  border: 1px solid rgba(245,179,0,0.35);
  background: rgba(245,179,0,0.1);
  border-radius: 999px;
  padding: 7px 12px;
}

.calendar-hero-stats {
  max-width: 1440px;
  margin: 42px auto 0;
  padding: 18px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  display: grid;
  grid-template-columns: repeat(4, auto);
  justify-content: start;
  gap: 34px;
  position: relative;
  z-index: 2;
}

.calendar-stat strong {
  display: block;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 36px;
  line-height: 1;
}

.calendar-stat span {
  display: block;
  margin-top: 3px;
  font-family: "DM Mono", monospace;
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.38);
}

.calendar-filters {
  background: #11110f;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 16px 40px;
}

.calendar-filters__inner {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: center;
}

.calendar-filter-group {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.calendar-filter-pill {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  font-family: "DM Mono", monospace;
  font-size: 9px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.46);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 999px;
  padding: 7px 12px;
  transition: 0.15s ease;
}

.calendar-filter-pill:hover,
.calendar-filter-pill.active {
  color: #ffffff;
  background: rgba(255,255,255,0.11);
  border-color: rgba(255,255,255,0.28);
}

.calendar-section {
  max-width: 1440px;
  margin: 0 auto;
  padding: 46px 40px 0;
}

.calendar-section__header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.calendar-section__header::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e0ddd5;
}

.calendar-section__header h2 {
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 34px;
  letter-spacing: 0.02em;
}

.calendar-meeting-grid,
.calendar-series-grid,
.calendar-promoter-grid {
  display: grid;
  gap: 16px;
}

.calendar-meeting-grid {
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
}

.calendar-meeting-card {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 16px;
  position: relative;
  text-decoration: none;
  color: #0e0e0c;
  background: #ffffff;
  border: 1.5px solid #e0ddd5;
  border-radius: 16px;
  padding: 18px;
  transition: 0.18s ease;
  overflow: hidden;
}

.calendar-meeting-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: #c8200e;
}

.calendar-meeting-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.08);
  border-color: #cccab8;
}

.calendar-meeting-card__date {
  background: #f8f7f2;
  border: 1px solid #e0ddd5;
  border-radius: 12px;
  min-height: 72px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.calendar-meeting-card__date span {
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 36px;
  line-height: 1;
}

.calendar-meeting-card__date small {
  margin-top: 3px;
  font-family: "DM Mono", monospace;
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8a887e;
}

.calendar-meeting-card__promoter,
.calendar-series-card .discipline {
  font-family: "DM Mono", monospace;
  font-size: 9px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #8a887e;
}

.calendar-meeting-card h3,
.calendar-series-card h3,
.calendar-promoter-card h3 {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 800;
  font-size: 22px;
  text-transform: uppercase;
  line-height: 1.05;
  margin-top: 6px;
}

.calendar-meeting-card p {
  margin-top: 5px;
  font-size: 13px;
  color: #5a5850;
}

.calendar-meeting-card__status,
.calendar-schedule-row__status {
  position: absolute;
  right: 14px;
  top: 14px;
  font-family: "DM Mono", monospace;
  font-size: 8px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 5px 9px;
}

.calendar-meeting-card__status.upcoming,
.calendar-schedule-row__status.upcoming {
  color: #d49a00;
  background: rgba(212,154,0,0.09);
  border: 1px solid rgba(212,154,0,0.25);
}

.calendar-meeting-card__status.completed,
.calendar-schedule-row__status.completed {
  color: #1a8a3c;
  background: rgba(26,138,60,0.08);
  border: 1px solid rgba(26,138,60,0.22);
}

.calendar-meeting-card__status.live,
.calendar-schedule-row__status.live {
  color: #16a34a;
  background: rgba(34,197,94,0.12);
  border: 1px solid rgba(34,197,94,0.25);
}

.calendar-series-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.calendar-series-card {
  text-decoration: none;
  color: #0e0e0c;
  background: #ffffff;
  border: 1.5px solid #e0ddd5;
  border-radius: 16px;
  padding: 20px;
  transition: 0.18s ease;
}

.calendar-series-card:hover {
  background: #f8f7f2;
  border-color: #cccab8;
}

.calendar-series-card__top,
.calendar-series-card__meta {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}

.calendar-series-card .progress {
  font-family: "DM Mono", monospace;
  font-size: 10px;
  color: #d49a00;
}

.calendar-series-card p {
  margin-top: 5px;
  font-size: 13px;
  color: #5a5850;
}

.calendar-progress-bar {
  margin: 18px 0 12px;
  height: 7px;
  background: #f1efe9;
  border: 1px solid #e0ddd5;
  border-radius: 999px;
  overflow: hidden;
}

.calendar-progress-bar__fill {
  height: 100%;
  background: linear-gradient(90deg, #c8200e, #f5b300);
}

.calendar-series-card__meta,
.calendar-series-card__next {
  font-size: 12px;
  color: #5a5850;
}

.calendar-series-card__next {
  margin-top: 12px;
  font-family: "DM Mono", monospace;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1a4e9c;
}

.calendar-month-block {
  margin-bottom: 28px;
}

.calendar-month-block__header {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 12px;
}

.calendar-month-block__header h3 {
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 28px;
}

.calendar-month-block__header span {
  font-family: "DM Mono", monospace;
  font-size: 10px;
  color: #8a887e;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.calendar-month-meetings {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.calendar-schedule-row {
  display: grid;
  grid-template-columns: 64px 1fr 140px;
  gap: 16px;
  align-items: center;
  position: relative;
  text-decoration: none;
  color: #0e0e0c;
  background: #ffffff;
  border: 1.5px solid #e0ddd5;
  border-radius: 14px;
  padding: 14px 16px;
}

.calendar-schedule-row:hover {
  border-color: #cccab8;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

.calendar-schedule-row__date {
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 30px;
  color: #0e0e0c;
  text-align: center;
  background: #f8f7f2;
  border: 1px solid #e0ddd5;
  border-radius: 10px;
  padding: 8px 0;
}

.calendar-schedule-row__content strong {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 20px;
  text-transform: uppercase;
}

.calendar-schedule-row__content p {
  margin-top: 3px;
  font-size: 13px;
  color: #5a5850;
}

.calendar-schedule-row__status {
  position: static;
  justify-self: end;
}

.calendar-promoter-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  padding-bottom: 70px;
}

.calendar-promoter-card {
  border-radius: 16px;
  border: 1.5px solid #e0ddd5;
  background: #ffffff;
  overflow: hidden;
}

.calendar-promoter-card__header {
  background: #0e0e0c;
  color: #ffffff;
  padding: 20px;
}

.calendar-promoter-card__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 16px 20px;
  border-bottom: 1px solid #e0ddd5;
}

.calendar-promoter-card__stats span {
  font-family: "DM Mono", monospace;
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: #f8f7f2;
  border: 1px solid #e0ddd5;
  border-radius: 999px;
  padding: 6px 9px;
  color: #5a5850;
}

.calendar-promoter-card__series {
  padding: 16px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.calendar-promoter-card__series a {
  text-decoration: none;
  color: inherit;
}

.calendar-promoter-series {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px;
  border: 1px solid #e0ddd5;
  border-radius: 10px;
  background: #f8f7f2;
}

.calendar-promoter-series strong {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 17px;
  text-transform: uppercase;
}

.calendar-promoter-series small {
  font-family: "DM Mono", monospace;
  font-size: 10px;
  color: #8a887e;
}

@media (max-width: 900px) {
  .calendar-hero,
  .calendar-filters,
  .calendar-section {
    padding-left: 20px;
    padding-right: 20px;
  }

  .calendar-hero__inner {
    grid-template-columns: 1fr;
  }

  .calendar-hero::before {
    font-size: 130px;
  }

  .calendar-hero-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .calendar-schedule-row {
    grid-template-columns: 54px 1fr;
  }

  .calendar-schedule-row__status {
    grid-column: 2;
    justify-self: start;
  }
}

.weekend-template-classes {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 12px;
}

.admin-check {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid #d7dbe3;
  border-radius: 10px;
  background: #fff;
  font-weight: 600;
}

.series-progress {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  background: #f4f1eb;
  color: #111827;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.series-progress-warning {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  background: #fff7ed;
  color: #c2410c;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}


.admin-flash {
  max-width: 1800px;
  margin: 24px auto;
  padding: 18px 22px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 18px;
  border: 1px solid transparent;
}

.admin-flash.notice {
  background: #ecfdf3;
  color: #067647;
  border-color: #abefc6;
}

.admin-flash.alert {
  background: #fffaeb;
  color: #93370d;
  border-color: #fedf89;
}

.admin-flash.error {
  background: #fef3f2;
  color: #b42318;
  border-color: #fecdca;
}


.page {
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px;
}

body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  background: f5f7fb;
  color: #1a1f36;
}

.topbar {
  background: #111827;
  color: #fff;
  padding: 16px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.topbar a {
  color: #fff;
  text-decoration: none;
  margin-left: 16px;
  opacity: 0.9;
}

.topbar a:hover {
  opacity: 1;
}

.page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px;
}

.hero {
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
}

.hero h1 {
  margin: 0 0 8px;
  font-size: 32px;
}

.hero p {
  margin: 0;
  color: #5b6475;
}

.hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
h1 {
 margin: 0 0 8px;
 font-size: 32px;
}
h2 {
margin: 0 0 8px;
font-size: 22px;
}
.btn {
  display: inline-block;
  padding: 10px 14px;
  border-radius: 10px;
  background: #e5e7eb;
  color: #111827;
  text-decoration: none;
  font-weight: 600;
}

.btn-primary {
  background: #111827;
  color: #fff;
}

.stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

.stat-card,
.section-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

.stat-card {
  padding: 20px;
}

.stat-label {
  display: block;
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 8px;
}

.stat-value {
  font-size: 28px;
  font-weight: 700;
}

.section-card {
  padding: 20px;
  margin-bottom: 20px;
}

.section-header h2 {
  margin: 0 0 16px;
  font-size: 20px;
}

.link-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.resource-card {
  display: block;
  text-decoration: none;
  color: inherit;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  background: #fafafa;
}

.resource-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}

.resource-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.resource-name {
  font-weight: 700;
}

.resource-count {
  background: #111827;
  color: #fff;
  border-radius: 999px;
  font-size: 12px;
  padding: 4px 10px;
}

.resource-bottom {
  color: #6b7280;
  font-size: 14px;
}

@media (max-width: 900px) {
  .stats-row,
  .link-grid {
    grid-template-columns: 1fr 1fr;
  }

  .hero {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .stats-row,
  .link-grid {
    grid-template-columns: 1fr;
  }
}

.app-shell {
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px;
}


.card {
  background: #f7f7f7;
  border: 1px solid #374151;
  border-radius: 14px;
  padding: 24px;
  margin-bottom: 20px;
}

.page-title {
  margin: 0 0 18px;
  font-size: 28px;
  font-weight: 700;
}

.muted {
  color: #9ca3af;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

.form-group.full {
  grid-column: 1 / -1;
}

label {
  font-size: 14px;
  font-weight: 700;
  color: #000;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="datetime-local"],
select,
textarea {
  width: 100%;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #4b5563;
  background: #f9f9f9;
  color: #000;
  box-sizing: border-box;
  outline: none;
}

textarea {
  min-height: 120px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2);
}

input[type="checkbox"] {
  transform: scale(1.2);
}

.checkbox-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}

.actions {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}

.btn,
input[type="submit"],
button {
  display: inline-block;
  padding: 12px 16px;
  border-radius: 10px;
  border: none;
  background: #374151;
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.btn-primary,
input[type="submit"] {
  background: #f59e0b;
  color: #111827;
}

.btn:hover,
input[type="submit"]:hover,
button:hover {
  opacity: 0.95;
}

.table-wrap {
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  background: #f7f7f7;
  border-radius: 12px;
  overflow: hidden;
}

th, td {
  padding: 12px 14px;
  border-bottom: 1px solid #374151;
  text-align: left;
}

th {
  background: #0f172a;
  color: #f9fafb;
}

td a {
  color: #fbbf24;
  text-decoration: none;
}

.notice {
  background: #14532d;
  color: #dcfce7;
  border: 1px solid #166534;
  padding: 12px 14px;
  border-radius: 10px;
  margin-bottom: 16px;
}

.alert-box {
  background: #7f1d1d;
  color: #fee2e2;
  border: 1px solid #991b1b;
  padding: 12px 14px;
  border-radius: 10px;
  margin-bottom: 16px;
}

@media (max-width: 768px) {
  .form-grid {
    grid-template-columns: 1fr;
  }
}

.standings-hero-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
}

.standings-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.summary-block {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 12px;
  padding: 16px;
}

.summary-label {
  display: block;
  font-size: 12px;
  color: #9ca3af;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.summary-value {
  font-size: 18px;
  font-weight: 700;
  color: #f9fafb;
}

.standings-table th,
.standings-table td {
  vertical-align: middle;
}

.standing-row {
  transition: background 0.15s ease;
}

.standing-row:hover {
  background: rgba(255, 255, 255, 0.03);
}

.leader-row {
  background: rgba(245, 158, 11, 0.12);
}

.podium-row {
  background: rgba(255, 255, 255, 0.02);
}

.rank-cell {
  width: 70px;
}

.rank-badge {
  display: inline-flex;
  min-width: 34px;
  height: 34px;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  background: #f59e0b;
  color: #111827;
}

.rider-main {
  font-weight: 700;
}

.rider-sub {
  font-size: 12px;
  margin-top: 4px;
}

.points-cell strong {
  font-size: 18px;
}

@media (max-width: 900px) {
  .standings-summary-grid {
    grid-template-columns: 1fr 1fr;
  }

  .standings-hero-top {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .standings-summary-grid {
    grid-template-columns: 1fr;
  }
}

.event-meta {
display: flex;
gap: 20px;
margin-top: 10px;
font-size: 14px;
}

.heat-block {
margin-bottom: 24px;
}

.heat-block h3 {
margin-bottom: 8px;
}

.event-header-top {
display: flex;
justify-content: space-between;
gap: 20px;
align-items: center;
}

.event-meta {
display: flex;
flex-wrap: wrap;
gap: 20px;
margin-top: 10px;
font-size: 14px;
}

.heat-block {
margin-bottom: 24px;
}

.heat-block h3 {
margin-bottom: 8px;
}

.public-event-shell {
max-width: 1200px;
margin: 0 auto;
padding: 24px;
}

.public-hero-card,
.public-section-card {
background: #f8f8f8;
border: 1px solid #374151;
border-radius: 16px;
padding: 24px;
margin-bottom: 20px;
}

.public-hero-top {
display: flex;
justify-content: space-between;
gap: 20px;
align-items: flex-start;
margin-bottom: 20px;
}

.public-kicker {
margin: 0 0 8px;
color: #f59e0b;
font-size: 13px;
text-transform: uppercase;
letter-spacing: 0.08em;
font-weight: 700;
}

.public-title {
margin: 0 0 10px;
font-size: 34px;
line-height: 1.1;
}

.public-subtitle {
margin: 0;
color: #d1d5db;
}

.public-stat-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
}

.public-stat-card {
background: #111827;
border: 1px solid #374151;
border-radius: 14px;
padding: 18px;
}

.public-stat-label {
display: block;
color: #9ca3af;
font-size: 12px;
text-transform: uppercase;
letter-spacing: 0.06em;
margin-bottom: 8px;
}

.public-stat-value {
display: block;
font-size: 26px;
font-weight: 800;
color: #f9fafb;
}

.public-section-title {
margin-top: 0;
margin-bottom: 16px;
font-size: 22px;
}

.public-table-wrap {
overflow-x: auto;
}

.public-table {
width: 100%;
border-collapse: collapse;
}

.public-table th,
.public-table td {
padding: 12px 14px;
border-bottom: 1px solid #374151;
text-align: left;
}

.public-table th {
background: #111827;
}

.public-muted {
color: #d1d5db; /* light grey (readable on dark) */
font-size: 14px;
line-height: 1.5;

opacity: 1; /* IMPORTANT: remove fading */
}

.public-heat-card {
margin-bottom: 24px;
padding: 18px;
border: 1px solid #374151;
border-radius: 14px;
background: #111827;
}

.public-heat-header h3 {
margin: 0 0 6px;
}

.public-heat-header h3 {

font-weight: 700;
letter-spacing: 0.5px;
text-transform: uppercase;
}

.public-heat-header h3 {
text-shadow: 0 0 6px rgba(255, 102, 0, 0.4);
}

@media (max-width: 900px) {
.public-stat-grid {
grid-template-columns: 1fr 1fr;
}

.public-hero-top {
flex-direction: column;
}
}

@media (max-width: 640px) {
.public-stat-grid {
grid-template-columns: 1fr;
}
}

.public-standings-shell {
max-width: 1200px;
margin: 0 auto;
padding: 24px;
}

.public-standings-table .public-rank-badge {
display: inline-flex;
min-width: 34px;
height: 34px;
border-radius: 999px;
align-items: center;
justify-content: center;
font-weight: 800;
background: #f59e0b;
color: #111827;
}

.public-rider-main {
font-weight: 700;
}

.public-rider-sub {
font-size: 12px;
color: #9ca3af;
margin-top: 4px;
}

.public-leader-row {
background: rgba(245, 158, 11, 0.12);
}

.public-rider-shell {
max-width: 1200px;
margin: 0 auto;
padding: 24px;
}

.public-bio {
line-height: 1.6;
}

.public-rider-summary-grid {
display: grid;
grid-template-columns: 1.4fr 1fr;
gap: 20px;
}

.public-mini-stats {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 14px;
}

.public-mini-stat {
background: #111827;
border: 1px solid #374151;
border-radius: 12px;
padding: 14px;
}

.public-mini-label {
display: block;
color: #9ca3af;
font-size: 12px;
margin-bottom: 6px;
text-transform: uppercase;
letter-spacing: 0.05em;
}

.public-mini-value {
font-size: 20px;
font-weight: 700;
color: #f9fafb;
}

.public-form-row {
display: flex;
gap: 10px;
flex-wrap: wrap;
}

.public-form-pill {
display: inline-flex;
min-width: 42px;
height: 42px;
border-radius: 999px;
align-items: center;
justify-content: center;
font-weight: 800;
background: #f59e0b;
color: #111827;
}

@media (max-width: 900px) {
.public-rider-summary-grid {
grid-template-columns: 1fr;
}

.public-mini-stats {
grid-template-columns: 1fr 1fr;
}
}

@media (max-width: 640px) {
.public-mini-stats {
grid-template-columns: 1fr;
}
}

.fastest-lap {
color: #f59e0b;
font-weight: 700;
}

.card .notice,
.card .alert-box {
margin-bottom: 12px;
}

.public-rider-hero-wrap {
display: flex;
align-items: center;
gap: 18px;
}

.public-rider-avatar {
flex: 0 0 auto;
}

.public-rider-avatar-img,
.public-rider-avatar-placeholder {
width: 110px;
height: 110px;
border-radius: 18px;
object-fit: cover;
border: 1px solid #374151;
background: #111827;
}

.public-rider-avatar-placeholder {
display: flex;
align-items: center;
justify-content: center;
font-size: 36px;
font-weight: 800;
color: #f59e0b;
}

@media (max-width: 640px) {
.public-rider-hero-wrap {
flex-direction: column;
align-items: flex-start;
}
}

.public-dashboard-shell {
max-width: 1200px;
margin: 0 auto;
padding: 24px;
}

.public-dashboard-grid {
display: grid;
grid-template-columns: 1.3fr 1fr;
gap: 20px;
margin-bottom: 20px;
}

.podium-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}

.podium-card {
background: #111827;
border: 1px solid #374151;
border-radius: 14px;
padding: 18px;
}

.podium-place {
font-size: 24px;
font-weight: 800;
margin-bottom: 10px;
color: #f59e0b;
}

.podium-rider {
font-weight: 700;
margin-bottom: 6px;
}

.podium-points {
margin-top: 12px;
}

.next-race-card {
background: #111827;
border: 1px solid #374151;
border-radius: 14px;
padding: 18px;
}

.featured-rider-wrap {
display: flex;
gap: 18px;
align-items: center;
}

.chart-placeholder {
height: 220px;
border: 1px dashed #4b5563;
border-radius: 16px;
display: flex;
align-items: center;
justify-content: center;
color: #9ca3af;
background: #111827;
}

@media (max-width: 900px) {
.public-dashboard-grid {
grid-template-columns: 1fr;
}

.podium-grid {
grid-template-columns: 1fr;
}

.featured-rider-wrap {
flex-direction: column;
align-items: flex-start;
}
}

.podium-rider-link {
color: #f9fafb;
font-weight: 700;
text-decoration: none;
}

.podium-rider-link:hover {
color: #f9fafb;
text-decoration: underline;
}

/* Podium layout */
.podium-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
}

/* Base card */
.podium-card {
background: #111827;
border-radius: 16px;
padding: 20px;
text-align: center;
border: 1px solid #374151;
position: relative;
transition: transform 0.15s ease;
}

.podium-card:hover {
transform: translateY(-4px);
}

/* ===== PODIUM COLORS ===== */

.podium-1 {
min-height: 260px;
border: 2px solid #ff6600;
background: linear-gradient(180deg, #1a1208 0%, #0b0b0c 100%);
box-shadow:
0 0 18px rgba(255, 102, 0, 0.35),
0 0 40px rgba(255, 102, 0, 0.15);
}

.podium-2 {
min-height: 210px;
border: 2px solid #c0c0c0;
background: linear-gradient(180deg, #161616 0%, #0b0b0c 100%);
box-shadow:
0 0 10px rgba(192, 192, 192, 0.25);
}

.podium-3 {
min-height: 190px;
border: 2px solid #cd7f32;
background: linear-gradient(180deg, #1a120a 0%, #0b0b0c 100%);
box-shadow:
0 0 10px rgba(205, 127, 50, 0.25);
}

/* Position label */
.podium-place {
display: inline-block;
margin-bottom: 10px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 900;
letter-spacing: 0.08em;
}

/* Gold */
.podium-1 .podium-place {
background: #ff6600;
color: #111;
}

/* Silver */
.podium-2 .podium-place {
background: #c0c0c0;
color: #111;
}

/* Bronze */
.podium-3 .podium-place {
background: #cd7f32;
color: #111;
}

/* Avatar */
.podium-avatar {
margin-bottom: 12px;
}

.podium-1 .podium-avatar-img,
.podium-1 .podium-avatar-placeholder {
border: 2px solid #ff6600;
box-shadow: 0 0 10px rgba(255, 102, 0, 0.4);
}
.podium-1 .podium-total-time {
font-size: 16px;
font-weight: 900;
color: #ff6600;
}

.podium-2 .podium-total-time,
.podium-3 .podium-total-time {
color: #ddd;
}

.podium-card:hover {
transform: translateY(-6px) scale(1.02);
}

.podium-slot-1 .podium-card {
transform: scale(1.05);
}

.podium-avatar-img,
.podium-avatar-placeholder {
width: 90px;
height: 90px;
border-radius: 16px;
object-fit: cover;
border: 1px solid #374151;
background: #1f2937;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 28px;
font-weight: 800;
color: #f9fafb;
}

/* Rider name */
.podium-rider {
margin-top: 8px;
}

.podium-rider-link {
color: #f9fafb;
font-weight: 800;
font-size: 16px;
text-decoration: none;
}

.podium-rider-link:hover {
text-decoration: underline;
}

/* Class + machine */
.podium-class {
margin-top: 6px;
font-size: 13px;
color: #9ca3af;
}

.podium-machine {
font-size: 13px;
color: #6b7280;
}

/* Points */
.podium-points {
margin-top: 10px;
font-size: 15px;
color: #f9fafb;
}

/* Mobile */
@media (max-width: 900px) {
.podium-grid {
grid-template-columns: 1fr;
}
}

.head-to-head-hero-grid {
display: grid;
grid-template-columns: 1fr 140px 1fr;
gap: 20px;
margin-bottom: 20px;
}

.h2h-vs-card {
display: flex;
align-items: center;
justify-content: center;
}

.h2h-vs {
font-size: 42px;
font-weight: 900;
color: #f59e0b;
letter-spacing: 0.08em;
}

.h2h-rider-card {
text-align: center;
}

.head-to-head-summary {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}

.h2h-score-card {
background: #111827;
border: 1px solid #374151;
border-radius: 12px;
padding: 16px;
text-align: center;
}

@media (max-width: 900px) {
.head-to-head-hero-grid {
grid-template-columns: 1fr;
}

.h2h-vs-card {
min-height: 80px;
}

.head-to-head-summary {
grid-template-columns: 1fr;
}
}

.position-up {
color: #10b981;
}

.position-down {
color: #ef4444;
}

.position-flat {
color: #9ca3af;
}

.leaderboard-shell {
max-width: 1200px;
margin: 0 auto;
padding: 24px;
}

.leaderboard-hero {
background: #f7f7f7;
border: 1px solid #374151;
border-radius: 18px;
padding: 24px;
margin-bottom: 20px;
}

.leaderboard-hero-top {
display: flex;
justify-content: space-between;
gap: 20px;
align-items: flex-start;
}

.leaderboard-kicker {
margin: 0 0 8px;
color: #f59e0b;
font-size: 13px;
text-transform: uppercase;
letter-spacing: 0.08em;
font-weight: 700;
}

.leaderboard-title {
margin: 0 0 8px;
font-size: 40px;
line-height: 1.05;
}

.leaderboard-subtitle {
margin: 0;
color: #d1d5db;
}

.leaderboard-podium-section {
margin-bottom: 22px;
}

.leaderboard-podium-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
}

.leaderboard-podium-card {
position: relative;
background: linear-gradient(180deg, #111827 0%, #0b1220 100%);
border-radius: 18px;
padding: 20px;
border: 1px solid #374151;
overflow: hidden;
min-height: 360px;
}

.leaderboard-rank-1 {
border: 2px solid #f59e0b;
box-shadow: 0 0 24px rgba(245, 158, 11, 0.12);
}

.leaderboard-rank-2 {
border: 2px solid #9ca3af;
}

.leaderboard-rank-3 {
border: 2px solid #b45309;
}

.leaderboard-rank-watermark {
position: absolute;
top: 8px;
left: 16px;
font-size: 120px;
font-weight: 900;
line-height: 1;
opacity: 0.12;
color: #f9fafb;
}

.leaderboard-rider-photo {
position: relative;
z-index: 2;
display: flex;
justify-content: center;
margin-top: 46px;
margin-bottom: 18px;
}

.leaderboard-rider-photo-img,
.leaderboard-rider-photo-placeholder {
width: 160px;
height: 160px;
border-radius: 18px;
object-fit: cover;
border: 1px solid #374151;
background: #111827;
display: flex;
align-items: center;
justify-content: center;
font-size: 42px;
font-weight: 800;
color: #f9fafb;
}

.leaderboard-number-points {
display: flex;
justify-content: space-between;
align-items: center;
gap: 12px;
margin-bottom: 14px;
position: relative;
z-index: 2;
}

.leaderboard-number-badge {
background: #7c3aed;
color: #fff;
font-weight: 900;
font-size: 24px;
line-height: 1;
border-radius: 10px;
padding: 10px 14px;
min-width: 70px;
text-align: center;
display: inline-block;
}

.leaderboard-number-badge.small {
font-size: 18px;
min-width: 58px;
padding: 8px 10px;
}

.leaderboard-points {
font-size: 28px;
font-weight: 900;
color: #f9fafb;
}

.leaderboard-points small,
.leaderboard-list-points small {
font-size: 14px;
color: #d1d5db;
font-weight: 700;
}

.leaderboard-rider-name {
position: relative;
z-index: 2;
font-size: 18px;
font-weight: 900;
margin-bottom: 8px;
text-transform: uppercase;
}

.leaderboard-rider-link {
color: #f9fafb;
text-decoration: none;
}

.leaderboard-rider-link:hover {
text-decoration: underline;
}

.leaderboard-machine {
color: #d1d5db;
font-size: 14px;
margin-bottom: 6px;
}

.leaderboard-class {
color: #9ca3af;
font-size: 13px;
}

.leaderboard-list-section {
margin-bottom: 20px;
}

.leaderboard-list-wrap {
display: flex;
flex-direction: column;
gap: 10px;
}

.leaderboard-list-row {
display: grid;
grid-template-columns: 70px 90px 1.6fr 1fr 120px;
align-items: center;
gap: 12px;
background: #0f172a;
border: 1px solid #374151;
border-radius: 14px;
padding: 14px 18px;
}

.leaderboard-list-rank {
font-size: 32px;
font-weight: 900;
color: #f9fafb;
}

.leaderboard-list-rider {
font-size: 16px;
font-weight: 800;
text-transform: uppercase;
}

.leaderboard-list-machine {
color: #9ca3af;
font-size: 14px;
}

.leaderboard-list-points {
text-align: right;
font-size: 28px;
color: #f9fafb;
}

@media (max-width: 1000px) {
.leaderboard-podium-grid {
grid-template-columns: 1fr;
}

.leaderboard-list-row {
grid-template-columns: 56px 74px 1fr 120px;
}

.leaderboard-list-machine {
display: none;
}
}

@media (max-width: 700px) {
.leaderboard-hero-top {
flex-direction: column;
}

.leaderboard-title {
font-size: 30px;
}

.leaderboard-list-row {
grid-template-columns: 48px 68px 1fr 100px;
padding: 12px 14px;
}

.leaderboard-list-rank {
font-size: 24px;
}

.leaderboard-list-points {
font-size: 22px;
}
}

.public-meeting-shell {
max-width: 1200px;
margin: 0 auto;
padding: 24px;
}

.public-meeting-shell {
max-width: 1200px;
margin: 0 auto;
padding: 24px;
}

.meeting-headline-card {
background: linear-gradient(180deg, #111827 0%, #0b1220 100%);
border: 1px solid #374151;
border-radius: 18px;
padding: 24px;
}

.meeting-headline-meta {
display: flex;
gap: 10px;
flex-wrap: wrap;
margin-bottom: 14px;
}

.meeting-headline-tag {
display: inline-block;
background: #f59e0b;
color: #111827;
font-weight: 800;
font-size: 12px;
text-transform: uppercase;
letter-spacing: 0.06em;
border-radius: 999px;
padding: 6px 10px;
}

.meeting-headline-series {
display: inline-block;
background: #1f2937;
color: #f9fafb;
font-weight: 700;
font-size: 12px;
border: 1px solid #374151;
border-radius: 999px;
padding: 6px 10px;
}

.meeting-headline-title {
margin: 0 0 8px;
font-size: 28px;
line-height: 1.1;
}

.meeting-headline-subtitle {
margin: 0 0 8px;
color: #d1d5db;
}

.meeting-support-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
}

.meeting-support-card {
background: #111827;
border: 1px solid #374151;
border-radius: 16px;
padding: 18px;
}

.meeting-support-series {
color: #f59e0b;
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
margin-bottom: 10px;
}

.meeting-support-title {
margin: 0 0 8px;
font-size: 20px;
line-height: 1.15;
}

@media (max-width: 900px) {
.meeting-support-grid {
grid-template-columns: 1fr;
}
}

.track-form-preview {
width: 180px;
height: 120px;
object-fit: cover;
border-radius: 12px;
border: 1px solid #374151;
}

.track-hero-card {
overflow: hidden;
padding: 0;
}

.track-hero-image-wrap {
width: 100%;
background: #0b1220; /* fallback background */
display: flex;
justify-content: center;
align-items: center;
padding: 12px;
}

.track-hero-image {
width: 100%;
height: auto;
max-height: 400px;
object-fit: contain;
}

.track-hero-content {
padding: 24px;
}

.track-meta-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
margin-top: 18px;
}

.track-gallery-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}

.track-gallery-card {
background: #111827;
border: 1px solid #374151;
border-radius: 14px;
overflow: hidden;
}

.track-gallery-image {
width: 100%;
height: 220px;
object-fit: cover;
display: block;
}

.track-index-thumb,
.track-index-placeholder {
width: 72px;
height: 52px;
object-fit: cover;
border-radius: 10px;
border: 1px solid #374151;
}

.track-index-placeholder {
display: flex;
align-items: center;
justify-content: center;
background: #111827;
color: #f9fafb;
font-weight: 800;
}

@media (max-width: 900px) {
.track-meta-grid,
.track-gallery-grid {
grid-template-columns: 1fr;
}

.track-hero-image {
height: 240px;
}
}
.track-form-preview {
width: 180px;
height: 120px;
object-fit: contain;
border-radius: 12px;
border: 1px solid #374151;
background: #0b1220;
}

.track-hero-card {
background: #0b1220;
padding: 0;
overflow: hidden;
}

.track-hero-image-wrap {
width: 100%;
background: #0b1220;
display: flex;
justify-content: center;
align-items: center;
padding: 12px;
}

.track-hero-image {
width: 100%;
height: auto;
max-height: 420px;
object-fit: contain;
}

.track-hero-content {
padding: 24px;
}

.track-meta-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
margin-top: 18px;
}

.track-two-column-grid {
display: grid;
grid-template-columns: 1.1fr 1fr;
gap: 20px;
}

.track-layout-wrap {
width: 100%;
background: #0b1220;
border: 1px solid #374151;
border-radius: 14px;
padding: 16px;
display: flex;
justify-content: center;
align-items: center;
}

.track-layout-image {
width: 100%;
height: auto;
max-height: 420px;
object-fit: contain;
}

.track-gallery-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}

.track-gallery-card {
background: #111827;
border: 1px solid #374151;
border-radius: 14px;
overflow: hidden;
}

.track-gallery-image {
width: 100%;
height: 220px;
object-fit: cover;
display: block;
}

.track-gallery-thumb {
width: 100px;
height: 72px;
object-fit: cover;
border-radius: 10px;
border: 1px solid #374151;
}

.track-index-thumb,
.track-index-placeholder {
width: 72px;
height: 52px;
object-fit: cover;
border-radius: 10px;
border: 1px solid #374151;
}

.track-index-placeholder {
display: flex;
align-items: center;
justify-content: center;
background: #111827;
color: #f9fafb;
font-weight: 800;
}

@media (max-width: 900px) {
.track-meta-grid,
.track-gallery-grid,
.track-two-column-grid {
grid-template-columns: 1fr;
}

.track-hero-image,
.track-layout-image {
max-height: 280px;
}
}

.meeting-calendar-shell {
max-width: 1200px;
margin: 0 auto;
padding: 24px;
}

.meeting-calendar-list {
display: flex;
flex-direction: column;
gap: 18px;
}

.meeting-calendar-card {
display: grid;
grid-template-columns: 120px 1fr 170px;
gap: 18px;
background: #111827;
border: 1px solid #374151;
border-radius: 18px;
padding: 18px;
align-items: center;
}

.meeting-calendar-date-block {
background: #0b1220;
border: 1px solid #374151;
border-radius: 16px;
padding: 16px 12px;
text-align: center;
}

.meeting-calendar-month {
color: #f59e0b;
font-size: 13px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.08em;
}

.meeting-calendar-day {
font-size: 42px;
font-weight: 900;
line-height: 1;
margin: 8px 0;
}

.meeting-calendar-year {
color: #9ca3af;
font-size: 13px;
font-weight: 700;
}

.meeting-calendar-meta {
display: flex;
gap: 10px;
flex-wrap: wrap;
margin-bottom: 10px;
}

.meeting-calendar-promoter {
display: inline-block;
background: #1f2937;
color: #f9fafb;
border: 1px solid #374151;
border-radius: 999px;
padding: 6px 10px;
font-size: 12px;
font-weight: 700;
}

.meeting-calendar-status {
display: inline-block;
background: #1f2937;
color: #d1d5db;
border: 1px solid #374151;
border-radius: 999px;
padding: 6px 10px;
font-size: 12px;
font-weight: 700;
}

.meeting-status-completed {
background: rgba(16, 185, 129, 0.12);
color: #10b981;
border-color: rgba(16, 185, 129, 0.35);
}

.meeting-calendar-title {
margin: 0 0 8px;
font-size: 28px;
line-height: 1.1;
}

.meeting-calendar-subtitle {
margin: 0 0 14px;
color: #d1d5db;
}

.meeting-calendar-results-heading,
.meeting-calendar-preview-heading {
font-size: 13px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.06em;
color: #9ca3af;
margin-bottom: 10px;
}

.meeting-calendar-podium-row,
.meeting-calendar-series-list {
display: flex;
flex-wrap: wrap;
gap: 10px;
}

.meeting-calendar-podium-pill {
display: inline-flex;
align-items: center;
gap: 10px;
background: #0b1220;
border: 1px solid #374151;
border-radius: 999px;
padding: 8px 12px;
}

.meeting-calendar-podium-pos {
color: #f59e0b;
font-weight: 900;
}

.meeting-calendar-podium-name {
color: #f9fafb;
font-weight: 700;
}

.meeting-calendar-series-pill {
display: inline-block;
background: #0b1220;
border: 1px solid #374151;
color: #f9fafb;
border-radius: 999px;
padding: 8px 12px;
font-size: 13px;
font-weight: 700;
}

.meeting-calendar-card-right {
display: flex;
justify-content: flex-end;
align-items: center;
}

@media (max-width: 900px) {
.meeting-calendar-card {
grid-template-columns: 1fr;
}

.meeting-calendar-card-right {
justify-content: flex-start;
}

.meeting-calendar-date-block {
max-width: 140px;
}
}

.public-promoter-shell {
max-width: 1200px;
margin: 0 auto;
padding: 24px;
}

.promoter-featured-meeting-card {
background: linear-gradient(180deg, #111827 0%, #0b1220 100%);
border: 1px solid #374151;
border-radius: 18px;
padding: 24px;
}

.promoter-series-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
}

.promoter-series-card {
background: #111827;
border: 1px solid #374151;
border-radius: 16px;
padding: 18px;

transition: all 0.2s ease;
}

.promoter-series-card:hover {
border-color: #f97316;
box-shadow: 0 0 0 1px rgba(249, 115, 22, 0.2);
}

.promoter-series-card:hover .promoter-series-name {
color: #fb923c;
text-shadow:
0 0 10px rgba(251, 146, 60, 0.6),
0 0 18px rgba(251, 146, 60, 0.3);
}

.promoter-series-top {
display: flex;
justify-content: space-between;
gap: 12px;
align-items: flex-start;
margin-bottom: 10px;
}

.promoter-series-name {
font-size: 20px;
font-weight: 900;
line-height: 1.15;

color: #f97316; /* strong racing orange */

/* subtle glow for premium feel */
text-shadow:
0 0 6px rgba(249, 115, 22, 0.4),
0 0 12px rgba(249, 115, 22, 0.2);
}

.promoter-series-status {
font-size: 12px;
font-weight: 700;
color: #9ca3af;
text-transform: uppercase;
letter-spacing: 0.06em;
}

.promoter-meeting-list {
display: flex;
flex-direction: column;
gap: 12px;
}

.promoter-meeting-row {
background: #111827;
border: 1px solid #374151;
border-radius: 14px;
padding: 16px;
display: flex;
justify-content: space-between;
gap: 16px;
align-items: center;
}

.promoter-meeting-title {
font-size: 17px;
font-weight: 800;
margin-bottom: 4px;
}

.promoter-series-description {
color: #e5e7eb;
font-size: 14px;
line-height: 1.5;
margin-top: 10px;
}

@media (max-width: 900px) {
.promoter-series-grid {
grid-template-columns: 1fr;
}

.promoter-meeting-row {
flex-direction: column;
align-items: flex-start;
}
}

/* ZX10 Class Podium Pyramid */
.podium-event-name {
margin-bottom: 18px;
}

.zx10-podium-sections {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
}

.zx10-class-podium-card {
background: #0f0f10;
border: 1px solid #222;
border-radius: 16px;
padding: 18px;
overflow: hidden;
}

.zx10-class-podium-title {
margin: 0 0 18px;
color: #ff6600;
font-size: 18px;
font-weight: 800;
letter-spacing: 0.04em;
text-transform: uppercase;
text-align: center;
text-shadow: 0 0 8px rgba(255, 102, 0, 0.22);
}

.podium-pyramid {
display: grid;
grid-template-columns: 1fr 1.15fr 1fr;
align-items: end;
gap: 12px;
min-height: 320px;
}

.podium-slot {
display: flex;
align-items: end;
justify-content: center;
}

.podium-card {
width: 100%;
background: linear-gradient(180deg, #141414 0%, #0b0b0c 100%);
border: 1px solid #242424;
border-radius: 14px;
padding: 14px 12px;
text-align: center;
transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.podium-card:hover {
transform: translateY(-4px);
}

.podium-1 {
min-height: 260px;
border-color: #ff6600;
box-shadow: 0 0 14px rgba(255, 102, 0, 0.20);
}

.podium-2 {
min-height: 210px;
border-color: #6b7280;
}

.podium-3 {
min-height: 190px;
border-color: #4b5563;
}

.podium-place {
display: inline-block;
margin-bottom: 10px;
padding: 5px 10px;
border-radius: 999px;
background: #ff6600;
color: #111;
font-size: 12px;
font-weight: 900;
letter-spacing: 0.05em;
}

.podium-avatar {
display: flex;
justify-content: center;
margin-bottom: 10px;
}

.podium-avatar-img,
.podium-avatar-placeholder {
width: 58px;
height: 58px;
border-radius: 999px;
}

.podium-avatar-img {
object-fit: cover;
border: 2px solid #2f2f2f;
}

.podium-avatar-placeholder {
display: flex;
align-items: center;
justify-content: center;
background: #1b1b1c;
color: #ff6600;
font-weight: 900;
border: 2px solid #2a2a2b;
}

.podium-rider {
margin-bottom: 6px;
}

.podium-rider-link {
color: #ffffff;
font-weight: 700;
text-decoration: none;
line-height: 1.2;
}

.podium-rider-link:hover {
color: #ff6600;
}

.podium-machine {
color: #b8b8b8;
font-size: 12px;
margin-bottom: 10px;
}

.podium-total-time {
color: #ff6600;
font-size: 14px;
font-weight: 800;
letter-spacing: 0.03em;
text-shadow: 0 0 8px rgba(255, 102, 0, 0.15);
}

@media (max-width: 1100px) {
.zx10-podium-sections {
grid-template-columns: 1fr;
}
}

@media (max-width: 640px) {
.podium-pyramid {
grid-template-columns: 1fr;
min-height: auto;
}

.podium-slot-1 {
order: 1;
}

.podium-slot-2 {
order: 2;
}

.podium-slot-3 {
order: 3;
}

.podium-1,
.podium-2,
.podium-3 {
min-height: auto;
}
}

.navbar-brand {
display: flex;
align-items: center;
gap: 10px;
}

.app-logo {
height: 45px;
width: auto;
object-fit: contain;
}

.app-logo-text {
font-weight: 800;
color: #ff6600;
letter-spacing: 0.5px;
}

.table-primary-link {
color: #f97316;
font-weight: 800;
text-decoration: none;
}

.table-primary-link:hover {
text-decoration: underline;
}

.pagination-bar {
display: flex;
justify-content: space-between;
align-items: center;
gap: 16px;
}

@media (max-width: 900px) {
.pagination-bar {
flex-direction: column;
align-items: flex-start;
}
}

.public-rider-shell {
max-width: 1200px;
margin: 0 auto;
padding: 24px;
}

.public-rider-hero-wrap {
display: flex;
align-items: center;
gap: 18px;
}

.public-rider-avatar {
flex-shrink: 0;
}

.public-rider-avatar-img,
.public-rider-avatar-placeholder {
width: 120px;
height: 120px;
border-radius: 18px;
object-fit: cover;
border: 1px solid #374151;
background: #111827;
display: flex;
align-items: center;
justify-content: center;
font-size: 42px;
font-weight: 900;
color: #f9fafb;
}

.public-rider-hero-copy {
display: flex;
flex-direction: column;
gap: 8px;
}

.public-rider-number-badge {
display: inline-block;
width: fit-content;
background: #f97316;
color: #111827;
font-weight: 900;
font-size: 20px;
border-radius: 10px;
padding: 8px 12px;
}

.public-rivals-list {
display: flex;
flex-direction: column;
gap: 12px;
}
.public-rival-row strong {
color: #f9fafb;
font-weight: 800;
}

.public-rival-row:hover strong {
color: #f97316;
}
.public-rival-row {
display: flex;
justify-content: space-between;
align-items: center;
gap: 16px;
background: #111827;
border: 1px solid #374151;
border-radius: 14px;
padding: 14px;
}

@media (max-width: 800px) {
.public-rider-hero-wrap {
flex-direction: column;
align-items: flex-start;
}

.public-rival-row {
flex-direction: column;
align-items: flex-start;
}
}

.racepsl-admin-nav {
position: sticky;
top: 0;
z-index: 1000;
background: #fff;
border-bottom: 1px solid #e8e8e8;
}

.racepsl-admin-nav__top {
height: 72px;
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;
gap: 18px;
padding: 0 28px;
}

.racepsl-admin-nav__brand {
display: flex;
align-items: center;
text-decoration: none;
}

.racepsl-admin-nav__brand img {
height: 42px;
width: auto;
display: block;
}

.racepsl-admin-nav__brand span {
font-weight: 900;
font-size: 28px;
letter-spacing: -0.03em;
color: #111;
}

.racepsl-admin-nav__current {
justify-self: center;
font-size: 11px;
font-weight: 900;
letter-spacing: 0.18em;
text-transform: uppercase;
color: #8b8b8b;
}

.racepsl-admin-nav__toggle {
width: 44px;
height: 44px;
border: 1px solid #dedede;
border-radius: 12px;
background: #fff;
display: none;
align-items: center;
justify-content: center;
flex-direction: column;
gap: 5px;
cursor: pointer;
}

.racepsl-admin-nav__toggle span {
width: 22px;
height: 2px;
background: #111;
border-radius: 99px;
transition: 0.2s ease;
}

.racepsl-admin-nav.is-open .racepsl-admin-nav__toggle span:nth-child(1) {
transform: rotate(45deg) translate(5px, 5px);
}

.racepsl-admin-nav.is-open .racepsl-admin-nav__toggle span:nth-child(2) {
opacity: 0;
}

.racepsl-admin-nav.is-open .racepsl-admin-nav__toggle span:nth-child(3) {
transform: rotate(-45deg) translate(5px, -5px);
}

.racepsl-admin-nav__drawer {
display: flex;
justify-content: center;
gap: 36px;
padding: 18px 28px 22px;
border-top: 1px solid #f0f0f0;
background: #fafafa;
}

.racepsl-admin-nav__section {
min-width: 150px;
}

.racepsl-admin-nav__section-button {
width: 100%;
border: 0;
background: transparent;
padding: 0 0 14px;
display: flex;
justify-content: space-between;
align-items: center;
cursor: default;
}

.racepsl-admin-nav__section-button span {
display: flex;
align-items: center;
gap: 8px;
}

.racepsl-admin-nav__section-button i {
font-style: normal;
font-size: 14px;
}

.racepsl-admin-nav__section-button strong {
font-size: 11px;
font-weight: 900;
letter-spacing: 0.18em;
text-transform: uppercase;
color: #737985;
}

.racepsl-admin-nav__section-button b {
width: 6px;
height: 6px;
border-radius: 99px;
background: #e31e24;
}

.racepsl-admin-nav__section-button em {
display: none;
}

.racepsl-admin-nav__items {
display: flex;
flex-wrap: wrap;
gap: 12px 18px;
}

.racepsl-admin-nav__item {
text-decoration: none;
color: #161616;
font-size: 16px;
font-weight: 850;
line-height: 1;
white-space: nowrap;
}

.racepsl-admin-nav__item:hover {
color: #e31e24;
}

.racepsl-admin-nav__item.is-active {
color: #e31e24;
}

.racepsl-admin-nav__section.is-highlight .racepsl-admin-nav__item.is-active {
background: #e94b22;
color: #fff;
padding: 12px 18px;
border-radius: 10px;
margin-top: -12px;
}

.racepsl-admin-nav__backdrop {
display: none;
}

.racepsl-admin-nav__foot {
display: none;
}

/* Mobile drawer */
@media (max-width: 860px) {
.racepsl-admin-nav__top {
  height: 86px;
  padding: 0 22px;
}

.racepsl-admin-nav__brand img {
  height: 48px;
}

.racepsl-admin-nav__current {
  font-size: 10px;
  justify-self: end;
}

.racepsl-admin-nav__toggle {
  display: flex;
}

.racepsl-admin-nav__backdrop {
  position: fixed;
  inset: 86px 0 0;
  background: rgba(0,0,0,0.35);
  z-index: 998;
  display: block;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease;
}

.racepsl-admin-nav.is-open .racepsl-admin-nav__backdrop {
  opacity: 1;
  pointer-events: auto;
}

.racepsl-admin-nav__drawer {
  position: fixed;
  top: 86px;
  right: 0;
  bottom: 0;
  width: min(84vw, 340px);
  z-index: 999;
  display: block;
  overflow-y: auto;
  padding: 0;
  background: #fff;
  border-top: 0;
  box-shadow: -16px 0 40px rgba(0,0,0,0.18);
  transform: translateX(110%);
  transition: transform 0.26s cubic-bezier(0.4, 0, 0.2, 1);
}

.racepsl-admin-nav.is-open .racepsl-admin-nav__drawer {
  transform: translateX(0);
}

.racepsl-admin-nav__section {
  min-width: 0;
  border-bottom: 1px solid #f0f0f0;
}

.racepsl-admin-nav__section-button {
  padding: 17px 18px;
  cursor: pointer;
}

.racepsl-admin-nav__section-button strong {
  color: #111;
  font-size: 13px;
}

.racepsl-admin-nav__section-button em {
  display: block;
  font-style: normal;
  color: #aaa;
  transition: transform 0.2s ease;
}

.racepsl-admin-nav__section.is-open .racepsl-admin-nav__section-button em {
  transform: rotate(180deg);
}

.racepsl-admin-nav__items {
  display: block;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease;
}

.racepsl-admin-nav__section.is-open .racepsl-admin-nav__items {
  max-height: 520px;
  padding-bottom: 8px;
}

.racepsl-admin-nav__item {
  display: block;
  padding: 13px 18px 13px 48px;
  border-left: 3px solid transparent;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.racepsl-admin-nav__item.is-active {
  background: #fff5f3;
  border-left-color: #e31e24;
  color: #e31e24;
}

.racepsl-admin-nav__section.is-highlight .racepsl-admin-nav__item.is-active {
  margin: 0;
  border-radius: 0;
  padding: 13px 18px 13px 48px;
  background: #fff5f3;
  color: #e31e24;
}

.racepsl-admin-nav__foot {
  display: block;
  padding: 24px 18px;
  text-align: center;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #b8b8b8;
}
}

.racepsl-admin-nav__auth {
display: flex;
align-items: center;
gap: 12px;
margin-top: 20px;
padding: 0 18px;
}

.racepsl-admin-nav__user-email {
font-size: 11px;
font-weight: 700;
color: #666;
}

.racepsl-admin-nav__logout-btn,
.racepsl-admin-nav__login-btn {
border: 1px solid #ddd;
background: #fff;
padding: 8px 14px;
border-radius: 10px;
font-size: 12px;
font-weight: 800;
text-transform: uppercase;
cursor: pointer;
text-decoration: none;
color: #111;
}

.racepsl-admin-nav__logout-btn:hover,
.racepsl-admin-nav__login-btn:hover {
border-color: #e31e24;
color: #e31e24;
}

.racepsl-admin-nav__auth {
display: flex;
align-items: center;
gap: 10px;
margin-left: auto;
}

.racepsl-admin-nav__user-email {
font-size: 11px;
font-weight: 700;
color: #666;
}

.racepsl-admin-nav__logout-btn,
.racepsl-admin-nav__login-btn,
.racepsl-admin-nav__drawer-logout,
.racepsl-admin-nav__drawer-login {
border: 1px solid #ddd;
background: #fff;
padding: 8px 14px;
border-radius: 10px;
font-size: 12px;
font-weight: 800;
text-transform: uppercase;
cursor: pointer;
text-decoration: none;
color: #111;
}

.racepsl-admin-nav__logout-btn:hover,
.racepsl-admin-nav__login-btn:hover,
.racepsl-admin-nav__drawer-logout:hover,
.racepsl-admin-nav__drawer-login:hover {
border-color: #e31e24;
color: #e31e24;
}

.racepsl-admin-nav__drawer-auth {
display: none;
}

@media (max-width: 860px) {
.racepsl-admin-nav__auth {
display: none;
}

.racepsl-admin-nav__drawer-auth {
display: flex;
flex-direction: column;
gap: 10px;
padding: 18px;
border-top: 1px solid #f0f0f0;
}

.racepsl-admin-nav__drawer-email {
font-size: 11px;
font-weight: 700;
color: #666;
word-break: break-word;
}
}

/* Compact recovery/admin action buttons */
.guided-btn.is-compact,
button.guided-btn.is-compact,
input.guided-btn.is-compact {
  min-height: 42px;
  padding: 0.65rem 1rem;
  border-radius: 14px;
  font-size: 0.85rem;
  line-height: 1.1;
  white-space: nowrap;
}

.guided-action-buttons.is-compact {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.guided-action-buttons.is-compact form {
  display: inline-block;
  margin: 0;
}

.guided-table td .guided-action-buttons.is-compact {
  min-width: 220px;
}

.admin-page-shell {
  max-width: 1180px;
  margin: 32px auto;
  padding: 0 20px;
}

.admin-page-header {
  margin-bottom: 24px;
}

.admin-kicker {
  color: #f59e0b;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.admin-card,
.admin-rule-card {
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.admin-card--warning {
  border-color: #f59e0b;
  background: #fffbeb;
}

.admin-rule-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 24px 0;
}

.admin-rule-card span {
  display: block;
  margin-bottom: 8px;
  color: #64748b;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.admin-rule-card strong {
  display: block;
  color: #0f172a;
  font-size: 1.05rem;
}

.admin-rule-card p {
  margin: 10px 0 0;
  color: #475569;
  line-height: 1.45;
}

.admin-rule-json {
  overflow: auto;
  padding: 16px;
  border-radius: 14px;
  background: #0f172a;
  color: #e5e7eb;
  font-size: 0.86rem;
}

@media (max-width: 900px) {
  .admin-rule-grid {
    grid-template-columns: 1fr;
  }
}

.rules-template-form {
  display: flex;
  align-items: end;
  gap: 14px;
  margin-top: 18px;
  flex-wrap: wrap;
}

.rules-template-form__field {
  display: grid;
  gap: 8px;
  min-width: 320px;
  flex: 1;
}

.rules-template-form__field label {
  color: #667085;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rules-template-form__select {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d0d5dd;
  border-radius: 14px;
  background: #ffffff;
  color: #101828;
  padding: 0 14px;
  font-weight: 700;
}

.rules-template-form__button {
  min-height: 46px;
  border: 0;
  border-radius: 14px;
  background: #101828;
  color: #ffffff;
  padding: 0 18px;
  font-weight: 900;
  cursor: pointer;
}

.rules-template-form__button:hover {
  background: #e10600;
}

.rules-template-form__field {
  max-width: 620px;
}

.rules-governance-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 430px;
  gap: 28px;
  align-items: stretch;
  margin: 32px 0 26px;
  padding: 34px;
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(225, 6, 0, 0.24), transparent 34%),
    linear-gradient(135deg, #08111f 0%, #101828 58%, #050814 100%);
  color: #ffffff;
  box-shadow: 0 28px 70px rgba(16, 24, 40, 0.22);
}

.rules-governance-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.rules-governance-hero h1 {
  margin: 8px 0 10px;
  color: #ffffff;
  font-size: clamp(2.4rem, 4vw, 4.4rem);
  line-height: 0.95;
  letter-spacing: -0.06em;
}

.rules-governance-hero__subtitle {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.08rem;
  line-height: 1.5;
}

.rules-governance-hero__subtitle strong {
  color: #ffffff;
}

.rules-governance-hero__meta {
  display: inline-flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 26px;
  padding: 16px 18px;
  width: fit-content;
  min-width: 320px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(10px);
}

.rules-governance-hero__meta span,
.rules-template-panel__label {
  color: #ff9f0a;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.rules-governance-hero__meta strong {
  color: #ffffff;
  font-size: 1.15rem;
  line-height: 1.25;
}

.rules-template-panel {
  align-self: stretch;
  padding: 24px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.96);
  color: #101828;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
}

.rules-template-panel__label {
  display: block;
  margin-bottom: 16px;
  color: #667085;
}

.rules-template-panel__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
}

.rules-template-panel__select {
  width: 100%;
  min-height: 52px;
  border: 1px solid #d0d5dd;
  border-radius: 16px;
  background: #ffffff;
  color: #101828;
  padding: 0 14px;
  font-weight: 800;
  outline: none;
}

.rules-template-panel__select:focus {
  border-color: #ff9f0a;
  box-shadow: 0 0 0 4px rgba(255, 159, 10, 0.16);
}

.rules-template-panel__button {
  min-height: 52px;
  border: 0;
  border-radius: 16px;
  background: #ff9f0a;
  color: #101828;
  padding: 0 22px;
  font-weight: 950;
  cursor: pointer;
}

.rules-template-panel__button:hover {
  background: #e10600;
  color: #ffffff;
}

.rules-template-panel__note {
  margin: 16px 0 0;
  color: #475467;
  font-size: 0.92rem;
  line-height: 1.45;
}

.rules-active-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 28px;
}

.rules-active-strip > div {
  padding: 18px 20px;
  border: 1px solid #dbe3ef;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(16, 24, 40, 0.05);
}

.rules-active-strip span {
  display: block;
  margin-bottom: 8px;
  color: #667085;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rules-active-strip strong {
  display: block;
  color: #101828;
  font-size: 1rem;
  line-height: 1.25;
}

@media (max-width: 1100px) {
  .rules-governance-hero {
    grid-template-columns: 1fr;
  }

  .rules-active-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .rules-governance-hero {
    padding: 24px;
    border-radius: 24px;
  }

  .rules-template-panel__form {
    grid-template-columns: 1fr;
  }

  .rules-active-strip {
    grid-template-columns: 1fr;
  }
}

.rules-bonus-list {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.rules-bonus-list li {
  padding: 14px 16px;
  border: 1px solid #dbe3ef;
  border-radius: 16px;
  background: #f8fafc;
}

.rules-bonus-list strong {
  display: block;
  color: #101828;
  font-size: 1rem;
  margin-bottom: 6px;
}

.rules-bonus-list span {
  display: block;
  color: #344054;
  font-weight: 800;
  line-height: 1.35;
}

.rules-bonus-list small {
  display: block;
  margin-top: 6px;
  color: #667085;
  font-weight: 700;
  line-height: 1.35;
}

.rules-admin-card--wide {
  grid-column: span 2;
}

@media (max-width: 900px) {
  .rules-admin-card--wide {
    grid-column: span 1;
  }
}

.admin-rule-card--wide {
  grid-column: span 2;
}

.rules-bonus-list {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.rules-bonus-list li {
  padding: 14px 16px;
  border: 1px solid #dbe3ef;
  border-radius: 16px;
  background: #f8fafc;
}

.rules-bonus-list li > strong {
  display: block;
  margin-bottom: 6px;
  color: #101828;
  font-size: 1rem;
}

.rules-bonus-list li > span {
  display: block;
  color: #344054;
  font-weight: 800;
  line-height: 1.35;
}

.rules-bonus-list small {
  display: block;
  margin-top: 6px;
  color: #667085;
  font-weight: 700;
  line-height: 1.35;
}

@media (max-width: 900px) {
  .admin-rule-card--wide {
    grid-column: span 1;
  }
}