/* =========================================================
   00A. THEME PRIMITIVES
   Edit direct colors, spacing, radius, shadows and font scale here.
   ========================================================= */
:root {
  color-scheme: dark;

  --skate-bg: #0B0B0C;
  --skate-bg-deep: #070708;
  --skate-bg-soft: #111216;
  --skate-card: #15161B;
  --skate-card-2: #1E1F22;
  --skate-carbon: #202126;
  --skate-yellow: #FFD600;
  --skate-yellow-hover: #FFE047;
  --skate-danger: #FF5A5A;
  --skate-success: #34D399;
  --skate-warning: #FFD600;
  --skate-text: #FFFFFF;
  --skate-text-soft: #E7E7E7;
  --skate-muted: #B7B7B7;
  --skate-muted-2: #8E8E93;
  --skate-white: #FFFFFF;
  --skate-black: #000000;
  --skate-primary: var(--skate-yellow);
  --skate-text-muted: var(--skate-muted);

  --skate-white-rgb: 255, 255, 255;
  --skate-black-rgb: 0, 0, 0;
  --skate-neutral-shadow-rgb: 120, 120, 120;
  --skate-bg-rgb: 11, 11, 12;
  --skate-bg-soft-rgb: 17, 18, 22;
  --skate-card-rgb: 21, 22, 27;
  --skate-card-2-rgb: 30, 31, 34;
  --skate-yellow-rgb: 255, 214, 0;
  --skate-danger-rgb: 255, 90, 90;
  --skate-success-rgb: 52, 211, 153;
  --skate-primary-rgb: var(--skate-yellow-rgb);
  --skate-neutral-950: #080808;
  --skate-neutral-925: #121212;
  --skate-neutral-300: #C9CDD3;
  --skate-yellow-alt: #FFD400;
  --skate-yellow-300: #FFE45A;
  --skate-yellow-400: #FACC15;
  --skate-gold-rgb: 255, 212, 0;
  --skate-gold-warm-rgb: 255, 211, 0;
  --skate-gold-deep-rgb: 255, 210, 0;
  --skate-green-200: #86EFAC;
  --skate-green-300: #42E19D;
  --skate-green-400: #44D07B;
  --skate-green-500: #22C55E;
  --skate-green-500-rgb: 34, 197, 94;
  --skate-green-bright: #50E1AC;
  --skate-green-accent-rgb: 57, 211, 145;
  --skate-mint-300: #7DDFC3;
  --skate-teal-400: #30D5C8;
  --skate-teal-500: #2DD4BF;
  --skate-teal-500-rgb: 45, 212, 191;
  --skate-teal-rgb: 0, 210, 180;
  --skate-blue-300: #8CC8FF;
  --skate-blue-300-alt: #93C5FD;
  --skate-blue-400: #60A5FA;
  --skate-blue-400-rgb: 96, 165, 250;
  --skate-blue-action: #4BA6FF;
  --skate-blue-light: #83C1FF;
  --skate-sky-300: #7DD3FC;
  --skate-sky-400: #38BDF8;
  --skate-sky-400-rgb: 56, 189, 248;
  --skate-cyan-400: #2DD3FF;
  --skate-cyan-400-rgb: 45, 211, 255;
  --skate-azure-rgb: 0, 163, 255;
  --skate-purple-200: #D8B4FE;
  --skate-purple-500: #9B5CFF;
  --skate-purple-600: #A855F7;
  --skate-purple-600-rgb: 168, 85, 247;
  --skate-red-300: #FCA5A5;
  --skate-red-400: #FF6B6B;
  --skate-red-500: #EF4444;
  --skate-red-500-rgb: 239, 68, 68;
  --skate-red-light: #FFA8B0;
  --skate-red-soft-rgb: 255, 99, 99;
  --skate-red-bright-rgb: 255, 68, 68;
  --skate-red-live: #FF3C4E;
  --skate-red-live-rgb: 255, 60, 78;
  --skate-red-warm: #FF525C;
  --skate-red-warm-rgb: 255, 82, 92;
  --skate-pink-300: #FF5B6E;
  --skate-pink-400: #FF5F87;
  --skate-pink-alert: #FF3656;
  --skate-pink-alert-rgb: 255, 54, 86;
  --skate-live: #FF4257;
  --skate-live-rgb: 255, 66, 87;
  --skate-orange-400: #FB923C;
  --skate-orange-400-rgb: 251, 146, 60;
  --skate-orange-500: #FF7A1A;
  --skate-amber-500: #F59E0B;
  --skate-amber-500-rgb: 245, 158, 11;
  --skate-medal-bronze: #CD7F32;
  --skate-medal-bronze-rgb: 205, 127, 50;
  --skate-whatsapp-rgb: 37, 211, 102;
  --skate-palmares-italy-green: #16835E;
  --skate-palmares-italy-red: #BA1F33;
  --skate-palmares-europe-blue: #102A66;

  --skate-yellow-soft: rgba(var(--skate-yellow-rgb), 0.14);
  --skate-yellow-border: rgba(var(--skate-yellow-rgb), 0.28);
  --skate-border: rgba(var(--skate-white-rgb), 0.10);
  --skate-border-strong: rgba(var(--skate-white-rgb), 0.18);
  --skate-surface: var(--skate-card);
  --skate-surface-soft: rgba(var(--skate-white-rgb), 0.06);
  --skate-surface-hover: rgba(var(--skate-white-rgb), 0.10);

  --skate-radius-xs: 8px;
  --skate-radius-sm: 10px;
  --skate-radius-md: 16px;
  --skate-radius-lg: 24px;
  --skate-radius-xl: 32px;

  --skate-shadow-soft: 0 14px 40px rgba(var(--skate-black-rgb), 0.35);
  --skate-shadow-strong: 0 24px 80px rgba(var(--skate-black-rgb), 0.55);
  --skate-shadow-nav: 0 18px 52px rgba(var(--skate-black-rgb), 0.42);
  --skate-shadow-card: var(--skate-shadow-soft);

  --skate-container: 1120px;
  --skate-public-container: 1180px;
  --skate-topbar-height: 76px;
  --skate-header-logo-size: 82px;
  --skate-header-logo-size-mobile: 66px;
  --skate-header-logo-overlap: 18px;
  --skate-header-logo-overlap-mobile: 14px;
  --skate-header-logo-clearance: 5px;
  --skate-header-logo-shadow:
    0 8px 14px rgba(var(--skate-white-rgb), 0.10),
    0 14px 26px rgba(var(--skate-neutral-shadow-rgb), 0.12),
    0 20px 36px rgba(var(--skate-black-rgb), 0.38);
  --skate-header-logo-filter:
    drop-shadow(0 6px 10px rgba(var(--skate-white-rgb), 0.10))
    drop-shadow(0 12px 18px rgba(var(--skate-neutral-shadow-rgb), 0.12))
    drop-shadow(0 16px 26px rgba(var(--skate-black-rgb), 0.34));
  --skate-header-logo-shadow-base:
    radial-gradient(ellipse at center,
      rgba(var(--skate-white-rgb), 0.18) 0%,
      rgba(var(--skate-neutral-shadow-rgb), 0.12) 36%,
      rgba(var(--skate-black-rgb), 0.24) 72%,
      transparent 100%);
  --skate-bottom-nav-height: 76px;
  --skate-safe-top: env(safe-area-inset-top);
  --skate-safe-bottom: env(safe-area-inset-bottom);
  --skate-z-base: 1;
  --skate-z-sticky: 50;
  --skate-z-tooltip: 760;
  --skate-z-floating-action: 770;
  --skate-z-bottom-nav: 780;
  --skate-z-header: 800;
  --skate-z-drawer: 900;
  --skate-z-overlay: 1000;
  --skate-z-modal: 1010;
  --skate-page-x: clamp(16px, 3vw, 28px);
  --skate-section-gap: clamp(18px, 3vw, 34px);
  --app-content-padding: 0px;
  --guest-bottom-safe: 120px;
  --gallery-hero-image: none;
  --hero-object-position: 50% 50%;
  --hero-mobile-object-position: var(--hero-object-position);
  --hero-active-transform: scale(1);

  --font-main: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-weight-normal: 400;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 700;
  --font-weight-extrabold: 800;
  --font-weight-bold: 800;
  --font-weight-black: 900;
}

/* =========================================================
   00B. THEME ALIASES
   Compatibility and semantic tokens consumed by legacy modules.
   ========================================================= */
:root {
  --app-bg: var(--skate-bg);
  --app-bg-rgb: 11, 11, 12;
  --surface-primary: var(--skate-card);
  --surface-secondary: var(--skate-card-2);
  --surface-dark: var(--skate-bg);
  --surface-dark-soft: var(--skate-bg-soft);
  --surface-primary-rgb: 21, 22, 27;
  --surface-secondary-rgb: 30, 31, 34;
  --surface-dark-rgb: 11, 11, 12;
  --text-primary: var(--skate-text);
  --text-secondary: var(--skate-muted);
  --text-soft: var(--skate-muted-2);
  --text-inverse: var(--skate-bg);
  --text-primary-rgb: var(--skate-white-rgb);
  --text-inverse-rgb: 11, 11, 12;
  --accent-primary: var(--skate-yellow);
  --accent-primary-hover: var(--skate-yellow-hover);
  --accent-primary-text: var(--skate-bg);
  --accent-primary-rgb: var(--skate-yellow-rgb);
  --blue-soft-rgb: var(--skate-white-rgb);

  --brand-700: var(--skate-yellow);
  --brand-600: var(--skate-yellow);
  --brand-500: var(--skate-yellow-hover);
  --accent-500: var(--skate-yellow);
  --ink-strong: var(--skate-text);
  --ink-soft: var(--skate-muted);
  --surface: var(--skate-card);
  --surface-soft: var(--skate-card-2);

  --color-primary: var(--skate-yellow);
  --color-primary-dark: var(--skate-yellow-hover);
  --color-primary-mid: var(--skate-yellow-hover);
  --color-primary-soft: var(--skate-yellow-soft);
  --color-primary-glow: rgba(var(--skate-yellow-rgb), 0.16);
  --color-primary-tint: rgba(var(--skate-yellow-rgb), 0.12);
  --color-primary-border: var(--skate-yellow-border);
  --color-text: var(--skate-text);
  --color-text-strong: var(--skate-text);
  --color-text-muted: var(--skate-muted);
  --color-text-soft: var(--skate-muted-2);
  --color-muted: var(--skate-muted);
  --color-border: var(--skate-border);
  --color-border-subtle: var(--skate-border);
  --color-surface: var(--skate-card);
  --color-surface-rgb: 21, 22, 27;
  --color-surface-translucent: rgba(var(--skate-card-rgb), 0.92);
  --color-surface-soft: rgba(var(--skate-card-2-rgb), 0.86);
  --color-background: var(--skate-bg);
  --color-background-soft: var(--skate-bg-soft);
  --color-pastel-blue: rgba(var(--skate-white-rgb), 0.08);
  --color-pastel-green: rgba(var(--skate-success-rgb), 0.12);
  --color-pastel-yellow: var(--skate-yellow-soft);
  --color-danger-soft: rgba(var(--skate-danger-rgb), 0.13);
  --color-danger: var(--skate-danger);
  --color-danger-border: rgba(var(--skate-danger-rgb), 0.25);
  --color-success-soft: rgba(var(--skate-success-rgb), 0.12);
  --color-success: var(--skate-success);
  --color-success-border: rgba(var(--skate-success-rgb), 0.22);
  --color-warning-soft: rgba(var(--skate-yellow-rgb), 0.12);
  --color-warning: var(--skate-warning);
  --color-warning-border: rgba(var(--skate-yellow-rgb), 0.24);
  --color-info-soft: rgba(var(--skate-yellow-rgb), 0.12);
  --color-info: var(--skate-text);
  --color-tooltip-bg: rgba(var(--skate-bg-rgb), 0.96);

  --ui-text: var(--skate-text);
  --ui-heading: var(--skate-text);
  --ui-muted: var(--skate-muted);
  --ui-page: var(--skate-bg);
  --ui-panel: var(--skate-card);
  --ui-surface: var(--skate-card);
  --ui-surface-strong: var(--skate-card-2);
  --ui-neutral-soft: rgba(var(--skate-white-rgb), 0.07);
  --ui-danger-bg: var(--color-danger-soft);
  --ui-danger-text: var(--skate-danger);
  --ui-surface-rgb: 21, 22, 27;
  --ui-panel-rgb: 21, 22, 27;
  --ui-white-rgb: var(--skate-white-rgb);
  --ui-shadow-rgb: var(--skate-black-rgb);
  --ui-overlay-rgb: var(--skate-black-rgb);
  --ui-danger-rgb: var(--skate-danger-rgb);
  --ui-warning-rgb: var(--skate-yellow-rgb);
  --color-success-rgb: var(--skate-success-rgb);
}

/* =========================================================
   00C. COMPONENT CONTRACT TOKENS
   Runtime components read these variables; theme config should override
   primitives/aliases above, not component selectors below.
   ========================================================= */
:root {
  --shop-border: var(--skate-border);
  --shop-muted: var(--skate-muted);
  --shop-ink: var(--skate-text);
  --shop-bg-soft: var(--skate-card-2);

  --card-bg: linear-gradient(180deg, rgba(var(--skate-card-rgb), 0.96), rgba(var(--skate-bg-soft-rgb), 0.98));
  --card-bg-solid: var(--skate-card);
  --card-border: var(--skate-border);
  --card-border-accent: var(--skate-yellow-border);
  --border-soft: var(--skate-border);
  --border-on-dark: var(--skate-border);
  --header-bg: rgba(var(--skate-bg-rgb), 0.90);
  --header-border: var(--skate-border);
  --nav-bg: rgba(var(--skate-bg-rgb), 0.92);
  --nav-border: var(--skate-border);
  --nav-text: rgba(var(--skate-white-rgb), 0.84);
  --nav-muted: rgba(var(--skate-white-rgb), 0.58);
  --nav-active-bg: var(--skate-yellow);
  --nav-active-text: var(--skate-bg);
  --drawer-bg: var(--skate-bg-soft);
  --drawer-border: var(--skate-border);
  --drawer-item-bg: var(--skate-surface-soft);
  --drawer-item-text: var(--skate-text);
  --drawer-active-bg: var(--skate-yellow);
  --drawer-active-text: var(--skate-bg);
  --quickbar-bg: rgba(var(--skate-bg-rgb), 0.92);
  --quickbar-border: var(--skate-border);
  --quickbar-shadow: var(--skate-shadow-nav);
  --quickbar-item-color: rgba(var(--skate-white-rgb), 0.76);
  --quickbar-active-bg: var(--skate-yellow);
  --quickbar-active-color: var(--skate-bg);
  --button-primary-bg: var(--skate-yellow);
  --button-primary-text: var(--skate-bg);
  --button-primary-border: var(--skate-yellow);
  --button-secondary-bg: var(--skate-surface-soft);
  --button-secondary-text: var(--skate-text);
  --button-secondary-border: var(--skate-border);
  --button-bg: var(--button-secondary-bg);
  --button-bg-hover: var(--skate-surface-hover);
  --button-bg-active: var(--button-primary-bg);
  --button-border: var(--button-secondary-border);
  --button-color: var(--button-secondary-text);
  --button-color-active: var(--button-primary-text);
  --button-radius: var(--skate-radius-sm);
  --button-min-height: 42px;
  --button-padding-x: 14px;
  --button-font-weight: var(--font-weight-semibold);
  --button-shadow: none;
  --radius-sm: var(--skate-radius-sm);
  --radius-md: var(--skate-radius-md);
  --radius-lg: var(--skate-radius-lg);
  --radius-xl: var(--skate-radius-xl);
  --shadow-soft: var(--skate-shadow-soft);
  --shadow-card: var(--skate-shadow-soft);
  --app-topbar-height: calc(var(--skate-topbar-height) + var(--skate-header-logo-overlap) + var(--skate-header-logo-clearance) + var(--skate-safe-top));
  --bottom-nav-height: calc(var(--skate-bottom-nav-height) + var(--skate-safe-bottom));
  --app-bottom-safe-space: calc(var(--bottom-nav-height) + 28px);
  --app-content-width: min(var(--skate-container), calc(100% - (var(--skate-page-x) * 2)));
  --app-public-width: min(var(--skate-public-container), calc(100% - (var(--skate-page-x) * 2)));
}

/* =========================================================
   01. RUNTIME COMPONENTS
   Public, private and live views share the component rules below.
   ========================================================= */

/* CMS Eventi */
.events-screen .guest-main {
  width: var(--app-public-width);
}

.events-hero,
.events-section,
.event-detail,
.events-empty {
  width: 100%;
}

.events-hero,
.events-section,
.event-block,
.events-empty {
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-card);
  box-shadow: var(--skate-shadow-soft);
}

.events-hero {
  display: grid;
  gap: 22px;
  padding: clamp(28px, 4vw, 48px);
  border-color: var(--skate-yellow-border);
  background:
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.12), rgba(var(--skate-white-rgb), 0.04)),
    var(--skate-card);
}

.events-hero--compact {
  padding-block: clamp(24px, 3vw, 34px);
}

.events-hero--detail {
  margin-bottom: 18px;
}

.events-hero__copy {
  display: grid;
  gap: 14px;
  max-width: 780px;
}

.events-hero h1,
.events-section__head h2,
.event-block h2,
.events-empty h1,
.events-empty h2 {
  margin: 0;
  color: var(--text-primary);
  letter-spacing: 0;
}

.events-hero h1 {
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1.02;
}

.events-hero p,
.events-section__head p,
.event-card p,
.event-block p,
.events-empty p,
.event-admin-form__head p,
.event-admin-section-head p {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.65;
}

.events-hero__actions,
.event-admin-form__actions,
.event-admin-row__actions,
.event-filter__actions,
.event-admin-filter__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.events-hero__actions a,
.event-card__action,
.event-admin-row__actions a,
.event-admin-form__actions a,
.event-filter__actions a,
.event-admin-filter__actions a,
.event-admin-form__actions button,
.event-filter__actions button,
.event-admin-filter__actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid var(--skate-border-strong);
  border-radius: 8px;
  background: var(--skate-card-2);
  color: var(--color-primary);
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.events-hero__actions a:first-child,
.event-card__action,
.event-admin-form__actions button,
.event-filter__actions button,
.event-admin-filter__actions button {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--text-inverse);
}

.events-section,
.event-block,
.events-empty {
  display: grid;
  gap: 18px;
  padding: clamp(20px, 3vw, 30px);
}

.events-empty {
  align-content: center;
  min-height: 0;
}

.events-empty--inline {
  padding: 14px 16px;
  border-style: dashed;
  background: rgba(var(--skate-white-rgb), 0.04);
  box-shadow: none;
}

.events-section__head,
.event-admin-section-head {
  display: grid;
  gap: 8px;
}

.events-section__head a {
  justify-self: start;
  color: var(--color-primary);
  font-weight: 800;
}

.event-public-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-white-rgb), 0.05);
}

.event-public-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 14px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--text-secondary);
  font-size: 0.92rem;
  font-weight: 850;
  text-decoration: none;
}

.event-public-tabs a:hover,
.event-public-tabs a:focus-visible {
  border-color: var(--skate-border-strong);
  color: var(--text-primary);
  background: var(--skate-surface-hover);
}

.event-public-tabs a.is-active {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow);
  color: var(--text-inverse);
}

.event-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 16px;
}

.event-list,
.event-admin-list,
.event-admin-block-list {
  display: grid;
  gap: 14px;
}

.event-archive-years,
.event-archive-year {
  display: grid;
  gap: 16px;
}

.event-archive-year {
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-card-2);
  overflow: clip;
}

.event-archive-year__head {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  min-height: 58px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}

.event-archive-year__head::-webkit-details-marker {
  display: none;
}

.event-archive-year__head::after {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-surface-soft);
  color: var(--text-primary);
  font-weight: 900;
}

.event-archive-year[open] .event-archive-year__head::after {
  content: "-";
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.event-archive-year__head:hover,
.event-archive-year__head:focus-visible {
  background: var(--skate-surface-hover);
}

.event-archive-year__title {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  font-weight: 900;
  letter-spacing: 0;
}

.event-archive-year__count {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-surface-soft);
  color: var(--text-secondary);
  font-size: 0.82rem;
  font-weight: 800;
}

.event-archive-year > .event-list {
  padding: 0 16px 16px;
}

.event-card,
.event-admin-row,
.event-admin-block {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-card-2);
}

.event-card--live {
  border-color: rgba(var(--skate-success-rgb), 0.36);
  background: rgba(var(--skate-success-rgb), 0.08);
}

.event-card--compact,
.event-admin-row {
  grid-template-columns: minmax(0, 1fr);
}

.event-card__meta,
.event-detail__badges,
.event-admin-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.event-card__meta span,
.event-detail__badges span,
.event-status,
.event-block__type {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-surface-soft);
  color: var(--text-secondary);
  font-size: 0.82rem;
  font-weight: 800;
}

.event-status--futuro {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.event-status--in_corso {
  border-color: rgba(var(--skate-success-rgb), 0.32);
  background: rgba(var(--skate-success-rgb), 0.12);
  color: var(--skate-success);
}

.event-status--concluso {
  background: rgba(var(--skate-white-rgb), 0.08);
  color: var(--text-secondary);
}

.event-status--rinviato {
  border-color: rgba(var(--skate-yellow-rgb), 0.24);
  background: rgba(var(--skate-yellow-rgb), 0.08);
  color: var(--skate-yellow-hover);
}

.event-status--in_aggiornamento {
  border-color: rgba(var(--skate-white-rgb), 0.22);
  background: rgba(var(--skate-white-rgb), 0.08);
  color: var(--text-primary);
}

.event-status--bozza {
  border-color: rgba(var(--skate-danger-rgb), 0.28);
  background: rgba(var(--skate-danger-rgb), 0.10);
  color: var(--skate-danger);
}

.event-card h2,
.event-card h3,
.event-admin-row h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  line-height: 1.2;
}

.event-card h2 a,
.event-card h3 a,
.event-admin-row h2 a {
  color: inherit;
  text-decoration: none;
}

.event-card__facts,
.event-detail__facts dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 10px;
  margin: 0;
}

.event-card__facts div,
.event-detail__facts div,
.event-block__data div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 8px;
  background: var(--skate-surface-soft);
}

.event-card__facts dt,
.event-detail__facts dt,
.event-block__data dt {
  color: var(--text-secondary);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.event-card__facts dd,
.event-detail__facts dd,
.event-block__data dd {
  margin: 0;
  color: var(--text-primary);
  font-weight: 800;
}

.appointments-hero,
.trophy-hero {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}

.appointments-hero__next {
  display: grid;
  gap: 8px;
  align-content: center;
  padding: 18px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.18);
}

.appointments-hero__next span,
.appointments-hero__next small,
.appointments-summary span,
.trophy-flow__steps small {
  color: var(--text-secondary);
  font-size: 0.82rem;
  font-weight: 800;
}

.appointments-hero__next strong {
  color: var(--text-primary);
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  line-height: 1.2;
}

.appointments-hero__next a,
.appointment-card__actions a,
.appointment-group__external,
.trophy-card__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--skate-border-strong);
  border-radius: 8px;
  background: var(--skate-card-2);
  color: var(--color-primary);
  font-weight: 850;
  text-decoration: none;
}

.appointments-hero__next a,
.appointment-card__actions a:first-child,
.trophy-card__actions a:first-child {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--text-inverse);
}

.appointments-summary,
.trophy-flow__steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
  gap: 12px;
}

.appointments-summary article,
.trophy-flow__steps article {
  display: grid;
  gap: 6px;
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-white-rgb), 0.05);
}

.appointments-summary strong {
  color: var(--text-primary);
  font-size: clamp(1.5rem, 3vw, 2.15rem);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.appointment-groups,
.appointment-list,
.trophy-list,
.trophy-flow {
  display: grid;
  gap: 18px;
}

.appointment-group {
  display: grid;
  gap: 16px;
  padding-top: 6px;
  border-top: 1px solid var(--skate-border);
}

.appointment-group__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.appointment-group__head h2,
.appointment-group__head p,
.trophy-flow h2,
.trophy-flow p,
.trophy-card h2,
.trophy-card p,
.appointment-card h3,
.appointment-card p {
  margin: 0;
}

.appointment-group__head h2 {
  color: var(--text-primary);
  font-size: clamp(1.35rem, 3vw, 2.1rem);
  line-height: 1.1;
}

.appointment-group__head p,
.appointment-card p,
.trophy-card p {
  color: var(--text-secondary);
  line-height: 1.58;
}

.appointment-group__logo {
  display: inline-grid;
  place-items: center;
  width: 86px;
  min-height: 86px;
  padding: 10px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-white-rgb), 0.92);
}

.appointment-group__logo img {
  width: 64px;
  max-height: 70px;
  object-fit: contain;
}

.appointment-group__external {
  justify-self: start;
}

.appointment-card {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-card-2);
}

.appointment-card--hosted {
  border-color: var(--skate-yellow-border);
  background: linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.10), rgba(var(--skate-white-rgb), 0.04));
}

.appointment-card__date {
  display: grid;
  place-items: center;
  align-self: start;
  min-height: 76px;
  padding: 8px;
  border: 1px solid var(--skate-border-strong);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.20);
  color: var(--text-primary);
  text-align: center;
}

.appointment-card__date strong {
  font-size: 1.8rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.appointment-card__date span,
.appointment-card__date small {
  color: var(--text-secondary);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.appointment-card__body {
  display: grid;
  min-width: 0;
  gap: 10px;
}

.appointment-card__badges,
.appointment-card__chips,
.appointment-card__actions,
.trophy-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.appointment-card__badges span,
.appointment-card__chips span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-surface-soft);
  color: var(--text-secondary);
  font-size: 0.78rem;
  font-weight: 850;
}

.appointment-card__badges .appointment-presence--host,
.appointment-card__badges .appointment-presence--planned {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.appointment-card__badges .appointment-presence--updating {
  border-color: rgba(var(--skate-white-rgb), 0.22);
  color: var(--text-primary);
}

.appointment-card__badges .appointment-presence--not_planned {
  color: var(--text-secondary);
}

.appointment-card h3 {
  color: var(--text-primary);
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  line-height: 1.18;
}

.appointment-card h3 a,
.trophy-card h2 a {
  color: inherit;
  text-decoration: none;
}

.appointment-card__subtitle {
  color: var(--text-primary);
  font-weight: 800;
}

.appointment-card__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 8px;
  margin: 0;
}

.appointment-card__facts div {
  display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: 8px;
  background: var(--skate-surface-soft);
}

.appointment-card__facts dt {
  color: var(--text-secondary);
  font-size: 0.74rem;
  font-weight: 850;
  text-transform: uppercase;
}

.appointment-card__facts dd {
  margin: 0;
  color: var(--text-primary);
  font-weight: 800;
}

.trophy-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 8px;
  background: rgba(var(--skate-yellow-rgb), 0.08);
}

.trophy-card--archive {
  border-color: var(--skate-border);
  background: var(--skate-card-2);
}

.trophy-card__body {
  display: grid;
  gap: 12px;
}

.trophy-card h2 {
  color: var(--text-primary);
  font-size: clamp(1.2rem, 2.3vw, 1.65rem);
  line-height: 1.18;
}

.trophy-flow__steps article span {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 8px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-weight: 900;
}

.trophy-flow__steps strong {
  color: var(--text-primary);
}

/* =========================================================
   ARCHIVIO GARE
   Direct list of completed races and results.
   ========================================================= */
.race-archive-page {
  display: grid;
  gap: clamp(14px, 2.4vw, 22px);
  width: min(100%, 1120px);
  margin-inline: auto;
  padding-bottom: calc(var(--skate-bottom-nav-height) + var(--skate-safe-bottom) + 30px);
}

.race-archive-hero {
  display: grid;
  align-items: start;
  padding: clamp(16px, 3vw, 24px);
  border: 1px solid var(--skate-yellow-border);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.10), rgba(var(--skate-card-rgb), 0.96) 48%, rgba(var(--skate-bg-soft-rgb), 0.98));
  box-shadow: var(--skate-shadow-soft);
}

.race-archive-hero__copy,
.race-archive-list,
.race-archive-list__head,
.race-archive-years,
.race-archive-year,
.race-archive-card {
  display: grid;
  min-width: 0;
}

.race-archive-hero__copy,
.race-archive-list__head,
.race-archive-card {
  gap: 8px;
}

.race-archive-hero h1,
.race-archive-hero p,
.race-archive-list__head h2,
.race-archive-list__head p,
.race-archive-card h3,
.race-archive-card p {
  margin: 0;
}

.race-archive-hero h1 {
  color: var(--text-primary);
  font-size: clamp(1.9rem, 5vw, 3rem);
  line-height: 1.04;
}

.race-archive-hero p,
.race-archive-list__head p,
.race-archive-card p {
  color: var(--text-secondary);
  line-height: 1.55;
}

.race-archive-hero p {
  max-width: 680px;
}

.race-archive-list,
.race-archive-years {
  gap: 12px;
}

.race-archive-list__head h2 {
  color: var(--text-primary);
  font-size: clamp(1.2rem, 3vw, 1.55rem);
  line-height: 1.1;
}

.race-archive-year {
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-white-rgb), 0.035);
}

.race-archive-year__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0;
  cursor: pointer;
  list-style: none;
}

.race-archive-year__head::-webkit-details-marker {
  display: none;
}

.race-archive-year__head::after {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-surface-soft);
  color: var(--text-primary);
  font-weight: 900;
}

.race-archive-year[open] .race-archive-year__head::after {
  content: "-";
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.race-archive-year__main {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.race-archive-year__eyebrow {
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.race-archive-year__title {
  color: var(--text-primary);
  font-size: clamp(1.24rem, 3vw, 1.7rem);
  line-height: 1;
  font-weight: 900;
}

.race-archive-year__count {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-surface-soft);
  color: var(--text-secondary);
  font-size: 0.82rem;
  font-weight: 850;
}

.race-archive-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.race-archive-card {
  gap: 12px;
  padding: clamp(15px, 4vw, 20px);
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-card-2);
  box-shadow: 0 16px 38px rgba(var(--skate-black-rgb), 0.24);
}

.race-archive-card__top {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.race-archive-card__status,
.race-archive-card__type {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-surface-soft);
  color: var(--text-secondary);
  font-size: 0.78rem;
  font-weight: 900;
}

.race-archive-card__status {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.race-archive-card__status--fisr {
  border-color: rgba(var(--skate-white-rgb), 0.22);
  background: rgba(var(--skate-white-rgb), 0.08);
  color: var(--text-primary);
}

.race-archive-card__status--skate {
  border-color: rgba(var(--skate-success-rgb), 0.34);
  background: rgba(var(--skate-success-rgb), 0.12);
  color: var(--skate-success);
}

.race-archive-card__status--summary,
.race-archive-card__status--archive {
  border-color: var(--skate-border);
  background: var(--skate-surface-soft);
  color: var(--text-secondary);
}

.race-archive-card h3 {
  color: var(--text-primary);
  font-size: clamp(1.18rem, 3.2vw, 1.52rem);
  line-height: 1.18;
}

.race-archive-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  color: var(--text-secondary);
  font-weight: 800;
  line-height: 1.4;
}

.race-archive-card__meta span {
  color: var(--skate-yellow);
}

.race-archive-card__note {
  width: fit-content;
  max-width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 8px;
  background: var(--skate-yellow-soft);
  color: var(--text-primary);
  font-weight: 850;
  line-height: 1.35;
}

.race-archive-card__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 8px;
  margin: 0;
}

.race-archive-card__facts div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 8px;
  background: var(--skate-surface-soft);
}

.race-archive-card__facts dt {
  color: var(--text-secondary);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.race-archive-card__facts dd {
  margin: 0;
  color: var(--text-primary);
  font-weight: 850;
}

.race-archive-card__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid var(--color-primary);
  border-radius: 8px;
  background: var(--color-primary);
  color: var(--text-inverse);
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}

.race-archive-card__action:hover,
.race-archive-card__action:focus-visible {
  transform: translateY(-1px);
}

@media (max-width: 640px) {
  .race-archive-hero {
    grid-template-columns: 1fr;
    padding: 16px;
    text-align: left;
  }

  .race-archive-year__head {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .race-archive-year__head::after {
    grid-column: 2;
    grid-row: 1;
  }

  .race-archive-year__count {
    grid-column: 1 / -1;
    width: fit-content;
  }
}

@media (min-width: 900px) {
  .race-archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================================================
   ARCHIVIO GARE - SCHEDA GARA
   Unified public race archive detail page.
   ========================================================= */
.race-detail-page {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
  width: min(100%, 1120px);
  margin-inline: auto;
  padding-bottom: calc(var(--skate-bottom-nav-height) + var(--skate-safe-bottom) + 34px);
}

.race-detail-back {
  display: inline-flex;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 8px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  cursor: pointer;
}

.race-detail-back:hover,
.race-detail-back:focus-visible {
  background: rgba(var(--skate-yellow-rgb), 0.20);
}

.race-detail-back svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.race-detail-hero,
.race-detail-summary,
.race-detail-section,
.race-detail-empty {
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-card);
  box-shadow: var(--skate-shadow-soft);
}

.race-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(18px, 4vw, 28px);
  align-items: center;
  padding: clamp(22px, 5vw, 40px);
  border-color: var(--skate-yellow-border);
  background:
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.13), rgba(var(--skate-white-rgb), 0.045)),
    var(--skate-card);
}

.race-detail-hero__copy,
.race-detail-summary,
.race-detail-section,
.race-detail-section-head,
.race-detail-copy,
.race-detail-note,
.race-detail-doc-card,
.race-detail-society-card,
.race-detail-athlete-card,
.race-detail-result-group {
  display: grid;
  min-width: 0;
}

.race-detail-hero__copy,
.race-detail-summary,
.race-detail-section,
.race-detail-section-head,
.race-detail-copy {
  gap: 12px;
}

.race-detail-hero h1,
.race-detail-section h2,
.race-detail-summary h2,
.race-detail-empty h2,
.race-detail-copy h3,
.race-detail-note h3 {
  margin: 0;
  color: var(--text-primary);
  letter-spacing: 0;
}

.race-detail-hero h1 {
  max-width: 980px;
  font-size: clamp(2rem, 6vw, 4rem);
  line-height: 1.02;
}

.race-detail-hero p,
.race-detail-section-head p,
.race-detail-copy p,
.race-detail-note p,
.race-detail-empty p {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.6;
}

.race-detail-hero__poster {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-card-2);
}

.race-detail-hero__poster img {
  display: block;
  width: 100%;
  max-height: 460px;
  object-fit: cover;
}

.race-detail-badges,
.race-detail-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.race-detail-badge,
.race-detail-nav a,
.race-detail-source-link,
.race-detail-doc-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-surface-soft);
  color: var(--text-secondary);
  font-size: 0.86rem;
  font-weight: 900;
  text-decoration: none;
}

.race-detail-badge--results,
.race-detail-nav a:hover,
.race-detail-nav a:focus-visible,
.race-detail-source-link,
.race-detail-doc-card a {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.race-detail-badge--skate {
  border-color: rgba(var(--skate-success-rgb), 0.34);
  background: rgba(var(--skate-success-rgb), 0.12);
  color: var(--skate-success);
}

.race-detail-badge--archive,
.race-detail-badge--summary {
  border-color: var(--skate-border);
  background: var(--skate-surface-soft);
}

.race-detail-nav {
  padding: 8px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-white-rgb), 0.045);
}

.race-detail-nav a {
  min-height: 42px;
}

.race-detail-summary,
.race-detail-section,
.race-detail-empty {
  padding: clamp(18px, 4vw, 28px);
}

.race-detail-facts,
.race-detail-mini-facts,
.race-detail-society-card dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 10px;
  margin: 0;
}

.race-detail-facts div,
.race-detail-mini-facts div,
.race-detail-society-card dl div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 11px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-surface-soft);
}

.race-detail-facts dt,
.race-detail-mini-facts dt,
.race-detail-society-card dt {
  color: var(--text-secondary);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.race-detail-facts dd,
.race-detail-mini-facts dd,
.race-detail-society-card dd {
  margin: 0;
  color: var(--text-primary);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.race-detail-note-grid,
.race-detail-society-grid,
.race-detail-athlete-grid,
.race-detail-doc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: 12px;
}

.race-detail-note,
.race-detail-society-card,
.race-detail-athlete-card,
.race-detail-doc-card {
  gap: 10px;
  padding: 15px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-card-2);
}

.race-detail-note > span,
.race-detail-society-card span,
.race-detail-athlete-card span,
.race-detail-athlete-card em,
.race-detail-doc-card span,
.race-detail-doc-card small {
  color: var(--text-secondary);
  font-style: normal;
}

.race-detail-note__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.race-detail-note__link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 13px;
  border: 1px solid rgba(var(--skate-gold-rgb), .45);
  border-radius: 999px;
  color: var(--text-primary);
  text-decoration: none;
  font-weight: 700;
  background: rgba(var(--skate-gold-rgb), .08);
}

.race-detail-note__link:focus-visible,
.race-detail-note__link:hover {
  border-color: var(--skate-yellow);
  background: rgba(var(--skate-gold-rgb), .14);
}

.race-detail-society-card strong,
.race-detail-athlete-card strong,
.race-detail-doc-card strong {
  color: var(--text-primary);
  font-size: 1.02rem;
  overflow-wrap: anywhere;
}

.race-detail-society-card.is-skate,
.race-detail-athlete-card.is-skate,
.race-detail-result-row.is-skate {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
}

.race-detail-accordion,
.race-detail-result-list {
  display: grid;
  gap: 10px;
}

.race-detail-skate-results {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.race-detail-skate-athlete-result {
  border-color: var(--skate-yellow-border);
}

.race-detail-skate-category-result {
  border-color: var(--skate-yellow-border);
}

.race-detail-skate-athlete-list {
  display: grid;
  gap: 12px;
  padding: 0 14px 14px;
}

.race-detail-skate-athlete-block {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-white-rgb), 0.045);
}

.race-detail-skate-athlete-block__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.race-detail-skate-athlete-block__head strong {
  color: var(--text-primary);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.race-detail-skate-athlete-block__head small {
  color: var(--text-secondary);
  font-weight: 800;
}

.race-detail-skate-athlete-block .race-detail-result-list {
  padding: 0;
}

.race-detail-results-overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 10px;
}

.race-detail-results-overview span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-surface-soft);
  color: var(--text-secondary);
  font-size: 0.8rem;
  font-weight: 900;
  text-transform: uppercase;
}

.race-detail-results-overview strong {
  color: var(--skate-yellow);
  font-size: 1.45rem;
  line-height: 1;
}

.race-detail-accordion--nested {
  gap: 12px;
}

.race-detail-result-category,
.race-detail-result-race,
.race-detail-result-group {
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-card-2);
}

.race-detail-result-category {
  background: rgba(var(--skate-white-rgb), 0.05);
}

.race-detail-result-race {
  background: rgba(var(--skate-white-rgb), 0.04);
}

.race-detail-result-category.is-skate,
.race-detail-result-race.is-skate,
.race-detail-result-group.is-skate {
  border-color: var(--skate-yellow-border);
}

.race-detail-result-group[open] {
  border-color: var(--skate-yellow-border);
}

.race-detail-result-category > summary,
.race-detail-result-race > summary,
.race-detail-result-group > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 14px;
  cursor: pointer;
  list-style: none;
}

.race-detail-result-category > summary {
  min-height: 66px;
  background: linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.14), rgba(var(--skate-white-rgb), 0.03));
}

.race-detail-result-race > summary {
  min-height: 60px;
  background: rgba(var(--skate-white-rgb), 0.035);
}

.race-detail-result-category > summary::-webkit-details-marker,
.race-detail-result-race > summary::-webkit-details-marker,
.race-detail-result-group > summary::-webkit-details-marker {
  display: none;
}

.race-detail-result-category > summary::after,
.race-detail-result-race > summary::after,
.race-detail-result-group > summary::after {
  content: "+";
  display: inline-grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 8px;
  color: var(--skate-yellow);
  font-weight: 900;
}

.race-detail-result-category[open] > summary::after,
.race-detail-result-race[open] > summary::after,
.race-detail-result-group[open] > summary::after {
  content: "-";
}

.race-detail-result-category > summary span,
.race-detail-result-race > summary span,
.race-detail-result-group > summary span {
  color: var(--text-primary);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.race-detail-result-category > summary span {
  font-size: 1.12rem;
}

.race-detail-result-race > summary span {
  color: var(--skate-yellow);
}

.race-detail-result-category > summary small,
.race-detail-result-race > summary small,
.race-detail-result-group > summary small {
  color: var(--text-secondary);
  font-weight: 800;
}

.race-detail-result-races,
.race-detail-result-phases,
.race-detail-result-group .race-detail-result-list {
  display: grid;
  gap: 10px;
}

.race-detail-result-races,
.race-detail-result-phases {
  padding: 0 14px 14px;
}

.race-detail-result-group .race-detail-result-list {
  padding: 0 14px 14px;
}

.race-detail-result-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-surface-soft);
}

.race-detail-result-row--participation {
  grid-template-columns: minmax(0, 1fr);
}

.race-detail-result-row__pos {
  display: inline-grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  color: var(--text-primary);
  font-weight: 900;
}

.race-detail-result-row strong,
.race-detail-result-row small {
  display: block;
  overflow-wrap: anywhere;
}

.race-detail-result-row strong {
  color: var(--text-primary);
}

.race-detail-result-row small,
.race-detail-result-row em {
  color: var(--text-secondary);
  font-style: normal;
}

.race-detail-result-row em {
  justify-self: end;
  color: var(--skate-yellow);
  font-weight: 900;
  text-align: right;
}

.race-detail-result-row.is-podium-1 .race-detail-result-row__pos {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow);
  color: var(--text-inverse);
}

.race-detail-result-row.is-podium-2 .race-detail-result-row__pos {
  border-color: rgba(var(--skate-white-rgb), 0.34);
  background: var(--skate-neutral-300);
  color: var(--skate-bg);
}

.race-detail-result-row.is-podium-3 .race-detail-result-row__pos {
  border-color: rgba(var(--skate-medal-bronze-rgb), 0.45);
  background: var(--skate-medal-bronze);
  color: var(--skate-bg);
}

.race-detail-source-link {
  width: fit-content;
  margin: 0 14px 14px;
}

.race-detail-doc-card--source {
  border-color: var(--skate-yellow-border);
}

.race-detail-program {
  border-color: var(--skate-yellow-border);
  background:
    radial-gradient(circle at 12% 0%, rgba(var(--skate-yellow-rgb), 0.14), transparent 34%),
    var(--skate-card);
}

.race-detail-program__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.race-detail-program__actions a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid var(--skate-yellow);
  border-radius: 8px;
  background: var(--skate-yellow);
  color: var(--text-inverse);
  font-weight: 900;
  text-decoration: none;
}

.race-detail-program__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.race-detail-program__chips span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--text-primary);
  font-size: 0.82rem;
  font-weight: 850;
}

.race-detail-program__grid,
.race-detail-program__columns {
  display: grid;
  gap: 12px;
}

.race-detail-program__grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
}

.race-detail-program__card,
.race-detail-program__block {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 15px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-card-2);
}

.race-detail-program__card span,
.race-detail-program__block span {
  color: var(--text-secondary);
  font-weight: 850;
}

.race-detail-program__card strong,
.race-detail-program__block strong,
.race-detail-program__block h3 {
  color: var(--text-primary);
}

.race-detail-program__block h3 {
  margin: 0;
  font-size: 1.18rem;
}

.race-detail-program__block article {
  display: grid;
  gap: 6px;
  padding-block: 10px;
  border-top: 1px solid var(--skate-border);
}

.race-detail-program__block article:first-of-type {
  border-top: 0;
}

.race-detail-program__block ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 18px;
  color: var(--text-secondary);
  line-height: 1.45;
}

.race-detail-program__block p {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.55;
}

@media (min-width: 860px) {
  .race-detail-hero:has(.race-detail-hero__poster) {
    grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.65fr);
  }

  .race-detail-program__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .race-detail-result-category > summary,
  .race-detail-result-race > summary,
  .race-detail-result-group summary {
    grid-template-columns: 1fr;
  }

  .race-detail-result-category > summary::after,
  .race-detail-result-race > summary::after,
  .race-detail-result-group summary::after {
    justify-self: start;
  }

  .race-detail-result-row {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .race-detail-result-row--participation {
    grid-template-columns: minmax(0, 1fr);
  }

  .race-detail-skate-athlete-block__head {
    grid-template-columns: minmax(0, 1fr);
  }

  .race-detail-result-row em {
    grid-column: 2;
    justify-self: start;
    text-align: left;
  }

  .race-detail-program__actions a {
    width: 100%;
  }
}

/* =========================================================
   TROFEI SKATE
   Direct operational trophy list.
   ========================================================= */
.trophy-management-page {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
  width: min(100%, 1120px);
  margin-inline: auto;
  padding-bottom: calc(var(--skate-bottom-nav-height) + var(--skate-safe-bottom) + 30px);
}

.trophy-management-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(14px, 3vw, 22px);
  align-items: center;
  padding: clamp(18px, 4vw, 28px);
  border: 1px solid var(--skate-yellow-border);
  border-radius: 8px;
  background: var(--skate-card);
  box-shadow: var(--skate-shadow-soft);
}

.trophy-management-hero__logo {
  width: clamp(66px, 12vw, 88px);
  height: clamp(66px, 12vw, 88px);
  object-fit: contain;
  filter: var(--skate-header-logo-filter);
}

.trophy-management-hero__copy,
.trophy-management-list,
.trophy-management-list__head,
.trophy-management-card,
.trophy-management-card__body {
  display: grid;
  min-width: 0;
}

.trophy-management-hero__copy {
  gap: 8px;
}

.trophy-management-hero h1,
.trophy-management-hero p,
.trophy-management-list__head h2,
.trophy-management-list__head p,
.trophy-management-card h3,
.trophy-management-card p {
  margin: 0;
}

.trophy-management-hero h1 {
  color: var(--text-primary);
  font-size: clamp(2rem, 6vw, 3.8rem);
  line-height: 1;
}

.trophy-management-hero p,
.trophy-management-list__head p,
.trophy-management-card p {
  color: var(--text-secondary);
  line-height: 1.55;
}

.trophy-management-list {
  gap: 16px;
}

.trophy-management-list__head {
  gap: 8px;
}

.trophy-management-list__head h2 {
  color: var(--text-primary);
  font-size: clamp(1.45rem, 4vw, 2.15rem);
  line-height: 1.1;
}

.trophy-management-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.trophy-management-card {
  gap: 16px;
  padding: clamp(16px, 4vw, 22px);
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-card-2);
  box-shadow: 0 18px 46px rgba(var(--skate-black-rgb), 0.28);
}

.trophy-management-card--open {
  border-color: var(--skate-yellow-border);
  background: rgba(var(--skate-yellow-rgb), 0.07);
}

.trophy-management-card__top {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
  justify-content: space-between;
}

.trophy-management-status,
.trophy-management-card__date {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  font-size: 0.78rem;
  font-weight: 900;
}

.trophy-management-status {
  text-transform: uppercase;
}

.trophy-management-status--open {
  border-color: rgba(var(--skate-success-rgb), 0.42);
  background: rgba(var(--skate-success-rgb), 0.13);
  color: var(--skate-success);
}

.trophy-management-status--preparing {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.trophy-management-status--closed,
.trophy-management-status--archive {
  color: var(--text-secondary);
}

.trophy-management-card__date {
  background: var(--skate-surface-soft);
  color: var(--text-primary);
}

.trophy-management-card__body {
  gap: 12px;
}

.trophy-management-card h3 {
  color: var(--text-primary);
  font-size: clamp(1.28rem, 4vw, 1.75rem);
  line-height: 1.15;
}

.trophy-management-card__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 8px;
  margin: 0;
}

.trophy-management-card__facts div {
  display: grid;
  gap: 4px;
  padding: 11px;
  border-radius: 8px;
  background: var(--skate-surface-soft);
}

.trophy-management-card__facts dt {
  color: var(--text-secondary);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.trophy-management-card__facts dd {
  margin: 0;
  color: var(--text-primary);
  font-weight: 850;
}

.trophy-management-card__notice {
  padding: 10px 12px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-white-rgb), 0.04);
  font-size: 0.9rem;
  font-weight: 800;
}

.trophy-management-card__actions {
  display: grid;
  gap: 8px;
}

.trophy-management-card__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid var(--skate-border-strong);
  border-radius: 8px;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}

.trophy-management-card__action--primary {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--text-inverse);
}

.trophy-management-card__action:hover,
.trophy-management-card__action:focus-visible {
  transform: translateY(-1px);
}

@media (max-width: 640px) {
  .trophy-management-hero {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .trophy-management-card__top {
    display: grid;
  }
}

@media (min-width: 860px) {
  .trophy-management-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================================================
   PROSSIMI APPUNTAMENTI
   Public mobile-first calendar for races and SKATE dates.
   ========================================================= */
.appointments-page {
  display: grid;
  gap: clamp(14px, 2.4vw, 24px);
  width: min(100%, 1180px);
  margin-inline: auto;
  padding-bottom: calc(var(--skate-bottom-nav-height) + var(--skate-safe-bottom) + 28px);
}

.appointments-page .appointments-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: 12px;
  min-height: 0;
  padding: clamp(16px, 3vw, 26px);
  overflow: hidden;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(var(--skate-card-rgb), 0.98), rgba(var(--skate-bg-rgb), 0.98));
  box-shadow: var(--skate-shadow-soft);
}

.appointments-page .appointments-hero::after {
  content: none;
}

.appointments-hero__badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  gap: 10px;
  min-height: 44px;
  padding: 7px 12px 7px 7px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.22);
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.appointments-hero__badge img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  filter: var(--skate-header-logo-filter);
}

.appointments-page .appointments-hero__copy {
  display: grid;
  gap: 8px;
  max-width: 780px;
}

.appointments-page .appointments-hero h1 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.9rem, 5vw, 3.3rem);
  line-height: 1.04;
}

.appointments-hero__subtitle {
  max-width: 740px;
  color: var(--text-primary);
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
  font-weight: 850;
  line-height: 1.35;
}

.appointments-page .appointments-hero p {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.45;
}

.appointments-filter {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-white-rgb), 0.05);
}

.appointments-filter a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--text-secondary);
  font-size: 0.9rem;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}

.appointments-filter a:hover,
.appointments-filter a:focus-visible {
  border-color: var(--skate-border-strong);
  color: var(--text-primary);
  background: var(--skate-surface-hover);
}

.appointments-filter a.is-active {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow);
  color: var(--text-inverse);
  box-shadow: 0 12px 28px rgba(var(--skate-yellow-rgb), 0.20);
}

.appointments-next,
.appointment-group {
  display: grid;
  gap: 14px;
}

.appointments-next {
  padding: clamp(14px, 2.6vw, 22px);
  border: 1px solid var(--skate-yellow-border);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.09), rgba(var(--skate-white-rgb), 0.035)),
    rgba(var(--skate-card-rgb), 0.82);
}

.appointment-next-card {
  display: grid;
  gap: 16px;
  padding: clamp(16px, 4vw, 26px);
  border: 1px solid var(--skate-yellow-border);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.16), rgba(var(--skate-white-rgb), 0.045)),
    rgba(var(--skate-card-2-rgb), 0.96);
  box-shadow: 0 18px 44px rgba(var(--skate-black-rgb), 0.30);
}

.appointment-next-card__date,
.appointment-next-card__body {
  display: grid;
  gap: 9px;
  min-width: 0;
}

.appointment-next-card__date span {
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.appointment-next-card__date strong {
  color: var(--text-primary);
  font-size: clamp(1.55rem, 5vw, 2.8rem);
  line-height: 1;
}

.appointment-next-card h3 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.7rem, 5vw, 3.2rem);
  line-height: 1.04;
}

.appointment-next-card__subtitle {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1rem, 2.2vw, 1.22rem);
  font-weight: 850;
  line-height: 1.35;
}

.appointment-next-card__place {
  margin: 0;
  color: var(--text-secondary);
  font-weight: 800;
  line-height: 1.4;
}

.appointment-next-card__place span {
  color: var(--skate-yellow);
}

.appointment-next-card__action {
  display: inline-flex;
  width: fit-content;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 1px solid var(--skate-yellow);
  border-radius: 8px;
  background: var(--skate-yellow);
  color: var(--text-inverse);
  font-weight: 900;
  text-decoration: none;
}

.appointment-next-card__program-status {
  margin: 0;
  color: var(--skate-yellow);
  font-weight: 900;
}

.appointment-next-card__action--disabled {
  border-color: var(--skate-border-strong);
  background: rgba(var(--skate-white-rgb), 0.06);
  color: var(--text-secondary);
  cursor: default;
}

.appointments-section-heading,
.appointment-group__head {
  display: grid;
  gap: 6px;
}

.appointments-section-heading span,
.appointment-group__head .eyebrow {
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.appointments-section-heading h2,
.appointment-group__head h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.32rem, 3.3vw, 2.35rem);
  line-height: 1.06;
}

.appointment-group__head p {
  max-width: 760px;
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.6;
}

.appointment-group--rsc,
.appointment-group--skate {
  padding-top: clamp(12px, 2vw, 20px);
  border-top: 1px solid var(--skate-border);
}

.appointment-group__logo {
  width: 74px;
  min-height: 74px;
  padding: 8px;
  border-color: var(--skate-border-strong);
  background: rgba(var(--skate-white-rgb), 0.94);
  box-shadow: var(--skate-shadow-soft);
}

.appointment-group__logo img {
  width: 56px;
  max-height: 60px;
}

.appointment-group__external {
  width: fit-content;
  min-height: 44px;
}

.appointment-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.appointment-stats article {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-white-rgb), 0.055);
}

.appointment-stats span {
  color: var(--text-secondary);
  font-size: 0.76rem;
  font-weight: 850;
  text-transform: uppercase;
}

.appointment-stats strong {
  color: var(--text-primary);
  font-size: clamp(1.25rem, 3vw, 1.9rem);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.appointment-list {
  display: grid;
  gap: 12px;
}

.appointments-page .appointment-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
  padding: clamp(14px, 2.4vw, 18px);
  overflow: hidden;
  border: 1px solid rgba(var(--skate-white-rgb), 0.13);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.065), rgba(var(--skate-white-rgb), 0.025)),
    rgba(var(--skate-card-2-rgb), 0.92);
  box-shadow: 0 16px 34px rgba(var(--skate-black-rgb), 0.22);
}

.appointments-page .appointment-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: rgba(var(--skate-white-rgb), 0.14);
}

.appointments-page .appointment-card--featured {
  border-color: var(--skate-yellow-border);
  background:
    radial-gradient(circle at 8% 0%, rgba(var(--skate-yellow-rgb), 0.15), transparent 34%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.075), rgba(var(--skate-white-rgb), 0.03)),
    rgba(var(--skate-card-2-rgb), 0.96);
}

.appointments-page .appointment-card--featured::before,
.appointments-page .appointment-card--hosted::before {
  background: var(--skate-yellow);
}

.appointments-page .appointment-card--skate {
  border-color: rgba(var(--skate-success-rgb), 0.22);
}

.appointments-page .appointment-card--skate::before {
  background: rgba(var(--skate-success-rgb), 0.76);
}

.appointment-date {
  display: grid;
  place-items: center;
  align-self: start;
  min-height: 82px;
  padding: 8px 6px;
  border: 1px solid var(--skate-border-strong);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(var(--skate-black-rgb), 0.18), rgba(var(--skate-black-rgb), 0.34)),
    rgba(var(--skate-white-rgb), 0.055);
  color: var(--text-primary);
  text-align: center;
}

.appointment-date strong {
  color: var(--text-primary);
  font-size: clamp(1.55rem, 5vw, 2.15rem);
  font-weight: 950;
  line-height: 0.95;
  font-variant-numeric: tabular-nums;
}

.appointment-date span,
.appointment-date small {
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.appointment-date small {
  color: var(--text-secondary);
}

.appointments-page .appointment-card__body {
  display: grid;
  min-width: 0;
  gap: 9px;
}

.appointments-page .appointment-card__date-line {
  color: var(--skate-yellow);
  font-size: 0.9rem;
  font-weight: 900;
}

.appointments-page .appointment-card__place {
  margin: 0;
  color: var(--text-secondary);
  font-weight: 800;
  line-height: 1.35;
}

.appointments-page .appointment-card__place span {
  color: var(--skate-yellow);
}

.appointments-page .appointment-card__badges,
.appointments-page .appointment-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.appointments-page .appointment-card__badges span,
.appointments-page .appointment-card__chips span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.06);
  color: var(--text-secondary);
  font-size: 0.76rem;
  font-weight: 850;
}

.appointments-page .appointment-card__badges .appointment-presence--planned,
.appointments-page .appointment-card__badges .appointment-presence--host {
  border-color: rgba(var(--skate-success-rgb), 0.30);
  background: rgba(var(--skate-success-rgb), 0.12);
  color: var(--skate-success);
}

.appointments-page .appointment-card__badges .appointment-presence--host {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.appointments-page .appointment-card__badges .appointment-presence--updating {
  border-color: rgba(var(--skate-yellow-rgb), 0.26);
  background: rgba(var(--skate-yellow-rgb), 0.08);
  color: var(--skate-yellow-hover);
}

.appointments-page .appointment-card h3 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.25rem, 3.4vw, 1.75rem);
  line-height: 1.08;
}

.appointments-page .appointment-card h3 a {
  color: inherit;
  text-decoration: none;
}

.appointments-page .appointment-card__subtitle {
  margin: 0;
  color: var(--text-primary);
  font-weight: 850;
  line-height: 1.4;
}

.appointments-page .appointment-card__presence {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid rgba(var(--skate-success-rgb), 0.30);
  border-radius: 999px;
  background: rgba(var(--skate-success-rgb), 0.12);
  color: var(--skate-success);
  font-size: 0.78rem;
  font-weight: 900;
}

.appointments-page .appointment-card__presence--host {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.appointments-page .appointment-card p {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.55;
}

.appointment-card__categories {
  display: grid;
  gap: 7px;
}

.appointment-card__categories strong {
  color: var(--text-secondary);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.appointment-card__categories div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.appointment-card__categories span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--text-primary);
  font-size: 0.82rem;
  font-weight: 850;
}

.appointments-page .appointment-card__note {
  color: var(--text-secondary);
}

.appointments-page .appointment-card__program-status {
  margin: 0;
  color: var(--skate-yellow);
  font-weight: 900;
}

.appointments-page .appointment-card__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.appointments-page .appointment-card__facts div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border-radius: 8px;
  background: rgba(var(--skate-white-rgb), 0.065);
}

.appointments-page .appointment-card__facts dt {
  color: var(--text-secondary);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.appointments-page .appointment-card__facts dd {
  margin: 0;
  color: var(--text-primary);
  font-weight: 850;
  line-height: 1.25;
}

.appointments-page .appointment-card__actions {
  display: grid;
  grid-template-columns: minmax(0, 160px);
  gap: 9px;
}

.appointments-page .appointment-card__actions a {
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid var(--skate-border-strong);
  border-radius: 8px;
  background: rgba(var(--skate-white-rgb), 0.05);
  color: var(--skate-yellow);
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}

.appointments-page .appointment-card__actions a:first-child {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--text-inverse);
}

.appointments-page .appointment-card__action-disabled {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border: 1px solid var(--skate-border-strong);
  border-radius: 8px;
  background: rgba(var(--skate-white-rgb), 0.06);
  color: var(--text-secondary);
  font-weight: 900;
  text-align: center;
}

.appointments-page .appointment-card__actions a:hover,
.appointments-page .appointment-card__actions a:focus-visible,
.appointment-group__external:hover,
.appointment-group__external:focus-visible {
  border-color: var(--skate-yellow);
  outline: none;
  transform: translateY(-1px);
}

.appointments-empty {
  display: grid;
  gap: 6px;
  padding: 18px;
  border: 1px dashed var(--skate-border-strong);
  border-radius: 8px;
  background: rgba(var(--skate-white-rgb), 0.035);
}

.appointments-empty strong {
  color: var(--text-primary);
}

.appointments-empty span {
  color: var(--text-secondary);
}

@media (min-width: 920px) {
  .appointments-page .appointments-hero {
    align-items: start;
  }

  .appointment-group__head {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .appointment-group--skate .appointment-group__head {
    grid-template-columns: minmax(0, 1fr);
  }

  .appointments-page .appointment-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .appointments-page .appointment-list--compact {
    grid-column: 1 / -1;
  }

  .appointment-next-card {
    grid-template-columns: minmax(190px, 0.35fr) minmax(0, 1fr);
    align-items: start;
  }
}

@media (max-width: 720px) {
  .appointments-page {
    gap: 12px;
    padding-bottom: calc(var(--skate-bottom-nav-height) + var(--skate-safe-bottom) + 44px);
  }

  .appointments-page .appointments-hero {
    padding: 14px;
  }

  .appointments-page .appointments-hero h1 {
    font-size: clamp(1.62rem, 8vw, 2.35rem);
  }

  .appointments-page .appointments-hero p {
    font-size: 0.94rem;
    line-height: 1.35;
  }

  .appointments-filter {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 6px;
  }

  .appointments-filter a {
    min-height: 40px;
    padding-inline: 6px;
    font-size: 0.76rem;
    line-height: 1.15;
  }

  .appointments-next {
    padding: 12px;
  }

  .appointments-section-heading h2 {
    font-size: 1.22rem;
  }

  .appointment-stats {
    grid-template-columns: 1fr;
  }

  .appointments-page .appointment-card,
  .appointments-page .appointment-card--featured {
    grid-template-columns: 1fr;
  }

  .appointment-date {
    grid-template-columns: auto auto auto;
    justify-content: start;
    min-height: 0;
    column-gap: 8px;
    padding: 10px 12px;
  }

  .appointment-date strong {
    font-size: 1.5rem;
  }

  .appointments-page .appointment-card__facts {
    grid-template-columns: 1fr;
  }

  .appointments-page .appointment-card__actions {
    grid-template-columns: 1fr;
  }

  .appointment-next-card__action {
    width: 100%;
  }

  .appointments-page .appointment-card__actions a {
    width: 100%;
  }
}

.event-filter,
.event-admin-filter,
.event-admin-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 14px;
}

.event-filter label,
.event-admin-filter label,
.event-admin-form label {
  display: grid;
  gap: 7px;
  color: var(--text-secondary);
  font-size: 0.88rem;
  font-weight: 800;
}

.event-filter input,
.event-filter select,
.event-admin-filter input,
.event-admin-filter select,
.event-admin-form input,
.event-admin-form select,
.event-admin-form textarea {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--skate-border-strong);
  border-radius: 8px;
  background: var(--skate-card-2);
  color: var(--text-primary);
  font: inherit;
}

.event-filter input,
.event-filter select,
.event-admin-filter input,
.event-admin-filter select,
.event-admin-form input,
.event-admin-form select {
  padding: 0 12px;
}

.event-admin-form textarea {
  padding: 10px 12px;
  resize: vertical;
}

.event-filter__actions,
.event-admin-filter__actions,
.event-admin-form__actions,
.event-admin-form__head,
.event-admin-form__wide,
.event-admin-checks {
  grid-column: 1 / -1;
}

.event-detail,
.event-admin-layout,
.event-admin-blocks {
  display: grid;
  gap: 18px;
}

.event-detail__facts,
.event-document-list article,
.event-admin-side,
.event-admin-stats article {
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: var(--skate-card-2);
  padding: 16px;
}

.event-block__data,
.event-document-list {
  display: grid;
  gap: 10px;
  margin: 0;
}

.event-document-list article {
  display: grid;
  gap: 6px;
}

.event-document-list a {
  color: var(--color-primary);
  font-weight: 800;
}

.event-admin-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
  gap: 12px;
}

.event-admin-stats article {
  display: grid;
  gap: 6px;
}

.event-admin-stats span {
  color: var(--text-secondary);
  font-size: 0.82rem;
  font-weight: 800;
}

.event-admin-stats strong {
  color: var(--text-primary);
  font-size: 1.6rem;
}

.event-admin-row__actions {
  align-self: start;
}

.event-admin-block summary,
.event-admin-block-create summary {
  cursor: pointer;
  color: var(--text-primary);
  font-weight: 900;
}

.event-admin-block summary {
  display: grid;
  gap: 4px;
}

.event-admin-form--block {
  margin-top: 16px;
}

.tournament-registration {
  display: grid;
  gap: 18px;
  width: 100%;
}

.tournament-registration-hero {
  margin-bottom: 0;
}

.tournament-registration-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.tournament-registration-card__icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: rgba(var(--skate-primary-rgb), 0.1);
  color: var(--skate-primary);
}

.tournament-registration-card--success .tournament-registration-card__icon {
  background: rgba(var(--skate-success-rgb), 0.12);
  color: var(--skate-success);
}

.tournament-registration-card__svg {
  width: 26px;
  height: 26px;
}

.tournament-registration-card h1,
.tournament-registration-card p,
.tournament-registration-panel__head h2,
.tournament-registration-panel__head p {
  margin: 0;
}

.tournament-registration-card p,
.tournament-registration-panel__head p {
  color: var(--text-secondary);
  line-height: 1.55;
}

.tournament-registration-panel {
  display: grid;
  gap: 18px;
}

.tournament-registration-form,
.tournament-registration-submit {
  display: grid;
  gap: 18px;
}

.tournament-registration-form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
}

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

.tournament-registration-grid label:last-child {
  grid-column: 1 / -1;
}

.tournament-registration label {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.tournament-registration label > span {
  color: var(--text-secondary);
  font-size: 0.82rem;
  font-weight: 800;
}

.tournament-registration :is(input, select, textarea) {
  width: 100%;
  min-height: 44px;
}

.tournament-athlete-list {
  display: grid;
  gap: 12px;
}

.tournament-athlete-row {
  display: grid;
  grid-template-columns: 32px minmax(190px, 1.35fr) minmax(130px, 0.75fr) minmax(190px, 1.15fr) minmax(96px, 0.48fr) minmax(130px, 0.85fr) auto;
  align-items: end;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-card-rgb), 0.58);
}

.tournament-athlete-row > strong {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.13);
  color: var(--skate-yellow);
  font-variant-numeric: tabular-nums;
}

.tournament-athlete-row.is-bib-disabled [data-athlete-bib] {
  background: rgba(var(--skate-white-rgb), 0.06);
  color: var(--text-secondary);
  cursor: not-allowed;
}

.tournament-athlete-row__remove {
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid rgba(var(--skate-danger-rgb), 0.25);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-danger-rgb), 0.08);
  color: var(--skate-danger);
  font-weight: 800;
  cursor: pointer;
}

.tournament-athlete-row__remove:hover,
.tournament-athlete-row__remove:focus-visible {
  background: rgba(var(--skate-danger-rgb), 0.14);
}

.tournament-athlete-actions {
  display: flex;
  justify-content: flex-start;
}

.tournament-registration-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-primary-rgb), 0.05);
}

.tournament-registration-consent input {
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  margin-top: 2px;
}

.tournament-registration-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media (min-width: 920px) {
  .appointments-hero {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  }

  .appointment-group__head {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .trophy-card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }

  .trophy-card__actions {
    justify-content: flex-end;
  }

  .event-card--compact,
  .event-admin-row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }

  .event-admin-layout {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    align-items: start;
  }
}

@media (max-width: 720px) {
  .appointment-card {
    grid-template-columns: 1fr;
  }

  .appointment-card__date {
    grid-template-columns: auto auto auto;
    justify-content: start;
    min-height: 0;
  }

  .appointment-card__date strong {
    font-size: 1.35rem;
  }

  .appointment-card__actions a,
  .trophy-card__actions a {
    width: 100%;
  }

  .events-hero__actions a,
  .event-card__action,
  .event-admin-row__actions a,
  .event-admin-form__actions a,
  .event-admin-form__actions button,
  .event-filter__actions a,
  .event-filter__actions button,
  .event-admin-filter__actions a,
  .event-admin-filter__actions button,
  .event-public-tabs a {
    width: 100%;
  }

  .tournament-registration-form,
  .tournament-registration-grid,
  .tournament-athlete-row {
    grid-template-columns: 1fr;
  }

  .tournament-registration-card {
    flex-direction: column;
  }

  .tournament-registration-actions,
  .tournament-registration-actions .btn,
  .tournament-athlete-actions,
  .tournament-athlete-actions .btn,
  .tournament-athlete-row__remove {
    width: 100%;
  }
}

/* =========================================================
   01. RESET BASE
   Global reset and base page behavior.
   ========================================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  max-width: 100%;
  background: var(--skate-bg);
  overflow-x: hidden;
  text-size-adjust: 100%;
}

body {
  min-height: 100dvh;
  max-width: 100%;
  margin: 0;
  padding-top: var(--app-topbar-height);
  padding-bottom: var(--app-bottom-safe-space);
  scroll-padding-top: var(--app-topbar-height);
  scroll-padding-bottom: var(--app-bottom-safe-space);
  overflow-x: hidden;
  background:
    radial-gradient(circle at 76% -14%, rgba(var(--skate-yellow-rgb), 0.16), transparent 34%),
    linear-gradient(180deg, var(--skate-bg-soft) 0%, var(--skate-bg) 48%, var(--skate-bg-deep) 100%);
  color: var(--skate-text);
  font-family: var(--font-main);
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(var(--skate-white-rgb), 0.026) 1px, transparent 1px),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.018) 1px, transparent 1px);
  background-size: 26px 26px;
  mask-image: linear-gradient(180deg, rgba(var(--skate-black-rgb), 0.60), transparent 70%);
}

img,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration-color: rgba(var(--skate-yellow-rgb), 0.42);
  text-underline-offset: 3px;
}

[hidden] {
  display: none !important;
}

:focus-visible {
  outline: 2px solid var(--skate-yellow);
  outline-offset: 3px;
}

::selection {
  background: rgba(var(--skate-yellow-rgb), 0.28);
  color: var(--skate-text);
}

/* =========================================================
   02. TYPOGRAPHY
   Shared text scale and readability.
   ========================================================= */
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
figure {
  margin-block: 0;
  letter-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
  line-height: 1.08;
}

h1 {
  font-size: clamp(2rem, 5vw, 4.5rem);
}

h2 {
  font-size: clamp(1.35rem, 2.4vw, 2.3rem);
}

h3 {
  font-size: clamp(1rem, 1.5vw, 1.25rem);
}

p,
li,
dd,
small {
  color: var(--skate-muted);
}

.eyebrow,
.screen-kicker,
.shop-public-hero__eyebrow,
.skate-video-showcase__eyebrow,
.skate-fisr-showcase__label,
.skate-palmares-showcase__label {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  color: var(--skate-yellow);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.screen-subtitle,
.page-hero p,
.public-section__head p,
.shop-panel__header p,
.settings-card__head p {
  max-width: 68ch;
  color: var(--skate-muted);
}

/* =========================================================
   02B. ICON SYSTEM
   Centralized SVG treatment for shared SKATE interface icons.
   ========================================================= */
.svg-icon,
.skate-icon {
  --skate-icon-size: 1.25rem;
  --skate-icon-stroke-width: 1.85;
  display: inline-block;
  width: var(--skate-icon-size);
  height: var(--skate-icon-size);
  flex: 0 0 auto;
  color: currentColor;
  vertical-align: middle;
}

.skate-icon--sm {
  --skate-icon-size: 1rem;
}

.skate-icon--md {
  --skate-icon-size: 1.25rem;
}

.skate-icon--lg {
  --skate-icon-size: 1.55rem;
}

.skate-icon--gold {
  color: var(--skate-yellow);
}

.skate-icon--muted {
  color: var(--skate-muted);
  opacity: 0.78;
}

.skate-icon--soft {
  color: rgba(var(--skate-yellow-rgb), 0.72);
  opacity: 0.86;
}

.skate-icon--stroke :is(path, circle, rect, line, polyline, polygon, ellipse) {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: var(--skate-icon-stroke-width) !important;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.skate-icon--stroke defs :is(path, circle, rect, line, polyline, polygon, ellipse) {
  fill: initial !important;
  stroke: initial !important;
}

.skate-icon--fill :is(path, circle, rect, line, polyline, polygon, ellipse) {
  fill: currentColor !important;
  stroke: none !important;
}

.skate-icon--fill defs :is(path, circle, rect, line, polyline, polygon, ellipse) {
  fill: initial !important;
  stroke: initial !important;
}

.skate-icon-badge,
.skate-icon-card {
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.skate-icon-badge {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--skate-radius-md);
}

.skate-icon-card {
  width: 3rem;
  height: 3rem;
  border-radius: var(--skate-radius-lg);
  box-shadow: inset 0 1px 0 rgba(var(--skate-white-rgb), 0.06);
}

/* =========================================================
   03. LAYOUT
   Page width, sections, grids and shared shells.
   ========================================================= */
.guest-main,
.app-main,
.fisr-public-live-main {
  width: var(--app-content-width);
  margin-inline: auto;
  padding-block-start: clamp(14px, 2.6vw, 28px);
}

.public-home-screen .guest-main,
.public-courses-page-screen .guest-main,
.public-society-page-screen .guest-main,
.public-team-page-screen .guest-main,
.shop-screen .guest-main,
.fisr-public-live-main {
  width: var(--app-public-width);
}

.guest-login-screen .guest-main,
.auth-screen .guest-main {
  width: min(520px, calc(100% - 28px));
}

.public-section,
.skate-video-showcase,
.skate-fisr-showcase,
.home-live-card,
.skate-palmares-showcase,
.public-society-section,
.public-staff-sections,
.public-team-sections,
.shop-public-grid,
.shop-public-toolbar,
.settings-group,
.registration-create-form,
.communication-card-stack,
.fisr-nav-stack {
  margin-block-start: var(--skate-section-gap);
}

.public-society-section {
  width: min(100%, var(--skate-container));
  margin-inline: auto;
}

.public-staff-board,
.public-staff-sections,
.public-sponsors-board,
.public-sponsor-cta,
.fisr-public-block,
.fisr-public-archive-section,
.fisr-public-archive-note {
  width: min(100%, var(--skate-container));
  margin-inline: auto;
}

.public-section__head,
.screen-head,
.page-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-block: 0 var(--skate-section-gap);
}

.screen-head--stack,
.page-hero--compact {
  align-items: flex-start;
  flex-direction: column;
}

.screen-head > div,
.page-hero > div {
  display: grid;
  gap: 8px;
}

.app-main > * + *,
.guest-main > * + *,
.fisr-public-live-main > * + * {
  margin-block-start: var(--skate-section-gap);
}

.panel,
.panel-card,
.registration-panel,
.shop-panel,
.shop-info-card,
.shop-public-detail__body,
.shop-public-detail__media,
.shop-option-panel,
.shop-quantity-panel,
.shop-request-summary,
.shop-request-contact,
.communication-form-card,
.communication-upload-card,
.auth-panel,
.settings-mini-panel {
  background: var(--card-bg);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  box-shadow: var(--skate-shadow-soft);
  color: var(--skate-text);
}

.public-course-card,
.public-schedule-day,
.public-schedule-slot,
.public-society-card,
.public-society-affiliation-card,
.public-sponsor-card,
.public-staff-card,
.public-team-card,
.athlete-public-preview-card {
  display: grid;
  gap: 12px;
  padding: clamp(16px, 2.4vw, 24px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: var(--card-bg);
  box-shadow: var(--skate-shadow-soft);
  color: var(--skate-text);
  text-decoration: none;
}

.public-course-card:hover,
.public-society-affiliation-card:hover,
.public-sponsor-card:hover,
.public-staff-card:hover,
.public-team-card:hover {
  border-color: var(--skate-yellow-border);
}

.public-society-section__head {
  display: grid;
  gap: 8px;
  max-width: 760px;
  margin-block-end: 18px;
}

.public-society-section__head h2,
.public-society-section__head p,
.public-society-card p {
  margin: 0;
}

.public-society-section__head p,
.public-society-card p {
  color: var(--skate-text-soft);
  line-height: 1.7;
}

.public-society-card--story {
  position: relative;
  overflow: hidden;
  padding: clamp(20px, 3vw, 34px);
  background:
    radial-gradient(circle at 92% 8%, rgba(var(--skate-yellow-rgb), 0.1), transparent 32%),
    var(--card-bg);
}

.public-society-card--story::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--skate-yellow);
  opacity: 0.82;
}

.home-seo-intro__card {
  position: relative;
  display: grid;
  gap: clamp(16px, 2.4vw, 22px);
  overflow: hidden;
  padding: clamp(20px, 3.4vw, 36px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 90% 12%, rgba(var(--skate-yellow-rgb), 0.16), transparent 34%),
    radial-gradient(circle at 12% 88%, rgba(var(--skate-teal-rgb), 0.08), transparent 34%),
    var(--card-bg);
  box-shadow: var(--skate-shadow-soft);
  color: var(--skate-text);
}

.home-seo-intro__card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--skate-yellow), rgba(var(--skate-teal-rgb), 0.78));
  opacity: 0.9;
}

.home-seo-intro__head {
  max-width: 880px;
  margin-block-end: 0;
}

.home-seo-intro__head h2 {
  max-width: 18ch;
  font-size: clamp(1.85rem, 5.2vw, 3rem);
  line-height: 0.98;
}

.home-seo-intro__copy {
  display: grid;
  gap: 12px;
  max-width: 980px;
  padding: clamp(14px, 2.4vw, 20px);
  border: 1px solid rgba(var(--skate-white-rgb), 0.1);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.035);
}

.home-seo-intro__copy p {
  margin: 0;
  color: var(--skate-text-soft);
  font-size: clamp(0.95rem, 1.6vw, 1.03rem);
  line-height: 1.68;
}

.home-faq-section {
  margin-block-start: clamp(34px, 6vw, 64px);
  padding-block-end: clamp(22px, 5vw, 42px);
}

.home-faq-card {
  display: grid;
  gap: clamp(16px, 2.8vw, 24px);
  padding: clamp(18px, 3vw, 32px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 92% 12%, rgba(var(--skate-yellow-rgb), 0.1), transparent 34%),
    var(--card-bg);
  box-shadow: var(--skate-shadow-soft);
}

.home-faq-section__head {
  margin-block-end: 0;
}

.home-faq-section__head h2 {
  font-size: clamp(1.45rem, 4.6vw, 2.15rem);
}

.home-faq-list {
  display: grid;
  gap: 16px;
  width: 100%;
}

.home-faq-item {
  gap: 0;
  padding: 0;
  overflow: hidden;
  border-color: rgba(var(--skate-white-rgb), 0.1);
  box-shadow: none;
}

.home-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 52px;
  padding: 15px 16px;
  cursor: pointer;
  font-weight: 800;
}

.home-faq-item summary::-webkit-details-marker {
  display: none;
}

.home-faq-item summary::after {
  content: "+";
  display: grid;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  color: var(--skate-yellow);
  font-size: 1.1rem;
  line-height: 1;
}

.home-faq-item[open] summary::after {
  content: "-";
}

.home-faq-item p {
  padding: 0 16px 16px;
}

.public-society-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: 14px;
}

.public-society-fact,
.public-society-contact-card {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: clamp(14px, 2vw, 18px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.05), rgba(var(--skate-white-rgb), 0.018)),
    var(--skate-surface-soft);
  box-shadow: var(--skate-shadow-soft);
}

.public-society-fact span,
.public-society-contact-card span {
  color: var(--skate-yellow);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.public-society-fact strong,
.public-society-fact a,
.public-society-contact-card strong,
.public-society-contact-card a {
  overflow-wrap: anywhere;
  color: var(--skate-text);
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
}

.public-society-fact a:hover,
.public-society-fact a:focus-visible,
.public-society-contact-card a:hover,
.public-society-contact-card a:focus-visible {
  color: var(--skate-yellow);
}

/* =========================================================
   CONTACT PAGE
   Pagina contatti pubblica: scelta canale, form e stati.
   ========================================================= */
.skate-contact-page {
  width: min(100%, var(--skate-container));
  margin-inline: auto;
}

.public-contact-page-screen .guest-main {
  padding-block-start: clamp(10px, 2vw, 22px);
}

.skate-contact-page--compact {
  padding-block-start: clamp(8px, 1.8vw, 18px);
}

.skate-contact-page + .skate-contact-page {
  margin-block-start: var(--skate-section-gap);
}

.skate-contact-section-head {
  display: grid;
  gap: 8px;
  max-width: 820px;
  margin-block-end: 18px;
}

.skate-contact-section-head h1,
.skate-contact-section-head h2,
.skate-contact-section-head p {
  margin: 0;
}

.skate-contact-section-head h1 {
  font-size: clamp(2rem, 5vw, 4.45rem);
}

.skate-contact-section-head p {
  color: var(--skate-text-soft);
  line-height: 1.7;
}

.skate-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: clamp(16px, 2.6vw, 28px);
  align-items: start;
}

.skate-contact-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.skate-contact-choice {
  position: relative;
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: clamp(18px, 2.6vw, 28px);
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 88% 12%, rgba(var(--skate-yellow-rgb), 0.10), transparent 34%),
    var(--card-bg);
  color: var(--skate-text);
  text-decoration: none;
  box-shadow: var(--skate-shadow-soft);
}

.skate-contact-choice::after {
  content: "";
  position: absolute;
  inset: auto 18px 18px auto;
  width: 0;
  height: 0;
  border-block: 7px solid transparent;
  border-inline-start: 10px solid var(--skate-yellow);
  opacity: 0.82;
}

.skate-contact-choice:hover,
.skate-contact-choice:focus-visible {
  border-color: var(--skate-yellow-border);
}

.skate-contact-choice:focus-visible {
  outline: 2px solid var(--skate-yellow);
  outline-offset: 3px;
}

.skate-contact-choice span,
.skate-contact-choice small {
  color: var(--skate-muted);
}

.skate-contact-choice span {
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-contact-choice strong {
  color: var(--skate-text);
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  line-height: 1.15;
}

.skate-contact-choice--primary {
  border-color: var(--skate-yellow-border);
  background:
    radial-gradient(circle at 88% 12%, rgba(var(--skate-yellow-rgb), 0.18), transparent 34%),
    linear-gradient(145deg, rgba(var(--skate-card-2-rgb), 0.98), rgba(var(--skate-bg-rgb), 0.98));
}

.skate-contact-side {
  display: grid;
  gap: 14px;
  position: sticky;
  top: calc(var(--skate-topbar-height) + 24px);
}

.skate-contact-image-card {
  position: relative;
  min-height: 360px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: var(--card-bg);
  box-shadow: var(--skate-shadow-soft);
}

.skate-contact-image-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(var(--skate-bg-rgb), 0.08), rgba(var(--skate-bg-rgb), 0.84)),
    radial-gradient(circle at 82% 14%, rgba(var(--skate-yellow-rgb), 0.18), transparent 34%);
  pointer-events: none;
}

.skate-contact-image-card img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center;
  display: block;
}

.skate-contact-image-card figcaption {
  position: absolute;
  inset: auto 18px 18px 18px;
  z-index: 1;
  display: grid;
  gap: 8px;
}

.skate-contact-image-card figcaption span {
  width: fit-content;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: rgba(var(--skate-bg-rgb), 0.62);
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-contact-image-card figcaption strong {
  color: var(--skate-text);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.12;
}

.skate-contact-alert {
  margin-block-end: 14px;
  padding: 14px 16px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
}

.skate-contact-alert--success {
  border-color: rgba(var(--skate-success-rgb), 0.34);
  background: rgba(var(--skate-success-rgb), 0.10);
}

.skate-contact-alert--error {
  border-color: rgba(var(--skate-danger-rgb), 0.34);
  background: rgba(var(--skate-danger-rgb), 0.10);
}

.skate-contact-form {
  display: grid;
  gap: 18px;
  padding: clamp(18px, 3vw, 32px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--skate-yellow-rgb), 0.08), transparent 32%),
    var(--card-bg);
  box-shadow: var(--skate-shadow-soft);
}

.skate-contact-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.skate-contact-field {
  display: grid;
  gap: 8px;
  min-width: 0;
  position: relative;
  scroll-margin-top: calc(var(--skate-topbar-height) + 24px);
}

.skate-contact-field--wide {
  grid-column: 1 / -1;
}

.skate-contact-field > span,
.skate-contact-consent span {
  color: var(--skate-text-soft);
  font-size: 0.92rem;
  font-weight: var(--font-weight-semibold);
}

.skate-contact-field > span strong,
.skate-contact-consent span strong {
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.skate-contact-field input,
.skate-contact-field select,
.skate-contact-field textarea {
  width: 100%;
  max-width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-bg-rgb), 0.68);
  color: var(--skate-text);
  font: inherit;
  font-size: 1rem;
  box-sizing: border-box;
}

.skate-contact-field input[type="file"] {
  padding: 9px;
  cursor: pointer;
}

.skate-contact-field input[type="file"]::file-selector-button {
  margin-inline-end: 12px;
  padding: 9px 12px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-yellow-rgb), 0.12);
  color: var(--skate-text);
  font: inherit;
  font-size: 0.9rem;
  font-weight: var(--font-weight-bold);
  cursor: pointer;
}

.skate-contact-field select {
  appearance: none;
  padding-inline-end: 44px;
  background:
    linear-gradient(45deg, transparent 50%, var(--skate-yellow) 50%) calc(100% - 21px) 50% / 7px 7px no-repeat,
    linear-gradient(135deg, var(--skate-yellow) 50%, transparent 50%) calc(100% - 15px) 50% / 7px 7px no-repeat,
    rgba(var(--skate-bg-rgb), 0.68);
}

.skate-contact-field select option {
  background: var(--skate-bg-soft);
  color: var(--skate-text);
}

.skate-contact-field textarea {
  min-height: 150px;
  resize: vertical;
  line-height: 1.55;
}

.skate-contact-field input:focus,
.skate-contact-field select:focus,
.skate-contact-field textarea:focus {
  border-color: var(--skate-yellow-border);
  outline: 2px solid rgba(var(--skate-yellow-rgb), 0.16);
  outline-offset: 2px;
}

.skate-contact-field.is-invalid input,
.skate-contact-field.is-invalid select,
.skate-contact-field.is-invalid textarea {
  border-color: rgba(var(--skate-danger-rgb), 0.62);
  box-shadow: 0 0 0 3px rgba(var(--skate-danger-rgb), 0.12);
}

.skate-contact-field__tooltip {
  position: absolute;
  inset-block-start: calc(100% + 8px);
  inset-inline-start: 12px;
  z-index: var(--skate-z-tooltip);
  display: none;
  max-width: min(320px, calc(100vw - 42px));
  padding: 9px 12px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.34);
  border-radius: var(--skate-radius-sm);
  background: var(--color-tooltip-bg);
  box-shadow: var(--skate-shadow-soft);
  color: var(--skate-text);
  font-size: 0.82rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.35;
}

.skate-contact-field__tooltip::before {
  content: "";
  position: absolute;
  inset-block-start: -6px;
  inset-inline-start: 16px;
  width: 10px;
  height: 10px;
  border-block-start: 1px solid rgba(var(--skate-yellow-rgb), 0.34);
  border-inline-start: 1px solid rgba(var(--skate-yellow-rgb), 0.34);
  background: var(--color-tooltip-bg);
  transform: rotate(45deg);
}

.skate-contact-field.is-invalid:focus-within > .skate-contact-field__tooltip,
.skate-contact-consent.is-invalid:focus-within > .skate-contact-field__tooltip,
.skate-contact-field.is-invalid[data-show-error="true"] > .skate-contact-field__tooltip,
.skate-contact-consent.is-invalid[data-show-error="true"] > .skate-contact-field__tooltip {
  display: block;
}

.skate-contact-consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
  position: relative;
  scroll-margin-top: calc(var(--skate-topbar-height) + 24px);
}

.skate-contact-consent input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-block-start: 2px;
  accent-color: var(--skate-yellow);
}

.skate-contact-consent.is-invalid {
  border-color: rgba(var(--skate-danger-rgb), 0.62);
  box-shadow: 0 0 0 3px rgba(var(--skate-danger-rgb), 0.12);
}

.skate-contact-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.skate-contact-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 759px) {
  .athlete-results-table {
    min-width: 0;
  }

  .athlete-results-table thead {
    display: none;
  }

  .athlete-results-table,
  .athlete-results-table tbody,
  .athlete-results-table tr,
  .athlete-results-table td {
    display: block;
    width: 100%;
  }

  .athlete-results-table tr {
    padding: 10px 0;
    border-bottom: 1px solid var(--skate-border);
  }

  .athlete-results-table td {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 10px;
    padding: 7px 0;
    border-bottom: 0;
  }

  .athlete-results-table td::before {
    content: attr(data-label);
    color: var(--skate-muted);
    font-size: 0.74rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
  }
}

@media (max-width: 759px) {
  .skate-contact-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-contact-side {
    position: static;
    order: 2;
  }

  .skate-contact-choice-grid,
  .skate-contact-form__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-contact-form {
    padding: 16px;
  }

  .skate-contact-form__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .skate-contact-form__actions .skate-hero__button {
    width: 100%;
  }
}

.public-society-affiliations .public-society-section__head {
  max-width: 860px;
}

.public-society-affiliation-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

.public-society-affiliation-card {
  position: relative;
  justify-items: center;
  align-content: start;
  min-height: 260px;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  text-align: center;
  background:
    radial-gradient(circle at 82% 12%, rgba(var(--skate-yellow-rgb), 0.12), transparent 34%),
    linear-gradient(145deg, rgba(var(--skate-card-rgb), 0.96), rgba(var(--skate-bg-rgb), 0.98));
}

.public-society-affiliation-card__logo {
  position: relative;
  display: grid;
  width: min(100%, 190px);
  height: 108px;
  margin-inline: auto;
  place-items: center;
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.92);
}

.public-society-affiliation-card__logo img {
  position: absolute;
  inset: 16px;
  display: block;
  width: calc(100% - 32px);
  height: calc(100% - 32px);
  max-width: calc(100% - 32px);
  max-height: calc(100% - 32px);
  object-fit: contain;
  object-position: center;
}

.public-society-affiliation-card strong {
  color: var(--skate-text);
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  line-height: 1;
}

.public-society-affiliation-card small {
  color: var(--skate-muted);
  font-size: 0.95rem;
  line-height: 1.5;
}

.public-society-federal-card {
  display: grid;
  gap: 18px;
  align-items: center;
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 92% 18%, rgba(var(--skate-yellow-rgb), 0.14), transparent 34%),
    linear-gradient(135deg, rgba(var(--skate-card-2-rgb), 0.95), rgba(var(--skate-bg-rgb), 0.98));
  box-shadow: var(--skate-shadow-soft);
}

.public-society-federal-card > div {
  display: grid;
  gap: 8px;
}

.public-society-federal-card h2,
.public-society-federal-card p {
  margin: 0;
}

.public-society-federal-card p {
  max-width: 58ch;
  color: var(--skate-text-soft);
  line-height: 1.65;
}

.public-staff-board,
.public-sponsors-board {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
}

.public-staff-board__head,
.public-sponsors-board__head {
  display: grid;
  gap: 8px;
  max-width: 760px;
}

.public-staff-board__head h2,
.public-staff-board__head p,
.public-sponsors-board__head h2,
.public-sponsors-board__head p {
  margin: 0;
}

.public-staff-board__head p,
.public-sponsors-board__head p {
  color: var(--skate-text-soft);
  line-height: 1.65;
}

.public-staff-sections {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
}

.public-staff-group {
  display: grid;
  gap: 14px;
}

.public-staff-group__head {
  display: grid;
  gap: 8px;
  max-width: 720px;
}

.public-staff-group__head h3,
.public-staff-group__head p {
  margin: 0;
}

.public-staff-group__head p {
  color: var(--skate-muted);
  line-height: 1.6;
}

.public-staff-card {
  min-width: 0;
  min-height: 100%;
  align-content: start;
}

.public-staff-card__profile-link {
  display: grid;
  gap: 12px;
  color: inherit;
  text-decoration: none;
}

.public-staff-card--linked {
  transition: border-color 160ms ease, transform 160ms ease;
}

.public-staff-card--linked:hover,
.public-staff-card--linked:focus-within {
  transform: translateY(-2px);
}

.public-staff-card__body,
.public-staff-card__top {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.public-staff-card__body h3,
.public-staff-card__body strong,
.public-staff-card__body p {
  margin: 0;
  overflow-wrap: anywhere;
}

.public-staff-card__body strong {
  color: var(--skate-text);
  line-height: 1.25;
}

.public-staff-card__body p {
  color: var(--skate-text-soft);
  line-height: 1.5;
}

.public-staff-card__contact a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
  overflow-wrap: anywhere;
}

.public-staff-card--empty,
.public-sponsors-empty {
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 86% 16%, rgba(var(--skate-yellow-rgb), 0.14), transparent 36%),
    linear-gradient(135deg, rgba(var(--skate-card-2-rgb), 0.92), rgba(var(--skate-bg-rgb), 0.98));
  box-shadow: var(--skate-shadow-soft);
}

.public-staff-detail {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
  padding-bottom: var(--guest-bottom-safe, 120px);
}

.public-staff-detail__back {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.public-staff-detail__hero,
.public-staff-detail__contacts,
.public-staff-detail__panel,
.staff-book-reader {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 86% 16%, rgba(var(--skate-yellow-rgb), 0.14), transparent 34%),
    linear-gradient(135deg, rgba(var(--skate-card-2-rgb), 0.94), rgba(var(--skate-bg-rgb), 0.98));
  box-shadow: var(--skate-shadow-soft);
}

.public-staff-detail__hero {
  display: grid;
  grid-template-columns: minmax(160px, 280px) minmax(0, 1fr);
  gap: clamp(18px, 4vw, 34px);
  align-items: center;
  padding: clamp(20px, 4vw, 42px);
}

.public-staff-detail__photo {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 32% 24%, rgba(var(--skate-yellow-rgb), 0.24), transparent 44%),
    rgba(var(--skate-black-rgb), 0.18);
  color: var(--skate-yellow);
  font-size: clamp(3rem, 8vw, 5rem);
  font-weight: var(--font-weight-bold);
}

.public-staff-detail__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.public-staff-detail__copy {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.public-staff-detail__copy h1,
.public-staff-detail__copy p,
.public-staff-detail__panel p {
  margin: 0;
}

.public-staff-detail__copy h1 {
  font-size: clamp(2.2rem, 6vw, 4.8rem);
  line-height: 0.96;
}

.public-staff-detail__role {
  color: var(--skate-yellow);
  font-size: clamp(1.05rem, 2.4vw, 1.35rem);
  font-weight: var(--font-weight-bold);
}

.public-staff-detail__copy p:not(.public-staff-detail__role),
.public-staff-detail__panel p {
  color: var(--skate-text-soft);
  line-height: 1.65;
}

.public-staff-detail__contacts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: clamp(16px, 3vw, 24px);
}

.public-staff-detail__contacts a {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.04);
  color: var(--skate-text);
  text-decoration: none;
}

.public-staff-detail__contacts span {
  color: var(--skate-muted);
  font-size: 0.8rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.public-staff-detail__contacts strong {
  overflow-wrap: anywhere;
}

.public-staff-detail__panel {
  display: grid;
  gap: 8px;
  padding: clamp(18px, 3vw, 28px);
}

.staff-book-reader {
  display: grid;
  gap: clamp(16px, 3vw, 24px);
  padding: clamp(18px, 3vw, 28px);
}

.staff-book-reader__head {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  justify-content: space-between;
}

.staff-book-reader__head h2 {
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 3rem);
}

.staff-book-reader__counter {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.staff-book-reader__stage {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.staff-book-reader__spread {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 2vw, 16px);
  min-height: 360px;
  padding: clamp(10px, 2vw, 16px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-black-rgb), 0.26);
}

.staff-book-reader__page {
  width: 100%;
  max-height: min(72vh, 820px);
  object-fit: contain;
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.92);
  box-shadow: var(--skate-shadow-soft);
}

.staff-book-reader__loader {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: none;
  place-items: center;
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-black-rgb), 0.68);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.staff-book-reader.is-loading .staff-book-reader__loader {
  display: grid;
}

.staff-book-reader__nav {
  display: grid;
  place-items: center;
  width: 44px;
  height: 64px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
  cursor: pointer;
}

.staff-book-reader__nav:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.staff-book-reader__controls {
  display: flex;
  justify-content: center;
}

.staff-book-reader__controls label {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-bold);
}

.staff-book-reader__controls select {
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-card-2);
  color: var(--skate-text);
}

@media (max-width: 760px) {
  .public-staff-detail__hero,
  .public-staff-detail__contacts {
    grid-template-columns: minmax(0, 1fr);
  }

  .public-staff-detail__photo {
    width: min(100%, 320px);
    justify-self: center;
  }

  .staff-book-reader__stage {
    grid-template-columns: minmax(0, 1fr);
  }

  .staff-book-reader__nav {
    width: 100%;
    height: 48px;
  }

  .staff-book-reader__nav--prev {
    order: 2;
  }

  .staff-book-reader__spread {
    order: 1;
    grid-template-columns: minmax(0, 1fr);
    min-height: 340px;
  }

  .staff-book-reader__nav--next {
    order: 3;
  }

  .staff-book-reader__page--next {
    display: none;
  }
}

.public-sponsor-card {
  align-content: start;
}

.public-sponsor-card .public-sponsor-card__media {
  display: grid;
  min-height: 170px;
  place-items: center;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--skate-border);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.94), rgba(var(--skate-white-rgb), 0.86)),
    var(--skate-text);
}

.public-sponsor-card .public-sponsor-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 220px;
  max-height: 118px;
  object-fit: contain;
  object-position: center;
}

.public-sponsor-card__fallback {
  display: inline-grid;
  width: 78px;
  height: 78px;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.16);
  color: var(--skate-yellow);
  font-size: 1.35rem;
  font-weight: var(--font-weight-bold);
}

.public-sponsor-card__body {
  display: grid;
  gap: 9px;
}

.public-sponsor-card__body h3,
.public-sponsor-card__body p,
.public-sponsor-cta h2,
.public-sponsor-cta p,
.public-sponsors-empty p {
  margin: 0;
}

.public-sponsor-card__body p,
.public-sponsor-cta p,
.public-sponsors-empty p {
  color: var(--skate-text-soft);
  line-height: 1.62;
}

.public-sponsor-card__link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.public-sponsor-card__link-icon {
  width: 18px;
  height: 18px;
}

.public-sponsor-cta {
  display: grid;
  gap: 18px;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 88% 14%, rgba(var(--skate-yellow-rgb), 0.16), transparent 34%),
    linear-gradient(135deg, rgba(var(--skate-card-2-rgb), 0.95), rgba(var(--skate-bg-rgb), 0.98));
  box-shadow: var(--skate-shadow-soft);
}

.public-sponsor-cta__copy {
  display: grid;
  gap: 8px;
}

.public-sponsor-cta__options,
.public-sponsor-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.public-sponsor-cta__options span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  font-size: 0.82rem;
  font-weight: var(--font-weight-semibold);
}

.public-sponsor-cta__primary,
.public-sponsor-cta__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.public-sponsor-cta__primary {
  border: 1px solid var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
}

.public-sponsor-cta__secondary {
  border: 1px solid var(--skate-border);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
}

.public-sponsor-cta__icon {
  width: 18px;
  height: 18px;
}

.fisr-public-archive-intro {
  display: grid;
  gap: 8px;
}

.fisr-public-archive-intro h2,
.fisr-public-archive-intro p,
.fisr-public-archive-section h2,
.fisr-public-archive-note h2,
.fisr-public-archive-note p {
  margin: 0;
}

.fisr-public-archive-intro p,
.fisr-public-archive-note p {
  color: var(--skate-text-soft);
  line-height: 1.65;
}

.fisr-public-archive-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 16px;
}

.fisr-public-archive-card {
  align-content: start;
  padding: clamp(16px, 2.3vw, 22px);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 84% 12%, rgba(var(--skate-yellow-rgb), 0.1), transparent 34%),
    var(--card-bg);
}

.fisr-public-archive-card__main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  color: var(--skate-text);
  text-decoration: none;
}

.fisr-public-archive-card__icon {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.fisr-public-archive-card__icon-svg,
.fisr-public-archive-card__place-svg,
.fisr-public-archive-card__meta-svg,
.fisr-public-archive-card__action-svg,
.fisr-public-archive-note__icon-svg,
.fisr-public-archive-note__action-svg {
  width: var(--skate-icon-size, 18px);
  height: var(--skate-icon-size, 18px);
}

.fisr-public-archive-card__icon-svg,
.fisr-public-archive-note__icon-svg {
  --skate-icon-size: 1.5rem;
  --skate-icon-stroke-width: 1.65;
}

.fisr-public-archive-card__place-svg,
.fisr-public-archive-card__meta-svg,
.fisr-public-archive-card__action-svg,
.fisr-public-archive-note__action-svg {
  --skate-icon-size: 1.02rem;
  --skate-icon-stroke-width: 1.9;
}

.fisr-public-archive-card__content {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.fisr-public-archive-card__content strong {
  color: var(--skate-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.fisr-public-archive-card__place {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--skate-muted);
  font-size: 0.88rem;
}

.fisr-public-archive-card__meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.fisr-public-archive-card__meta div {
  display: grid;
  gap: 5px;
  padding: 10px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
}

.fisr-public-archive-card__meta dt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--skate-muted);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-archive-card__meta dd {
  margin: 0;
  color: var(--skate-text);
  font-weight: var(--font-weight-semibold);
}

.fisr-public-archive-card__actions a,
.fisr-public-archive-note a {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 9px 13px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.fisr-public-archive-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  border-color: var(--skate-yellow-border);
}

.fisr-public-archive-note__icon {
  display: inline-grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-lg);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.fisr-public-archive-note__content {
  display: grid;
  gap: 9px;
}

@media (min-width: 760px) {
  .public-society-federal-card {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .public-sponsor-cta {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .public-sponsor-cta__options {
    grid-column: 1 / -1;
  }
}

.panel,
.panel-card,
.registration-panel,
.shop-panel,
.shop-info-card,
.shop-option-panel,
.shop-quantity-panel,
.shop-request-summary,
.shop-request-contact,
.communication-form-card,
.communication-upload-card,
.auth-panel {
  padding: clamp(18px, 2.4vw, 28px);
}

.panel-card > * + *,
.panel > * + *,
.registration-panel > * + *,
.shop-panel > * + *,
.auth-panel > * + * {
  margin-block-start: 14px;
}

.dashboard-grid,
.settings-stats,
.settings-account-grid,
.settings-module-grid,
.settings-action-grid,
.communication-note-grid,
.public-courses-grid,
.public-schedule-grid,
.public-society-affiliation-grid,
.public-sponsors-grid,
.public-staff-grid,
.public-team-grid,
.public-team-feature-grid,
.shop-admin-mini-grid,
.shop-admin-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: 16px;
}

.settings-split,
.shop-split,
.shop-detail-layout,
.shop-admin-overview,
.registration-detail-grid,
.shop-request-layout,
.skate-video-showcase__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}

/* =========================================================
   04. NAVIGATION
   Shared topbar, drawer and bottom navigation.
   ========================================================= */
.guest-topbar {
  position: fixed;
  top: max(10px, var(--skate-safe-top));
  left: 50%;
  z-index: var(--skate-z-header);
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  width: min(var(--skate-public-container), calc(100% - 24px));
  min-height: var(--skate-topbar-height);
  padding: 8px 10px;
  overflow: visible;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: var(--header-bg);
  box-shadow: var(--skate-shadow-nav);
  backdrop-filter: blur(18px);
  transform: translateX(-50%);
}

.guest-topbar__side {
  position: relative;
  z-index: 6;
  justify-self: center;
}

.guest-topbar > [data-drawer-open] {
  grid-column: 1;
}

.guest-topbar__actions {
  grid-column: 3;
  position: relative;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: 8px;
}

.guest-topbar__account {
  grid-column: auto;
}

.guest-topbar__cart {
  position: relative;
  color: var(--skate-text);
  transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.guest-topbar__cart[hidden] {
  display: none !important;
}

.guest-topbar__cart.has-items {
  border-color: rgba(var(--skate-yellow-rgb), 0.72);
  background: rgba(var(--skate-yellow-rgb), 0.18);
  color: var(--skate-yellow);
  box-shadow: 0 0 0 1px rgba(var(--skate-yellow-rgb), 0.18), 0 10px 22px rgba(var(--skate-yellow-rgb), 0.18);
}

.guest-topbar__cart.has-items .icon-button__icon {
  color: var(--skate-yellow);
}

.shop-cart-badge {
  position: absolute;
  top: -7px;
  right: -7px;
  display: inline-grid;
  min-width: 19px;
  height: 19px;
  place-items: center;
  padding: 0 5px;
  border: 1px solid rgba(var(--skate-black-rgb), 0.55);
  border-radius: 999px;
  background: var(--skate-yellow);
  color: var(--skate-neutral-925);
  font-size: 0.68rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  box-shadow: 0 8px 18px rgba(var(--skate-yellow-rgb), 0.26);
}

.shop-cart-badge.is-empty {
  display: none;
}

.account-avatar,
.drawer-account-avatar {
  display: inline-grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
}

.account-avatar {
  width: 34px;
  height: 34px;
}

.account-avatar img,
.drawer-account-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 28%;
}

.drawer-account-avatar {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
}

.drawer-account-avatar--large {
  width: 42px;
  height: 42px;
}

.guest-topbar__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 4;
  display: inline-grid;
  width: var(--skate-header-logo-size);
  height: var(--skate-header-logo-size);
  place-items: center;
  align-items: center;
  justify-self: center;
  min-width: var(--skate-header-logo-size);
  text-decoration: none;
  transform: translate(-50%, calc(-50% + var(--skate-header-logo-overlap)));
  isolation: isolate;
}

.guest-topbar__logo::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: -2px;
  z-index: -1;
  height: 16px;
  border-radius: 999px;
  background: var(--skate-header-logo-shadow-base);
  box-shadow: var(--skate-header-logo-shadow);
  opacity: 0.46;
  filter: blur(6px);
}

.guest-topbar__logo img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  filter: var(--skate-header-logo-filter);
}

.skate-topbar-logo {
  perspective: 260px;
}

.skate-topbar-logo::before {
  content: "";
  position: absolute;
  inset: 10%;
  z-index: -1;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.52);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.10);
  opacity: 0;
  transform: scale(0.88);
}

.skate-topbar-logo__flip {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  transform-style: preserve-3d;
}

.skate-topbar-logo__face {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  border-radius: 999px;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

.skate-topbar-logo__face--logo {
  transform: rotateY(0deg);
}

.skate-topbar-logo__face--live {
  border: 2px solid rgba(var(--skate-pink-alert-rgb), 0.86);
  background:
    radial-gradient(circle at 72% 22%, rgba(var(--skate-azure-rgb), 0.34), transparent 44%),
    linear-gradient(135deg, rgba(var(--skate-pink-alert-rgb), 0.96), rgba(var(--skate-yellow-rgb), 0.98));
  color: var(--skate-bg);
  font-size: clamp(0.74rem, 2.2vw, 0.9rem);
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-transform: uppercase;
  transform: rotateY(180deg);
  box-shadow:
    inset 0 0 0 1px rgba(var(--skate-white-rgb), 0.18),
    0 0 18px rgba(var(--skate-pink-alert-rgb), 0.42);
}

.skate-topbar-logo.is-live-pulsing::before {
  inset: 0;
  border-width: 2px;
  border-color: rgba(var(--skate-pink-alert-rgb), 0.88);
  background:
    radial-gradient(circle, rgba(var(--skate-pink-alert-rgb), 0.30), rgba(var(--skate-pink-alert-rgb), 0.12) 44%, transparent 70%),
    radial-gradient(circle at 78% 24%, rgba(var(--skate-azure-rgb), 0.34), transparent 58%);
  box-shadow:
    0 0 18px rgba(var(--skate-pink-alert-rgb), 0.50),
    0 0 28px rgba(var(--skate-azure-rgb), 0.26);
  animation-name: skate-live-logo-halo;
  animation-duration: 1.45s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-out;
}

.skate-topbar-logo.is-live-pulsing .skate-topbar-logo__flip {
  animation: skate-live-logo-flip 6.4s ease-in-out infinite;
}

.skate-topbar-logo.is-live-pulsing .skate-topbar-logo__image {
  animation: skate-live-logo-pulse 1.45s ease-in-out infinite;
}

@keyframes skate-live-logo-pulse {
  0%,
  100% {
    transform: scale(1);
    filter: var(--skate-header-logo-filter);
  }

  48% {
    transform: scale(1.055);
    filter:
      var(--skate-header-logo-filter)
      drop-shadow(0 0 16px rgba(var(--skate-pink-alert-rgb), 0.68))
      drop-shadow(0 0 18px rgba(var(--skate-azure-rgb), 0.42));
  }
}

@keyframes skate-live-logo-flip {
  0%,
  52% {
    transform: rotateY(0deg);
  }

  64%,
  78% {
    transform: rotateY(180deg);
  }

  92%,
  100% {
    transform: rotateY(360deg);
  }
}

@keyframes skate-live-logo-halo {
  0% {
    opacity: 0.72;
    transform: scale(0.88);
  }

  68% {
    opacity: 0;
    transform: scale(1.55);
  }

  100% {
    opacity: 0;
    transform: scale(1.55);
  }
}

@media (prefers-reduced-motion: reduce) {
  .skate-topbar-logo::before,
  .skate-topbar-logo .skate-topbar-logo__flip,
  .skate-topbar-logo .skate-topbar-logo__image {
    animation: none;
  }

  .skate-topbar-logo.is-live-pulsing::before {
    opacity: 0.26;
    transform: scale(1.08);
  }
}

.icon-button,
.drawer__close,
.back-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  text-decoration: none;
  cursor: pointer;
}

.icon-button:hover,
.drawer__close:hover,
.back-button:hover {
  border-color: var(--skate-yellow-border);
  background: var(--skate-surface-hover);
}

.skate-menu-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: fit-content;
  min-height: 42px;
  padding: 8px 14px 8px 12px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-card-2-rgb), 0.78);
  color: var(--skate-text);
  font: inherit;
  font-size: 0.9rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(var(--skate-black-rgb), 0.22);
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease;
}

.skate-menu-back:hover,
.skate-menu-back:focus-visible {
  border-color: var(--skate-yellow-border);
  background: rgba(var(--skate-yellow-rgb), 0.10);
  color: var(--skate-text);
}

.skate-menu-back:focus-visible {
  outline: 2px solid var(--skate-yellow);
  outline-offset: 3px;
}

.skate-menu-back:active {
  transform: translateY(1px);
}

.skate-menu-back-icon {
  position: relative;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
}

.skate-menu-back-icon::before {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 0;
  height: 0;
  border-block: 5px solid transparent;
  border-inline-end: 7px solid var(--skate-yellow);
  transform: translate(-58%, -50%);
}

.skate-menu-back-label {
  white-space: nowrap;
}

.skate-menu-arrow {
  position: relative;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-left: auto;
}

.skate-menu-arrow::before {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 0;
  height: 0;
  border-block: 5px solid transparent;
  border-inline-start: 7px solid var(--skate-yellow);
  filter: drop-shadow(0 0 10px rgba(var(--skate-yellow-rgb), 0.18));
  transform: translate(-36%, -50%);
}

.icon-button__icon,
.drawer__icon,
.drawer__chevron,
.back-button__icon,
.quickbar__icon-image,
.settings-nav__icon {
  width: 20px;
  height: 20px;
  color: currentColor;
}

.drawer {
  position: fixed;
  inset: 0;
  z-index: var(--skate-z-drawer);
  visibility: hidden;
  pointer-events: none;
}

.drawer.is-open {
  visibility: visible;
  pointer-events: auto;
}

.drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(var(--skate-black-rgb), 0.62);
  opacity: 0;
  backdrop-filter: blur(3px);
  transition: opacity 180ms ease;
}

.drawer.is-open .drawer__backdrop {
  opacity: 1;
}

.drawer__panel {
  position: absolute;
  inset: 10px auto 10px 10px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: calc(100dvh - 20px);
  max-height: calc(100dvh - 20px);
  width: min(390px, calc(100% - 20px));
  overflow: hidden;
  border: 1px solid var(--drawer-border);
  border-radius: var(--skate-radius-lg);
  background: linear-gradient(180deg, var(--skate-bg-soft), var(--skate-bg));
  box-shadow: var(--skate-shadow-strong);
  transform: translateX(calc(-100% - 18px));
  transition: transform 220ms ease;
}

.drawer.is-open .drawer__panel {
  transform: translateX(0);
}

.drawer__brand {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid var(--skate-border);
}

.drawer__brand img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.drawer__brand strong,
.drawer__header strong {
  display: block;
  color: var(--skate-text);
}

.drawer__brand span {
  color: var(--skate-muted);
  font-size: 0.9rem;
}

.drawer__body {
  position: relative;
  min-height: 0;
  overflow: hidden;
}

.drawer__pane {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 0;
  height: 100%;
  padding: 16px;
  overflow-y: auto;
  overscroll-behavior: contain;
  transform: translateX(18px);
  opacity: 0;
  pointer-events: none;
  transition: transform 180ms ease, opacity 180ms ease;
  -webkit-overflow-scrolling: touch;
}

.drawer__pane.is-active {
  position: relative;
  height: 100%;
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}

.drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.drawer__header--stack {
  align-items: flex-start;
  flex-direction: column;
}

.drawer__nav {
  display: grid;
  gap: 8px;
}

.drawer__group-label {
  display: block;
  padding: 10px 4px 2px;
  color: var(--text-secondary);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.drawer__group-label--admin {
  margin-top: 8px;
  padding-top: 14px;
  border-top: 1px solid var(--skate-yellow-border);
  color: var(--skate-yellow);
}

.drawer__section-button,
.drawer__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--drawer-item-bg);
  color: var(--drawer-item-text);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.drawer__item--admin {
  border-color: rgba(var(--skate-yellow-rgb), 0.24);
  background: rgba(var(--skate-yellow-rgb), 0.07);
  color: var(--skate-text-soft);
}

.drawer__section-button:hover,
.drawer__item:hover,
.drawer__section-button.is-active,
.drawer__item.is-active {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-text);
}

.drawer__section-button.has-live,
.drawer__item--live {
  border-color: rgba(var(--skate-yellow-rgb), 0.42);
  background:
    radial-gradient(circle at 12% 50%, rgba(var(--skate-yellow-rgb), 0.22), transparent 34%),
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.13), rgba(var(--skate-success-rgb), 0.08)),
    var(--drawer-item-bg);
  box-shadow: inset 0 0 0 1px rgba(var(--skate-yellow-rgb), 0.08), 0 10px 28px rgba(var(--skate-yellow-rgb), 0.10);
}

.drawer__live-badge {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  min-height: 26px;
  margin-left: auto;
  padding: 5px 9px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.52);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.18);
  color: var(--skate-yellow);
  font-size: 0.68rem;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.drawer__live-badge::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--skate-yellow);
  box-shadow: 0 0 0 0 rgba(var(--skate-yellow-rgb), 0.58);
  animation: skate-live-pulse 1.25s ease-out infinite;
}

.drawer__section-main {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.drawer__header-account {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.drawer__status {
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
}

.drawer-live-menu {
  gap: 12px;
}

.drawer-live-menu__brand {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.24);
  border-radius: var(--skate-radius-md);
  background:
    radial-gradient(circle at 15% 12%, rgba(var(--skate-yellow-rgb), 0.16), transparent 42%),
    rgba(var(--skate-card-2-rgb), 0.72);
}

.drawer-live-menu__brand img {
  width: 46px;
  height: 46px;
  object-fit: contain;
}

.drawer-live-menu__brand strong {
  display: block;
  color: var(--skate-text);
  font-size: 1rem;
  line-height: 1.05;
}

.drawer-live-menu__brand span {
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  text-transform: uppercase;
}

.drawer-live-menu__back {
  justify-content: flex-start;
  width: 100%;
  border-radius: var(--skate-radius-md);
}

.drawer-live-menu__nav {
  display: grid;
  gap: 8px;
}

.drawer-live-menu__item {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 10px;
  min-height: 62px;
  padding: 11px 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--drawer-item-bg);
  color: var(--drawer-item-text);
  text-decoration: none;
}

.drawer-live-menu__item:hover,
.drawer-live-menu__item:focus-visible,
.drawer-live-menu__item.is-active {
  border-color: rgba(var(--skate-yellow-rgb), 0.55);
  background:
    radial-gradient(circle at 10% 50%, rgba(var(--skate-yellow-rgb), 0.18), transparent 36%),
    rgba(var(--skate-yellow-rgb), 0.08);
  color: var(--skate-text);
  outline: none;
}

.drawer-live-menu__icon {
  width: 22px;
  height: 22px;
  justify-self: center;
  color: var(--skate-yellow);
}

.drawer-live-menu__text {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.drawer-live-menu__text strong {
  color: inherit;
  font-size: 0.95rem;
  line-height: 1.08;
}

.drawer-live-menu__text small {
  color: var(--skate-muted);
  font-size: 0.76rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.16;
}

.drawer-live-menu__badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 5px 8px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.52);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.14);
  color: var(--skate-yellow);
  font-size: 0.66rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-transform: uppercase;
}

.drawer-live-menu__arrow {
  margin-left: 0;
}

.quickbar {
  position: fixed;
  left: 50%;
  bottom: max(10px, var(--skate-safe-bottom));
  z-index: var(--skate-z-bottom-nav);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  width: min(560px, calc(100% - 24px));
  min-height: var(--skate-bottom-nav-height);
  padding: 8px;
  border: 1px solid var(--quickbar-border);
  border-radius: var(--skate-radius-lg);
  background: var(--quickbar-bg);
  box-shadow: var(--quickbar-shadow);
  backdrop-filter: blur(18px);
  transform: translateX(-50%);
}

.quickbar__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  min-height: 56px;
  padding: 6px;
  border: 1px solid transparent;
  border-radius: var(--skate-radius-md);
  background: transparent;
  color: var(--quickbar-item-color);
  font-size: 0.73rem;
  font-weight: var(--font-weight-semibold);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.quickbar__item > span:not(.quickbar__icon) {
  display: block;
  width: 100%;
  max-width: 100%;
  line-height: 1.12;
  text-align: center;
}

.quickbar__item:hover,
.quickbar__item.is-active {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.quickbar__item.has-live {
  border-color: rgba(var(--skate-gold-warm-rgb), 0.52);
  background:
    radial-gradient(circle at 50% 18%, rgba(var(--skate-red-bright-rgb), 0.24), transparent 38%),
    var(--skate-yellow-soft);
  color: var(--skate-yellow);
  box-shadow: 0 0 18px rgba(var(--skate-gold-warm-rgb), 0.14);
}

.quickbar__icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.quickbar__badge {
  position: absolute;
  top: -9px;
  right: -13px;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border: 2px solid rgba(var(--skate-bg-rgb), 0.96);
  border-radius: 999px;
  background: var(--skate-yellow);
  color: var(--skate-bg);
  font-size: 0.66rem;
  font-weight: var(--font-weight-extrabold);
  line-height: 15px;
  text-align: center;
  box-shadow: 0 0 14px rgba(var(--skate-gold-warm-rgb), 0.38);
}

/* =========================================================
   05. BUTTONS
   Shared command controls.
   ========================================================= */
.btn,
.button,
.inline-action,
.back-pill,
.public-hero__actions a,
.skate-hero__button,
.shop-public-hero__actions a,
.shop-card-actions button,
.shop-card-actions a,
.shop-public-actions button,
.shop-public-actions a,
.shop-mobile-request,
.settings-primary-action,
.settings-secondary-action,
.settings-logout,
.registration-step-button,
.communication-step-actions button,
.communication-step-actions a,
.public-course-card__cta,
.skate-video-cta,
.skate-fisr-showcase__button,
.skate-palmares-showcase__cta,
.skate-courses-button,
.skate-courses-final-cta__button,
.skate-schedule-cta__button,
.fisr-back-pill,
.fisr-subnav-pill,
.fisr-live-nav__link,
.auth-panel button,
.auth-links a,
.shop-admin-product-row__actions a,
.shop-admin-card-actions button,
.shop-admin-card-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--button-min-height);
  padding: 10px var(--button-padding-x);
  border: 1px solid var(--button-secondary-border);
  border-radius: var(--button-radius);
  background: var(--button-secondary-bg);
  color: var(--button-secondary-text);
  font-weight: var(--button-font-weight);
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.btn:hover,
.button:hover,
.inline-action:hover,
.back-pill:hover,
.shop-card-actions button:hover,
.shop-card-actions a:hover,
.skate-hero__button:hover,
.skate-fisr-showcase__button:hover,
.skate-courses-button:hover,
.skate-courses-final-cta__button:hover,
.skate-schedule-cta__button:hover,
.settings-secondary-action:hover,
.registration-step-button--secondary:hover,
.fisr-live-nav__link:hover {
  border-color: var(--skate-yellow-border);
  background: var(--skate-surface-hover);
  transform: translateY(-1px);
}

.btn-primary,
.public-hero__actions .btn-primary,
.skate-hero__button--primary,
.settings-primary-action,
.registration-step-button:not(.registration-step-button--secondary),
.shop-card-actions button,
.shop-public-actions button,
.auth-panel button,
.communication-step-actions__primary,
.public-course-card__cta,
.skate-video-cta,
.skate-fisr-showcase__button--primary,
.skate-palmares-showcase__cta,
.skate-courses-button--primary,
.skate-courses-final-cta__button--primary,
.skate-schedule-cta__button--primary,
.shop-public-hero__actions a:first-child {
  border-color: var(--button-primary-border);
  background: var(--button-primary-bg);
  color: var(--button-primary-text);
}

.btn-primary:hover,
.settings-primary-action:hover,
.registration-step-button:not(.registration-step-button--secondary):hover,
.shop-card-actions button:hover,
.shop-public-actions button:hover,
.skate-hero__button--primary:hover,
.skate-fisr-showcase__button--primary:hover,
.skate-courses-button--primary:hover,
.skate-courses-final-cta__button--primary:hover,
.skate-schedule-cta__button--primary:hover,
.auth-panel button:hover {
  background: var(--skate-yellow-hover);
  color: var(--skate-bg);
}

.btn-secondary,
.registration-step-button--secondary,
.settings-secondary-action,
.public-hero__actions .btn-secondary {
  border-color: var(--button-secondary-border);
  background: var(--button-secondary-bg);
  color: var(--button-secondary-text);
}

button:disabled,
.is-disabled {
  opacity: 0.52;
  cursor: not-allowed;
}

/* =========================================================
   HOME HERO
   Responsive card hero: desktop video background and
   mobile enrollment-oriented image carousel.
   ========================================================= */
.skate-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: end;
  width: min(100%, 1120px);
  min-height: clamp(500px, 58vh, 640px);
  margin-inline: auto;
  overflow: hidden;
  padding: clamp(24px, 5vw, 58px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 78% 16%, rgba(var(--skate-yellow-rgb), 0.16), transparent 32%),
    linear-gradient(135deg, rgba(var(--skate-card-2-rgb), 0.94), rgba(var(--skate-bg-rgb), 0.98));
  box-shadow: var(--skate-shadow-strong);
}

.skate-hero__media,
.skate-hero__overlay,
.skate-hero__video,
.skate-hero__mobile-carousel,
.skate-hero__mobile-slide {
  position: absolute;
  inset: 0;
}

.skate-hero__media {
  z-index: 0;
  overflow: hidden;
  background: var(--skate-bg);
}

.skate-hero__video,
.skate-hero__mobile-slide {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.skate-hero__video {
  display: block;
  filter: saturate(1.05) contrast(1.04);
}

.skate-video-loader {
  position: absolute;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 36px;
  padding: 9px 12px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-bg-rgb), 0.76);
  color: var(--skate-text-soft);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  opacity: 0;
  pointer-events: none;
  text-transform: uppercase;
  transform: translateY(6px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  visibility: hidden;
  backdrop-filter: blur(12px);
}

.skate-video-loader::before {
  content: "";
  width: 14px;
  height: 14px;
  border: 2px solid rgba(var(--skate-white-rgb), 0.24);
  border-top-color: var(--skate-yellow);
  border-radius: 999px;
  animation: skate-video-loader-spin 760ms linear infinite;
}

.skate-hero__loader {
  right: clamp(18px, 3vw, 34px);
  bottom: calc(clamp(18px, 3vw, 34px) + 56px);
}

.skate-hero__media[data-video-loading="true"] .skate-hero__loader,
.skate-video-frame[data-video-loading="true"] .skate-video-frame__loader {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

@keyframes skate-video-loader-spin {
  to {
    transform: rotate(360deg);
  }
}

.skate-submit-loader {
  position: fixed;
  inset: 0;
  z-index: var(--skate-z-modal);
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 42%, rgba(var(--skate-yellow-rgb), 0.16), transparent 30%),
    rgba(var(--skate-black-rgb), 0.72);
  color: var(--skate-text);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
  backdrop-filter: blur(12px);
}

.skate-submit-loader.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.skate-submit-loader__card {
  display: grid;
  justify-items: center;
  gap: 12px;
  width: min(360px, 100%);
  padding: 28px 24px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.42);
  border-radius: var(--skate-radius-xl);
  background:
    linear-gradient(145deg, rgba(var(--skate-card-rgb), 0.96), rgba(var(--skate-black-rgb), 0.94));
  box-shadow: 0 24px 70px rgba(var(--skate-black-rgb), 0.45), 0 0 34px rgba(var(--skate-yellow-rgb), 0.18);
  text-align: center;
}

.skate-submit-loader__card strong {
  font-size: 1.1rem;
  line-height: 1.15;
}

.skate-submit-loader__card span:last-child {
  color: var(--skate-muted);
  font-size: 0.9rem;
  line-height: 1.4;
}

.skate-submit-loader__mark {
  width: 44px;
  height: 44px;
  border: 3px solid rgba(var(--skate-white-rgb), 0.18);
  border-top-color: var(--skate-yellow);
  border-radius: 999px;
  animation: skate-video-loader-spin 760ms linear infinite;
}

.skate-hero__mobile-carousel {
  display: block;
}

.skate-hero__mobile-slide {
  object-position: var(--hero-object-position, 50% 50%);
  opacity: 0;
  pointer-events: none;
  transform: scale(1.02);
  transition: opacity 700ms ease, transform 1200ms ease;
}

.skate-hero__mobile-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: var(--hero-active-transform, scale(1));
}

.skate-hero__mobile-slide--school {
  filter: saturate(1.08) contrast(1.02) brightness(1.06);
  transition: opacity 700ms ease;
}

.skate-hero__mobile-slide--live {
  display: grid;
  place-items: center;
  padding: clamp(18px, 7vw, 34px);
  background:
    linear-gradient(90deg, rgba(var(--skate-black-rgb), 0.9), rgba(var(--skate-black-rgb), 0.58), rgba(var(--skate-black-rgb), 0.18)),
    radial-gradient(circle at 18% 12%, rgba(var(--skate-yellow-rgb), 0.28), transparent 36%),
    url("../img/live-app/skate-live-hero.jpg") center right / cover;
  text-decoration: none;
  z-index: 2;
}

.skate-hero__overlay {
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(var(--skate-bg-rgb), 0.92) 0%, rgba(var(--skate-bg-rgb), 0.70) 48%, rgba(var(--skate-bg-rgb), 0.34) 100%),
    linear-gradient(180deg, rgba(var(--skate-bg-rgb), 0.14), rgba(var(--skate-bg-rgb), 0.42));
}

.skate-hero.is-school-slide-active .skate-hero__overlay {
  background:
    linear-gradient(90deg, rgba(var(--skate-bg-rgb), 0.78) 0%, rgba(var(--skate-bg-rgb), 0.50) 44%, rgba(var(--skate-bg-rgb), 0.10) 100%),
    linear-gradient(180deg, rgba(var(--skate-bg-rgb), 0.04) 0%, rgba(var(--skate-bg-rgb), 0.18) 54%, rgba(var(--skate-bg-rgb), 0.46) 100%);
}

.skate-hero__content {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 16px;
  max-width: 680px;
  transition: opacity 360ms ease, transform 360ms ease;
}

.skate-hero.is-live-slide-active .skate-hero__content {
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
}

.skate-hero__copy-slide {
  display: none;
  gap: 16px;
}

.skate-hero__copy-slide.is-active {
  display: grid;
}

.skate-hero__label {
  display: inline-flex;
  width: fit-content;
  color: var(--skate-yellow);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-hero-live-card {
  display: grid;
  gap: 14px;
  width: min(100%, 650px);
  min-height: min(420px, 52vh);
  align-content: center;
  padding: clamp(20px, 4vw, 42px);
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.58);
  border-radius: clamp(24px, 4vw, 36px);
  background:
    radial-gradient(circle at 14% 12%, rgba(var(--skate-yellow-rgb), 0.34), transparent 34%),
    radial-gradient(circle at 88% 78%, rgba(var(--skate-success-rgb), 0.18), transparent 36%),
    linear-gradient(135deg, rgba(var(--skate-bg-rgb), 0.9), rgba(var(--skate-card-rgb), 0.72));
  color: var(--skate-text);
  text-decoration: none;
  box-shadow:
    0 24px 70px rgba(var(--skate-black-rgb), 0.48),
    0 0 44px rgba(var(--skate-yellow-rgb), 0.15);
  backdrop-filter: blur(16px);
}

.skate-hero-live-card:hover,
.skate-hero-live-card:focus-visible {
  border-color: var(--skate-yellow);
  outline: none;
}

.skate-hero-live-card__eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.42);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.14);
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.skate-hero-live-card__pulse {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--skate-yellow);
  box-shadow: 0 0 0 0 rgba(var(--skate-yellow-rgb), 0.64);
  animation: skate-live-pulse 1.25s ease-out infinite;
}

.skate-hero-live-card strong {
  color: var(--skate-text);
  font-size: clamp(2.25rem, 5vw, 5rem);
  font-weight: 950;
  line-height: 0.94;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
  text-transform: uppercase;
}

.skate-hero-live-card > span:not(.skate-hero-live-card__eyebrow) {
  max-width: 38ch;
  color: var(--skate-text-soft);
  font-size: clamp(1rem, 1.6vw, 1.25rem);
  font-weight: 800;
  line-height: 1.45;
}

.skate-hero-live-card__place {
  display: inline-flex;
  width: fit-content;
  max-width: min(100%, 42ch);
  padding: 8px 11px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.32);
  border-radius: 999px;
  background: rgba(var(--skate-bg-rgb), 0.58);
  color: var(--skate-text);
  font-size: clamp(0.86rem, 1.4vw, 1rem);
  font-weight: 900;
  line-height: 1.2;
  text-transform: none;
}

.skate-hero-live-card em {
  display: inline-flex;
  width: fit-content;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 11px 18px;
  border-radius: 999px;
  background: var(--skate-yellow);
  color: var(--skate-bg);
  font-style: normal;
  font-weight: 950;
}

.skate-hero-live {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  width: min(100%, 620px);
  padding: 12px 14px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.48);
  border-radius: 20px;
  background:
    radial-gradient(circle at 8% 22%, rgba(var(--skate-yellow-rgb), 0.26), transparent 34%),
    linear-gradient(135deg, rgba(var(--skate-bg-rgb), 0.86), rgba(var(--skate-bg-soft-rgb), 0.66));
  color: var(--skate-text);
  text-decoration: none;
  box-shadow: 0 18px 46px rgba(var(--skate-black-rgb), 0.36), 0 0 34px rgba(var(--skate-yellow-rgb), 0.13);
  backdrop-filter: blur(14px);
}

.skate-hero-live:hover,
.skate-hero-live:focus-visible {
  border-color: var(--skate-yellow);
  background:
    radial-gradient(circle at 8% 22%, rgba(var(--skate-yellow-rgb), 0.34), transparent 34%),
    linear-gradient(135deg, rgba(var(--skate-bg-rgb), 0.90), rgba(var(--skate-bg-soft-rgb), 0.76));
  outline: none;
}

.skate-hero-live__pulse {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: var(--skate-yellow);
  box-shadow: 0 0 0 0 rgba(var(--skate-yellow-rgb), 0.64);
  animation: skate-live-pulse 1.25s ease-out infinite;
}

.skate-hero-live__copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.skate-hero-live__copy strong,
.skate-hero-live__copy span,
.skate-hero-live__copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.skate-hero-live__copy strong {
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.skate-hero-live__copy span {
  color: var(--skate-text);
  font-size: clamp(0.98rem, 1.4vw, 1.2rem);
  font-weight: 950;
}

.skate-hero-live__copy small {
  color: var(--skate-text-soft);
  font-size: 0.8rem;
  font-weight: 760;
}

.skate-hero-live__action {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--skate-yellow);
  color: var(--skate-bg);
  font-size: 0.8rem;
  font-weight: 950;
  white-space: nowrap;
}

@keyframes skate-live-pulse {
  70% {
    box-shadow: 0 0 0 12px rgba(var(--skate-yellow-rgb), 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(var(--skate-yellow-rgb), 0);
  }
}

@media (max-width: 759px) {
  .skate-hero-live-card {
    min-height: 360px;
    padding: 20px;
    border-radius: 28px;
  }

  .skate-hero-live-card strong {
    font-size: clamp(2rem, 9.2vw, 2.85rem);
    line-height: 1.02;
  }

  .skate-hero-live-card > span:not(.skate-hero-live-card__eyebrow) {
    font-size: 1rem;
  }

  .skate-hero.is-live-slide-active .skate-hero__content {
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
  }

  .skate-hero-live {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    padding: 11px 12px;
    border-radius: 18px;
  }

  .skate-hero-live__copy small {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .skate-hero-live__action {
    grid-column: 2;
    justify-self: start;
    min-height: 32px;
    padding: 7px 11px;
  }
}

.skate-hero__label--mobile,
.skate-hero__title-mobile,
.skate-hero__lead--mobile,
.skate-hero__actions--mobile {
  display: none;
}

.skate-hero__title .skate-hero__title-mobile {
  display: none;
}

.skate-hero__title {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(3rem, 6vw, 6.15rem);
  line-height: 0.9;
  text-transform: uppercase;
}

.skate-hero__title span {
  display: block;
}

.skate-hero__title-accent {
  color: var(--skate-yellow);
}

.skate-hero__lead {
  max-width: 54ch;
  margin: 0;
  color: var(--skate-text-soft);
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  line-height: 1.65;
}

.skate-hero__benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 620px;
}

.skate-hero__benefit {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-bg-rgb), 0.58);
  color: var(--skate-text-soft);
  font-size: 0.74rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.15;
  backdrop-filter: blur(10px);
}

.skate-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.skate-hero__actions.skate-hero__actions--mobile {
  display: none;
}

.skate-hero__button {
  font-family: inherit;
  min-width: 142px;
}

.skate-hero__share-button {
  white-space: nowrap;
}

.skate-hero__share-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.skate-hero__audio-toggle {
  position: absolute;
  right: clamp(18px, 3vw, 34px);
  bottom: clamp(18px, 3vw, 34px);
  z-index: 3;
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid var(--skate-border-strong);
  border-radius: 999px;
  background: rgba(var(--skate-bg-rgb), 0.70);
  color: var(--skate-text);
  box-shadow: var(--skate-shadow-soft);
  cursor: pointer;
  backdrop-filter: blur(12px);
}

.skate-hero__audio-toggle:hover,
.skate-hero__audio-toggle.is-active {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.skate-hero__audio-icon,
.skate-hero__audio-icon svg {
  width: 21px;
  height: 21px;
}

.skate-hero__audio-icon--active,
.skate-hero__audio-toggle.is-active .skate-hero__audio-icon--muted {
  display: none;
}

.skate-hero__audio-toggle.is-active .skate-hero__audio-icon--active {
  display: block;
}

.skate-hero__scroll {
  position: absolute;
  left: clamp(24px, 5vw, 58px);
  bottom: clamp(18px, 3vw, 34px);
  z-index: 3;
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
  .skate-hero__mobile-slide {
    transition: none;
  }

  .skate-video-loader::before {
    animation: none;
  }
}

/* =========================================================
   COURSES LANDING PAGE
   Pagina corsi: hero, percorsi per eta, benefit,
   CTA finale, FAQ e info pratiche.
   ========================================================= */
.skate-courses-page {
  display: grid;
  gap: clamp(18px, 3vw, 34px);
  color: var(--skate-text);
}

.skate-courses-hero,
.skate-courses-final-cta {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: clamp(22px, 4vw, 46px);
  width: min(100%, 1120px);
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 84% 18%, rgba(var(--skate-yellow-rgb), 0.16), transparent 32%),
    radial-gradient(circle at 8% 88%, rgba(var(--skate-white-rgb), 0.05), transparent 28%),
    linear-gradient(135deg, rgba(var(--skate-card-rgb), 0.97), rgba(var(--skate-bg-rgb), 0.99));
  box-shadow: var(--skate-shadow-strong);
}

.skate-courses-hero {
  min-height: clamp(520px, 58vh, 650px);
  padding: clamp(22px, 5vw, 58px);
  align-items: center;
}

.skate-courses-hero::before,
.skate-courses-final-cta::before {
  content: "";
  position: absolute;
  inset: 18px 18px auto auto;
  width: 128px;
  height: 128px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  opacity: 0.22;
  pointer-events: none;
}

.skate-courses-hero__content,
.skate-courses-final-cta__content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 16px;
  max-width: 660px;
}

.skate-courses-hero__label,
.skate-courses-section__label,
.skate-courses-final-cta__label {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  color: var(--skate-yellow);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-courses-hero__title,
.skate-courses-section__title,
.skate-courses-final-cta h2 {
  margin: 0;
  color: var(--skate-text);
  line-height: 0.98;
}

.skate-courses-hero__title {
  max-width: 10ch;
  font-size: clamp(3rem, 7vw, 5.85rem);
  text-transform: uppercase;
}

.skate-courses-hero__title span {
  display: block;
}

.skate-courses-hero__title-accent {
  color: var(--skate-yellow);
}

.skate-courses-hero__lead,
.skate-courses-section__lead,
.skate-courses-final-cta p,
.skate-course-age-card__text,
.skate-course-why-card p,
.skate-courses-info-card p,
.skate-courses-faq__item p,
.skate-courses-faq__footer p {
  margin: 0;
  color: var(--skate-text-soft);
  line-height: 1.65;
}

.skate-courses-hero__lead {
  max-width: 60ch;
  font-size: clamp(1rem, 1.35vw, 1.16rem);
}

.skate-courses-hero__actions,
.skate-courses-final-cta__actions,
.skate-courses-faq__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.skate-courses-button,
.skate-courses-final-cta__button {
  min-width: 142px;
}

.skate-courses-hero__media,
.skate-courses-final-cta__media {
  position: relative;
  z-index: 1;
  min-height: 330px;
  overflow: hidden;
  border: 1px solid var(--skate-border-strong);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 50% 22%, rgba(var(--skate-yellow-rgb), 0.20), transparent 34%),
    linear-gradient(145deg, rgba(var(--skate-card-2-rgb), 0.96), rgba(var(--skate-bg-rgb), 0.98));
  box-shadow: var(--skate-shadow-soft);
}

.skate-courses-hero__media::after,
.skate-courses-final-cta__media::after,
.skate-course-age-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(var(--skate-bg-rgb), 0.04), rgba(var(--skate-bg-rgb), 0.32)),
    radial-gradient(circle at 72% 14%, rgba(var(--skate-yellow-rgb), 0.13), transparent 34%);
}

.skate-courses-hero__image,
.skate-courses-final-cta__image,
.skate-course-age-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.skate-courses-hero__image {
  position: absolute;
  inset: 0;
  padding: clamp(12px, 3vw, 30px);
  transform: translateY(10px) scale(1.04);
}

.skate-courses-hero__card {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 2;
  display: grid;
  gap: 4px;
  width: min(260px, calc(100% - 32px));
  padding: 14px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-bg-rgb), 0.78);
  color: var(--skate-text);
  box-shadow: var(--skate-shadow-soft);
  backdrop-filter: blur(14px);
}

.skate-courses-hero__card strong {
  color: var(--skate-yellow);
  font-size: 0.92rem;
}

.skate-courses-hero__card span {
  color: var(--skate-text-soft);
  font-size: 0.84rem;
  line-height: 1.45;
}

.skate-courses-benefits,
.skate-course-age-grid,
.skate-course-why-grid,
.skate-courses-info-grid,
.skate-courses-schedule,
.skate-courses-faq__grid {
  display: grid;
  gap: 14px;
}

.skate-courses-benefits {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  width: min(100%, 1120px);
  margin-inline: auto;
}

.skate-courses-benefit,
.skate-course-age-card,
.skate-course-why-card,
.skate-courses-info-card,
.skate-courses-faq__item,
.skate-courses-schedule__item {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.065), rgba(var(--skate-white-rgb), 0.03)),
    var(--skate-surface-soft);
  box-shadow: var(--skate-shadow-soft);
}

.skate-courses-benefit {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 16px;
}

.skate-courses-benefit__icon,
.skate-course-why-card__icon {
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.skate-courses-benefit__icon {
  width: 42px;
  height: 42px;
  font-size: 0.82rem;
}

.skate-courses-benefit h2,
.skate-course-age-card__title,
.skate-course-why-card h3,
.skate-courses-info-card h3,
.skate-courses-faq__item h3 {
  margin: 0;
  color: var(--skate-text);
}

.skate-courses-benefit h2 {
  font-size: 1rem;
}

.skate-courses-benefit p {
  margin: 4px 0 0;
  color: var(--skate-muted);
  font-size: 0.9rem;
  line-height: 1.55;
}

.skate-courses-section {
  display: grid;
  gap: clamp(16px, 3vw, 26px);
  width: min(100%, 1120px);
  margin-inline: auto;
}

.skate-courses-section__head {
  display: grid;
  gap: 10px;
  max-width: 760px;
}

.skate-courses-section__title,
.skate-courses-final-cta h2 {
  font-size: clamp(2rem, 4.6vw, 4rem);
}

.skate-courses-section__lead {
  max-width: 66ch;
  color: var(--skate-muted);
}

.skate-course-age-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.skate-course-age-card {
  overflow: hidden;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.skate-course-age-card:hover,
.skate-course-why-card:hover,
.skate-courses-info-card:hover {
  border-color: var(--skate-yellow-border);
  background:
    linear-gradient(180deg, rgba(var(--skate-yellow-rgb), 0.07), rgba(var(--skate-white-rgb), 0.03)),
    var(--skate-surface-soft);
  transform: translateY(-2px);
}

.skate-course-age-card__media {
  position: relative;
  height: clamp(210px, 28vw, 270px);
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 20%, rgba(var(--skate-yellow-rgb), 0.18), transparent 38%),
    linear-gradient(145deg, rgba(var(--skate-card-2-rgb), 0.96), rgba(var(--skate-bg-rgb), 0.98));
}

.skate-course-age-card__image {
  padding: 16px 12px 0;
  transform: scale(1.04);
  transition: transform 220ms ease;
}

.skate-course-age-card:hover .skate-course-age-card__image {
  transform: scale(1.08);
}

.skate-course-age-card__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: rgba(var(--skate-bg-rgb), 0.76);
  color: var(--skate-yellow);
  font-size: 0.8rem;
  font-weight: var(--font-weight-bold);
  backdrop-filter: blur(12px);
}

.skate-course-age-card__body {
  display: grid;
  gap: 12px;
  padding: clamp(16px, 2.4vw, 22px);
}

.skate-course-age-card__title {
  font-size: 1.28rem;
}

.skate-course-age-card__text {
  color: var(--skate-muted);
  font-size: 0.94rem;
}

.skate-course-age-card__list {
  display: grid;
  gap: 8px;
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
}

.skate-course-age-card__list li {
  position: relative;
  padding-inline-start: 22px;
  color: var(--skate-text-soft);
  font-size: 0.9rem;
  line-height: 1.45;
}

.skate-course-age-card__list li::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 0;
  width: 9px;
  height: 9px;
  border: 2px solid var(--skate-yellow);
  border-radius: 999px;
  box-shadow: 0 0 0 4px var(--skate-yellow-soft);
  transform: translateY(-50%);
}

.skate-course-why-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
}

.skate-course-why-card {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: clamp(16px, 2.4vw, 22px);
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.skate-course-why-card__icon {
  width: 44px;
  height: 44px;
  font-size: 0.86rem;
}

.skate-course-why-card h3 {
  font-size: 1.04rem;
}

.skate-course-why-card p {
  color: var(--skate-muted);
  font-size: 0.93rem;
}

.skate-courses-final-cta {
  grid-template-columns: 1fr;
  align-items: center;
  padding: clamp(20px, 4vw, 44px);
}

.skate-courses-final-cta__content {
  max-width: 600px;
}

.skate-courses-final-cta__media {
  min-height: 260px;
}

.skate-courses-final-cta__image {
  position: absolute;
  inset: 0;
  padding: 12px;
  transform: scale(1.04);
}

.skate-courses-practical {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: min(100%, 1120px);
  margin-inline: auto;
}

.skate-courses-practical__item {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  font-size: 0.86rem;
  font-weight: var(--font-weight-semibold);
}

.skate-courses-practical__item::before {
  content: "";
  width: 8px;
  height: 8px;
  margin-inline-end: 8px;
  border-radius: 999px;
  background: var(--skate-yellow);
  box-shadow: 0 0 0 4px var(--skate-yellow-soft);
}

.skate-courses-info-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.skate-courses-info-card {
  display: grid;
  gap: 10px;
  padding: clamp(16px, 2.4vw, 22px);
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.skate-courses-info-card a,
.skate-courses-faq__footer a:not(.skate-courses-button) {
  color: var(--skate-yellow);
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
  border-bottom: 1px solid var(--skate-yellow-border);
}

.skate-courses-schedule {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
}

.skate-courses-schedule__item {
  display: grid;
  gap: 4px;
  padding: 15px;
}

.skate-courses-schedule__item strong {
  color: var(--skate-text);
}

.skate-courses-schedule__item span {
  color: var(--skate-yellow);
  font-size: 1.2rem;
  font-weight: var(--font-weight-bold);
}

.skate-courses-schedule__item small {
  color: var(--skate-muted);
  line-height: 1.45;
}

.skate-courses-faq__grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

.skate-courses-faq__item {
  display: grid;
  gap: 10px;
  padding: clamp(16px, 2.4vw, 22px);
}

.skate-courses-faq__item h3 {
  font-size: 1rem;
}

.skate-courses-faq__item p {
  color: var(--skate-muted);
}

.skate-courses-faq__footer {
  align-items: center;
  justify-content: space-between;
  padding: clamp(16px, 2.4vw, 22px);
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-lg);
  background: var(--skate-yellow-soft);
}

.skate-courses-faq__footer p {
  max-width: 58ch;
  color: var(--skate-text-soft);
}

@media (min-width: 760px) {
  .skate-courses-hero {
    grid-template-columns: minmax(0, 0.95fr) minmax(300px, 0.74fr);
  }

  .skate-courses-final-cta {
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.62fr);
  }

  .skate-courses-hero__media {
    min-height: clamp(360px, 42vw, 470px);
  }
}

@media (min-width: 760px) and (max-height: 780px) {
  .skate-courses-hero {
    min-height: calc(100vh - var(--app-topbar-height) - 18px);
    padding-block: clamp(20px, 4vh, 38px) calc(var(--app-bottom-safe-space) + 24px);
  }

  .skate-courses-hero__content {
    gap: 12px;
  }

  .skate-courses-hero__title {
    max-width: min(100%, 16ch);
    font-size: clamp(2.85rem, 4.7vw, 3.85rem);
    line-height: 0.94;
  }

  .skate-courses-hero__lead {
    line-height: 1.5;
  }

  .skate-courses-hero__media {
    min-height: clamp(300px, 34vw, 400px);
  }

  .skate-courses-hero__card {
    bottom: calc(var(--app-bottom-safe-space) + 14px);
  }
}

@media (min-width: 1120px) {
  .skate-course-age-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .skate-course-why-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 759px) {
  .skate-courses-hero,
  .skate-courses-final-cta {
    border-radius: var(--skate-radius-lg);
  }

  .skate-courses-hero {
    min-height: 560px;
    align-items: end;
    padding: 22px 20px calc(104px + env(safe-area-inset-bottom));
  }

  .skate-courses-hero::before {
    display: none;
  }

  .skate-courses-hero__content {
    z-index: 2;
    gap: 11px;
    max-width: 100%;
  }

  .skate-courses-hero__title {
    max-width: 100%;
    font-size: clamp(2.28rem, 10.8vw, 3.05rem);
    line-height: 0.93;
  }

  .skate-courses-hero__lead {
    max-width: 33ch;
    font-size: 0.98rem;
    line-height: 1.5;
  }

  .skate-courses-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    min-height: 0;
    border: 0;
    border-radius: inherit;
    box-shadow: none;
  }

  .skate-courses-hero__image {
    padding: 0;
    object-fit: cover;
    object-position: 58% 50%;
    transform: none;
  }

  .skate-courses-hero__media::after {
    background:
      linear-gradient(180deg, rgba(var(--skate-bg-rgb), 0.08) 0%, rgba(var(--skate-bg-rgb), 0.26) 38%, rgba(var(--skate-bg-rgb), 0.88) 100%),
      linear-gradient(90deg, rgba(var(--skate-bg-rgb), 0.78) 0%, rgba(var(--skate-bg-rgb), 0.46) 52%, rgba(var(--skate-bg-rgb), 0.16) 100%);
  }

  .skate-courses-hero__card,
  .skate-courses-hero__actions {
    display: none;
  }

  .skate-courses-hero__actions,
  .skate-courses-final-cta__actions,
  .skate-courses-faq__footer {
    align-items: stretch;
    flex-direction: column;
  }

  .skate-courses-button,
  .skate-courses-final-cta__button {
    width: 100%;
  }

  .skate-courses-benefit {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .skate-courses-benefit__icon {
    width: 38px;
    height: 38px;
  }

  .skate-course-age-card__media {
    height: 245px;
  }

  .skate-courses-final-cta {
    padding: 18px;
  }

  .skate-courses-practical__item {
    width: 100%;
  }
}

@media (max-width: 420px) {
  .skate-courses-hero__media {
    min-height: 300px;
  }

  .skate-courses-hero__card {
    right: 12px;
    bottom: 12px;
    width: calc(100% - 24px);
  }

  .skate-courses-section__title,
  .skate-courses-final-cta h2 {
    font-size: 2.04rem;
  }
}

/* =========================================================
   SCHEDULE / ORARI PAGE
   Pagina orari allenamenti: settimana, slot, CTA.
   ========================================================= */
.skate-schedule-page {
  display: grid;
  gap: clamp(18px, 3vw, 34px);
  width: min(100%, 1120px);
  margin-inline: auto;
  color: var(--skate-text);
}

.skate-schedule-hero,
.skate-schedule-note,
.skate-schedule-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 86% 18%, rgba(var(--skate-yellow-rgb), 0.15), transparent 32%),
    linear-gradient(135deg, rgba(var(--skate-card-rgb), 0.96), rgba(var(--skate-bg-rgb), 0.99));
  box-shadow: var(--skate-shadow-strong);
}

.skate-schedule-hero {
  padding: clamp(22px, 4vw, 42px);
}

.skate-schedule-hero::before {
  content: "";
  position: absolute;
  inset: 18px 18px auto auto;
  width: 118px;
  height: 118px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  opacity: 0.22;
  pointer-events: none;
}

.skate-schedule-hero__content,
.skate-schedule-section__head {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
  max-width: 780px;
}

.skate-schedule-hero__label {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  color: var(--skate-yellow);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-schedule-hero__title,
.skate-schedule-section__head h2,
.skate-schedule-cta h2 {
  margin: 0;
  color: var(--skate-text);
  line-height: 0.98;
}

.skate-schedule-hero__title {
  max-width: 15ch;
  font-size: clamp(2.35rem, 5vw, 4.4rem);
}

.skate-schedule-hero__lead,
.skate-schedule-note p {
  max-width: 66ch;
  margin: 0;
  color: var(--skate-text-soft);
  line-height: 1.65;
}

.skate-schedule-badges,
.skate-schedule-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.skate-schedule-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  font-size: 0.84rem;
  font-weight: var(--font-weight-semibold);
}

.skate-schedule-badge::before {
  content: "";
  width: 8px;
  height: 8px;
  margin-inline-end: 8px;
  border-radius: 999px;
  background: var(--skate-yellow);
  box-shadow: 0 0 0 4px var(--skate-yellow-soft);
}

.skate-schedule-section {
  display: grid;
  gap: clamp(16px, 3vw, 24px);
}

.skate-schedule-section__head h2 {
  font-size: clamp(1.9rem, 4vw, 3.4rem);
}

.skate-schedule-periods {
  display: grid;
  gap: 14px;
}

.skate-schedule-period-card {
  display: grid;
  gap: 12px;
  padding: clamp(16px, 2.6vw, 24px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 92% 10%, rgba(var(--skate-yellow-rgb), 0.12), transparent 32%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.065), rgba(var(--skate-white-rgb), 0.03)),
    var(--skate-surface-soft);
  box-shadow: var(--skate-shadow-soft);
}

.skate-schedule-period-card--school {
  border-color: rgba(var(--skate-white-rgb), 0.14);
}

.skate-schedule-period-card--agonism {
  border-color: var(--skate-yellow-border);
}

.skate-schedule-period-card__label {
  width: fit-content;
  color: var(--skate-yellow);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-schedule-period-card h2,
.skate-schedule-period-card p,
.skate-schedule-period-card__details {
  margin: 0;
}

.skate-schedule-period-card h2 {
  color: var(--skate-text);
  font-size: clamp(1.45rem, 2.8vw, 2.15rem);
  line-height: 1.05;
}

.skate-schedule-period-card p {
  color: var(--skate-text-soft);
  line-height: 1.6;
}

.skate-schedule-period-card__details {
  display: grid;
  gap: 8px;
}

.skate-schedule-period-card__details div {
  display: grid;
  grid-template-columns: minmax(92px, 0.34fr) minmax(0, 1fr);
  gap: 10px;
  padding-block: 8px;
  border-top: 1px solid var(--skate-border);
}

.skate-schedule-period-card__details dt {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-schedule-period-card__details dd {
  margin: 0;
  color: var(--skate-text);
  font-weight: var(--font-weight-semibold);
}

.skate-schedule-week {
  display: grid;
  gap: 14px;
}

.skate-schedule-day-card,
.skate-schedule-slot,
.skate-schedule-empty {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.065), rgba(var(--skate-white-rgb), 0.03)),
    var(--skate-surface-soft);
  box-shadow: var(--skate-shadow-soft);
}

.skate-schedule-day-card {
  display: grid;
  gap: 14px;
  padding: clamp(16px, 2.4vw, 22px);
}

.skate-schedule-day-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.skate-schedule-day-card__label {
  display: block;
  margin-block-end: 4px;
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-schedule-day-card__title {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.45rem, 3vw, 2.15rem);
}

.skate-schedule-day-card__count {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  white-space: nowrap;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
}

.skate-schedule-day-card__slots {
  display: grid;
  gap: 10px;
}

.skate-schedule-slot {
  display: grid;
  gap: 14px;
  padding: 14px;
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.05), rgba(var(--skate-white-rgb), 0.02)),
    rgba(var(--skate-bg-rgb), 0.26);
}

.skate-schedule-slot__main {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.skate-schedule-slot__groups {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.skate-schedule-slot__group {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.055);
  color: var(--skate-text);
  font-size: 0.82rem;
}

.skate-schedule-slot__place {
  display: grid;
  gap: 4px;
}

.skate-schedule-slot__place span {
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-semibold);
}

.skate-schedule-slot__place small,
.skate-schedule-slot__place em {
  color: var(--skate-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.skate-schedule-slot__time {
  display: inline-flex;
  width: fit-content;
  min-height: 42px;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-sm);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  font-weight: var(--font-weight-bold);
}

.skate-schedule-empty {
  display: grid;
  gap: 8px;
  padding: clamp(18px, 3vw, 26px);
}

.skate-schedule-empty strong {
  color: var(--skate-text);
}

.skate-schedule-empty span {
  color: var(--skate-muted);
}

.skate-schedule-note {
  display: grid;
  gap: 8px;
  padding: clamp(18px, 3vw, 26px);
  border-color: var(--skate-yellow-border);
  background:
    radial-gradient(circle at 92% 12%, rgba(var(--skate-yellow-rgb), 0.12), transparent 34%),
    rgba(var(--skate-white-rgb), 0.055);
}

.skate-schedule-note strong {
  color: var(--skate-yellow);
}

.skate-schedule-cta {
  display: grid;
  gap: 18px;
  align-items: center;
  padding: clamp(18px, 3vw, 30px);
}

.skate-schedule-cta h2 {
  max-width: 16ch;
  font-size: clamp(1.7rem, 3.2vw, 2.8rem);
}

.skate-schedule-cta__button {
  min-width: 174px;
}

@media (min-width: 760px) {
  .skate-schedule-periods {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .skate-schedule-week {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .skate-schedule-slot {
    align-content: space-between;
  }

  .skate-schedule-cta {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .skate-schedule-cta__actions {
    justify-content: flex-end;
  }
}

@media (min-width: 1024px) {
  .skate-schedule-slot {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 759px) {
  .skate-schedule-hero,
  .skate-schedule-day-card,
  .skate-schedule-note,
  .skate-schedule-cta {
    border-radius: var(--skate-radius-lg);
  }

  .skate-schedule-day-card__head,
  .skate-schedule-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .skate-schedule-badge,
  .skate-schedule-cta__button {
    width: 100%;
  }

  .skate-schedule-cta__actions {
    flex-direction: column;
  }
}

/* =========================================================
   06. CARDS PANELS
   Reusable panels, chips, badges and list cards.
   ========================================================= */
.public-hero,
.shop-public-hero,
.public-courses-hero,
.public-society-hero,
.public-schedule-hero,
.public-sponsors-hero,
.public-staff-hero,
.public-team-hero,
.fisr-public-live-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(18px, 4vw, 42px);
  align-items: center;
  min-height: min(68vh, 640px);
  padding: clamp(22px, 5vw, 56px);
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 86% 18%, rgba(var(--skate-yellow-rgb), 0.16), transparent 30%),
    linear-gradient(135deg, rgba(var(--skate-card-2-rgb), 0.96), rgba(var(--skate-bg-rgb), 0.98));
  box-shadow: var(--skate-shadow-strong);
}

.public-hero__copy,
.shop-public-hero__content,
.shop-public-hero > div:first-child,
.public-courses-hero__copy,
.public-society-hero__copy,
.public-schedule-hero__copy,
.public-sponsors-hero__copy,
.public-staff-hero__copy,
.public-team-hero__copy {
  display: grid;
  gap: 16px;
  max-width: 680px;
}

.public-hero__actions,
.shop-public-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.public-hero__media,
.shop-public-hero__media,
.public-sponsor-card__media {
  position: relative;
  align-self: stretch;
  min-height: 260px;
  overflow: hidden;
  border-radius: var(--skate-radius-lg);
  background: var(--skate-card-2);
}

.public-hero__media img,
.shop-public-hero__media img,
.shop-public-card__image img,
.shop-public-detail__media img,
.public-sponsor-card__media img,
.public-staff-card__avatar img,
.public-team-card__avatar img,
.athlete-public-preview-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.public-hero__media::after,
.shop-public-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(var(--skate-black-rgb), 0.28));
}

.public-staff-card__avatar,
.public-team-card__avatar,
.athlete-public-preview-card__avatar {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  overflow: hidden;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background:
    radial-gradient(circle at 32% 24%, rgba(var(--skate-yellow-rgb), 0.22), transparent 44%),
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.14), rgba(var(--skate-black-rgb), 0.12));
  color: var(--skate-yellow);
  box-shadow: inset 0 1px 0 rgba(var(--skate-white-rgb), 0.07);
}

.public-staff-card__avatar span,
.public-team-card__avatar span,
.athlete-public-preview-card__avatar span,
.athlete-public-preview-card__avatar b {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: var(--skate-yellow);
  font-size: 1.15rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0;
}

.public-courses-hero__pill,
.public-society-hero__pill,
.public-sponsors-hero__pill,
.public-staff-hero__count,
.public-team-hero__mark,
.public-schedule-hero__count,
.public-society-affiliation-card__badge,
.public-sponsor-card__badge,
.public-staff-card__pill {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
}

.settings-chip,
.shop-chip-list span,
.shop-card-badges span,
.shop-badge-warning,
.public-course-card__badge,
.public-course-card__status,
.fisr-public-archive-card__status,
.registration-wizard-stepper__item,
.communication-chip-filter,
.public-schedule-categories span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  font-size: 0.78rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.1;
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
}

.settings-chip--success,
.settings-tone--success,
.settings-chip.is-success {
  border-color: rgba(var(--skate-success-rgb), 0.28);
  background: rgba(var(--skate-success-rgb), 0.12);
  color: var(--skate-success);
}

.settings-chip--warning,
.settings-primary-action--warning,
.shop-badge-warning {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.settings-chip--danger,
.settings-secondary-action--danger,
.settings-tone--danger {
  border-color: rgba(var(--skate-danger-rgb), 0.28);
  background: rgba(var(--skate-danger-rgb), 0.12);
  color: var(--skate-danger);
}

.settings-chip--muted,
.settings-chip--soft {
  color: var(--skate-muted);
}

.settings-chip-row,
.shop-chip-list,
.shop-card-badges,
.communication-team-picker__selected {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* =========================================================
   07. FORMS
   Shared input, select, textarea, checkbox and filters.
   ========================================================= */
label {
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-semibold);
}

input,
select,
textarea {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  box-sizing: border-box;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-black-rgb), 0.22);
  color: var(--skate-text);
  font-size: 1rem;
  padding: 11px 12px;
  outline: none;
}

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

input::placeholder,
textarea::placeholder {
  color: var(--skate-muted-2);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--skate-yellow-border);
  box-shadow: 0 0 0 3px rgba(var(--skate-yellow-rgb), 0.12);
}

input[type="date"] {
  max-width: 100%;
  min-width: 0;
  -webkit-appearance: none;
  appearance: none;
}

input[type="date"]::-webkit-date-and-time-value {
  min-width: 0;
  text-align: left;
}

input[type="checkbox"],
input[type="radio"] {
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  accent-color: var(--skate-yellow);
}

.registration-input,
.shop-variant-select,
.shop-request-contact label,
.shop-admin-form label,
.communication-step-form label,
.auth-panel label {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.registration-form-grid,
.shop-admin-form,
.shop-request-contact,
.communication-step-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 14px;
}

.registration-input--wide,
.shop-admin-form__wide,
.shop-request-contact__wide {
  grid-column: 1 / -1;
}

.shop-account-summary {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.28);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-yellow-rgb), 0.08);
}

.shop-account-summary strong {
  color: var(--skate-text);
  font-size: 1.05rem;
}

.shop-account-summary span,
.shop-account-summary em {
  color: var(--skate-muted);
  font-style: normal;
  line-height: 1.35;
}

.registration-toggle,
.shop-admin-check,
.settings-toggle-list label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
}

.registration-helper,
.communication-helper-text,
.settings-muted,
.shop-variant-message,
.registration-note {
  color: var(--skate-muted);
  font-size: 0.9rem;
}

.cf-autocomplete {
  position: absolute;
  z-index: var(--skate-z-modal);
  display: grid;
  gap: 6px;
  max-height: min(260px, 50vh);
  overflow-y: auto;
  padding: 8px;
  border: 1px solid var(--skate-border-strong);
  border-radius: var(--skate-radius-md);
  background: linear-gradient(180deg, var(--skate-card-2), var(--skate-card));
  box-shadow: var(--skate-shadow-strong);
}

.cf-autocomplete[hidden] {
  display: none;
}

.cf-autocomplete button {
  justify-content: flex-start;
  width: 100%;
  min-height: 40px;
  padding: 9px 10px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-sm);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  font-size: 0.92rem;
  text-align: left;
}

.cf-autocomplete button:hover,
.cf-autocomplete button:focus-visible {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

/* =========================================================
   08. TABS FILTERS
   One visual model for tabs, chips and horizontal filters.
   ========================================================= */
.settings-nav,
.shop-tabs,
.fisr-subnav,
.fisr-live-nav__links,
.shop-public-toolbar form,
.fisr-filter-grid,
.communication-filter-row,
.public-team-filter {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-block: 2px 8px;
  scrollbar-width: thin;
}

.settings-nav__item,
.shop-tabs a,
.fisr-subnav-pill,
.fisr-live-nav__link,
.communication-filter-row a,
.public-team-filter a {
  flex: 0 0 auto;
  min-height: 40px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-muted);
  text-decoration: none;
}

.settings-nav__item,
.shop-tabs a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
}

.settings-nav__item.is-active,
.shop-tabs a.is-active,
.fisr-subnav-pill--action,
.fisr-live-nav__link.is-active,
.communication-filter-row a.is-active,
.public-team-filter a.is-active,
.registration-wizard-stepper__item.is-active {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
}

/* =========================================================
   09. MODALS AND TOOLTIPS
   Dialog, overlay, video picker, bottom sheet and tooltip.
   ========================================================= */
.flash-modal,
.bottom-sheet,
.video-showcase-picker,
.registration-doc-modal {
  position: fixed;
  inset: 0;
  z-index: var(--skate-z-overlay);
  display: grid;
  place-items: center;
  padding: 18px;
}

body.has-video-picker-open {
  overflow: hidden;
}

body.has-registration-doc-open {
  overflow: hidden;
}

.flash-modal[aria-hidden="true"],
.bottom-sheet[aria-hidden="true"],
.video-showcase-picker[aria-hidden="true"],
.registration-doc-modal[aria-hidden="true"] {
  pointer-events: none;
  visibility: hidden;
}

.flash-modal__backdrop,
.bottom-sheet__backdrop,
.video-showcase-picker__backdrop,
.registration-doc-modal__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  min-height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(var(--skate-black-rgb), 0.64);
  backdrop-filter: blur(5px);
  cursor: pointer;
}

.flash-modal__panel,
.bottom-sheet__panel,
.video-showcase-picker__panel,
.registration-doc-modal__panel {
  position: relative;
  z-index: var(--skate-z-modal);
  width: min(520px, calc(100vw - 28px));
  max-height: min(82vh, 640px);
  overflow: hidden;
  border: 1px solid var(--skate-border-strong);
  border-radius: var(--skate-radius-lg);
  background: linear-gradient(180deg, var(--skate-card-2), var(--skate-card));
  box-shadow: var(--skate-shadow-strong);
  color: var(--skate-text);
}

.flash-modal__header,
.bottom-sheet__header,
.video-showcase-picker__header,
.registration-doc-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid var(--skate-border);
}

.video-showcase-picker__header strong,
.bottom-sheet__header strong,
.registration-doc-modal__header h2 {
  color: var(--skate-text);
  font-size: 1.05rem;
}

.video-showcase-picker__header button,
.bottom-sheet__header button,
.flash-modal__header button,
.registration-doc-modal__header button {
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  cursor: pointer;
}

.video-showcase-picker__wheel,
.bottom-sheet__body,
.flash-modal__body,
.registration-doc-modal__body {
  display: grid;
  gap: 8px;
  max-height: min(64vh, 460px);
  overflow-y: auto;
  padding: 14px;
}

.video-showcase-picker__option {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  text-align: left;
  cursor: pointer;
}

.video-showcase-picker__option:hover,
.video-showcase-picker__option.is-active {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow-soft);
}

.video-showcase-picker__option span:first-child {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--skate-yellow);
  color: var(--skate-bg);
  font-weight: var(--font-weight-bold);
}

.registration-doc-modal__header h2,
.registration-doc-modal__header p {
  margin: 0;
}

body.has-flash-modal-open {
  overflow: hidden;
}

.flash-modal {
  z-index: var(--skate-z-modal);
  padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));
}

.flash-modal[hidden] {
  display: none !important;
}

.flash-modal__backdrop {
  background:
    radial-gradient(circle at 50% 34%, rgba(var(--skate-yellow-rgb), 0.16), transparent 28%),
    rgba(var(--skate-black-rgb), 0.76);
  backdrop-filter: blur(8px);
}

.flash-modal__panel {
  display: grid;
  justify-items: center;
  gap: 16px;
  width: min(420px, calc(100vw - 32px));
  max-height: none;
  padding: clamp(22px, 5vw, 32px);
  overflow: visible;
  border-color: var(--skate-yellow-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(145deg, rgba(var(--skate-yellow-rgb), 0.10), transparent 34%),
    linear-gradient(180deg, rgba(var(--skate-card-2-rgb), 0.98), rgba(var(--skate-bg-rgb), 0.98));
  box-shadow:
    0 24px 74px rgba(var(--skate-black-rgb), 0.62),
    0 0 0 1px rgba(var(--skate-yellow-rgb), 0.08);
  text-align: center;
}

.flash-modal__icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.12);
  color: var(--skate-yellow);
  font-size: 1.45rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
}

.flash-modal--error .flash-modal__icon {
  border-color: rgba(var(--skate-danger-rgb), 0.34);
  background: rgba(var(--skate-danger-rgb), 0.12);
  color: var(--skate-danger);
}

.flash-modal__body {
  gap: 7px;
  max-height: none;
  overflow: visible;
  padding: 0;
}

.flash-modal__body h2,
.flash-modal__body p {
  margin: 0;
}

.flash-modal__body h2 {
  color: var(--skate-text);
  font-size: clamp(1.25rem, 4vw, 1.55rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.12;
}

.flash-modal__body p {
  max-width: 32ch;
  color: var(--skate-text-soft);
  font-size: 0.98rem;
  line-height: 1.55;
}

.flash-modal__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 128px;
  min-height: 44px;
  padding: 11px 22px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.72);
  border-radius: 999px;
  background: var(--skate-yellow);
  color: var(--skate-bg);
  font-weight: var(--font-weight-bold);
  text-align: center;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(var(--skate-yellow-rgb), 0.18);
  transition:
    transform 0.18s ease,
    background 0.18s ease,
    box-shadow 0.18s ease;
}

.flash-modal__button:hover,
.flash-modal__button:focus-visible {
  background: var(--skate-yellow-hover);
  box-shadow: 0 18px 38px rgba(var(--skate-yellow-rgb), 0.24);
  outline: none;
  transform: translateY(-1px);
}

.flash-modal__button:active {
  transform: translateY(0);
}

.registration-doc-modal__label {
  display: block;
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.registration-doc-modal__body {
  gap: 14px;
}

.registration-doc-summary {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-bg-rgb), 0.32);
}

.registration-doc-summary h3 {
  margin: 0;
  font-size: 0.95rem;
}

.registration-doc-summary dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.registration-doc-summary dl > div {
  display: grid;
  grid-template-columns: minmax(96px, 0.35fr) minmax(0, 1fr);
  gap: 10px;
}

.registration-doc-summary dt,
.registration-doc-summary dd,
.registration-doc-text p {
  margin: 0;
}

.registration-doc-summary dt {
  color: var(--skate-muted);
  font-size: 0.8rem;
  font-weight: var(--font-weight-semibold);
}

.registration-doc-summary dd,
.registration-doc-text {
  color: var(--skate-text-soft);
}

.registration-doc-text {
  display: grid;
  gap: 10px;
  line-height: 1.6;
}

.registration-doc-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 16px 16px;
  border-top: 1px solid var(--skate-border);
}

[data-tooltip],
.settings-info {
  position: relative;
}

[data-tooltip]::after,
[data-tip]::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  z-index: var(--skate-z-tooltip);
  width: max-content;
  max-width: min(280px, 80vw);
  padding: 8px 10px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-sm);
  background: var(--color-tooltip-bg);
  box-shadow: var(--skate-shadow-soft);
  color: var(--skate-text);
  font-size: 0.78rem;
  line-height: 1.35;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 5px);
  transition: opacity 120ms ease, transform 120ms ease;
}

[data-tip]:not([data-tooltip])::after {
  content: attr(data-tip);
}

[data-tooltip]:hover::after,
[data-tooltip]:focus-visible::after,
[data-tip]:hover::after,
[data-tip]:focus-visible::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

.settings-info {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-left: 4px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  vertical-align: middle;
}

/* =========================================================
   10. TABLES LISTS
   Data lists, rows and responsive tables.
   ========================================================= */
.shop-table-wrap,
.settings-log-list,
.settings-field-grid,
.settings-meta-grid,
.shop-definition-grid {
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  padding: 11px 10px;
  border-bottom: 1px solid var(--skate-border);
  color: var(--skate-text-soft);
  text-align: left;
  vertical-align: top;
}

th {
  color: var(--skate-muted);
  font-size: 0.78rem;
  text-transform: uppercase;
}

.shop-list,
.settings-list-stack,
.communication-choice-stack,
.fisr-nav-stack,
.settings-log-list {
  display: grid;
  gap: 12px;
}

.shop-list-row,
.communication-choice-card,
.communication-app-card,
.fisr-nav-card,
.settings-tool-link,
.settings-user-card,
.shop-admin-product-row,
.fisr-public-archive-card {
  display: grid;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  text-decoration: none;
}

.shop-list-row,
.shop-admin-product-row {
  min-width: 0;
}

.shop-list-row > span,
.shop-admin-product-row__main,
.shop-admin-product-row__actions {
  min-width: 0;
}

.shop-list-row:hover,
.communication-choice-card:hover,
.communication-app-card:hover,
.fisr-nav-card:hover,
.settings-tool-link:hover,
.fisr-public-archive-card:hover {
  border-color: var(--skate-yellow-border);
  background: var(--skate-surface-hover);
}

/* =========================================================
   11. PAGE HERO
   Public page heads and marketing-free app headers.
   ========================================================= */
.page-hero {
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 86% 0%, rgba(var(--skate-yellow-rgb), 0.12), transparent 32%),
    var(--card-bg);
  box-shadow: var(--skate-shadow-soft);
}

.page-hero h1,
.screen-head h1 {
  font-size: clamp(1.8rem, 3.8vw, 3rem);
}

.auth-panel--login {
  margin-block-start: clamp(20px, 8vh, 72px);
}

.auth-copy,
.auth-form {
  display: grid;
  gap: 14px;
}

.field {
  display: grid;
  gap: 8px;
}

.password-field {
  position: relative;
  display: grid;
}

.password-field input {
  padding-right: 92px;
}

.password-toggle {
  position: absolute;
  top: 50%;
  right: 6px;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  cursor: pointer;
  transform: translateY(-50%);
}

.btn-block {
  width: 100%;
}

.auth-panel h1,
.auth-panel h2 {
  font-size: clamp(1.7rem, 4vw, 2.5rem);
}

.auth-links {
  display: grid;
  gap: 10px;
}

.auth-links--cards a {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  text-decoration: none;
}

.auth-links__icon,
.auth-links__chevron {
  width: 20px;
  height: 20px;
  color: currentColor;
}

.flash {
  padding: 12px 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
}

.flash-error {
  border-color: rgba(var(--skate-danger-rgb), 0.28);
  background: rgba(var(--skate-danger-rgb), 0.12);
  color: var(--skate-danger);
}

.flash-success {
  border-color: rgba(var(--skate-success-rgb), 0.28);
  background: rgba(var(--skate-success-rgb), 0.12);
  color: var(--skate-success);
}

/* =========================================================
   12. VIDEO SHOWCASE / REEL COMPONENT
   Reusable vertical video component for homepage, courses,
   registrations and other SKATE pages.
   ========================================================= */
.skate-video-showcase {
  position: relative;
  isolation: isolate;
  width: min(100%, 1120px);
  margin-inline: auto;
  padding: clamp(22px, 4vw, 44px);
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 22% 28%, rgba(var(--skate-yellow-rgb), 0.13), transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(var(--skate-white-rgb), 0.05), transparent 28%),
    linear-gradient(135deg, rgba(var(--skate-card-rgb), 0.97), rgba(var(--skate-bg-rgb), 0.99));
  box-shadow: var(--skate-shadow-strong);
}

.skate-video-showcase__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(22px, 5vw, 72px);
  align-items: center;
  width: 100%;
  max-width: 1010px;
  margin-inline: auto;
}

.skate-video-showcase__media {
  position: relative;
  display: flex;
  min-width: 0;
  justify-content: center;
}

.skate-video-showcase__media::before {
  content: "";
  position: absolute;
  inset: 16% 5% 14%;
  z-index: -1;
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 50% 38%, rgba(var(--skate-yellow-rgb), 0.13), transparent 42%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.05), transparent 58%);
  filter: blur(8px);
}

.skate-video-device {
  display: grid;
  width: min(100%, 318px);
  min-width: 0;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--skate-border-strong);
  border-radius: var(--skate-radius-xl);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.06), transparent 18%),
    linear-gradient(180deg, var(--skate-card-2), var(--skate-bg));
  box-shadow:
    0 18px 52px rgba(var(--skate-black-rgb), 0.48),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.08);
}

.skate-video-device__label {
  display: flex;
  justify-content: center;
}

.skate-video-device__label span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px 12px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-video-frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 9 / 16;
  border: 1px solid var(--skate-border);
  border-radius: calc(var(--skate-radius-lg) + 4px);
  background: var(--skate-bg);
  box-shadow:
    0 16px 42px rgba(var(--skate-black-rgb), 0.45),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.06);
}

.skate-video-frame__loader {
  top: 50%;
  left: 50%;
  z-index: 3;
  transform: translate(-50%, calc(-50% + 6px));
  white-space: nowrap;
}

.skate-video-frame[data-video-loading="true"] .skate-video-frame__loader {
  transform: translate(-50%, -50%);
}

.skate-video-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(var(--skate-black-rgb), 0.18), transparent 22%, transparent 74%, rgba(var(--skate-black-rgb), 0.22));
}

.skate-video-frame.is-fade-out .skate-video-frame__video {
  opacity: 0.28;
}

.skate-video-frame__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: var(--skate-bg);
  transition: opacity 220ms ease;
}

.skate-video-frame.is-fullscreen,
.skate-video-frame:fullscreen,
.skate-video-frame:-webkit-full-screen {
  width: 100vw;
  height: 100dvh;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  background: var(--skate-black);
  box-shadow: none;
}

.skate-video-frame.is-fullscreen::before,
.skate-video-frame:fullscreen::before,
.skate-video-frame:-webkit-full-screen::before {
  display: none;
}

.skate-video-frame.is-fullscreen .skate-video-frame__video,
.skate-video-frame:fullscreen .skate-video-frame__video,
.skate-video-frame:-webkit-full-screen .skate-video-frame__video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: var(--skate-black);
}

.skate-video-frame__play {
  position: absolute;
  inset: 50% auto auto 50%;
  z-index: 4;
  display: inline-flex;
  min-width: 126px;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(var(--skate-yellow-rgb), 0.96), rgba(var(--skate-yellow-rgb), 0.84));
  color: var(--skate-bg);
  font-weight: var(--font-weight-bold);
  box-shadow:
    0 18px 42px rgba(var(--skate-black-rgb), 0.42),
    0 10px 24px rgba(var(--skate-yellow-rgb), 0.24);
  cursor: pointer;
  transform: translate(-50%, -50%);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.skate-video-frame__play[hidden] {
  display: none;
}

.skate-video-frame__play:hover,
.skate-video-frame__play:focus-visible {
  outline: none;
  transform: translate(-50%, -50%) scale(1.03);
  box-shadow:
    0 22px 52px rgba(var(--skate-black-rgb), 0.5),
    0 12px 30px rgba(var(--skate-yellow-rgb), 0.30);
}

.skate-video-frame__play svg {
  width: 18px;
  height: 18px;
}

.skate-video-actions {
  display: grid;
  gap: 9px;
}

.skate-video-controls,
.skate-video-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: center;
}

.skate-video-control,
.skate-video-counter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.skate-video-counter {
  min-width: 84px;
  padding-inline: 13px;
  color: var(--skate-text-soft);
  font-size: 0.85rem;
  font-weight: var(--font-weight-bold);
}

.skate-video-control:hover,
.skate-video-counter:hover,
.skate-video-control.is-active {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  transform: translateY(-1px);
}

.skate-video-control svg {
  width: 20px;
  height: 20px;
}

.skate-video-audio-icon--active,
.skate-video-control--like .skate-video-heart--filled {
  display: none;
}

.skate-video-control[data-video-action="audio"].is-active .skate-video-audio-icon--muted,
.skate-video-control--like.is-active .skate-video-heart--outline {
  display: none;
}

.skate-video-control[data-video-action="audio"].is-active .skate-video-audio-icon--active,
.skate-video-control--like.is-active .skate-video-heart--filled {
  display: block;
}

.skate-video-like {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 4px 8px 4px 4px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
}

.skate-video-like__count {
  min-width: 20px;
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-bold);
  text-align: center;
}

.skate-video-caption {
  color: var(--skate-muted);
  font-size: 0.9rem;
  line-height: 1.45;
  text-align: center;
}

.skate-video-showcase__content,
.skate-video-showcase__details {
  display: grid;
  gap: 16px;
  justify-self: start;
  width: 100%;
  max-width: 500px;
  min-width: 0;
}

.skate-video-showcase__title {
  display: grid;
  gap: 2px;
  max-width: 10ch;
  margin: 0;
  color: var(--skate-text);
  font-size: 2.35rem;
  line-height: 0.94;
  text-transform: none;
  word-spacing: normal;
  letter-spacing: 0;
  white-space: normal;
}

.skate-video-showcase__title-accent {
  color: var(--skate-yellow);
}

.skate-video-showcase__lead {
  max-width: 46ch;
  color: var(--skate-text-soft);
  font-size: 1rem;
  line-height: 1.72;
}

.skate-video-points {
  display: grid;
  gap: 12px;
  width: min(100%, 470px);
}

.skate-video-point {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.065), rgba(var(--skate-white-rgb), 0.035)),
    var(--skate-surface-soft);
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.skate-video-point:hover {
  border-color: var(--skate-yellow-border);
  background:
    linear-gradient(180deg, rgba(var(--skate-yellow-rgb), 0.065), rgba(var(--skate-white-rgb), 0.035)),
    var(--skate-surface-soft);
  transform: translateY(-1px);
}

.skate-video-point__number {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: var(--skate-yellow);
  color: var(--skate-bg);
  font-weight: var(--font-weight-bold);
  box-shadow: 0 10px 24px rgba(var(--skate-yellow-rgb), 0.20);
}

.skate-video-point h3,
.skate-video-point p {
  margin: 0;
}

.skate-video-point h3 {
  font-size: 1rem;
  line-height: 1.2;
}

.skate-video-point p {
  margin-block-start: 4px;
  color: var(--skate-muted);
  font-size: 0.92rem;
  line-height: 1.5;
}

.skate-video-cta {
  justify-self: start;
  width: min(100%, 470px);
  min-height: 50px;
  box-shadow: 0 14px 30px rgba(var(--skate-yellow-rgb), 0.18);
}

/* =========================================================
   FISR TV SHOWCASE
   Reusable component for homepage, race/trophy pages and
   future FISR sections.
   ========================================================= */
.skate-fisr-showcase {
  position: relative;
  isolation: isolate;
  width: min(100%, 1120px);
  margin-inline: auto;
  padding: clamp(20px, 4vw, 42px);
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 14% 16%, rgba(var(--skate-yellow-rgb), 0.13), transparent 30%),
    radial-gradient(circle at 92% 84%, rgba(var(--skate-white-rgb), 0.05), transparent 28%),
    linear-gradient(135deg, rgba(var(--skate-card-rgb), 0.96), rgba(var(--skate-bg-rgb), 0.99));
  box-shadow: var(--skate-shadow-strong);
}

.skate-fisr-showcase::before {
  content: "";
  position: absolute;
  inset: 18px auto auto 18px;
  width: 92px;
  height: 92px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  opacity: 0.20;
  pointer-events: none;
}

.skate-fisr-showcase__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(260px, 390px) minmax(0, 1fr);
  gap: clamp(26px, 5vw, 64px);
  align-items: center;
}

.skate-fisr-showcase__media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border: 1px solid var(--skate-border-strong);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(135deg, rgba(var(--skate-card-2-rgb), 0.96), rgba(var(--skate-bg-rgb), 0.98));
  box-shadow: var(--skate-shadow-soft);
}

.skate-fisr-showcase__media::before,
.skate-fisr-showcase__media::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.skate-fisr-showcase__media::before {
  inset: 12px;
  z-index: 2;
  border: 1px solid rgba(var(--skate-white-rgb), 0.10);
  border-radius: calc(var(--skate-radius-lg) - 10px);
}

.skate-fisr-showcase__media::after {
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(var(--skate-bg-rgb), 0.04), rgba(var(--skate-bg-rgb), 0.34)),
    radial-gradient(circle at 78% 18%, rgba(var(--skate-yellow-rgb), 0.16), transparent 36%);
}

.skate-fisr-showcase__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform 220ms ease, filter 220ms ease;
}

.skate-fisr-showcase__media:hover .skate-fisr-showcase__image {
  transform: scale(1.035);
  filter: saturate(1.05);
}

.skate-fisr-showcase__content {
  display: grid;
  gap: 15px;
  max-width: 590px;
  justify-self: start;
}

.skate-fisr-showcase__title {
  max-width: 12ch;
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(2.1rem, 4.4vw, 4rem);
  line-height: 0.98;
}

.skate-fisr-showcase__text {
  max-width: 56ch;
  margin: 0;
  color: var(--skate-text-soft);
  font-size: 1rem;
  line-height: 1.7;
}

.skate-fisr-showcase__link {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin: 0;
  color: var(--skate-muted);
  line-height: 1.5;
}

.skate-fisr-showcase__link a {
  color: var(--skate-yellow);
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
  border-bottom: 1px solid var(--skate-yellow-border);
}

.skate-fisr-showcase__link a:hover {
  color: var(--skate-yellow-hover);
}

.skate-fisr-showcase__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-block-start: 3px;
}

.skate-fisr-showcase__button {
  min-width: 140px;
}

.skate-fisr-showcase__button--primary {
  box-shadow: 0 14px 30px rgba(var(--skate-yellow-rgb), 0.18);
}

.skate-fisr-showcase__button--secondary {
  border-color: var(--skate-border-strong);
  background: rgba(var(--skate-white-rgb), 0.055);
}

.skate-fisr-showcase__button:focus-visible,
.skate-fisr-showcase__link a:focus-visible,
.skate-fisr-showcase__media:focus-visible {
  outline: 2px solid var(--skate-yellow);
  outline-offset: 3px;
}

@media (max-width: 860px) {
  .skate-fisr-showcase__layout {
    grid-template-columns: 1fr;
  }

  .skate-fisr-showcase__media {
    aspect-ratio: 16 / 10;
  }

  .skate-fisr-showcase__content {
    max-width: none;
  }
}

@media (max-width: 520px) {
  .skate-fisr-showcase {
    padding: 18px;
    border-radius: var(--skate-radius-lg);
  }

  .skate-fisr-showcase::before {
    width: 72px;
    height: 72px;
  }

  .skate-fisr-showcase__media {
    aspect-ratio: 16 / 10;
    border-radius: var(--skate-radius-md);
  }

  .skate-fisr-showcase__media::before {
    inset: 9px;
    border-radius: calc(var(--skate-radius-md) - 6px);
  }

  .skate-fisr-showcase__title {
    max-width: 13ch;
    font-size: 2.15rem;
  }

  .skate-fisr-showcase__actions,
  .skate-fisr-showcase__button {
    width: 100%;
  }
}

/* =========================================================
   LIVE SKATE CARD
   Reusable data-live card for homepage and future public pages.
   ========================================================= */
.home-live-card {
  width: min(100%, 1120px);
  margin-inline: auto;
}

.home-live-card__inner {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(280px, 410px) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 54px);
  align-items: center;
  overflow: hidden;
  padding: clamp(22px, 4vw, 40px);
  border: 1px solid rgba(var(--skate-white-rgb), 0.14);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 16% 48%, rgba(49, 255, 54, 0.18), transparent 28%),
    radial-gradient(circle at 90% 86%, rgba(49, 255, 54, 0.08), transparent 28%),
    linear-gradient(135deg, rgba(var(--skate-card-rgb), 0.97), rgba(var(--skate-bg-rgb), 0.99));
  box-shadow: var(--skate-shadow-strong);
}

.home-live-card--active .home-live-card__inner {
  border-color: rgba(78, 255, 49, 0.34);
  box-shadow: 0 26px 70px rgba(16, 255, 32, 0.13), var(--skate-shadow-strong);
}

.home-live-card__inner::before,
.home-live-card__inner::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.home-live-card__inner::before {
  inset: 22px auto auto 24px;
  width: 92px;
  height: 92px;
  border: 1px solid rgba(78, 255, 49, 0.25);
  border-radius: 999px;
  opacity: 0.55;
}

.home-live-card__inner::after {
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, transparent, rgba(var(--skate-white-rgb), 0.04) 54%, transparent),
    radial-gradient(circle at 62% 18%, rgba(var(--skate-white-rgb), 0.08), transparent 24%);
}

.home-live-card__media,
.home-live-card__content {
  position: relative;
  z-index: 1;
}

.home-live-card__media {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(var(--skate-white-rgb), 0.13);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 28% 34%, rgba(78, 255, 49, 0.30), transparent 34%),
    linear-gradient(145deg, rgba(var(--skate-card-2-rgb), 0.98), rgba(var(--skate-bg-rgb), 0.96));
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.34);
}

.home-live-card__visual {
  position: relative;
  display: flex;
  min-height: 180px;
  align-items: center;
  gap: 24px;
  padding: 30px;
}

.home-live-card__visual::before,
.home-live-card__visual::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.home-live-card__visual::before {
  inset: 14px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.08);
  border-radius: calc(var(--skate-radius-lg) - 12px);
}

.home-live-card__visual::after {
  right: 24px;
  bottom: 26px;
  width: 88px;
  height: 30px;
  border-right: 2px solid rgba(78, 255, 49, 0.82);
  border-bottom: 2px solid rgba(78, 255, 49, 0.82);
  transform: skewX(-18deg);
  opacity: 0.78;
}

.home-live-card__logo {
  position: relative;
  z-index: 1;
  width: 116px;
  height: 116px;
  flex: 0 0 auto;
  border-radius: 999px;
  filter: drop-shadow(0 16px 30px rgba(78, 255, 49, 0.28));
}

.home-live-card__visual-copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 2px;
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
  line-height: 0.92;
}

.home-live-card__visual-copy strong {
  color: rgb(72, 255, 49);
  font-size: 3.05rem;
  font-style: italic;
}

.home-live-card__visual-copy span {
  color: var(--skate-text);
  font-size: 2.15rem;
}

.home-live-card__pulse-line {
  position: absolute;
  right: 26px;
  top: 50%;
  width: 84px;
  height: 34px;
  color: rgb(72, 255, 49);
  opacity: 0.70;
}

.home-live-card__pulse-line::before {
  content: "";
  position: absolute;
  inset: 13px 0 auto;
  height: 2px;
  background: currentColor;
}

.home-live-card__pulse-line::after {
  content: "";
  position: absolute;
  left: 22px;
  top: 0;
  width: 26px;
  height: 34px;
  border-left: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: skewX(-16deg);
}

.home-live-card__availability {
  display: grid;
  gap: 8px;
  padding: 18px 24px 22px;
  border-top: 1px solid rgba(var(--skate-white-rgb), 0.10);
  background: rgba(var(--skate-bg-rgb), 0.52);
}

.home-live-card__availability strong {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--skate-text);
}

.home-live-card__availability strong span {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: rgb(72, 255, 49);
  box-shadow: 0 0 18px rgba(72, 255, 49, 0.74);
}

.home-live-card__availability p,
.home-live-card__description,
.home-live-card__state {
  margin: 0;
}

.home-live-card__availability p {
  color: var(--skate-text-soft);
  line-height: 1.55;
}

.home-live-card__content {
  display: grid;
  gap: 16px;
}

.home-live-card__topline {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

.home-live-card__badge {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border: 1px solid rgba(78, 255, 49, 0.46);
  border-radius: 999px;
  background: rgba(78, 255, 49, 0.10);
  color: rgb(92, 255, 70);
  font-size: 0.88rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.home-live-card__badge span {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 16px rgba(78, 255, 49, 0.78);
}

.home-live-card--inactive .home-live-card__badge {
  border-color: rgba(var(--skate-white-rgb), 0.16);
  background: rgba(var(--skate-white-rgb), 0.06);
  color: var(--skate-muted);
}

.home-live-card--inactive .home-live-card__badge span {
  box-shadow: none;
}

.home-live-card__label {
  color: rgb(92, 255, 70);
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.home-live-card__title {
  margin: 0;
  color: var(--skate-text);
  font-size: 2.72rem;
  line-height: 1;
}

.home-live-card__title span {
  color: rgb(72, 255, 49);
}

.home-live-card__description {
  max-width: 58ch;
  color: var(--skate-text-soft);
  font-size: 1.03rem;
  line-height: 1.65;
}

.home-live-card__state {
  width: fit-content;
  padding: 9px 13px;
  border: 1px solid rgba(78, 255, 49, 0.20);
  border-radius: var(--skate-radius-sm);
  background: rgba(78, 255, 49, 0.08);
  color: var(--skate-text-soft);
  line-height: 1.45;
}

.home-live-card--inactive .home-live-card__state {
  border-color: rgba(var(--skate-white-rgb), 0.12);
  background: rgba(var(--skate-white-rgb), 0.05);
}

.home-live-card__features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.home-live-card__feature {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.10);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.035);
}

.home-live-card__feature-icon {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: rgb(72, 255, 49);
}

.home-live-card__feature-icon .skate-icon {
  width: 24px;
  height: 24px;
}

.home-live-card__feature strong {
  color: var(--skate-text);
  line-height: 1.15;
}

.home-live-card__feature small {
  color: var(--skate-muted);
  line-height: 1.3;
}

.home-live-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-block-start: 4px;
}

.home-live-card__button {
  display: inline-flex;
  min-height: 46px;
  min-width: 180px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 20px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.18);
  border-radius: var(--button-radius);
  background: rgba(var(--skate-white-rgb), 0.055);
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-decoration: none;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.home-live-card__button--primary {
  border-color: rgba(78, 255, 49, 0.56);
  background: linear-gradient(135deg, rgb(83, 255, 42), rgb(44, 232, 33));
  color: rgb(2, 13, 5);
  box-shadow: 0 16px 34px rgba(72, 255, 49, 0.24);
}

.home-live-card__button--secondary {
  background: rgba(var(--skate-white-rgb), 0.045);
}

.home-live-card__button--secondary span {
  display: inline-grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-weight: var(--font-weight-bold);
}

.home-live-card__button:hover:not(:disabled),
.home-live-card__button:focus-visible {
  border-color: rgba(78, 255, 49, 0.58);
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(72, 255, 49, 0.16);
}

.home-live-card__button:focus-visible {
  outline: 2px solid rgb(92, 255, 70);
  outline-offset: 3px;
}

.home-live-card__button:disabled {
  border-color: rgba(var(--skate-white-rgb), 0.13);
  background: rgba(var(--skate-white-rgb), 0.07);
  color: var(--skate-muted);
  box-shadow: none;
}

@media (max-width: 920px) {
  .home-live-card__inner {
    grid-template-columns: 1fr;
  }

  .home-live-card__media {
    max-width: 560px;
  }

  .home-live-card__features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .home-live-card__inner {
    gap: 18px;
    padding: 18px;
    border-radius: var(--skate-radius-lg);
  }

  .home-live-card__visual {
    min-height: 116px;
    gap: 14px;
    padding: 16px;
  }

  .home-live-card__logo {
    width: 72px;
    height: 72px;
  }

  .home-live-card__visual-copy strong {
    font-size: 1.82rem;
  }

  .home-live-card__visual-copy span {
    font-size: 1.25rem;
  }

  .home-live-card__pulse-line {
    display: none;
  }

  .home-live-card__availability {
    padding: 13px 16px 16px;
  }

  .home-live-card__availability p {
    font-size: 0.92rem;
    line-height: 1.45;
  }

  .home-live-card__title {
    font-size: 1.72rem;
  }

  .home-live-card__description {
    font-size: 0.93rem;
    line-height: 1.48;
  }

  .home-live-card__state {
    width: 100%;
    font-size: 0.9rem;
  }

  .home-live-card__features {
    gap: 8px;
  }

  .home-live-card__feature {
    padding: 10px;
    gap: 5px;
  }

  .home-live-card__feature-icon,
  .home-live-card__feature-icon .skate-icon {
    width: 22px;
    height: 22px;
  }

  .home-live-card__feature strong {
    font-size: 0.86rem;
  }

  .home-live-card__feature small {
    font-size: 0.78rem;
  }

  .home-live-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .home-live-card__button {
    width: 100%;
    min-width: 0;
    padding-inline: 10px;
    font-size: 0.88rem;
  }
}

/* =========================================================
   PALMARES SHOWCASE
   Reusable component for homepage, palmares page and
   future SKATE sections.
   ========================================================= */
.skate-palmares-showcase {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: clamp(20px, 3.4vw, 34px);
  width: min(100%, 1120px);
  margin-inline: auto;
  padding: clamp(22px, 4vw, 44px);
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 12% 18%, rgba(var(--skate-yellow-rgb), 0.14), transparent 32%),
    radial-gradient(circle at 92% 8%, rgba(var(--skate-white-rgb), 0.05), transparent 30%),
    linear-gradient(135deg, rgba(var(--skate-card-rgb), 0.97), rgba(var(--skate-bg-rgb), 0.99));
  box-shadow: var(--skate-shadow-strong);
}

.skate-palmares-showcase::before {
  content: "";
  position: absolute;
  inset: 18px 18px auto auto;
  width: 128px;
  height: 128px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  opacity: 0.24;
  pointer-events: none;
}

.skate-palmares-showcase__header {
  display: grid;
  gap: 12px;
  max-width: 760px;
}

.skate-palmares-showcase__title {
  max-width: 13ch;
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(2.15rem, 5vw, 4.2rem);
  line-height: 0.98;
  text-transform: none;
}

.skate-palmares-showcase__lead {
  max-width: 66ch;
  color: var(--skate-text-soft);
  font-size: 1rem;
  line-height: 1.7;
}

.skate-palmares-showcase__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: 14px;
}

.skate-palmares-card {
  display: grid;
  gap: 18px;
  min-width: 0;
  padding: clamp(16px, 2.4vw, 22px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.065), rgba(var(--skate-white-rgb), 0.03)),
    var(--skate-surface-soft);
  box-shadow: var(--skate-shadow-soft);
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.skate-palmares-card:hover {
  border-color: var(--skate-yellow-border);
  background:
    linear-gradient(180deg, rgba(var(--skate-yellow-rgb), 0.07), rgba(var(--skate-white-rgb), 0.03)),
    var(--skate-surface-soft);
  transform: translateY(-2px);
}

.skate-palmares-card__head {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.skate-palmares-card__icon {
  position: relative;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  padding: 6px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background:
    radial-gradient(circle at 35% 20%, rgba(var(--skate-white-rgb), 0.18), transparent 42%),
    rgba(var(--skate-bg-rgb), 0.78);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
  box-shadow:
    0 14px 30px rgba(var(--skate-black-rgb), 0.35),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.10);
}

.skate-palmares-card__badge-graphic {
  position: relative;
  display: block;
  width: 34px;
  height: 34px;
  overflow: hidden;
  border: 1px solid rgba(var(--skate-white-rgb), 0.18);
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(var(--skate-black-rgb), 0.24);
}

.skate-palmares-card__badge-code {
  position: absolute;
  right: 50%;
  bottom: 4px;
  transform: translateX(50%);
  padding: 1px 5px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: rgba(var(--skate-bg-rgb), 0.88);
  color: var(--skate-yellow);
  font-size: 0.52rem;
  line-height: 1.15;
  letter-spacing: 0.04em;
}

.skate-palmares-card__icon--italy .skate-palmares-card__badge-graphic {
  background: linear-gradient(90deg, var(--skate-palmares-italy-green) 0 33.333%, var(--skate-text) 33.333% 66.666%, var(--skate-palmares-italy-red) 66.666% 100%);
}

.skate-palmares-card__icon--europe .skate-palmares-card__badge-graphic {
  background:
    radial-gradient(circle at 50% 18%, var(--skate-yellow) 0 1.6px, transparent 2px),
    radial-gradient(circle at 67% 25%, var(--skate-yellow) 0 1.6px, transparent 2px),
    radial-gradient(circle at 75% 50%, var(--skate-yellow) 0 1.6px, transparent 2px),
    radial-gradient(circle at 67% 75%, var(--skate-yellow) 0 1.6px, transparent 2px),
    radial-gradient(circle at 50% 82%, var(--skate-yellow) 0 1.6px, transparent 2px),
    radial-gradient(circle at 33% 75%, var(--skate-yellow) 0 1.6px, transparent 2px),
    radial-gradient(circle at 25% 50%, var(--skate-yellow) 0 1.6px, transparent 2px),
    radial-gradient(circle at 33% 25%, var(--skate-yellow) 0 1.6px, transparent 2px),
    var(--skate-palmares-europe-blue);
}

.skate-palmares-card__icon--world .skate-palmares-card__badge-graphic {
  background:
    radial-gradient(circle at 42% 32%, rgba(var(--skate-yellow-rgb), 0.26), transparent 30%),
    rgba(var(--skate-bg-rgb), 0.84);
}

.skate-palmares-card__icon--world .skate-palmares-card__badge-graphic::before,
.skate-palmares-card__icon--world .skate-palmares-card__badge-graphic::after {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1.5px solid var(--skate-yellow);
  border-radius: 999px;
}

.skate-palmares-card__icon--world .skate-palmares-card__badge-graphic::before {
  transform: scaleX(0.48);
}

.skate-palmares-card__icon--world .skate-palmares-card__badge-graphic::after {
  inset: 11px 5px;
  border-width: 1px 0;
}

.skate-palmares-card__title {
  margin: 0;
  color: var(--skate-text);
  font-size: 1.05rem;
  line-height: 1.16;
}

.skate-palmares-medals {
  display: grid;
  gap: 9px;
}

.skate-palmares-medal {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  padding-block: 8px;
  border-top: 1px solid var(--skate-border);
}

.skate-palmares-medal:first-child {
  border-top: 0;
}

.skate-palmares-medal__value {
  color: var(--skate-text);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: var(--font-weight-bold);
  font-variant-numeric: tabular-nums;
  line-height: 0.9;
  transition: color 180ms ease, text-shadow 180ms ease;
}

.skate-palmares-medal__type {
  color: var(--skate-muted);
  font-weight: var(--font-weight-semibold);
}

.skate-palmares-medal--gold .skate-palmares-medal__value {
  color: var(--skate-yellow);
}

.skate-palmares-medal--silver .skate-palmares-medal__value {
  color: var(--skate-text-soft);
}

.skate-palmares-medal--bronze .skate-palmares-medal__value {
  color: var(--skate-muted);
}

.skate-palmares-showcase__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 2px;
}

.skate-palmares-showcase__footer p {
  max-width: 56ch;
  margin: 0;
  color: var(--skate-muted);
}

.skate-palmares-showcase__cta {
  min-height: 50px;
  padding-inline: 18px;
  white-space: nowrap;
  box-shadow: 0 14px 30px rgba(var(--skate-yellow-rgb), 0.18);
}

.skate-palmares-showcase__cta:focus-visible {
  outline: 2px solid var(--skate-yellow);
  outline-offset: 3px;
}

.skate-palmares-showcase.is-palmares-counting .skate-palmares-medal__value {
  text-shadow: 0 0 22px rgba(var(--skate-yellow-rgb), 0.14);
}

.skate-palmares-gallery {
  display: grid;
  gap: clamp(18px, 3vw, 30px);
  width: min(100%, 1120px);
  margin: clamp(18px, 3vw, 30px) auto 0;
  color: var(--skate-text);
}

.skate-palmares-gallery__header,
.skate-palmares-gallery__group {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.052), rgba(var(--skate-white-rgb), 0.022)),
    rgba(var(--skate-card-rgb), 0.88);
  box-shadow: var(--skate-shadow-soft);
}

.skate-palmares-gallery__header {
  display: grid;
  gap: 10px;
  padding: clamp(18px, 3vw, 28px);
}

.skate-palmares-gallery__label,
.skate-palmares-gallery__group-head span,
.skate-palmares-gallery__group-head em {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-transform: uppercase;
}

.skate-palmares-gallery__header h2,
.skate-palmares-gallery__group-head h3 {
  margin: 0;
  color: var(--skate-text);
  letter-spacing: 0;
}

.skate-palmares-gallery__header h2 {
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  line-height: 1.05;
}

.skate-palmares-gallery__header p {
  max-width: 68ch;
  margin: 0;
  color: var(--skate-text-soft);
  line-height: 1.65;
}

.skate-palmares-gallery__groups {
  display: grid;
  gap: 16px;
}

.skate-palmares-gallery__section {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.skate-palmares-gallery__section-head {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: clamp(16px, 2.6vw, 24px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.052), rgba(var(--skate-white-rgb), 0.022)),
    rgba(var(--skate-card-rgb), 0.88);
  box-shadow: var(--skate-shadow-soft);
}

.skate-palmares-gallery__section-head > span {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-transform: uppercase;
}

.skate-palmares-gallery__section-head h3 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.38rem, 2.6vw, 2rem);
  line-height: 1.08;
  letter-spacing: 0;
}

.skate-palmares-gallery__section-head p {
  max-width: 68ch;
  margin: 6px 0 0;
  color: var(--skate-text-soft);
  line-height: 1.58;
}

.skate-palmares-gallery__group {
  display: grid;
  gap: 16px;
  min-width: 0;
  padding: clamp(16px, 2.6vw, 24px);
}

.skate-palmares-gallery__group-head {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  justify-content: space-between;
}

.skate-palmares-gallery__group-head > div {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.skate-palmares-gallery__group-head h3 {
  font-size: clamp(1.22rem, 2.2vw, 1.7rem);
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.skate-palmares-gallery__group-head em {
  border-color: var(--skate-border);
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  font-style: normal;
}

.skate-palmares-gallery__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap: 14px;
}

.skate-palmares-gallery__card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: var(--skate-surface-soft);
  box-shadow: var(--skate-shadow-soft);
}

.skate-palmares-gallery__media {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: zoom-in;
}

.skate-palmares-gallery__media:focus-visible {
  outline: 3px solid var(--skate-yellow);
  outline-offset: -3px;
}

.skate-palmares-gallery__card img {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  object-position: center;
  background: rgba(var(--skate-black-rgb), 0.28);
  transition: transform 0.22s ease;
}

.skate-palmares-gallery__card:hover img {
  transform: scale(1.035);
}

.skate-palmares-gallery__card figcaption {
  display: grid;
  gap: 4px;
  min-height: 58px;
  padding: 12px 13px;
  color: var(--skate-muted);
  font-size: 0.82rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.skate-palmares-gallery__card figcaption strong {
  color: var(--skate-text);
  font-size: 0.9rem;
  line-height: 1.25;
}

.skate-palmares-gallery__card figcaption span {
  color: var(--skate-text-soft);
}

.skate-palmares-gallery__empty {
  display: grid;
  gap: 6px;
  padding: clamp(18px, 2.6vw, 28px);
  border: 1px dashed var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-white-rgb), 0.035);
}

.skate-palmares-gallery__empty strong {
  color: var(--skate-text);
}

.skate-palmares-gallery__empty span {
  color: var(--skate-muted);
}

@media (max-width: 640px) {
  .skate-palmares-gallery__group-head {
    align-items: stretch;
    flex-direction: column;
  }

  .skate-palmares-gallery__group-head em {
    width: fit-content;
  }

  .skate-palmares-gallery__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

body.has-palmares-lightbox-open {
  overflow: hidden;
}

.skate-palmares-press-accordion {
  display: grid;
  gap: 12px;
}

.skate-palmares-press-year {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.05), rgba(var(--skate-white-rgb), 0.018)),
    rgba(var(--skate-card-rgb), 0.86);
  box-shadow: var(--skate-shadow-soft);
}

.skate-palmares-press-year > summary {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  padding: clamp(14px, 2vw, 18px) clamp(15px, 2.6vw, 22px);
  color: var(--skate-text);
  cursor: pointer;
  list-style: none;
}

.skate-palmares-press-year > summary::-webkit-details-marker {
  display: none;
}

.skate-palmares-press-year > summary::after {
  content: "+";
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  color: var(--skate-yellow);
  font-weight: var(--font-weight-black);
}

.skate-palmares-press-year[open] > summary::after {
  content: "-";
}

.skate-palmares-press-year > summary span {
  color: var(--skate-text);
  font-size: clamp(1.05rem, 2vw, 1.28rem);
  font-weight: var(--font-weight-black);
  overflow-wrap: anywhere;
}

.skate-palmares-press-year > summary em {
  margin-left: auto;
  color: var(--skate-muted);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
}

.skate-palmares-press-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  gap: 16px;
  padding: 0 clamp(15px, 2.6vw, 22px) clamp(15px, 2.6vw, 22px);
}

.skate-palmares-press-card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.052), rgba(var(--skate-white-rgb), 0.018)),
    var(--skate-surface-soft);
  box-shadow: var(--skate-shadow-soft);
}

.skate-palmares-press-card__thumb {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: rgba(var(--skate-black-rgb), 0.28);
  color: inherit;
  cursor: pointer;
}

.skate-palmares-press-card__thumb:focus-visible,
.skate-palmares-press-card__action:focus-visible,
.skate-palmares-reader button:focus-visible {
  outline: 3px solid var(--skate-yellow);
  outline-offset: 2px;
}

.skate-palmares-press-card__thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
  object-position: center;
  transition: transform 0.22s ease;
}

.skate-palmares-press-card:hover .skate-palmares-press-card__thumb img {
  transform: scale(1.028);
}

.skate-palmares-press-card__body {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 15px;
}

.skate-palmares-press-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-height: 26px;
}

.skate-palmares-press-card__meta span {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 26px;
  padding: 4px 8px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.045);
  color: var(--skate-muted);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-transform: uppercase;
}

.skate-palmares-press-card h4 {
  margin: 0;
  color: var(--skate-text);
  font-size: 1rem;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.skate-palmares-press-card p {
  display: -webkit-box;
  min-height: 4.3em;
  margin: 0;
  overflow: hidden;
  color: var(--skate-text-soft);
  font-size: 0.9rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.skate-palmares-press-card__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  min-height: 40px;
  padding: 10px 14px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-decoration: none;
  cursor: pointer;
}

.skate-palmares-press-card__action:hover {
  background: rgba(var(--skate-yellow-rgb), 0.18);
}

.skate-palmares-article-page {
  display: grid;
  gap: clamp(18px, 3vw, 30px);
  width: min(100%, 1120px);
  margin: clamp(18px, 3vw, 30px) auto 0;
  color: var(--skate-text);
}

.skate-palmares-article-page * {
  min-width: 0;
}

.skate-palmares-article-page__header,
.skate-palmares-article-page__reader,
.skate-palmares-article-page__nav {
  min-width: 0;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.052), rgba(var(--skate-white-rgb), 0.022)),
    rgba(var(--skate-card-rgb), 0.88);
  box-shadow: var(--skate-shadow-soft);
}

.skate-palmares-article-page__header {
  display: grid;
  gap: 10px;
  padding: clamp(18px, 3vw, 30px);
}

.skate-palmares-article-page__back,
.skate-palmares-article-page__media-controls a,
.skate-palmares-article-page__media-controls button,
.skate-palmares-article-page__nav a,
.skate-palmares-article-page__nav span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 13px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-decoration: none;
}

.skate-palmares-article-page__back {
  justify-self: start;
}

.skate-palmares-article-page__back:hover,
.skate-palmares-article-page__media-controls a:hover,
.skate-palmares-article-page__media-controls button:hover,
.skate-palmares-article-page__nav a:hover {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.skate-palmares-article-page__meta {
  margin: 0;
  color: var(--skate-muted);
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-palmares-article-page__header h1 {
  max-width: 980px;
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.75rem, 4.4vw, 3.2rem);
  line-height: 1.02;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.skate-palmares-article-page__summary {
  max-width: 82ch;
  margin: 0;
  color: var(--skate-text-soft);
  font-size: clamp(1rem, 1.8vw, 1.12rem);
  line-height: 1.62;
  overflow-wrap: anywhere;
  white-space: normal;
  word-break: break-word;
}

.skate-palmares-article-page__reader {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(340px, 1.08fr);
  gap: clamp(16px, 2.4vw, 24px);
  padding: clamp(16px, 2.8vw, 26px);
}

.skate-palmares-article-page__media,
.skate-palmares-article-page__text {
  min-width: 0;
}

.skate-palmares-article-page__media {
  display: grid;
  align-content: start;
  gap: 12px;
}

.skate-palmares-article-page__media-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.skate-palmares-article-page__media-controls button {
  cursor: pointer;
}

.skate-palmares-article-page__image-stage {
  display: grid;
  place-items: center;
  min-height: min(58vh, 680px);
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-black-rgb), 0.32);
  cursor: grab;
  touch-action: none;
}

.skate-palmares-article-page__image-stage.is-dragging {
  cursor: grabbing;
}

.skate-palmares-article-page__image-stage img {
  display: block;
  max-width: 100%;
  max-height: min(74vh, 760px);
  object-fit: contain;
  transform-origin: center;
  user-select: none;
  -webkit-user-drag: none;
}

.skate-palmares-article-page__text {
  display: grid;
  align-content: start;
  gap: 12px;
  color: var(--skate-text);
}

.skate-palmares-article-page__text h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.18rem, 2.2vw, 1.55rem);
  line-height: 1.16;
}

.skate-palmares-article-page__text p,
.skate-palmares-article-page__text div {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1rem, 1.8vw, 1.08rem);
  line-height: 1.78;
  overflow-wrap: anywhere;
  white-space: normal;
  word-break: break-word;
}

.skate-palmares-article-page__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  padding: clamp(14px, 2.4vw, 20px);
}

.skate-palmares-article-page__nav span {
  color: var(--skate-muted);
  opacity: 0.72;
}

@media (max-width: 840px) {
  .skate-palmares-article-page__reader {
    grid-template-columns: 1fr;
  }

  .skate-palmares-article-page__image-stage {
    min-height: 44vh;
  }
}

@media (max-width: 640px) {
  .public-palmares-article-screen .guest-main {
    width: min(100%, calc(100vw - 24px));
  }

  .skate-palmares-article-page {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .skate-palmares-article-page__header,
  .skate-palmares-article-page__reader,
  .skate-palmares-article-page__nav {
    max-width: 100%;
    overflow-x: hidden;
  }

  .skate-palmares-press-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-palmares-press-year > summary {
    align-items: flex-start;
  }

  .skate-palmares-press-year > summary em {
    white-space: normal;
  }

  .skate-palmares-press-card p {
    min-height: 0;
  }

  .skate-palmares-press-card__action,
  .skate-palmares-article-page__back,
  .skate-palmares-article-page__nav a,
  .skate-palmares-article-page__nav span {
    width: 100%;
  }

  .skate-palmares-article-page__media-controls > * {
    flex: 1 1 100%;
    min-width: 0;
    white-space: normal;
    text-align: center;
    overflow-wrap: anywhere;
  }

  .skate-palmares-article-page__text p,
  .skate-palmares-article-page__text div {
    font-size: 1rem;
    line-height: 1.72;
  }
}

.skate-palmares-lightbox[hidden] {
  display: none;
}

.skate-palmares-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: clamp(14px, 3vw, 34px);
}

.skate-palmares-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(var(--skate-black-rgb), 0.86);
  backdrop-filter: blur(8px);
}

.skate-palmares-lightbox__dialog {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(8px, 2vw, 16px);
  width: min(100%, 1180px);
  max-height: min(86vh, 860px);
}

.skate-palmares-lightbox__figure {
  display: grid;
  gap: 12px;
  min-width: 0;
  margin: 0;
}

.skate-palmares-lightbox__figure img {
  display: block;
  width: 100%;
  max-height: min(72vh, 720px);
  object-fit: contain;
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-black-rgb), 0.48);
  box-shadow: 0 24px 70px rgba(var(--skate-black-rgb), 0.48);
}

.skate-palmares-lightbox__figure figcaption {
  display: grid;
  gap: 4px;
  min-height: 42px;
  color: var(--skate-text);
  text-align: center;
}

.skate-palmares-lightbox__figure figcaption strong {
  font-size: clamp(1rem, 2vw, 1.25rem);
  overflow-wrap: anywhere;
}

.skate-palmares-lightbox__figure figcaption span {
  color: var(--skate-text-soft);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.skate-palmares-lightbox__close,
.skate-palmares-lightbox__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(var(--skate-white-rgb), 0.24);
  border-radius: 999px;
  background: rgba(var(--skate-black-rgb), 0.58);
  color: var(--skate-white);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
}

.skate-palmares-lightbox__close {
  position: absolute;
  top: -12px;
  right: -12px;
  z-index: 2;
  width: 44px;
  height: 44px;
  font-size: 1.5rem;
}

.skate-palmares-lightbox__nav {
  width: clamp(42px, 5vw, 56px);
  height: clamp(42px, 5vw, 56px);
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1;
}

.skate-palmares-lightbox__close:hover,
.skate-palmares-lightbox__nav:hover {
  border-color: var(--skate-yellow-border);
  background: rgba(var(--skate-yellow-rgb), 0.16);
}

@media (max-width: 720px) {
  .skate-palmares-lightbox {
    padding: 12px;
  }

  .skate-palmares-lightbox__dialog {
    grid-template-columns: 1fr;
    gap: 10px;
    max-height: 92vh;
  }

  .skate-palmares-lightbox__figure {
    order: 1;
  }

  .skate-palmares-lightbox__figure img {
    max-height: 72vh;
  }

  .skate-palmares-lightbox__nav {
    position: absolute;
    z-index: 2;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background: rgba(var(--skate-black-rgb), 0.7);
  }

  .skate-palmares-lightbox__nav--prev {
    left: 6px;
  }

  .skate-palmares-lightbox__nav--next {
    right: 6px;
  }

  .skate-palmares-lightbox__close {
    top: 6px;
    right: 6px;
  }
}

body.has-palmares-reader-open {
  overflow: hidden;
}

.skate-palmares-reader[hidden] {
  display: none;
}

.skate-palmares-reader {
  position: fixed;
  inset: 0;
  z-index: 1220;
  display: grid;
  place-items: center;
  padding: clamp(10px, 2.6vw, 28px);
}

.skate-palmares-reader__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(var(--skate-black-rgb), 0.88);
  backdrop-filter: blur(8px);
}

.skate-palmares-reader__dialog {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 12px;
  width: min(100%, 1220px);
  max-height: 92vh;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(var(--skate-white-rgb), 0.16);
  border-radius: var(--skate-radius-xl);
  background: var(--skate-card);
  color: var(--skate-text);
  box-shadow: 0 24px 80px rgba(var(--skate-black-rgb), 0.56);
}

.skate-palmares-reader__head {
  display: flex;
  gap: 14px;
  align-items: start;
  justify-content: space-between;
  min-width: 0;
  padding: clamp(14px, 2.4vw, 22px) clamp(14px, 2.4vw, 24px) 0;
}

.skate-palmares-reader__head > div {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.skate-palmares-reader__head span {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-palmares-reader__head h3 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.2rem, 2.4vw, 1.75rem);
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.skate-palmares-reader__close {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  font-size: 1.4rem;
  font-weight: var(--font-weight-bold);
  cursor: pointer;
}

.skate-palmares-reader__controls,
.skate-palmares-reader__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 clamp(14px, 2.4vw, 24px);
}

.skate-palmares-reader__controls button,
.skate-palmares-reader__nav button {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
}

.skate-palmares-reader__controls button:hover,
.skate-palmares-reader__nav button:hover,
.skate-palmares-reader__close:hover {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.skate-palmares-reader__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
  gap: 14px;
  min-height: 0;
  min-width: 0;
  padding: 0 clamp(14px, 2.4vw, 24px);
  overflow: hidden;
}

.skate-palmares-reader__stage {
  display: grid;
  place-items: center;
  min-height: min(56vh, 620px);
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-black-rgb), 0.32);
  cursor: grab;
  touch-action: none;
}

.skate-palmares-reader__stage.is-dragging {
  cursor: grabbing;
}

.skate-palmares-reader__stage img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
  transform-origin: center;
}

.skate-palmares-reader__text {
  min-width: 0;
  overflow: auto;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-white-rgb), 0.04);
  padding: clamp(14px, 2vw, 20px);
}

.skate-palmares-reader__text h4 {
  margin: 0 0 10px;
  color: var(--skate-text);
  font-size: 1rem;
}

.skate-palmares-reader__text p {
  margin: 0 0 14px;
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-semibold);
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.skate-palmares-reader__text div {
  color: var(--skate-text);
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.skate-palmares-reader__nav {
  justify-content: space-between;
  padding-bottom: clamp(14px, 2.4vw, 22px);
}

@media (max-width: 840px) {
  .skate-palmares-reader {
    padding: 0;
  }

  .skate-palmares-reader__dialog {
    width: 100%;
    height: 100%;
    max-height: 100vh;
    border-radius: 0;
  }

  .skate-palmares-reader__layout {
    grid-template-columns: 1fr;
    overflow: auto;
  }

  .skate-palmares-reader__stage {
    min-height: 42vh;
  }

  .skate-palmares-reader__text {
    overflow: visible;
  }

  .skate-palmares-reader__controls button,
  .skate-palmares-reader__nav button {
    flex: 1 1 130px;
  }
}

.palmares-admin-stats,
.palmares-admin-grid,
.palmares-admin-card__fields,
.palmares-admin-card__actions {
  display: grid;
  gap: 12px;
}

.palmares-admin-stats {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
  margin-bottom: 16px;
}

.palmares-admin-stats article,
.palmares-admin-card {
  min-width: 0;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-card-rgb), 0.72);
  box-shadow: var(--skate-shadow-soft);
}

.palmares-admin-stats article {
  display: grid;
  gap: 6px;
  padding: 16px;
}

.palmares-admin-stats span,
.palmares-admin-section-head p,
.palmares-admin-card label span,
.palmares-admin-card__readonly span {
  color: var(--skate-muted);
}

.palmares-admin-stats strong {
  color: var(--skate-text);
  font-size: 1.7rem;
}

.palmares-admin-upload,
.palmares-admin-group,
.palmares-admin-notice,
.palmares-admin-empty {
  padding: clamp(16px, 2.4vw, 24px);
}

.palmares-admin-section-head,
.palmares-admin-group__head {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 16px;
}

.palmares-admin-section-head h2,
.palmares-admin-group__head h2,
.palmares-admin-notice h2,
.palmares-admin-empty h2 {
  margin: 0;
  color: var(--skate-text);
}

.palmares-admin-section-head p,
.palmares-admin-notice p,
.palmares-admin-empty p {
  max-width: 70ch;
  margin: 6px 0 0;
  line-height: 1.55;
}

.palmares-admin-group__head span,
.palmares-admin-group__head strong,
.palmares-admin-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-transform: uppercase;
}

.palmares-admin-group__head strong,
.palmares-admin-badge--muted {
  border-color: var(--skate-border);
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
}

.palmares-admin-badge--cover {
  border-color: rgba(var(--skate-success-rgb), 0.34);
  background: rgba(var(--skate-success-rgb), 0.12);
  color: var(--skate-success);
}

.palmares-admin-form,
.palmares-admin-card__form,
.palmares-admin-card__replace {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.palmares-admin-form {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.palmares-admin-form__wide,
.palmares-admin-actions,
.palmares-admin-check {
  grid-column: 1 / -1;
}

.palmares-admin-form label,
.palmares-admin-card label {
  display: grid;
  gap: 7px;
  min-width: 0;
  font-weight: var(--font-weight-bold);
}

.palmares-admin-check {
  display: flex;
  align-items: center;
  gap: 10px;
}

.palmares-admin-check input {
  flex: 0 0 auto;
}

.palmares-admin-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
}

.palmares-admin-card {
  display: grid;
  overflow: hidden;
}

.palmares-admin-card__media {
  position: relative;
  min-width: 0;
  background: rgba(var(--skate-black-rgb), 0.28);
}

.palmares-admin-card__media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.palmares-admin-card__media .palmares-admin-badge {
  position: absolute;
  left: 10px;
  top: 10px;
}

.palmares-admin-card__media .palmares-admin-badge--cover {
  top: 46px;
}

.palmares-admin-card__form,
.palmares-admin-card__replace,
.palmares-admin-card__readonly {
  padding: 14px;
}

.palmares-admin-editorial {
  display: grid;
  gap: 12px;
  min-width: 0;
  margin: 2px 0;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.035);
}

.palmares-admin-editorial legend {
  padding: 0 6px;
  color: var(--skate-text);
  font-size: 0.86rem;
  font-weight: var(--font-weight-bold);
}

.palmares-admin-editorial--disabled {
  color: var(--skate-muted);
}

.palmares-admin-editorial--disabled strong,
.palmares-admin-editorial--disabled span {
  overflow-wrap: anywhere;
}

.palmares-admin-card__replace {
  border-top: 1px solid var(--skate-border);
}

.palmares-admin-card__fields {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
}

.palmares-admin-card__actions {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
  padding: 0 14px 14px;
}

.palmares-admin-card__actions form,
.palmares-admin-card__actions button,
.palmares-admin-card__replace button,
.palmares-admin-card__form button {
  width: 100%;
}

.palmares-admin-card__readonly {
  display: grid;
  gap: 6px;
}

@media (max-width: 720px) {
  .palmares-admin-section-head,
  .palmares-admin-group__head {
    align-items: stretch;
    flex-direction: column;
  }

  .palmares-admin-actions .admin-primary-action,
  .palmares-admin-card__replace .admin-secondary-action,
  .palmares-admin-card__form .admin-primary-action {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .skate-palmares-card,
  .skate-palmares-medal__value,
  .skate-palmares-gallery__card img {
    transition: none;
  }
}

/* =========================================================
   13. SHOP
   Public catalog, detail and shop admin surfaces.
   ========================================================= */
.shop-public-hero {
  position: relative;
  background:
    radial-gradient(circle at 90% 18%, rgba(var(--skate-yellow-rgb), 0.16), transparent 32%),
    linear-gradient(135deg, var(--skate-card-2), var(--skate-bg));
}

.shop-public-hero--small {
  min-height: auto;
}

.shop-public-hero__media {
  margin: 0;
  box-shadow: 0 22px 46px rgba(var(--skate-black-rgb), 0.28);
}

.shop-info-card {
  display: grid;
  gap: 8px;
}

.shop-public-toolbar form {
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: var(--card-bg);
}

.shop-public-toolbar input {
  min-width: min(100%, 280px);
}

.shop-public-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 16px;
}

.shop-public-card {
  display: grid;
  gap: 12px;
  overflow: hidden;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: var(--card-bg);
  box-shadow: var(--skate-shadow-soft);
}

.shop-public-card__image {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--skate-radius-md);
  background: var(--skate-card-2);
}

.shop-card-actions,
.shop-public-actions,
.shop-admin-card-actions,
.shop-admin-product-header__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.shop-empty {
  padding: 14px;
  border: 1px dashed var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
  color: var(--skate-muted);
}

.shop-public-detail {
  display: grid;
  gap: 18px;
}

.shop-public-detail__media {
  display: grid;
  gap: 12px;
}

.shop-public-detail__media > img,
.shop-public-detail__media [data-shop-main-image] {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: var(--skate-radius-md);
  object-fit: contain;
  background: var(--skate-bg-soft);
}

.shop-thumb-row {
  display: flex;
  gap: 8px;
  overflow-x: auto;
}

.shop-thumb-row button,
.shop-quantity-control button {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-sm);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
}

.shop-thumb-row button {
  flex: 0 0 76px;
  height: 76px;
  padding: 4px;
}

.shop-thumb-row img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: calc(var(--skate-radius-sm) - 2px);
}

.shop-variant-chips,
.shop-quantity-control {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.shop-variant-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  cursor: pointer;
}

.shop-variant-chip.is-active {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow-soft);
}

.shop-quantity-control {
  align-items: center;
}

.shop-quantity-control button,
.shop-quantity-control input {
  width: 44px;
  height: 44px;
  min-height: 44px;
  text-align: center;
}

.shop-mobile-request {
  position: fixed;
  right: 16px;
  bottom: calc(var(--bottom-nav-height) + 22px);
  z-index: var(--skate-z-floating-action);
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
  box-shadow: var(--skate-shadow-soft);
}

.shop-order-screen .shop-public-hero {
  grid-template-columns: minmax(0, 1fr);
  min-height: auto;
  padding: clamp(18px, 4vw, 30px);
}

.shop-order-screen .shop-public-hero__content {
  max-width: 720px;
}

.shop-checkout {
  display: grid;
  gap: 16px;
  padding-bottom: calc(var(--skate-bottom-nav-height) + 24px + var(--skate-safe-bottom));
}

.shop-confirmation {
  display: grid;
  gap: 10px;
  margin: 18px 0 calc(var(--skate-bottom-nav-height) + 24px + var(--skate-safe-bottom));
  padding: 18px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 90% 10%, rgba(var(--skate-yellow-rgb), 0.18), transparent 34%),
    var(--skate-surface);
  color: var(--skate-text);
}

.shop-confirmation strong {
  font-size: 1.28rem;
  line-height: 1.15;
}

.shop-confirmation span,
.shop-confirmation em {
  color: var(--skate-muted);
  font-style: normal;
  line-height: 1.45;
}

.shop-confirmation a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 6px;
  padding: 0 16px;
  border-radius: var(--skate-radius-sm);
  background: var(--skate-yellow);
  color: var(--skate-bg);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.shop-confirmation--pending {
  border-color: rgba(var(--skate-yellow-rgb), 0.42);
}

.shop-confirmation--error {
  border-color: rgba(var(--skate-red-soft-rgb), 0.38);
}

.shop-checkout-stepper {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 8px 0 4px;
  list-style: none;
}

.shop-checkout-stepper li {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 8px;
  color: var(--skate-muted);
  text-align: center;
}

.shop-checkout-stepper li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 19px;
  left: calc(50% + 26px);
  z-index: 0;
  width: calc(100% - 52px);
  height: 2px;
  border-radius: 999px;
  background: var(--skate-border);
}

.shop-checkout-stepper li.is-active:not(:last-child)::after,
.shop-checkout-stepper li.is-complete:not(:last-child)::after {
  background: var(--skate-yellow);
}

.shop-checkout-stepper span {
  position: relative;
  z-index: 1;
  display: inline-grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-card-2);
  color: var(--skate-muted);
  font-size: 1rem;
  font-weight: var(--font-weight-bold);
  box-shadow: inset 0 1px 0 rgba(var(--skate-white-rgb), 0.05);
}

.shop-checkout-stepper strong {
  color: inherit;
  font-size: 0.9rem;
  font-weight: var(--font-weight-bold);
}

.shop-checkout-stepper li.is-active {
  color: var(--skate-yellow);
}

.shop-checkout-stepper li.is-active span,
.shop-checkout-stepper li.is-complete span {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
}

.shop-checkout-step {
  display: grid;
  gap: 16px;
  padding: clamp(16px, 4vw, 26px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 88% 8%, rgba(var(--skate-yellow-rgb), 0.10), transparent 34%),
    var(--card-bg);
  box-shadow: var(--skate-shadow-soft);
}

.shop-checkout-step[hidden],
.shop-billing-fields[hidden],
.shop-checkout-guest-fields[hidden],
.shop-checkout-login-choice[hidden],
.shop-checkout-empty-actions[hidden],
[data-shop-confirm-notes-row][hidden] {
  display: none !important;
}

.shop-checkout-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.shop-checkout-section-head {
  display: grid;
  gap: 6px;
}

.shop-checkout-section-head span {
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.shop-checkout-section-head h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.45rem, 5vw, 2rem);
}

.shop-request-items {
  display: grid;
  gap: 12px;
}

.shop-request-item {
  display: grid;
  grid-template-columns: minmax(72px, 110px) minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.04);
}

.shop-request-item__media {
  display: grid;
  place-items: center;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-black-rgb), 0.24);
}

.shop-request-item__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.shop-request-item__main {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.shop-request-item__main strong {
  color: var(--skate-text);
  font-size: 1rem;
  line-height: 1.2;
}

.shop-request-item__main span {
  color: var(--skate-muted);
  line-height: 1.25;
}

.shop-request-item__main em {
  color: var(--skate-yellow);
  font-style: normal;
  font-weight: var(--font-weight-bold);
}

.shop-request-item__actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.shop-request-qty {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.shop-request-qty button,
.shop-request-qty input {
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--skate-text);
  text-align: center;
}

.shop-request-qty button {
  color: var(--skate-yellow);
  font-size: 1.1rem;
  font-weight: var(--font-weight-bold);
}

.shop-request-remove {
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(var(--skate-danger-rgb), 0.28);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-danger-rgb), 0.10);
  color: var(--skate-danger);
  font-weight: var(--font-weight-bold);
}

.shop-checkout-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.shop-checkout-total span {
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
}

.shop-checkout-total strong {
  color: var(--skate-yellow);
  font-size: 1.28rem;
}

.shop-checkout-total--small {
  padding: 12px;
}

.shop-checkout-note,
.shop-checkout-next-note {
  margin: 0;
  color: var(--skate-muted);
  line-height: 1.5;
}

.shop-checkout-note--compact {
  padding: 0 2px;
  font-size: 0.92rem;
}

.shop-checkout-next-note {
  text-align: center;
  font-size: 0.9rem;
}

.shop-checkout-login-choice,
.shop-checkout-guest-fields {
  display: grid;
  gap: 14px;
}

.shop-checkout-login-choice {
  padding: 16px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background:
    radial-gradient(circle at 88% 16%, rgba(var(--skate-yellow-rgb), 0.16), transparent 36%),
    rgba(var(--skate-yellow-rgb), 0.08);
}

.shop-checkout-login-choice h3 {
  margin: 0;
  color: var(--skate-text);
  font-size: 1.2rem;
}

.shop-checkout-login-choice p {
  margin: 0;
  color: var(--skate-muted);
  line-height: 1.45;
}

.shop-checkout-login-choice__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.shop-checkout-login-choice__actions a,
.shop-checkout-login-choice__actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 14px;
  border-radius: var(--skate-radius-sm);
  font-weight: var(--font-weight-bold);
  text-align: center;
  text-decoration: none;
}

.shop-checkout-login-choice__actions a {
  border: 1px solid var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
}

.shop-checkout-login-choice__actions button {
  border: 1px solid var(--skate-border);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
}

.shop-checkout-empty-actions a,
.shop-checkout-primary,
.shop-checkout-secondary,
.shop-checkout-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: var(--skate-radius-sm);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.shop-checkout-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.shop-checkout-actions--split {
  display: grid;
  grid-template-columns: minmax(0, 0.74fr) minmax(0, 1fr);
}

.shop-checkout-primary,
.shop-checkout-submit {
  border: 1px solid var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
}

.shop-checkout-secondary,
.shop-checkout-empty-actions a {
  border: 1px solid var(--skate-border);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
}

.shop-checkout-primary:disabled,
.shop-checkout-submit:disabled {
  cursor: not-allowed;
  border-color: var(--skate-border);
  background: rgba(var(--skate-white-rgb), 0.08);
  color: var(--skate-muted);
}

.shop-checkout-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 14px;
}

.shop-checkout-fields label,
.shop-checkout-field-wide,
.shop-checkout-checkbox,
.shop-checkout-consent {
  display: grid;
  gap: 8px;
}

.shop-checkout-field-wide {
  grid-column: 1 / -1;
}

.shop-checkout-checkbox,
.shop-checkout-consent {
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-white-rgb), 0.04);
  color: var(--skate-text-soft);
}

.shop-billing-fields {
  display: grid;
  gap: 14px;
}

.shop-confirm-block {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.04);
}

.shop-confirm-block h3 {
  margin: 0;
  color: var(--skate-text);
}

.shop-confirm-items {
  display: grid;
  gap: 8px;
}

.shop-confirm-item {
  display: grid;
  gap: 4px;
  padding: 10px 0;
  border-bottom: 1px solid var(--skate-border);
}

.shop-confirm-item:last-child {
  border-bottom: 0;
}

.shop-confirm-item strong {
  color: var(--skate-text);
}

.shop-confirm-item span {
  color: var(--skate-muted);
}

.shop-confirm-item em {
  color: var(--skate-yellow);
  font-style: normal;
  font-weight: var(--font-weight-bold);
}

.shop-confirm-data {
  display: grid;
  gap: 10px;
  margin: 0;
}

.shop-confirm-data div {
  display: grid;
  gap: 3px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--skate-border);
}

.shop-confirm-data div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.shop-confirm-data dt {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.shop-confirm-data dd {
  margin: 0;
  color: var(--skate-text);
  line-height: 1.35;
}

@media (max-width: 520px) {
  .shop-checkout-stepper strong {
    font-size: 0.78rem;
  }

  .shop-request-item {
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 12px;
  }

  .shop-checkout-actions--split {
    grid-template-columns: minmax(0, 1fr);
  }

  .shop-checkout-login-choice__actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

.shop-admin-section,
.shop-admin-create,
.shop-admin-product-row,
.shop-admin-variant-card,
.shop-admin-price-card,
.shop-admin-mini-card,
.shop-media-panel,
.shop-public-accordion {
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: var(--card-bg);
}

.shop-storefront-hero {
  min-height: auto;
  grid-template-columns: minmax(0, 1.1fr) minmax(180px, 0.55fr);
}

.shop-storefront-hero .shop-public-hero__media,
.shop-public-card__image,
.shop-public-detail__media > img,
.shop-public-detail__media [data-shop-main-image],
.shop-thumb-row button,
.shop-request-item__media {
  background: var(--skate-white);
}

.shop-storefront-hero .shop-public-hero__media img,
.shop-public-card__image img,
.shop-public-detail__media > img,
.shop-public-detail__media [data-shop-main-image],
.shop-thumb-row img,
.shop-request-item__media img {
  object-fit: contain;
}

.shop-storefront-hero .shop-public-hero__media::after {
  display: none;
}

.shop-catalog-heading,
.shop-product-heading {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
  justify-content: space-between;
}

.shop-catalog-heading span,
.shop-product-heading span,
.shop-public-card__category,
.shop-product-summary span {
  color: var(--skate-yellow);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.shop-catalog-heading h2,
.shop-product-heading h1 {
  margin: 4px 0 0;
}

.shop-catalog-heading strong {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 0 12px;
  border: 1px solid rgba(var(--skate-success-rgb), 0.34);
  border-radius: 999px;
  background: rgba(var(--skate-success-rgb), 0.12);
  color: var(--skate-mint-300);
}

.shop-public-grid--compact {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 188px), 1fr));
  gap: 12px;
}

.shop-public-grid--compact .shop-public-card {
  gap: 10px;
  padding: 10px;
  border-radius: var(--skate-radius-md);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.045), transparent 42%),
    var(--card-bg);
}

.shop-public-card__image {
  aspect-ratio: 1 / 1;
  padding: 8px;
  border: 1px solid rgba(var(--skate-black-rgb), 0.08);
}

.shop-public-card__body {
  display: grid;
  gap: 8px;
}

.shop-public-card__body h2 {
  margin: 0;
  font-size: clamp(1rem, 2.2vw, 1.18rem);
  line-height: 1.1;
}

.shop-public-card__body h2 a {
  color: inherit;
  text-decoration: none;
}

.shop-public-card__meta {
  display: grid;
  gap: 3px;
}

.shop-public-card__meta p {
  margin: 0;
  color: var(--skate-muted);
  font-size: 0.9rem;
}

.shop-public-card__meta strong {
  color: var(--skate-text);
  font-size: 1rem;
}

.shop-public-grid--compact .shop-card-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shop-public-grid--compact .shop-card-actions > * {
  min-height: 40px;
  padding-inline: 10px;
  border-radius: var(--skate-radius-sm);
  font-size: 0.88rem;
}

.shop-product-heading {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px 14px;
  align-items: start;
  padding: clamp(14px, 4vw, 24px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 90% 20%, rgba(var(--skate-blue-400-rgb), 0.14), transparent 34%),
    var(--card-bg);
}

.shop-product-heading .shop-back-link {
  grid-row: 1 / span 2;
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.055);
  color: var(--skate-text);
  cursor: pointer;
  text-decoration: none;
}

.shop-product-heading .shop-back-link:hover,
.shop-product-heading .shop-back-link:focus-visible {
  border-color: var(--skate-yellow-border);
  color: var(--skate-yellow);
  outline: none;
}

.shop-back-link__icon {
  width: 18px;
  height: 18px;
}

.shop-product-heading > span,
.shop-product-heading h1 {
  grid-column: 2;
}

.shop-product-heading p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--skate-muted);
  line-height: 1.5;
}

.shop-product-builder {
  align-items: start;
  gap: clamp(18px, 4vw, 30px);
}

.shop-product-builder .shop-public-detail__body {
  display: grid;
  gap: clamp(18px, 4vw, 28px);
}

.shop-builder-step,
.shop-product-summary {
  padding: clamp(18px, 4vw, 26px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: var(--card-bg);
  box-shadow: var(--skate-shadow-soft);
}

.shop-builder-step--media {
  background:
    radial-gradient(circle at 18% 10%, rgba(var(--skate-success-rgb), 0.10), transparent 32%),
    var(--card-bg);
}

.shop-builder-step__label {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}

.shop-builder-step__label span {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.16);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.shop-builder-step:nth-of-type(1) .shop-builder-step__label span {
  background: rgba(var(--skate-success-rgb), 0.16);
  color: var(--skate-mint-300);
}

.shop-builder-step--variant .shop-builder-step__label span {
  background: rgba(var(--skate-purple-600-rgb), 0.18);
  color: var(--skate-purple-200);
}

.shop-builder-step--quantity .shop-builder-step__label span {
  background: rgba(var(--skate-blue-400-rgb), 0.18);
  color: var(--skate-blue-300-alt);
}

.shop-product-summary {
  display: grid;
  gap: 12px;
}

.shop-product-summary strong {
  font-size: 1.42rem;
  color: var(--skate-text);
}

.shop-product-summary p {
  margin: 0;
  color: var(--skate-muted);
  font-size: 1rem;
  line-height: 1.68;
}

.shop-option-panel,
.shop-quantity-panel {
  display: grid;
  gap: 14px;
}

.shop-public-accordions {
  display: grid;
  gap: clamp(14px, 3.4vw, 22px);
}

.shop-public-accordion {
  padding: clamp(18px, 4vw, 26px);
}

.shop-public-accordion summary {
  cursor: pointer;
  color: var(--skate-text);
  font-size: 1.05rem;
  font-weight: var(--font-weight-bold);
}

.shop-public-accordion > * + * {
  margin-top: 14px;
}

.shop-public-accordion p {
  margin: 0;
  color: var(--skate-muted);
  line-height: 1.68;
}

.shop-public-detail__media > img,
.shop-public-detail__media [data-shop-main-image] {
  padding: 14px;
  border: 1px solid rgba(var(--skate-black-rgb), 0.08);
}

.shop-thumb-row button {
  border-color: rgba(var(--skate-black-rgb), 0.10);
}

.shop-thumb-row button.is-active {
  border-color: var(--skate-yellow);
  box-shadow: 0 0 0 2px rgba(var(--skate-yellow-rgb), 0.20);
}

.shop-variant-select select,
.shop-quantity-control input {
  background: var(--skate-surface-soft);
}

.shop-public-actions {
  display: grid;
  gap: 10px;
}

.shop-public-actions button {
  width: 100%;
}

.shop-public-actions__hint {
  margin: 0;
  color: var(--skate-muted);
  font-size: 0.92rem;
  text-align: center;
}

.shop-mobile-request {
  display: none !important;
}

@media (max-width: 760px) {
  .shop-storefront-hero {
    grid-template-columns: minmax(0, 1fr);
    padding: 18px;
  }

  .shop-storefront-hero .shop-public-hero__media {
    min-height: 150px;
  }

  .shop-public-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .shop-public-grid--compact .shop-public-card {
    padding: 8px;
  }

  .shop-public-grid--compact .shop-card-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* =========================================================
   14. FISR LIVE
   Race boards, live states and FISR public pages.
   ========================================================= */
.fisr-public-block,
.fisr-public-archive-section,
.fisr-live-alert,
.fisr-search-card,
.fisr-search-summary,
.fisr-empty-card {
  padding: clamp(16px, 2.6vw, 24px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: var(--card-bg);
  box-shadow: var(--skate-shadow-soft);
}

.fisr-public-live-meta,
.fisr-public-stat-row,
.fisr-public-detail-actions,
.fisr-public-section-head,
.fisr-public-quick-nav__row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.fisr-public-section-head {
  justify-content: space-between;
  margin-block-end: 14px;
}

.fisr-public-live-meta span,
.fisr-public-stat-row span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  font-size: 0.86rem;
}

.fisr-public-quick-nav {
  display: grid;
  gap: 10px;
}

.fisr-public-quick-nav__row {
  overflow-x: auto;
  padding-bottom: 4px;
}

.fisr-public-quick-nav__card {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  text-decoration: none;
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.fisr-public-quick-nav__card:hover,
.fisr-public-quick-nav__card:focus-visible {
  border-color: var(--skate-yellow-border);
  background: rgba(var(--skate-yellow-rgb), 0.10);
  color: var(--skate-yellow);
  box-shadow: 0 10px 26px rgba(var(--skate-yellow-rgb), 0.10);
}

.fisr-public-quick-nav__card.is-current {
  border-color: var(--skate-yellow);
  background:
    linear-gradient(180deg, rgba(var(--skate-yellow-rgb), 0.14), rgba(var(--skate-yellow-rgb), 0.06)),
    var(--skate-card-2);
  color: var(--skate-yellow);
  box-shadow:
    0 12px 30px rgba(var(--skate-yellow-rgb), 0.16),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.06);
}

.fisr-public-quick-nav__card.is-current:hover,
.fisr-public-quick-nav__card.is-current:focus-visible {
  border-color: var(--skate-yellow);
  background:
    linear-gradient(180deg, rgba(var(--skate-yellow-rgb), 0.18), rgba(var(--skate-yellow-rgb), 0.08)),
    var(--skate-card-2);
  color: var(--skate-yellow);
}

.fisr-public-quick-nav__icon {
  --skate-icon-size: 1.12rem;
  --skate-icon-stroke-width: 1.85;
  width: var(--skate-icon-size);
  height: var(--skate-icon-size);
  color: var(--skate-yellow);
  opacity: 0.88;
}

.fisr-public-quick-nav__card.is-current .fisr-public-quick-nav__icon {
  color: currentColor;
  opacity: 1;
}

.fisr-public-mini-cards,
.fisr-public-message-list,
.fisr-public-message-group-list {
  display: grid;
  gap: 10px;
}

.fisr-public-mini-cards a,
.fisr-public-mini-cards article,
.fisr-public-message-list article,
.fisr-public-heat,
.fisr-public-start-card,
.fisr-public-detail-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  text-decoration: none;
}

.fisr-public-row-list,
.fisr-public-update-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fisr-public-row-list li,
.fisr-public-update-list li {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
}

.fisr-public-row-list li > a,
.fisr-public-row-list li > span,
.fisr-public-update-list li {
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  color: var(--skate-text);
  text-decoration: none;
}

.fisr-public-row-list small,
.fisr-public-row-list em,
.fisr-public-row-list i {
  color: var(--skate-muted);
  font-style: normal;
}

.fisr-public-row-list b,
.fisr-public-start-pill,
.fisr-public-mini-time {
  width: fit-content;
  padding: 4px 8px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-style: normal;
}

.fisr-public-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  gap: 10px;
}

.fisr-public-detail-grid div {
  padding: 10px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
}

.fisr-public-detail-actions a,
.fisr-public-detail-actions button,
.fisr-public-section-head a,
.fisr-public-back,
.fisr-public-message-list button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  text-decoration: none;
  cursor: pointer;
}

.fisr-public-detail-actions a:hover,
.fisr-public-detail-actions button:hover,
.fisr-public-section-head a:hover,
.fisr-public-back:hover,
.fisr-public-message-list button:hover {
  border-color: var(--skate-yellow-border);
  color: var(--skate-yellow);
}

.fisr-public-live-screen .fisr-public-step-head {
  --fisr-step-rgb: var(--skate-category-rgb, var(--skate-yellow-rgb));
  display: grid;
  grid-template-columns: clamp(54px, 9vw, 70px) 1px minmax(0, 1fr);
  gap: clamp(12px, 3vw, 22px);
  align-items: center;
  padding: clamp(16px, 3.6vw, 24px);
  border: 1px solid rgba(var(--fisr-step-rgb), 0.42);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 96% 12%, rgba(var(--fisr-step-rgb), 0.22), transparent 43%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--fisr-step-rgb), 0.06)),
    var(--skate-card-2);
  box-shadow:
    0 18px 44px rgba(var(--skate-black-rgb), 0.30),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.05);
}

.fisr-public-live-screen .fisr-public-step-head.is-root {
  grid-template-columns: minmax(0, 1fr);
}

.fisr-public-live-screen .fisr-public-step-head__back {
  display: grid;
  place-items: center;
  width: clamp(54px, 9vw, 70px);
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--skate-text);
  font-size: clamp(1.05rem, 4vw, 1.35rem);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-step-head__back:hover,
.fisr-public-live-screen .fisr-public-step-head__back:focus-visible {
  color: rgb(var(--fisr-step-rgb));
}

.fisr-public-live-screen .fisr-public-step-head__back-icon {
  display: grid;
  width: clamp(54px, 9vw, 70px);
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(var(--fisr-step-rgb), 0.58);
  border-radius: 17px;
  background:
    radial-gradient(circle at 50% 52%, rgba(var(--fisr-step-rgb), 0.20), transparent 60%),
    rgba(var(--skate-black-rgb), 0.20);
  color: var(--skate-text);
  box-shadow: 0 0 0 rgba(var(--fisr-step-rgb), 0);
  animation: fisr-step-back-pulse 1.45s ease-in-out infinite;
}

.fisr-public-live-screen .fisr-public-step-head__back-svg {
  width: clamp(30px, 5vw, 38px);
  height: clamp(30px, 5vw, 38px);
  stroke-width: 2.4;
}

.fisr-public-live-screen .fisr-public-step-head__divider {
  display: block;
  width: 1px;
  min-height: clamp(58px, 9vw, 76px);
  background: linear-gradient(180deg, transparent, rgba(var(--skate-white-rgb), 0.28), transparent);
}

.fisr-public-live-screen .fisr-public-step-head__content {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-step-head__content .eyebrow {
  margin: 0;
  color: rgb(var(--fisr-step-rgb));
}

.fisr-public-live-screen .fisr-public-step-head__content h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.55rem, 7vw, 2.85rem);
  line-height: 1.02;
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-step-head__crumbs {
  display: flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  margin-block-start: 5px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding-block-end: 1px;
  white-space: nowrap;
  scrollbar-width: none;
}

.fisr-public-live-screen .fisr-public-step-head__crumbs::-webkit-scrollbar {
  display: none;
}

.fisr-public-live-screen .fisr-public-step-head__crumbs a,
.fisr-public-live-screen .fisr-public-step-head__crumbs span {
  flex: 0 0 auto;
  color: rgb(var(--fisr-step-rgb));
  font-size: clamp(0.76rem, 3.2vw, 0.95rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.12;
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-step-head__crumbs a:hover,
.fisr-public-live-screen .fisr-public-step-head__crumbs a:focus-visible {
  color: var(--skate-text);
}

.fisr-public-live-screen .fisr-public-step-head__crumbs span[aria-current="page"] {
  color: var(--skate-text);
}

.fisr-public-live-screen .fisr-public-step-head__crumbs .fisr-public-step-head__crumb-separator {
  color: rgba(var(--skate-white-rgb), 0.46);
  font-size: clamp(0.86rem, 3.6vw, 1.05rem);
}

@keyframes fisr-step-back-pulse {
  0%,
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(var(--fisr-step-rgb), 0.26);
  }

  50% {
    transform: scale(1.06);
    box-shadow: 0 0 0 9px rgba(var(--fisr-step-rgb), 0);
  }
}

.fisr-live-nav {
  display: grid;
  gap: 12px;
  margin-block-end: 18px;
}

.fisr-live-alert {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.fisr-live-alert--error {
  border-color: rgba(var(--skate-danger-rgb), 0.28);
}

.fisr-live-alert__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fisr-public-archive-list,
.fisr-public-section-grid {
  display: grid;
  gap: 12px;
}

.fisr-public-muted,
.fisr-nav-card__support {
  color: var(--skate-muted);
}

.fisr-public-archive-screen .fisr-public-archive-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 16px;
}

.fisr-public-archive-screen .fisr-public-archive-card {
  align-content: start;
  padding: clamp(16px, 2.3vw, 22px);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 84% 12%, rgba(var(--skate-yellow-rgb), 0.1), transparent 34%),
    var(--card-bg);
}

.fisr-public-archive-screen .fisr-public-archive-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  border-color: var(--skate-yellow-border);
}

.fisr-public-live-screen .fisr-public-live-main,
.fisr-public-archive-screen .fisr-public-live-main {
  width: min(100%, var(--skate-container));
}

.fisr-public-live-screen .fisr-public-live-header {
  width: min(100%, var(--skate-container));
  min-height: auto;
  margin-inline: auto;
  padding: clamp(22px, 4vw, 44px);
  border-radius: var(--skate-radius-xl);
}

.fisr-public-live-screen .fisr-public-live-header h1,
.fisr-public-live-screen .fisr-public-live-header p {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-live-header h1 {
  max-width: 11ch;
  color: var(--skate-text);
  font-size: clamp(2.6rem, 6vw, 5.4rem);
  line-height: 0.92;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-live-header p {
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-block,
.fisr-public-live-screen .fisr-public-archive-section,
.fisr-public-live-screen .fisr-live-alert,
.fisr-public-live-screen .fisr-search-card,
.fisr-public-live-screen .fisr-search-summary,
.fisr-public-live-screen .fisr-empty-card {
  width: min(100%, var(--skate-container));
  margin-inline: auto;
  padding: clamp(18px, 2.6vw, 28px);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 92% 6%, rgba(var(--skate-yellow-rgb), 0.08), transparent 30%),
    var(--card-bg);
}

.fisr-public-live-screen .fisr-public-quick-nav {
  width: min(100%, var(--skate-container));
  margin-inline: auto;
}

.fisr-public-live-screen .fisr-public-quick-nav__row {
  gap: 10px;
  scrollbar-width: none;
}

.fisr-public-live-screen .fisr-public-quick-nav__row::-webkit-scrollbar {
  display: none;
}

.fisr-public-live-screen .fisr-public-quick-nav__card {
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.055);
  box-shadow: 0 8px 22px rgba(var(--skate-black-rgb), 0.16);
}

.fisr-public-live-screen .fisr-public-quick-nav__card.is-current {
  background:
    linear-gradient(180deg, rgba(var(--skate-yellow-rgb), 0.14), rgba(var(--skate-yellow-rgb), 0.06)),
    var(--skate-card-2);
  color: var(--skate-yellow);
  box-shadow:
    0 12px 30px rgba(var(--skate-yellow-rgb), 0.16),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.06);
}

.fisr-public-live-screen .fisr-public-section-head h2,
.fisr-public-live-screen .fisr-public-block > h2,
.fisr-public-live-screen .fisr-public-block > h3,
.fisr-public-live-screen .fisr-public-detail-card h2 {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-section-head,
.fisr-public-live-screen .fisr-public-block {
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-stat-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
}

.fisr-public-live-screen .fisr-public-stat-row span,
.fisr-public-live-screen .fisr-public-live-meta span {
  justify-content: center;
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-sync-status__icon {
  --skate-icon-size: 1.18rem;
  --skate-icon-stroke-width: 1.85;
  color: var(--skate-yellow);
}

.fisr-public-live-screen .fisr-public-row-list,
.fisr-public-live-screen .fisr-public-update-list,
.fisr-public-live-screen .fisr-public-mini-cards,
.fisr-public-live-screen .fisr-public-message-list,
.fisr-public-live-screen .fisr-public-message-group-list {
  gap: 10px;
}

.fisr-public-live-screen .fisr-public-row-list li,
.fisr-public-live-screen .fisr-public-update-list li,
.fisr-public-live-screen .fisr-public-mini-cards a,
.fisr-public-live-screen .fisr-public-mini-cards article,
.fisr-public-live-screen .fisr-public-message-list article,
.fisr-public-live-screen .fisr-public-heat,
.fisr-public-live-screen .fisr-public-start-card,
.fisr-public-live-screen .fisr-public-detail-card,
.fisr-public-live-screen .fisr-public-result-card {
  border-color: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.30);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 94% 8%, rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.09), transparent 34%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-white-rgb), 0.022)),
    var(--skate-surface-soft);
}

.fisr-public-live-screen [data-fisr-athlete-row].is-fisr-followed-athlete {
  border-color: rgba(var(--skate-yellow-rgb), 0.88) !important;
  box-shadow:
    0 0 0 1px rgba(var(--skate-yellow-rgb), 0.38),
    0 16px 34px rgba(var(--skate-yellow-rgb), 0.12),
    var(--skate-shadow-soft);
}

.fisr-public-live-screen [data-fisr-athlete-row].is-fisr-followed-athlete {
  background:
    radial-gradient(circle at 94% 6%, rgba(var(--skate-yellow-rgb), 0.18), transparent 36%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.065), rgba(var(--skate-bg-rgb), 0.22)),
    var(--skate-surface-soft);
}

.fisr-public-live-screen .fisr-public-followed-inline-badge {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 6px 9px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.72);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.14);
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 0 16px rgba(var(--skate-yellow-rgb), 0.16);
}

.fisr-public-live-screen .fisr-public-followed-inline-badge b,
.fisr-public-live-screen .fisr-public-followed-inline-badge__star {
  color: var(--skate-yellow);
  font-size: 0.9rem;
  line-height: 1;
}

.fisr-public-live-screen .fisr-public-row-list li > a,
.fisr-public-live-screen .fisr-public-row-list li > span,
.fisr-public-live-screen .fisr-public-update-list li {
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
  padding: 13px 14px;
}

.fisr-public-live-screen .fisr-public-athlete-result-card {
  padding: 0;
}

.fisr-public-live-screen .fisr-public-athlete-result-card__link {
  display: grid;
  gap: 14px;
  padding: clamp(14px, 2vw, 18px);
  color: inherit;
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-athlete-result-card__identity {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-athlete-result-card__identity strong {
  overflow-wrap: anywhere;
  color: var(--skate-text);
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  line-height: 1.12;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-athlete-result-card__identity small {
  width: fit-content;
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-semibold);
}

.fisr-public-live-screen .fisr-public-athlete-result-card__metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 8px;
}

.fisr-public-live-screen .fisr-public-athlete-result-card__metrics div {
  display: grid;
  gap: 4px;
  min-height: 64px;
  align-content: center;
  padding: 10px 12px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.22);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.06);
}

.fisr-public-live-screen .fisr-public-athlete-result-card__metrics dt,
.fisr-public-live-screen .fisr-public-athlete-result-card__metrics dd {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-athlete-result-card__metrics dt {
  color: var(--skate-muted);
  font-size: 0.68rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-athlete-result-card__metrics dd {
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  font-size: 1rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
}

.fisr-public-live-screen .fisr-public-athlete-result-card__context {
  color: var(--skate-muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

.fisr-public-live-screen .fisr-public-athlete-story {
  display: grid;
  gap: 8px;
  padding: 13px 14px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.34);
  border-left: 4px solid rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  border-radius: var(--skate-radius-md);
  background:
    linear-gradient(90deg, rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.12), rgba(var(--skate-white-rgb), 0.035)),
    rgba(var(--skate-bg-rgb), 0.28);
}

.fisr-public-live-screen .fisr-public-athlete-story.is-start {
  border-color: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.36);
  border-left-color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  background:
    linear-gradient(90deg, rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.11), rgba(var(--skate-white-rgb), 0.035)),
    rgba(var(--skate-bg-rgb), 0.28);
}

.fisr-public-live-screen .fisr-public-athlete-story span {
  width: fit-content;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.14);
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-athlete-story.is-start span {
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.13);
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
}

.fisr-public-live-screen .fisr-public-athlete-story p {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(0.96rem, 1.7vw, 1.08rem);
  font-weight: var(--font-weight-semibold);
  line-height: 1.45;
}

.fisr-public-live-screen .fisr-public-athlete-journey {
  display: grid;
  gap: 10px;
  padding: 0 14px 14px;
}

.fisr-public-live-screen .fisr-public-athlete-journey__item {
  display: grid;
  gap: 11px;
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.34);
  border-radius: var(--skate-radius-md);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.18)),
    rgba(var(--skate-bg-rgb), 0.22);
}

.fisr-public-live-screen .fisr-public-athlete-journey__item.is-result {
  border-color: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.54);
  background:
    radial-gradient(circle at 96% 4%, rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.15), transparent 34%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.18)),
    rgba(var(--skate-bg-rgb), 0.22);
}

.fisr-public-live-screen .fisr-public-athlete-journey__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-athlete-journey__head span {
  width: fit-content;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.12);
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  font-size: 0.7rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-athlete-journey__item.is-result .fisr-public-athlete-journey__head span {
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.14);
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
}

.fisr-public-live-screen .fisr-public-athlete-journey__head strong {
  overflow-wrap: anywhere;
  color: var(--skate-text);
  font-size: clamp(1rem, 2.4vw, 1.2rem);
  line-height: 1.12;
}

.fisr-public-live-screen .fisr-public-athlete-journey__head small {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-athlete-journey__item p {
  margin: 0;
  color: var(--skate-text-soft);
  font-size: 0.9rem;
  line-height: 1.45;
}

.fisr-public-live-screen .fisr-public-athlete-journey__metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 112px), 1fr));
  gap: 8px;
  margin: 0;
}

.fisr-public-live-screen .fisr-public-athlete-journey__metrics div {
  display: grid;
  gap: 3px;
  min-height: 58px;
  align-content: center;
  padding: 9px 10px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.18);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-white-rgb), 0.045);
}

.fisr-public-live-screen .fisr-public-athlete-journey__metrics dt,
.fisr-public-live-screen .fisr-public-athlete-journey__metrics dd {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-athlete-journey__metrics dt {
  color: var(--skate-muted);
  font-size: 0.68rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-athlete-journey__metrics dd {
  overflow-wrap: anywhere;
  color: var(--skate-text);
  font-size: 0.94rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
}

.fisr-public-live-screen .fisr-public-athlete-journey__item.is-result .fisr-public-athlete-journey__metrics dd {
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
}

.fisr-public-live-screen .fisr-public-athlete-journey__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fisr-public-live-screen .fisr-public-athlete-journey__actions a {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.14);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.055);
  color: var(--skate-text);
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-athlete-journey__actions a:hover,
.fisr-public-live-screen .fisr-public-athlete-journey__actions a:focus-visible {
  border-color: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.56);
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
}

.fisr-public-live-screen .fisr-public-linked-documents {
  margin: 0 14px 14px;
  border-color: rgba(var(--skate-white-rgb), 0.08);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-bg-rgb), 0.18);
}

.fisr-public-live-screen .fisr-public-linked-documents > summary {
  grid-template-columns: minmax(0, 1fr) 28px;
  min-height: 44px;
  padding: 10px 12px;
  color: var(--skate-muted);
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-linked-documents > summary::after {
  grid-column: 2;
  width: 28px;
  height: 28px;
}

.fisr-public-live-screen .fisr-public-linked-documents .fisr-public-row-list {
  padding: 0 10px 10px;
}

.fisr-public-live-screen .fisr-public-row-list li > a > span:first-child,
.fisr-public-live-screen .fisr-public-row-list li > span > span:first-child {
  overflow-wrap: anywhere;
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-row-list small,
.fisr-public-live-screen .fisr-public-row-list em,
.fisr-public-live-screen .fisr-public-row-list i {
  line-height: 1.45;
}

.fisr-public-live-screen .fisr-public-detail-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
}

.fisr-public-live-screen .fisr-public-detail-grid div {
  display: grid;
  gap: 5px;
  padding: 12px;
}

.fisr-public-live-screen .fisr-public-detail-grid dt,
.fisr-public-live-screen .fisr-public-detail-grid dd {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-detail-grid dt {
  color: var(--skate-muted);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-detail-grid dd {
  color: var(--skate-text);
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-start-detail-summary {
  gap: 12px;
}

.fisr-public-live-screen .fisr-public-start-detail-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fisr-public-live-screen .fisr-public-start-detail-grid div {
  min-height: 64px;
  align-content: center;
}

.fisr-public-live-screen .fisr-public-start-table-block {
  gap: 18px;
}

.fisr-public-live-screen .fisr-public-start-table-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-block-end: 6px;
}

.fisr-public-live-screen .fisr-public-start-table-heading h2 {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-start-table-heading span {
  flex: 0 0 auto;
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-start-table {
  overflow: hidden;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.34);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 94% 0%, rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.10), transparent 34%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.045), rgba(var(--skate-bg-rgb), 0.20)),
    var(--skate-surface-soft);
}

.fisr-public-live-screen .fisr-public-start-table__head,
.fisr-public-live-screen .fisr-public-start-table__link {
  display: grid;
  grid-template-columns: 74px minmax(0, 1.25fr) minmax(0, 1fr) minmax(112px, 0.7fr);
  gap: 12px;
  align-items: center;
}

.fisr-public-live-screen .fisr-public-start-table__head {
  padding: 11px 14px;
  border-bottom: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.22);
  background: rgba(var(--skate-black-rgb), 0.22);
  color: var(--skate-muted);
  font-size: 0.68rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-start-table__body {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fisr-public-live-screen .fisr-public-start-table__row {
  margin: 0;
  border-bottom: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.18);
}

.fisr-public-live-screen .fisr-public-start-table__row:last-child {
  border-bottom: 0;
}

.fisr-public-live-screen .fisr-public-start-table__link {
  min-height: 68px;
  padding: 12px 14px;
  color: var(--skate-text);
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-start-table__row:nth-child(even) .fisr-public-start-table__link {
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.025);
}

.fisr-public-live-screen .fisr-public-start-table__cell {
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-start-table__cell--bib {
  display: grid;
  width: 58px;
  height: 48px;
  align-content: center;
  justify-items: center;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.52);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.10);
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
}

.fisr-public-live-screen .fisr-public-start-table__cell--bib small {
  font-size: 0.62rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-start-table__cell--bib strong {
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  font-size: 1.05rem;
  line-height: 1.1;
}

.fisr-public-live-screen .fisr-public-start-table__cell--athlete {
  display: grid;
  gap: 3px;
}

.fisr-public-live-screen .fisr-public-start-table__cell--athlete strong {
  overflow-wrap: anywhere;
  color: var(--skate-text);
  font-size: 0.95rem;
  line-height: 1.14;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-start-table__cell--athlete small,
.fisr-public-live-screen .fisr-public-start-table__cell--club {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-start-table__cell--status i {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  justify-content: center;
  padding: 6px 9px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-black-rgb), 0.22);
  color: var(--skate-muted);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
}

.fisr-public-live-screen .fisr-public-start-table__row.is-start-pending .fisr-public-start-table__cell--status i {
  border-color: rgba(var(--skate-success-rgb), 0.42);
  background: rgba(var(--skate-success-rgb), 0.12);
  color: var(--skate-success);
}

.fisr-public-live-screen .fisr-public-start-table__row.is-fisr-followed-athlete .fisr-public-start-table__cell--bib {
  box-shadow: 0 0 0 1px rgba(var(--skate-yellow-rgb), 0.46), 0 0 24px rgba(var(--skate-yellow-rgb), 0.16);
}

@media (max-width: 720px) {
  .fisr-public-live-screen .fisr-public-start-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fisr-public-live-screen .fisr-public-start-table__head {
    display: none;
  }

  .fisr-public-live-screen .fisr-public-start-table__link {
    grid-template-columns: 58px minmax(0, 1fr);
    grid-template-areas:
      "bib athlete"
      "bib club"
      "bib status";
    gap: 5px 12px;
    min-height: 82px;
    padding: 12px;
  }

  .fisr-public-live-screen .fisr-public-start-table__cell--bib {
    grid-area: bib;
    align-self: center;
  }

  .fisr-public-live-screen .fisr-public-start-table__cell--athlete {
    grid-area: athlete;
  }

  .fisr-public-live-screen .fisr-public-start-table__cell--club {
    grid-area: club;
  }

  .fisr-public-live-screen .fisr-public-start-table__cell--status {
    grid-area: status;
  }
}

@media (max-width: 430px) {
  .fisr-public-live-screen .fisr-public-start-detail-grid {
    grid-template-columns: 1fr;
  }

  .fisr-public-live-screen .fisr-public-start-table-heading {
    align-items: flex-start;
  }

  .fisr-public-live-screen .fisr-public-start-table-heading span {
    padding-top: 4px;
  }
}

.fisr-public-live-screen details {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-white-rgb), 0.04);
  overflow: hidden;
}

.fisr-public-live-screen details[open] {
  border-color: var(--skate-yellow-border);
}

.fisr-public-live-screen details > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  min-height: 54px;
  padding: 13px 14px;
  list-style: none;
  list-style-type: none;
  -webkit-tap-highlight-color: transparent;
}

.fisr-public-live-screen details > summary::-webkit-details-marker {
  display: none;
}

.fisr-public-live-screen details > summary::marker {
  content: "";
  font-size: 0;
}

.fisr-public-live-screen details > summary::after {
  content: "+";
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen details[open] > summary::after {
  content: "-";
}

.fisr-public-live-screen details > summary small,
.fisr-public-live-screen details > summary em,
.fisr-public-live-screen details > summary mark {
  color: var(--skate-muted);
  font-style: normal;
}

.fisr-public-live-screen details > summary > span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.fisr-public-live-screen details > summary strong,
.fisr-public-live-screen details > summary small,
.fisr-public-live-screen details > summary em {
  min-width: 0;
  overflow-wrap: anywhere;
}

.fisr-public-live-screen details > summary mark {
  width: fit-content;
  padding: 3px 7px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.fisr-public-live-screen .fisr-public-start-card__summary strong,
.fisr-public-live-screen .fisr-public-document-accordion summary strong {
  display: block;
  color: var(--skate-text);
  font-size: clamp(1rem, 2.8vw, 1.25rem);
  line-height: 1.14;
}

.fisr-public-live-screen .fisr-public-start-card__summary small,
.fisr-public-live-screen .fisr-public-document-accordion summary small {
  display: block;
  margin-block-start: 5px;
  line-height: 1.35;
}

.fisr-public-live-screen .fisr-public-start-card__body,
.fisr-public-live-screen .fisr-public-heat__body,
.fisr-public-live-screen .fisr-public-document-accordion__body {
  display: grid;
  gap: 12px;
  padding: 0 14px 14px;
}

.fisr-public-live-screen .fisr-public-document-accordion-list {
  display: grid;
  gap: 12px;
}

.fisr-public-live-screen .fisr-public-document-accordion__body a {
  display: inline-flex;
  width: fit-content;
  min-height: 40px;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-category-list {
  display: grid;
  gap: 12px;
  margin-block-start: 12px;
}

.skate-category--primi-passi {
  --skate-category-rgb: 255, 214, 56;
}

.skate-category--primi-passi-f {
  --skate-category-rgb: 255, 129, 188;
}

.skate-category--primi-passi-m {
  --skate-category-rgb: 65, 207, 255;
}

.skate-category--giovanissimi {
  --skate-category-rgb: 74, 219, 255;
  --skate-category-icon: url("../svg/categorie/giovanissimi.svg");
}

.skate-category--giovanissimi-f {
  --skate-category-rgb: 255, 112, 184;
  --skate-category-icon: url("../svg/categorie/giovanissimi.svg");
}

.skate-category--giovanissimi-m {
  --skate-category-rgb: 51, 203, 255;
  --skate-category-icon: url("../svg/categorie/giovanissimi.svg");
}

.skate-category--esordienti {
  --skate-category-rgb: 255, 154, 72;
  --skate-category-icon: url("../svg/categorie/esordienti.svg");
}

.skate-category--esordienti-f {
  --skate-category-rgb: 255, 137, 104;
  --skate-category-icon: url("../svg/categorie/esordienti.svg");
}

.skate-category--esordienti-m {
  --skate-category-rgb: 0, 214, 172;
  --skate-category-icon: url("../svg/categorie/esordienti.svg");
}

.skate-category--ragazzi-12 {
  --skate-category-rgb: 255, 214, 0;
  --skate-category-icon: url("../svg/categorie/r12.svg");
}

.skate-category--ragazzi-12-f {
  --skate-category-rgb: 191, 126, 255;
  --skate-category-icon: url("../svg/categorie/r12.svg");
}

.skate-category--ragazzi-12-m {
  --skate-category-rgb: 86, 158, 255;
  --skate-category-icon: url("../svg/categorie/r12.svg");
}

.skate-category--ragazzi {
  --skate-category-rgb: 255, 205, 72;
  --skate-category-icon: url("../svg/categorie/ragazzi.svg");
}

.skate-category--ragazzi-f {
  --skate-category-rgb: 255, 191, 70;
  --skate-category-icon: url("../svg/categorie/ragazzi.svg");
}

.skate-category--ragazzi-m {
  --skate-category-rgb: 77, 225, 124;
  --skate-category-icon: url("../svg/categorie/ragazzi.svg");
}

.skate-category--allievi {
  --skate-category-rgb: 151, 106, 255;
  --skate-category-icon: url("../svg/categorie/allievi.svg");
}

.skate-category--allievi-f {
  --skate-category-rgb: 255, 94, 140;
  --skate-category-icon: url("../svg/categorie/allievi.svg");
}

.skate-category--allievi-m {
  --skate-category-rgb: 0, 192, 216;
  --skate-category-icon: url("../svg/categorie/allievi.svg");
}

.skate-category--juniores {
  --skate-category-rgb: 121, 147, 255;
  --skate-category-icon: url("../svg/categorie/juniores.svg");
}

.skate-category--juniores-f {
  --skate-category-rgb: 185, 118, 255;
  --skate-category-icon: url("../svg/categorie/juniores.svg");
}

.skate-category--juniores-m {
  --skate-category-rgb: 76, 126, 255;
  --skate-category-icon: url("../svg/categorie/juniores.svg");
}

.skate-category--seniores {
  --skate-category-rgb: 255, 132, 80;
  --skate-category-icon: url("../svg/categorie/seniores.svg");
}

.skate-category--seniores-f {
  --skate-category-rgb: 255, 126, 92;
  --skate-category-icon: url("../svg/categorie/seniores.svg");
}

.skate-category--seniores-m {
  --skate-category-rgb: 54, 225, 168;
  --skate-category-icon: url("../svg/categorie/seniores.svg");
}

.skate-category--master,
.skate-category--master-f,
.skate-category--master-m {
  --skate-category-rgb: 150, 174, 255;
  --skate-category-icon: url("../svg/categorie/master.svg");
}

.skate-category--master-f {
  --skate-category-rgb: 230, 116, 255;
}

.skate-category--master-m {
  --skate-category-rgb: 125, 166, 255;
}

.skate-category--default {
  --skate-category-rgb: var(--skate-yellow-rgb);
}

.fisr-public-live-screen .fisr-public-detail-card,
.fisr-public-live-screen .fisr-public-row-list li,
.fisr-public-live-screen .fisr-public-athlete-result-card,
.fisr-public-live-screen .fisr-public-athlete-story,
.fisr-public-live-screen .fisr-public-athlete-journey__item,
.fisr-public-live-screen .fisr-public-start-table-block,
.fisr-public-live-screen .fisr-public-start-table,
.fisr-public-live-screen .fisr-public-start-table__row,
.fisr-public-live-screen .fisr-public-classification,
.fisr-public-live-screen .fisr-public-classification-row,
.fisr-public-live-screen .fisr-public-athlete-detail,
.fisr-public-live-screen .fisr-public-athlete-detail__head,
.fisr-public-live-screen .fisr-public-athlete-detail__summary,
.fisr-public-live-screen .fisr-public-athlete-app-summary__focus,
.fisr-public-live-screen .fisr-public-athlete-app-summary__result,
.fisr-public-live-screen .fisr-public-team-athlete-table__row,
.fisr-public-live-screen .fisr-public-result-card,
.fisr-public-live-screen .fisr-public-search-group {
  --fisr-category-rgb: var(--skate-category-rgb, var(--skate-yellow-rgb));
}

.skate-category-token {
  --skate-category-rgb: var(--skate-yellow-rgb);
  display: inline-flex;
  width: fit-content;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  padding: 5px 9px;
  border: 1px solid rgba(var(--skate-category-rgb), 0.46);
  border-radius: 999px;
  border-color: rgba(var(--skate-category-rgb), 0.46);
  background: rgba(var(--skate-category-rgb), 0.13);
  color: rgb(var(--skate-category-rgb));
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-decoration: none;
}

.skate-category-panel {
  --skate-category-rgb: var(--skate-yellow-rgb);
  border-color: rgba(var(--skate-category-rgb), 0.42);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--skate-category-rgb), 0.16), transparent 44%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.24));
}

.fisr-public-live-screen .fisr-public-category-group {
  --fisr-category-rgb: var(--skate-category-rgb, var(--skate-yellow-rgb));
  border-color: rgba(var(--fisr-category-rgb), 0.42);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--fisr-category-rgb), 0.16), transparent 44%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.24));
  box-shadow: 0 14px 30px rgba(var(--skate-black-rgb), 0.22);
}

.fisr-public-live-screen .fisr-public-category-group[open] {
  border-color: rgba(var(--fisr-category-rgb), 0.76);
}

.fisr-public-live-screen .fisr-public-category-group > summary {
  grid-template-columns: minmax(0, 1fr) auto 32px;
  gap: 8px;
}

.fisr-public-live-screen .fisr-public-category-group > summary strong {
  display: block;
  color: var(--skate-text);
  font-size: clamp(1.08rem, 3vw, 1.34rem);
  line-height: 1.12;
}

.fisr-public-live-screen .fisr-public-category-group > summary small,
.fisr-public-live-screen .fisr-public-category-group > summary em {
  color: var(--skate-muted);
  font-size: 0.82rem;
  font-style: normal;
  line-height: 1.35;
}

.fisr-public-live-screen .fisr-public-category-group > summary em {
  justify-self: end;
  white-space: nowrap;
}

.fisr-public-live-screen .fisr-public-category-group > summary::after {
  border-color: rgba(var(--fisr-category-rgb), 0.7);
  background: rgba(var(--fisr-category-rgb), 0.12);
  color: rgb(var(--fisr-category-rgb));
}

.fisr-public-live-screen .fisr-public-category-group__body {
  display: grid;
  gap: 12px;
  padding: 0 12px 12px;
}

.fisr-public-live-screen .fisr-public-category--teal {
  --fisr-category-rgb: 48, 213, 200;
}

.fisr-public-live-screen .fisr-public-category--orange {
  --fisr-category-rgb: 255, 122, 26;
}

.fisr-public-live-screen .fisr-public-category--yellow {
  --fisr-category-rgb: var(--skate-yellow-rgb);
}

.fisr-public-live-screen .fisr-public-category--purple {
  --fisr-category-rgb: 155, 92, 255;
}

.fisr-public-live-screen .fisr-public-category--blue {
  --fisr-category-rgb: 140, 200, 255;
}

.fisr-public-live-screen .fisr-public-category--pink {
  --fisr-category-rgb: 255, 95, 135;
}

.fisr-public-live-screen .fisr-public-category--green {
  --fisr-category-rgb: 68, 208, 123;
}

.fisr-public-live-screen .fisr-public-final-result-link {
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.46);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-yellow-rgb), 0.08);
}

.fisr-public-live-screen .fisr-public-final-result-link strong {
  color: var(--skate-yellow);
}

.fisr-public-live-screen .fisr-public-final-result-link span {
  color: var(--skate-muted);
  line-height: 1.35;
}

.fisr-public-live-screen .fisr-public-final-result-link a {
  display: inline-flex;
  width: fit-content;
  min-height: 40px;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--skate-yellow);
  color: var(--skate-bg);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-result-group,
.fisr-public-live-screen .fisr-public-search-group,
.fisr-public-live-screen .fisr-public-analytics-card,
.fisr-public-live-screen .fisr-public-classification-row {
  margin-block-start: 12px;
}

.fisr-public-live-screen .fisr-public-result-group__body,
.fisr-public-live-screen .fisr-public-search-group .fisr-public-row-list {
  display: grid;
  gap: 12px;
  padding: 0 14px 14px;
}

.fisr-public-live-screen .fisr-public-result-card {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.fisr-public-live-screen .fisr-public-result-card__head {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.fisr-public-live-screen .fisr-public-result-card__head h3,
.fisr-public-live-screen .fisr-public-result-card__head p {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-result-card__head p {
  color: var(--skate-muted);
}

.fisr-public-live-screen .fisr-public-result-card__head a,
.fisr-public-live-screen .fisr-public-society-summary a {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.46);
  border-radius: 999px;
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.12);
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-society-summary {
  display: grid;
  gap: 16px;
  align-items: center;
}

.fisr-public-live-screen .fisr-public-society-summary__score {
  display: grid;
  gap: 4px;
  width: fit-content;
  min-width: 116px;
  padding: 14px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-lg);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  text-align: center;
}

.fisr-public-live-screen .fisr-public-society-summary__score strong {
  font-size: 2rem;
  line-height: 1;
}

.fisr-public-live-screen .fisr-public-society-table__head,
.fisr-public-live-screen .fisr-public-society-row {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 92px;
  gap: 10px;
  align-items: center;
}

.fisr-public-live-screen .fisr-public-society-table__head {
  margin-block: 14px 8px;
  color: var(--skate-muted);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-society-table__rows {
  display: grid;
  gap: 8px;
}

.fisr-public-live-screen .fisr-public-society-row {
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-society-row__club {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-society-row__club b,
.fisr-public-live-screen .fisr-public-society-row__club small {
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-society-row__club small {
  color: var(--skate-muted);
}

.fisr-public-live-screen .fisr-public-society-row__points {
  color: var(--skate-yellow);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  text-align: right;
}

.fisr-public-live-screen .fisr-public-teams {
  display: grid;
  gap: 16px;
}

.fisr-public-live-screen .fisr-public-teams__total {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.9rem;
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
}

.fisr-public-live-screen .fisr-public-teams__updated {
  margin: -4px 0 0;
  color: var(--skate-muted);
  font-size: 0.9rem;
}

.fisr-public-live-screen .fisr-public-teams__list {
  display: grid;
  gap: 12px;
}

.fisr-public-live-screen .fisr-public-team-list-card {
  --fisr-category-rgb: var(--skate-yellow-rgb);
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 78px;
  padding: 13px;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.42);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 94% 18%, rgba(var(--fisr-category-rgb), 0.16), transparent 42%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.045), rgba(var(--skate-bg-rgb), 0.18)),
    var(--skate-surface-soft);
  color: var(--skate-text);
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(var(--skate-black-rgb), 0.22);
}

.fisr-public-live-screen .fisr-public-team-list-card.has-official-rank {
  grid-template-columns: 42px 46px minmax(0, 1fr) auto;
}

.fisr-public-live-screen .fisr-public-team-list-card__rank {
  display: grid;
  width: 42px;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgb(var(--skate-yellow-rgb));
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.14);
  color: rgb(var(--skate-yellow-rgb));
  font-size: 0.96rem;
  font-weight: var(--font-weight-black);
  line-height: 1;
}

.fisr-public-live-screen .fisr-public-team-list-card__icon {
  display: grid;
  width: 46px;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.56);
  border-radius: 15px;
  background:
    linear-gradient(135deg, rgba(var(--fisr-category-rgb), 0.18), rgba(var(--fisr-category-rgb), 0.07)),
    rgba(var(--skate-black-rgb), 0.14);
  color: rgb(var(--fisr-category-rgb));
}

.fisr-public-live-screen .fisr-public-team-list-card__svg {
  width: 25px;
  height: 25px;
}

.fisr-public-live-screen .fisr-public-team-list-card__main {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-team-list-card__main strong,
.fisr-public-live-screen .fisr-public-team-list-card__main small {
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-team-list-card__main strong {
  color: var(--skate-text);
  font-size: clamp(1rem, 4.6vw, 1.22rem);
  font-weight: var(--font-weight-black);
  line-height: 1.12;
}

.fisr-public-live-screen .fisr-public-team-list-card__main small {
  color: var(--skate-muted);
  font-size: 0.84rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.3;
}

.fisr-public-live-screen .fisr-public-team-list-card > em {
  color: rgb(var(--fisr-category-rgb));
  justify-self: end;
  font-size: clamp(2.1rem, 7vw, 3rem);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1;
}

.fisr-public-live-screen .fisr-public-team-profile {
  display: grid;
  gap: 14px;
  border-color: rgba(var(--skate-sky-400-rgb), 0.44);
  background:
    radial-gradient(circle at 92% 12%, rgba(var(--skate-sky-400-rgb), 0.17), transparent 44%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.05), rgba(var(--skate-bg-rgb), 0.18)),
    var(--skate-surface-soft);
}

.fisr-public-live-screen .fisr-public-team-profile__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.fisr-public-live-screen .fisr-public-team-profile__head h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.3rem, 6vw, 2.2rem);
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-team-profile__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 10px;
  margin: 0;
}

.fisr-public-live-screen .fisr-public-team-profile__facts div {
  display: grid;
  gap: 5px;
  min-height: 62px;
  align-content: center;
  padding: 11px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.10);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.16);
}

.fisr-public-live-screen .fisr-public-team-profile__facts dt,
.fisr-public-live-screen .fisr-public-team-profile__facts dd {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-team-profile__facts dt {
  color: var(--skate-muted);
  font-size: 0.7rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-team-profile__facts dd {
  color: var(--skate-text);
  font-size: 1rem;
  font-weight: var(--font-weight-black);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-team-athletes-block {
  --fisr-category-rgb: var(--skate-category-rgb, var(--skate-yellow-rgb));
  gap: 12px;
  border-color: rgba(var(--fisr-category-rgb), 0.38);
}

.fisr-public-live-screen .fisr-public-team-athlete-table {
  overflow: hidden;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.28);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.045), rgba(var(--skate-bg-rgb), 0.20)),
    var(--skate-surface-soft);
}

.fisr-public-live-screen .fisr-public-team-athlete-table__head,
.fisr-public-live-screen .fisr-public-team-athlete-table__link {
  display: grid;
  grid-template-columns: 70px minmax(0, 1.35fr) minmax(74px, 0.48fr) minmax(74px, 0.48fr) 28px;
  gap: 12px;
  align-items: center;
}

.fisr-public-live-screen .fisr-public-team-athlete-table__head {
  padding: 11px 14px;
  border-bottom: 1px solid rgba(var(--fisr-category-rgb), 0.22);
  background: rgba(var(--skate-black-rgb), 0.22);
  color: var(--skate-muted);
  font-size: 0.68rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-team-athlete-table__body {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fisr-public-live-screen .fisr-public-team-athlete-table__row {
  margin: 0;
  border-bottom: 1px solid rgba(var(--fisr-category-rgb), 0.16);
}

.fisr-public-live-screen .fisr-public-team-athlete-table__row:last-child {
  border-bottom: 0;
}

.fisr-public-live-screen .fisr-public-team-athlete-table__link {
  min-height: 70px;
  padding: 12px 14px;
  color: var(--skate-text);
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-team-athlete-table__row:nth-child(even) .fisr-public-team-athlete-table__link {
  background: rgba(var(--fisr-category-rgb), 0.025);
}

.fisr-public-live-screen .fisr-public-team-athlete-table__cell {
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-team-athlete-table__cell--bib {
  display: grid;
  width: 56px;
  min-height: 48px;
  align-content: center;
  justify-items: center;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.52);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--fisr-category-rgb), 0.10);
  color: rgb(var(--fisr-category-rgb));
}

.fisr-public-live-screen .fisr-public-team-athlete-table__cell--bib small,
.fisr-public-live-screen .fisr-public-team-athlete-table__cell--metric small {
  font-size: 0.62rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-team-athlete-table__cell--bib strong {
  color: rgb(var(--fisr-category-rgb));
  font-size: 1.05rem;
  line-height: 1.1;
}

.fisr-public-live-screen .fisr-public-team-athlete-table__cell--name {
  display: grid;
  gap: 3px;
}

.fisr-public-live-screen .fisr-public-team-athlete-table__cell--name strong {
  color: var(--skate-text);
  font-size: 0.96rem;
  line-height: 1.14;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-team-athlete-table__cell--name small {
  color: var(--skate-muted);
  font-size: 0.76rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-team-athlete-table__cell--metric {
  display: grid;
  gap: 4px;
}

.fisr-public-live-screen .fisr-public-team-athlete-table__cell--metric small {
  color: var(--skate-muted);
}

.fisr-public-live-screen .fisr-public-team-athlete-table__cell--metric strong {
  color: rgb(var(--fisr-category-rgb));
  font-size: 1rem;
  line-height: 1;
}

.fisr-public-live-screen .fisr-public-team-athlete-table__link > em {
  color: rgb(var(--fisr-category-rgb));
  justify-self: end;
  font-size: 2.1rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1;
}

@media (max-width: 720px) {
  .fisr-public-live-screen .fisr-public-team-list-card {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    min-height: 74px;
    padding: 12px;
  }

  .fisr-public-live-screen .fisr-public-team-list-card.has-official-rank {
    grid-template-columns: 38px 42px minmax(0, 1fr) auto;
  }

  .fisr-public-live-screen .fisr-public-team-list-card__rank {
    width: 38px;
  }

  .fisr-public-live-screen .fisr-public-team-list-card__icon {
    width: 42px;
    border-radius: 14px;
  }

  .fisr-public-live-screen .fisr-public-team-list-card__svg {
    width: 23px;
    height: 23px;
  }

  .fisr-public-live-screen .fisr-public-team-profile__head {
    grid-template-columns: minmax(0, 1fr);
  }

  .fisr-public-live-screen .fisr-public-team-profile__head .fisr-public-follow-toggle {
    justify-self: start;
  }

  .fisr-public-live-screen .fisr-public-team-profile__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fisr-public-live-screen .fisr-public-team-athlete-table__head {
    display: none;
  }

  .fisr-public-live-screen .fisr-public-team-athlete-table__link {
    grid-template-columns: 56px minmax(0, 1fr) auto;
    grid-template-areas:
      "bib name arrow"
      "bib starts arrow"
      "bib results arrow";
    gap: 5px 11px;
    min-height: 92px;
    padding: 12px;
  }

  .fisr-public-live-screen .fisr-public-team-athlete-table__cell--bib {
    grid-area: bib;
    align-self: center;
  }

  .fisr-public-live-screen .fisr-public-team-athlete-table__cell--name {
    grid-area: name;
  }

  .fisr-public-live-screen .fisr-public-team-athlete-table__cell--metric {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
  }

  .fisr-public-live-screen .fisr-public-team-athlete-table__cell--metric:nth-of-type(3) {
    grid-area: starts;
  }

  .fisr-public-live-screen .fisr-public-team-athlete-table__cell--metric:nth-of-type(4) {
    grid-area: results;
  }

  .fisr-public-live-screen .fisr-public-team-athlete-table__link > em {
    grid-area: arrow;
    align-self: center;
  }
}

@media (max-width: 430px) {
  .fisr-public-live-screen .fisr-public-team-profile__facts {
    grid-template-columns: minmax(0, 1fr);
  }
}

.fisr-public-live-screen .fisr-public-team-card {
  --fisr-category-rgb: var(--skate-yellow-rgb);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 12% 0%, rgba(var(--skate-gold-deep-rgb), 0.12), transparent 42%),
    var(--skate-surface-soft);
  overflow: hidden;
}

.fisr-public-live-screen .fisr-public-team-card > summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  min-height: 74px;
  padding: 14px;
  cursor: pointer;
  list-style: none;
}

.fisr-public-live-screen .fisr-public-team-card > summary::-webkit-details-marker {
  display: none;
}

.fisr-public-live-screen .fisr-public-team-card > summary::after {
  content: "+";
  display: inline-grid;
  grid-column: 4;
  grid-row: 1;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-team-card[open] > summary::after {
  content: "-";
}

.fisr-public-live-screen .fisr-public-team-card__avatar {
  display: inline-grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 16px;
  background: rgba(var(--skate-gold-deep-rgb), 0.14);
  color: var(--skate-yellow);
  font-size: 0.82rem;
  font-weight: var(--font-weight-black);
  letter-spacing: 0;
}

.fisr-public-live-screen .fisr-public-team-card__main {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-team-card__main b,
.fisr-public-live-screen .fisr-public-team-card__main small {
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-team-card__main b {
  color: var(--skate-text);
  font-size: 1.02rem;
  line-height: 1.2;
}

.fisr-public-live-screen .fisr-public-team-card__main small {
  color: var(--skate-muted);
}

.fisr-public-live-screen .fisr-public-team-card__follow {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  align-self: center;
}

.fisr-public-live-screen .fisr-public-team-card > summary > em {
  grid-column: 3 / 5;
  grid-row: 2;
  justify-self: end;
  color: var(--skate-yellow);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
}

.fisr-public-live-screen .fisr-public-team-card__body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 0 14px 14px;
}

.fisr-public-live-screen .fisr-public-team-card__body > div {
  display: grid;
  gap: 3px;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.045);
}

.fisr-public-live-screen .fisr-public-team-card__body strong {
  color: var(--skate-text);
  font-size: 1.2rem;
  line-height: 1;
}

.fisr-public-live-screen .fisr-public-team-card__body span {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-team-card__athletes {
  display: grid;
  gap: 10px;
  padding: 0 14px 16px;
}

.fisr-public-live-screen .fisr-public-team-category {
  --fisr-category-rgb: var(--skate-category-rgb, var(--skate-yellow-rgb));
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.38);
  border-radius: var(--skate-radius-md);
  background:
    radial-gradient(circle at 8% 0%, rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.14), transparent 48%),
    rgba(var(--skate-white-rgb), 0.045);
  box-shadow: 0 14px 34px rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.08);
  overflow: hidden;
}

.fisr-public-live-screen .fisr-public-team-category > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  cursor: pointer;
  list-style: none;
}

.fisr-public-live-screen .fisr-public-team-category > summary::-webkit-details-marker {
  display: none;
}

.fisr-public-live-screen .fisr-public-team-category > summary::after {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.52);
  border-radius: 999px;
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  font-weight: var(--font-weight-black);
}

.fisr-public-live-screen .fisr-public-team-category[open] > summary::after {
  content: "-";
}

.fisr-public-live-screen .fisr-public-team-category > summary span {
  color: var(--skate-text);
  font-weight: var(--font-weight-black);
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-team-category > summary em {
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  font-style: normal;
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
}

.fisr-public-live-screen .fisr-public-team-category ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0 12px 12px;
  list-style: none;
}

.fisr-public-live-screen .fisr-public-team-category li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.18);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.fisr-public-live-screen .fisr-public-team-category li > span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-team-category li strong {
  color: var(--skate-text);
  font-size: 0.94rem;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-team-category li small {
  color: var(--skate-muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

@media (max-width: 420px) {
  .fisr-public-live-screen .fisr-public-team-card > summary {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .fisr-public-live-screen .fisr-public-team-card > summary::after {
    grid-column: 3;
  }

  .fisr-public-live-screen .fisr-public-team-card__follow {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
  }

  .fisr-public-live-screen .fisr-public-team-card > summary > em {
    grid-column: 2 / 4;
    grid-row: 2;
    justify-self: end;
  }
}

.fisr-public-live-screen .fisr-public-analytics-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  gap: 12px;
}

.fisr-public-live-screen .fisr-public-analytics-summary > div,
.fisr-public-live-screen .fisr-public-analytics-formula {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
}

.fisr-public-live-screen .fisr-public-analytics-summary > div.is-skate {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
}

.fisr-public-live-screen .fisr-public-analytics-summary small,
.fisr-public-live-screen .fisr-public-analytics-formula span {
  color: var(--skate-muted);
}

.fisr-public-live-screen .fisr-public-analytics-list,
.fisr-public-live-screen .fisr-public-classification-list,
.fisr-public-live-screen .fisr-public-search-groups {
  display: grid;
  gap: 10px;
}

.fisr-public-live-screen .fisr-public-analytics-card summary,
.fisr-public-live-screen .fisr-public-classification-row summary {
  grid-template-columns: auto minmax(0, 1fr) auto auto;
}

.fisr-public-live-screen .fisr-public-classification-row {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.34);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 96% 4%, rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.10), transparent 36%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.052), rgba(var(--skate-bg-rgb), 0.18)),
    var(--skate-surface-soft);
}

.fisr-public-live-screen .fisr-public-classification-row__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
}

.fisr-public-live-screen .fisr-public-analytics-card dl,
.fisr-public-live-screen .fisr-public-classification-row dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
  gap: 8px;
  margin: 0;
  padding: 0 14px 14px;
}

.fisr-public-live-screen .fisr-public-analytics-card dl div,
.fisr-public-live-screen .fisr-public-classification-row dl div {
  display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.18);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-white-rgb), 0.045);
}

.fisr-public-live-screen .fisr-public-analytics-card dt,
.fisr-public-live-screen .fisr-public-analytics-card dd,
.fisr-public-live-screen .fisr-public-classification-row dt,
.fisr-public-live-screen .fisr-public-classification-row dd {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-analytics-card dt,
.fisr-public-live-screen .fisr-public-classification-row dt {
  color: var(--skate-muted);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-analytics-card__pos,
.fisr-public-live-screen .fisr-public-classification-row__pos {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.52);
  border-radius: 999px;
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.12);
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
}

.fisr-public-live-screen .fisr-public-analytics-card__club,
.fisr-public-live-screen .fisr-public-classification-row__athlete {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-analytics-card__club b,
.fisr-public-live-screen .fisr-public-classification-row__athlete b {
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-analytics-card__score,
.fisr-public-live-screen .fisr-public-classification-row__metric {
  display: grid;
  gap: 2px;
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  text-align: right;
}

.fisr-public-live-screen .fisr-public-classification-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 10px;
  margin-block: 14px;
}

.fisr-public-live-screen .fisr-public-classification-filters span {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.24);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.06);
}

.fisr-public-live-screen .fisr-public-classification-filters small {
  color: var(--skate-muted);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  margin-block: 14px;
}

.fisr-public-live-screen .fisr-public-search input {
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-search button {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-archive-doc-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fisr-public-live-screen .fisr-public-archive-doc-list li > a,
.fisr-public-live-screen .fisr-public-archive-doc-list li > span {
  display: grid;
  gap: 6px;
  min-height: 100%;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-archive-doc-list small {
  color: var(--skate-muted);
}

@media (min-width: 760px) {
  .fisr-public-live-screen .fisr-public-society-summary {
    grid-template-columns: minmax(0, 1fr) auto auto auto;
  }
}

@media (max-width: 759px) {
  .fisr-public-live-screen .fisr-public-live-header h1 {
    max-width: 10ch;
    font-size: clamp(2.2rem, 13vw, 3.7rem);
  }

  .fisr-public-live-screen .fisr-public-live-meta,
  .fisr-public-live-screen .fisr-public-detail-actions,
  .fisr-public-live-screen .fisr-public-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  .fisr-public-live-screen .fisr-public-quick-nav__card {
    min-width: 142px;
  }

  .fisr-public-live-screen .fisr-public-society-table__head {
    display: none;
  }

  .fisr-public-live-screen .fisr-public-society-row {
    grid-template-columns: 54px minmax(0, 1fr);
  }

  .fisr-public-live-screen .fisr-public-society-row__points {
    grid-column: 2;
    text-align: left;
  }

  .fisr-public-live-screen .fisr-public-analytics-card summary,
  .fisr-public-live-screen .fisr-public-classification-row summary {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .fisr-public-live-screen .fisr-public-classification-row__head {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .fisr-public-live-screen .fisr-public-analytics-card__score,
  .fisr-public-live-screen .fisr-public-classification-row__metric {
    grid-column: 2 / -1;
    text-align: left;
  }

  .fisr-public-live-screen .fisr-public-search {
    grid-template-columns: minmax(0, 1fr);
  }

  .fisr-public-live-screen details > summary {
    gap: 8px;
    padding: 13px 12px;
  }

  .fisr-public-live-screen .fisr-public-category-group > summary {
    grid-template-columns: minmax(0, 1fr) 32px;
  }

  .fisr-public-live-screen .fisr-public-category-group > summary em {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: start;
    white-space: normal;
  }

  .fisr-public-live-screen .fisr-public-archive-note {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Live FISR app body restyle */
.fisr-public-live-screen .fisr-public-live-header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  min-height: 0;
  padding: clamp(18px, 4vw, 34px);
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.24);
  border-radius: var(--skate-radius-xl);
  background:
    linear-gradient(90deg, rgba(var(--skate-black-rgb), 0.93) 0%, rgba(var(--skate-black-rgb), 0.75) 48%, rgba(var(--skate-black-rgb), 0.36) 100%),
    radial-gradient(circle at 78% 12%, rgba(var(--skate-yellow-rgb), 0.24), transparent 35%),
    url("../img/live-app/skate-live-hero.jpg"),
    var(--card-bg);
  background-position: center, center, center right, center;
  background-size: cover, cover, cover, cover;
  box-shadow:
    0 20px 44px rgba(var(--skate-black-rgb), 0.34),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.08);
}

.fisr-public-live-screen .fisr-public-live-header::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.08), transparent 36%),
    radial-gradient(circle at 96% 18%, rgba(var(--skate-yellow-rgb), 0.26), transparent 38%);
  pointer-events: none;
}

.fisr-public-live-screen .fisr-public-live-header__content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(12px, 2.8vw, 18px);
}

.fisr-public-live-screen .fisr-public-live-header__topline {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  max-width: min(100%, 520px);
}

.fisr-public-live-screen .fisr-public-live-header__badge {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.35);
  border-radius: 999px;
  background: rgba(var(--skate-bg-rgb), 0.46);
  color: var(--skate-yellow);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-live-header__badge i {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--skate-red-live);
  box-shadow: 0 0 16px rgba(var(--skate-red-live-rgb), 0.74);
}

.fisr-public-live-screen .fisr-public-live-header.is-archive .fisr-public-live-header__badge i {
  background: var(--skate-yellow);
  box-shadow: 0 0 14px rgba(var(--skate-yellow-rgb), 0.55);
}

.fisr-public-live-screen .fisr-public-live-header.is-source-unavailable .fisr-public-live-header__badge {
  border-color: rgba(var(--skate-yellow-rgb), 0.58);
  background: rgba(var(--skate-yellow-rgb), 0.12);
  color: var(--skate-yellow);
}

.fisr-public-live-screen .fisr-public-live-header.is-source-unavailable .fisr-public-live-header__badge i {
  background: var(--skate-yellow);
  box-shadow: 0 0 16px rgba(var(--skate-yellow-rgb), 0.72);
}

.fisr-public-live-screen .fisr-public-live-header h1 {
  max-width: 14ch;
  color: var(--skate-text);
  font-size: clamp(2.15rem, 9vw, 4.15rem);
  line-height: 0.96;
  text-transform: none;
}

.fisr-public-live-screen .fisr-public-live-header__place {
  display: inline-grid;
  width: fit-content;
  max-width: min(100%, 520px);
  gap: 4px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.24);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-bg-rgb), 0.52);
  color: var(--skate-text);
  font-weight: var(--font-weight-normal);
  box-shadow: inset 0 1px 0 rgba(var(--skate-white-rgb), 0.06);
  text-transform: none;
}

.fisr-public-live-screen .fisr-public-live-header__place span {
  color: var(--skate-yellow);
  font-size: 0.66rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-live-header__place strong {
  color: var(--skate-text);
  font-size: clamp(0.96rem, 3.6vw, 1.12rem);
  line-height: 1.18;
}

.fisr-public-live-screen .fisr-public-live-header__place em {
  color: var(--skate-muted);
  font-size: 0.82rem;
  font-style: normal;
  line-height: 1.2;
}

.fisr-public-live-screen .fisr-public-live-header__facilities {
  display: grid;
  gap: 7px;
  max-width: min(100%, 560px);
  padding: 10px 12px;
  border: 1px solid rgba(var(--skate-teal-500-rgb), 0.22);
  border-radius: var(--skate-radius-md);
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--skate-teal-500-rgb), 0.15), transparent 55%),
    rgba(var(--skate-bg-rgb), 0.48);
  box-shadow: inset 0 1px 0 rgba(var(--skate-white-rgb), 0.06);
}

.fisr-public-live-screen .fisr-public-live-header__facilities > span {
  color: var(--skate-teal-500);
  font-size: 0.66rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-live-header__facilities a,
.fisr-public-live-screen .fisr-public-live-header__facilities small {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  align-items: baseline;
  color: var(--skate-muted);
  font-size: 0.82rem;
  line-height: 1.25;
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-live-header__facilities a:hover,
.fisr-public-live-screen .fisr-public-live-header__facilities a:focus-visible {
  color: var(--skate-text);
  outline: none;
}

.fisr-public-live-screen .fisr-public-live-header__facilities strong {
  color: var(--skate-text);
  font-size: 0.92rem;
}

.fisr-public-live-screen .fisr-public-live-header__facilities em {
  color: var(--skate-muted);
  font-style: normal;
}

.fisr-public-live-screen .fisr-public-live-header__status {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.fisr-public-live-screen .fisr-public-live-header__status div {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 11px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.25);
  border-radius: 999px;
  background: rgba(var(--skate-bg-rgb), 0.42);
}

.fisr-public-live-screen .fisr-public-live-header__status dt,
.fisr-public-live-screen .fisr-public-live-header__status dd {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-live-header__status dt {
  color: var(--skate-yellow);
  font-size: 0.67rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-live-header__status dd {
  overflow-wrap: anywhere;
  color: var(--skate-text-soft);
  font-size: 0.82rem;
  line-height: 1.2;
}

.fisr-public-live-screen .fisr-public-live-header__status strong {
  color: var(--skate-text);
}

.fisr-public-source-warning {
  display: grid;
  gap: 6px;
  margin: 12px 0 18px;
  padding: 12px 14px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.36);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-yellow-rgb), 0.1);
  color: var(--skate-text);
  box-shadow: inset 0 1px 0 rgba(var(--skate-white-rgb), 0.05);
}

.fisr-public-source-warning strong {
  color: var(--skate-yellow);
  font-size: 0.88rem;
}

.fisr-public-source-warning p {
  margin: 0;
  color: var(--skate-text-soft);
  font-size: 0.9rem;
  line-height: 1.4;
}

.has-fisr-live-guide-open {
  overflow: hidden;
}

.fisr-live-guide-modal[hidden] {
  display: none !important;
}

.fisr-live-guide-modal {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: grid;
  place-items: center;
  padding: calc(14px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));
}

.fisr-live-guide-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(var(--skate-black-rgb), 0.76);
  backdrop-filter: blur(12px);
  cursor: pointer;
}

.fisr-live-guide-modal__panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(100%, 980px);
  max-height: min(92dvh, 940px);
  overflow: hidden;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.30);
  border-radius: 8px;
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--skate-yellow-rgb), 0.13), transparent 34%),
    radial-gradient(circle at 0% 26%, rgba(var(--skate-cyan-400-rgb), 0.10), transparent 32%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.07), rgba(var(--skate-bg-rgb), 0.20)),
    rgb(14, 14, 14);
  box-shadow: 0 28px 86px rgba(var(--skate-black-rgb), 0.62);
}

.fisr-live-guide-modal__panel:focus {
  outline: none;
}

.fisr-live-guide-modal__head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 40px;
  gap: 14px;
  align-items: start;
  padding: clamp(18px, 3vw, 26px);
  border-bottom: 1px solid rgba(var(--skate-white-rgb), 0.10);
}

.fisr-live-guide-modal__mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.56);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.12);
  color: var(--skate-yellow);
  font-size: 1.1rem;
  font-weight: var(--font-weight-black);
  line-height: 1;
}

.fisr-live-guide-modal__head .eyebrow,
.fisr-live-guide-modal__head h2,
.fisr-live-guide-modal__head p,
.fisr-live-guide-section h3,
.fisr-live-guide-section p {
  margin: 0;
}

.fisr-live-guide-modal__head .eyebrow {
  color: var(--skate-yellow);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

.fisr-live-guide-modal__head h2 {
  margin-block-start: 6px;
  color: var(--skate-text);
  font-size: 1.72rem;
  font-weight: var(--font-weight-black);
  letter-spacing: 0;
  line-height: 1.04;
}

.fisr-live-guide-modal__head p {
  margin-block-start: 8px;
  color: var(--skate-text-soft);
  font-size: 0.96rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.42;
}

.fisr-live-guide-modal__close {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(var(--skate-white-rgb), 0.14);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.06);
  color: var(--skate-text);
  cursor: pointer;
  font: inherit;
  font-size: 1.35rem;
  font-weight: var(--font-weight-black);
  line-height: 1;
}

.fisr-live-guide-modal__close:hover,
.fisr-live-guide-modal__close:focus-visible {
  border-color: rgba(var(--skate-yellow-rgb), 0.56);
  color: var(--skate-yellow);
  outline: none;
}

.fisr-live-guide-modal__body {
  display: grid;
  gap: 18px;
  overflow: auto;
  padding: clamp(16px, 3vw, 24px);
  overscroll-behavior: contain;
}

.fisr-live-guide-section {
  display: grid;
  gap: 13px;
  padding: clamp(14px, 2.6vw, 20px);
  border: 1px solid rgba(var(--skate-white-rgb), 0.10);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.045), rgba(var(--skate-bg-rgb), 0.18)),
    rgba(var(--skate-card-rgb), 0.72);
}

.fisr-live-guide-section--notice {
  border-color: rgba(var(--skate-yellow-rgb), 0.26);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--skate-yellow-rgb), 0.12), transparent 34%),
    linear-gradient(180deg, rgba(var(--skate-yellow-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.18)),
    rgba(var(--skate-card-rgb), 0.76);
}

.fisr-live-guide-section h3 {
  color: var(--skate-text);
  font-size: 1.18rem;
  font-weight: var(--font-weight-black);
  letter-spacing: 0;
  line-height: 1.1;
}

.fisr-live-guide-section p,
.fisr-live-guide-section li {
  color: var(--skate-text-soft);
  font-size: 0.94rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.44;
}

.fisr-live-guide-section strong {
  color: var(--skate-text);
  font-weight: var(--font-weight-black);
}

.fisr-live-guide-steps {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 22px;
}

.fisr-live-guide-grid,
.fisr-live-guide-symbols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 10px;
}

.fisr-live-guide-grid article,
.fisr-live-guide-symbols article {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.09);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.18);
}

.fisr-live-guide-symbols article {
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
}

.fisr-live-guide-symbols article p {
  grid-column: 1 / -1;
}

.fisr-live-guide-symbol {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.38);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.10);
  color: var(--skate-yellow);
}

.fisr-live-guide-symbol svg,
.fisr-live-guide-symbol .skate-icon {
  width: 22px;
  height: 22px;
}

.fisr-live-guide-symbols article:nth-of-type(2) .fisr-live-guide-symbol .skate-icon :is(path, circle, rect, line, polyline, polygon, ellipse),
.fisr-live-guide-symbols article:nth-of-type(4) .fisr-live-guide-symbol .skate-icon :is(path, circle, rect, line, polyline, polygon, ellipse) {
  fill: currentColor !important;
  stroke: none !important;
}

.fisr-live-guide-symbols article:nth-of-type(2) .fisr-live-guide-symbol .skate-icon defs :is(path, circle, rect, line, polyline, polygon, ellipse),
.fisr-live-guide-symbols article:nth-of-type(4) .fisr-live-guide-symbol .skate-icon defs :is(path, circle, rect, line, polyline, polygon, ellipse) {
  fill: initial !important;
  stroke: initial !important;
}

.fisr-live-guide-symbol--text {
  color: var(--skate-yellow);
  font-size: 1.14rem;
  font-weight: var(--font-weight-black);
  line-height: 1;
}

.fisr-live-guide-list {
  display: grid;
  gap: 10px;
}

.fisr-live-guide-note {
  padding: 12px;
  border: 1px solid rgba(var(--skate-cyan-400-rgb), 0.24);
  border-radius: 8px;
  background: rgba(var(--skate-cyan-400-rgb), 0.08);
}

.fisr-live-guide-faq {
  display: grid;
  gap: 9px;
}

.fisr-live-guide-faq details {
  overflow: hidden;
  border: 1px solid rgba(var(--skate-white-rgb), 0.10);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.18);
}

.fisr-live-guide-faq summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px;
  gap: 10px;
  align-items: center;
  min-height: 48px;
  padding: 11px 13px;
  color: var(--skate-text);
  cursor: pointer;
  font-weight: var(--font-weight-black);
  line-height: 1.16;
  list-style: none;
}

.fisr-live-guide-faq summary::-webkit-details-marker {
  display: none;
}

.fisr-live-guide-faq summary::after {
  content: "+";
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.36);
  border-radius: 999px;
  color: var(--skate-yellow);
  line-height: 1;
}

.fisr-live-guide-faq details[open] summary::after {
  content: "-";
}

.fisr-live-guide-faq details p {
  padding: 0 13px 13px;
}

.fisr-live-guide-modal__footer {
  display: flex;
  justify-content: flex-end;
  padding: 14px clamp(16px, 3vw, 24px);
  border-top: 1px solid rgba(var(--skate-white-rgb), 0.10);
}

.fisr-live-guide-modal__action {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.70);
  border-radius: 8px;
  background: var(--skate-yellow);
  color: var(--skate-black);
  cursor: pointer;
  font: inherit;
  font-weight: var(--font-weight-black);
  line-height: 1;
}

.fisr-live-guide-modal__action:hover,
.fisr-live-guide-modal__action:focus-visible {
  box-shadow: 0 0 0 4px rgba(var(--skate-yellow-rgb), 0.14);
  outline: none;
}

.fisr-public-live-screen .fisr-public-now__head {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.fisr-public-live-screen .fisr-public-now__head .eyebrow,
.fisr-public-live-screen .fisr-public-now__head h2 {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-live-guide-inline {
  display: inline-grid;
  grid-auto-flow: column;
  gap: 7px;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 5px 10px 5px 6px;
  border: 1px solid rgba(var(--skate-cyan-400-rgb), 0.42);
  border-radius: 999px;
  background: rgba(var(--skate-cyan-400-rgb), 0.08);
  color: var(--skate-text);
  cursor: pointer;
  font: inherit;
  box-shadow: inset 0 1px 0 rgba(var(--skate-white-rgb), 0.06);
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.fisr-public-live-screen .fisr-public-live-guide-inline span {
  display: inline-grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 999px;
  background: rgba(var(--skate-cyan-400-rgb), 0.16);
  color: var(--skate-cyan-400);
  font-size: 0.82rem;
  font-weight: var(--font-weight-black);
  line-height: 1;
}

.fisr-public-live-screen .fisr-public-live-guide-inline strong {
  color: var(--skate-text);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-live-guide-inline:hover,
.fisr-public-live-screen .fisr-public-live-guide-inline:focus-visible {
  border-color: rgba(var(--skate-cyan-400-rgb), 0.82);
  background: rgba(var(--skate-cyan-400-rgb), 0.13);
  box-shadow:
    0 0 0 4px rgba(var(--skate-cyan-400-rgb), 0.10),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.08);
  outline: none;
}

.fisr-public-live-screen .fisr-public-live-guide-inline:active {
  transform: scale(0.98);
}

@media (max-width: 640px) {
  .fisr-public-live-screen .fisr-public-live-header__topline {
    max-width: none;
  }

  .fisr-live-guide-modal {
    place-items: stretch;
    padding: calc(8px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));
  }

  .fisr-live-guide-modal__panel {
    width: 100%;
    max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  }

  .fisr-live-guide-modal__head {
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    gap: 10px;
    padding: 14px;
  }

  .fisr-live-guide-modal__mark,
  .fisr-live-guide-modal__close {
    width: 34px;
    height: 34px;
  }

  .fisr-live-guide-modal__head h2 {
    font-size: 1.3rem;
  }

  .fisr-live-guide-modal__head p {
    font-size: 0.86rem;
    line-height: 1.34;
  }

  .fisr-live-guide-modal__body {
    gap: 12px;
    padding: 12px;
  }

  .fisr-live-guide-section {
    gap: 11px;
    padding: 12px;
  }

  .fisr-live-guide-section h3 {
    font-size: 1.04rem;
  }

  .fisr-live-guide-section p,
  .fisr-live-guide-section li {
    font-size: 0.86rem;
    line-height: 1.36;
  }

  .fisr-live-guide-grid,
  .fisr-live-guide-symbols {
    grid-template-columns: minmax(0, 1fr);
  }

  .fisr-live-guide-modal__footer {
    padding: 12px;
  }

  .fisr-live-guide-modal__action {
    width: 100%;
  }

  .fisr-public-live-screen .fisr-public-now__head {
    align-items: center;
  }

  .fisr-public-live-screen .fisr-public-live-guide-inline {
    min-height: 32px;
    padding: 4px 9px 4px 5px;
  }
}

.fisr-public-live-screen .fisr-public-quick-nav {
  gap: 12px;
}

.fisr-public-live-screen .fisr-public-quick-nav__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  overflow: visible;
  padding: 0;
}

.fisr-public-live-screen .fisr-public-quick-nav__card {
  --fisr-action-rgb: var(--skate-yellow-rgb);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 74px;
  align-items: center;
  gap: 11px;
  padding: 14px;
  border-color: rgba(var(--fisr-action-rgb), 0.22);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 88% 10%, rgba(var(--fisr-action-rgb), 0.16), transparent 38%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.22)),
    var(--skate-card-2);
  color: var(--skate-text);
  box-shadow:
    0 14px 30px rgba(var(--skate-black-rgb), 0.2),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.06);
}

.fisr-public-live-screen .fisr-public-quick-nav__card--skate {
  --fisr-action-rgb: 68, 208, 123;
}

.fisr-public-live-screen .fisr-public-quick-nav__card--results {
  --fisr-action-rgb: 255, 84, 165;
}

.fisr-public-live-screen .fisr-public-quick-nav__card--standings,
.fisr-public-live-screen .fisr-public-quick-nav__card--society,
.fisr-public-live-screen .fisr-public-quick-nav__card--teams {
  --fisr-action-rgb: var(--skate-yellow-rgb);
}

.fisr-public-live-screen .fisr-public-quick-nav__card--search {
  --fisr-action-rgb: 45, 211, 255;
}

.fisr-public-live-screen .fisr-public-quick-nav__card--program {
  --fisr-action-rgb: 255, 155, 64;
}

.fisr-public-live-screen .fisr-public-quick-nav__card--orders {
  --fisr-action-rgb: 154, 255, 90;
}

.fisr-public-live-screen .fisr-public-quick-nav__card--updates {
  --fisr-action-rgb: 255, 214, 0;
}

.fisr-public-live-screen .fisr-public-quick-nav__card--admin {
  --fisr-action-rgb: 168, 85, 247;
}

.fisr-public-live-screen .fisr-public-quick-nav__card .fisr-public-quick-nav__icon {
  --skate-icon-size: 1.38rem;
  color: rgb(var(--fisr-action-rgb));
  opacity: 1;
}

.fisr-public-live-screen .fisr-public-quick-nav__card span {
  min-width: 0;
  color: inherit;
  font-size: clamp(0.98rem, 2.8vw, 1.12rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.12;
}

.fisr-public-live-screen .fisr-public-quick-nav__card:hover,
.fisr-public-live-screen .fisr-public-quick-nav__card:focus-visible,
.fisr-public-live-screen .fisr-public-quick-nav__card.is-current {
  border-color: rgba(var(--fisr-action-rgb), 0.78);
  background:
    radial-gradient(circle at 88% 10%, rgba(var(--fisr-action-rgb), 0.24), transparent 40%),
    linear-gradient(180deg, rgba(var(--fisr-action-rgb), 0.12), rgba(var(--skate-bg-rgb), 0.18)),
    var(--skate-card-2);
  color: rgb(var(--fisr-action-rgb));
  box-shadow:
    0 18px 36px rgba(var(--fisr-action-rgb), 0.12),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.08);
  transform: translateY(-1px);
}

.fisr-admin-live-screen .fisr-public-quick-nav {
  gap: clamp(14px, 3.4vw, 20px);
  margin-block-end: clamp(18px, 4.2vw, 30px);
}

.fisr-admin-live-screen .fisr-public-quick-nav__row {
  gap: clamp(13px, 3.2vw, 18px);
}

.fisr-admin-live-screen .fisr-public-block,
.fisr-admin-live-screen .fisr-public-live-summary,
.fisr-admin-live-screen .fisr-public-followed-card {
  margin-block-start: clamp(18px, 4vw, 28px);
}

.fisr-admin-live-screen .fisr-public-category-list,
.fisr-admin-live-screen .fisr-public-result-groups,
.fisr-admin-live-screen .fisr-public-search-groups,
.fisr-admin-live-screen .fisr-public-update-list {
  gap: clamp(16px, 4vw, 24px);
}

.fisr-public-live-screen .fisr-public-society-watch {
  position: relative;
  overflow: hidden;
  border-color: rgba(var(--skate-yellow-rgb), 0.22);
}

.fisr-public-live-screen .fisr-public-society-watch::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 78px;
  height: 78px;
  border: 8px solid rgba(var(--skate-yellow-rgb), 0.08);
  border-radius: 22px 22px 34px 34px;
  opacity: 0.8;
  pointer-events: none;
}

.fisr-public-live-screen .fisr-public-live-summary {
  display: grid;
  width: min(100%, var(--skate-container));
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-inline: auto;
}

.fisr-public-live-screen .fisr-public-live-summary article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.18);
  border-radius: var(--skate-radius-md);
  background:
    radial-gradient(circle at 90% 0%, rgba(var(--skate-yellow-rgb), 0.11), transparent 42%),
    rgba(var(--skate-white-rgb), 0.045);
  box-shadow: var(--skate-shadow-soft);
}

.fisr-public-live-screen .fisr-public-live-summary span,
.fisr-public-live-screen .fisr-public-live-summary small {
  overflow-wrap: anywhere;
  color: var(--skate-muted);
  font-size: 0.72rem;
  line-height: 1.2;
}

.fisr-public-live-screen .fisr-public-live-summary strong {
  color: var(--skate-text);
  font-size: clamp(1.12rem, 4vw, 1.55rem);
  line-height: 1;
}

.fisr-public-live-screen .fisr-public-live-state-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 138px), 1fr));
  gap: 10px;
  margin: clamp(14px, 3.6vw, 18px) 0 0;
}

.fisr-public-live-screen .fisr-public-live-state-grid div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.22);
  border-radius: var(--skate-radius-md);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.052), rgba(var(--skate-white-rgb), 0.018)),
    rgba(var(--skate-bg-rgb), 0.20);
}

.fisr-public-live-screen .fisr-public-live-state-grid dt {
  color: var(--skate-muted);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-live-state-grid dd {
  margin: 0;
  color: var(--skate-text);
  font-size: 0.94rem;
  line-height: 1.25;
}

.fisr-public-live-screen .fisr-public-live-state-grid strong {
  color: var(--skate-text);
}

.fisr-public-live-screen .fisr-public-program-head,
.fisr-public-live-screen .fisr-public-program-status,
.fisr-public-live-screen .fisr-public-program-card {
  position: relative;
  overflow: hidden;
}

.fisr-public-live-screen .fisr-public-program-status::after,
.fisr-public-live-screen .fisr-public-program-card::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 18px;
  width: 72px;
  height: 72px;
  border: 3px solid rgba(var(--skate-white-rgb), 0.08);
  border-radius: 18px;
  box-shadow:
    inset 0 16px 0 rgba(var(--skate-white-rgb), 0.04),
    0 0 0 1px rgba(var(--skate-yellow-rgb), 0.08);
}

.fisr-public-live-screen .fisr-public-program-card__next {
  display: grid;
  gap: 5px;
  margin-block: 14px;
  padding: 13px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.28);
  border-radius: var(--skate-radius-md);
  background:
    radial-gradient(circle at 95% 0%, rgba(var(--skate-yellow-rgb), 0.12), transparent 42%),
    rgba(var(--skate-white-rgb), 0.045);
}

.fisr-public-live-screen .fisr-public-program-card__next span {
  color: var(--skate-yellow);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-program-card__next strong {
  color: var(--skate-text);
  font-size: clamp(1.02rem, 3.6vw, 1.22rem);
  line-height: 1.14;
}

.fisr-public-live-screen .fisr-public-program-card__next small {
  color: var(--skate-muted);
  font-size: 0.86rem;
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-follow-actions__list {
  display: grid;
  gap: 10px;
  margin-block-start: 14px;
}

.fisr-public-live-screen .fisr-public-follow-actions__list a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 58px;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.052), rgba(var(--skate-bg-rgb), 0.18)),
    var(--skate-surface-soft);
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-follow-actions__list a::after,
.fisr-public-live-screen .fisr-public-update-list li::after {
  content: ">";
  color: var(--skate-muted);
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-follow-actions__list .skate-icon {
  color: var(--skate-yellow);
}

.fisr-public-live-screen .fisr-public-update-list li {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 12px 14px;
}

.fisr-public-live-screen .fisr-public-update-list li span {
  color: var(--skate-muted);
  font-size: 0.84rem;
  font-weight: var(--font-weight-semibold);
}

.fisr-public-live-screen .fisr-public-result-groups {
  display: grid;
  gap: 12px;
}

.fisr-public-live-screen .fisr-public-society-summary {
  position: relative;
  overflow: hidden;
  border-color: rgba(var(--skate-yellow-rgb), 0.25);
  background:
    radial-gradient(circle at 90% 10%, rgba(var(--skate-yellow-rgb), 0.15), transparent 34%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.24)),
    var(--card-bg);
}

.fisr-public-live-screen .fisr-public-society-summary::after {
  content: "1";
  position: absolute;
  right: 24px;
  top: 24px;
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.28);
  border-radius: 12px 12px 2px 2px;
  background: rgba(var(--skate-yellow-rgb), 0.08);
  color: rgba(var(--skate-yellow-rgb), 0.78);
  font-size: 1.3rem;
  font-weight: var(--font-weight-bold);
  pointer-events: none;
}

.fisr-public-live-screen .fisr-public-society-summary a {
  min-height: 44px;
  justify-content: center;
}

.fisr-public-live-screen .fisr-public-result-groups > h2,
.fisr-public-live-screen .fisr-public-result-groups > .fisr-public-muted {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-category-group {
  --fisr-category-rgb: var(--skate-category-rgb, var(--skate-yellow-rgb));
  border-color: rgba(var(--fisr-category-rgb), 0.44);
  background:
    radial-gradient(circle at 91% 12%, rgba(var(--fisr-category-rgb), 0.18), transparent 42%),
    linear-gradient(180deg, rgba(var(--fisr-category-rgb), 0.07), rgba(var(--skate-bg-rgb), 0.24)),
    var(--skate-card-2);
}

.fisr-public-live-screen .fisr-public-category-group > summary {
  grid-template-columns: 44px minmax(0, 1fr) auto 34px;
  gap: 12px;
  min-height: 78px;
  padding: 15px;
}

.fisr-public-live-screen .fisr-public-category-group > summary::before {
  content: "";
  display: inline-grid;
  width: 42px;
  height: 42px;
  grid-column: 1;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.56);
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 32%, rgba(var(--fisr-category-rgb), 0.9) 0 20%, transparent 21%),
    linear-gradient(135deg, rgba(var(--fisr-category-rgb), 0.2), rgba(var(--fisr-category-rgb), 0.08));
  box-shadow: 0 0 20px rgba(var(--fisr-category-rgb), 0.16);
}

.fisr-public-live-screen .fisr-public-category-group > summary > span {
  grid-column: 2;
}

.fisr-public-live-screen .fisr-public-category-group > summary strong {
  color: var(--skate-text);
  font-size: clamp(1.05rem, 3.8vw, 1.34rem);
}

.fisr-public-live-screen .fisr-public-category-group > summary small {
  color: var(--skate-text-soft);
}

.fisr-public-live-screen .fisr-public-category-group > summary em {
  grid-column: 3;
  justify-self: end;
  color: rgb(var(--fisr-category-rgb));
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-category-group > summary::after {
  grid-column: 4;
  width: 34px;
  height: 34px;
  border-color: rgba(var(--fisr-category-rgb), 0.65);
  background: rgba(var(--fisr-category-rgb), 0.14);
  color: rgb(var(--fisr-category-rgb));
}

.fisr-public-live-screen .fisr-public-result-card__head a,
.fisr-public-live-screen .fisr-public-final-result-link a {
  min-height: 42px;
}

.fisr-public-live-screen .fisr-public-sync-status {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 155px), 1fr));
  gap: 12px;
  align-items: stretch;
}

.fisr-public-live-screen .fisr-public-sync-status > div {
  display: grid;
  gap: 5px;
  align-content: center;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-sync-status span,
.fisr-public-live-screen .fisr-public-sync-status small {
  color: var(--skate-muted);
  line-height: 1.35;
}

.fisr-public-live-screen .fisr-public-sync-status strong {
  color: var(--skate-text);
}

.fisr-public-live-screen .fisr-public-sync-status__actions button {
  display: inline-flex;
  width: fit-content;
  min-height: 42px;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-followed-card {
  width: min(100%, var(--skate-container));
  margin-inline: auto;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.34);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 88% 10%, rgba(var(--skate-yellow-rgb), 0.16), transparent 38%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.22)),
    var(--card-bg);
  box-shadow: var(--skate-shadow-soft);
  overflow: hidden;
}

.fisr-public-live-screen .fisr-public-followed-card[hidden] {
  display: none;
}

.fisr-public-live-screen .fisr-public-followed-card.has-new-updates {
  border-color: rgba(var(--skate-red-warm-rgb), 0.72);
  animation: fisr-followed-alert 1.05s ease-in-out infinite;
  box-shadow:
    0 0 0 1px rgba(var(--skate-red-warm-rgb), 0.32),
    0 0 34px rgba(var(--skate-red-warm-rgb), 0.22),
    var(--skate-shadow-soft);
}

.fisr-public-live-screen .fisr-public-followed-card.is-empty {
  border-color: rgba(45, 211, 255, 0.36);
  background:
    radial-gradient(circle at 88% 10%, rgba(45, 211, 255, 0.14), transparent 38%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.22)),
    var(--card-bg);
}

.fisr-public-live-screen .fisr-public-followed-card__head {
  display: grid;
  width: 100%;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 72px;
  padding: 14px 16px;
  border: 0;
  background: transparent;
  color: var(--skate-text);
  text-align: left;
  cursor: pointer;
}

.fisr-public-live-screen .fisr-public-followed-card__icon {
  width: 28px;
  height: 28px;
  padding: 7px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.44);
  border-radius: 999px;
  color: var(--skate-yellow);
  background: rgba(var(--skate-yellow-rgb), 0.12);
  box-sizing: content-box;
}

.fisr-public-live-screen .fisr-public-followed-card__icon path {
  fill: currentColor;
  stroke: currentColor;
}

.fisr-public-live-screen .fisr-public-followed-card.is-empty .fisr-public-followed-card__icon {
  color: rgb(45, 211, 255);
  border-color: rgba(45, 211, 255, 0.55);
  background: rgba(45, 211, 255, 0.12);
}

.fisr-public-live-screen .fisr-public-followed-card.has-new-updates .fisr-public-followed-card__icon {
  color: var(--skate-red-warm);
  border-color: rgba(var(--skate-red-warm-rgb), 0.62);
  background: rgba(var(--skate-red-warm-rgb), 0.16);
  animation: fisr-followed-spin 1.2s ease-in-out infinite;
}

.fisr-public-live-screen .fisr-public-followed-card:not(.is-empty):not(.has-new-updates) .fisr-public-followed-card__icon,
.fisr-public-live-screen .fisr-public-follow-toggle[aria-pressed="true"] .fisr-public-follow-toggle__icon,
.fisr-public-live-screen .fisr-public-followed-inline-badge__star {
  animation: fisr-follow-star-pulse 1.8s ease-in-out infinite;
  transform-origin: center;
}

.fisr-public-live-screen .fisr-public-followed-card__head span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-followed-card__head strong {
  color: var(--skate-text);
  font-size: clamp(1.05rem, 3.4vw, 1.25rem);
  line-height: 1.1;
}

.fisr-public-live-screen .fisr-public-followed-card__head small {
  color: var(--skate-muted);
  font-size: 0.84rem;
}

.fisr-public-live-screen .fisr-public-followed-card.has-new-updates .fisr-public-followed-card__head small {
  color: var(--skate-red-light);
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-followed-card__head em {
  display: inline-grid;
  min-width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.46);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.12);
  color: var(--skate-yellow);
  font-style: normal;
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-followed-card__body {
  display: grid;
  gap: 12px;
  padding: 0 16px 16px;
}

.fisr-public-live-screen .fisr-public-followed-card__body[hidden] {
  display: none;
}

.fisr-public-live-screen .fisr-public-followed-card__push {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.26);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-yellow-rgb), 0.07);
}

.fisr-public-live-screen .fisr-public-followed-card__push[hidden] {
  display: none;
}

.fisr-public-live-screen .fisr-public-followed-card__push p {
  margin: 0;
  color: var(--skate-muted);
  font-size: 0.88rem;
  line-height: 1.35;
}

.fisr-public-live-screen .fisr-public-followed-card__push button {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.5);
  border-radius: 999px;
  background: var(--skate-yellow);
  color: #111;
  font-size: 0.9rem;
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  white-space: nowrap;
}

.fisr-public-live-screen .fisr-public-followed-card__push button:disabled {
  cursor: default;
  opacity: 0.62;
}

@media (max-width: 520px) {
  .fisr-public-live-screen .fisr-public-followed-card__push {
    grid-template-columns: 1fr;
  }

  .fisr-public-live-screen .fisr-public-followed-card__push button {
    width: 100%;
  }
}

.fisr-public-live-screen .fisr-public-followed-card__list {
  display: grid;
  gap: 10px;
}

.fisr-public-live-screen .fisr-public-followed-card__empty {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(45, 211, 255, 0.25);
  border-radius: var(--skate-radius-md);
  background: rgba(45, 211, 255, 0.055);
}

.fisr-public-live-screen .fisr-public-followed-card__empty p {
  margin: 0;
  color: var(--skate-muted);
  font-size: 0.9rem;
  line-height: 1.35;
}

.fisr-public-live-screen .fisr-public-followed-card__empty a {
  width: fit-content;
  border-color: rgba(45, 211, 255, 0.48);
  color: rgb(45, 211, 255);
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-followed-card__list a {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.045);
  color: var(--skate-text);
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-followed-card__list a:hover,
.fisr-public-live-screen .fisr-public-followed-card__list a:focus-visible {
  border-color: var(--skate-yellow-border);
  color: var(--skate-yellow);
}

.fisr-public-live-screen .fisr-public-followed-card__list .fisr-public-followed-card__empty a {
  width: fit-content;
  border-color: rgba(45, 211, 255, 0.48);
  color: rgb(45, 211, 255);
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-followed-card__list .fisr-public-followed-card__empty a:hover,
.fisr-public-live-screen .fisr-public-followed-card__list .fisr-public-followed-card__empty a:focus-visible {
  border-color: rgba(45, 211, 255, 0.72);
  color: rgb(45, 211, 255);
}

.fisr-public-live-screen .fisr-public-followed-card__list strong,
.fisr-public-live-screen .fisr-public-followed-card__list small {
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-followed-card__list .fisr-public-followed-qualification {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border: 1px solid rgba(45, 211, 255, 0.26);
  border-radius: var(--skate-radius-md);
  background: rgba(45, 211, 255, 0.08);
  color: var(--skate-text);
  font-size: 0.82rem;
  line-height: 1.25;
}

.fisr-public-live-screen .fisr-public-followed-card__list .fisr-public-followed-qualification b {
  display: block;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: currentColor;
  font-size: 0.84rem;
}

.fisr-public-live-screen .fisr-public-followed-card__list .fisr-public-followed-qualification span {
  display: block;
  color: var(--skate-muted);
  font-size: 0.76rem;
}

.fisr-public-live-screen .fisr-public-followed-card__list .fisr-public-followed-qualification.is-qualified {
  border-color: rgba(48, 209, 88, 0.34);
  background: rgba(48, 209, 88, 0.10);
  color: rgb(102, 232, 132);
}

.fisr-public-live-screen .fisr-public-followed-card__list .fisr-public-followed-qualification.is-not_qualified {
  border-color: rgba(var(--skate-red-warm-rgb), 0.36);
  background: rgba(var(--skate-red-warm-rgb), 0.10);
  color: var(--skate-red-light);
}

.fisr-public-live-screen .fisr-public-followed-card__list .fisr-public-followed-qualification.is-pending {
  border-color: rgba(45, 211, 255, 0.30);
  background: rgba(45, 211, 255, 0.08);
  color: rgb(45, 211, 255);
}

.fisr-public-live-screen .fisr-public-followed-card__list span {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.fisr-public-live-screen .fisr-public-followed-card__list b,
.fisr-public-live-screen .fisr-public-followed-card__list em {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-followed-card__list b {
  border: 1px solid rgba(var(--skate-white-rgb), 0.12);
  background: rgba(var(--skate-white-rgb), 0.06);
}

.fisr-public-live-screen .fisr-public-followed-card__list em {
  border: 1px solid var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.fisr-public-live-screen .fisr-public-push-info {
  display: grid;
  gap: 4px;
  margin-block-end: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(45, 211, 255, 0.28);
  border-radius: var(--skate-radius-md);
  background:
    linear-gradient(180deg, rgba(45, 211, 255, 0.08), rgba(var(--skate-bg-rgb), 0.14)),
    var(--skate-surface-soft);
}

.fisr-public-live-screen .fisr-public-push-info strong {
  color: rgb(45, 211, 255);
  font-size: 0.92rem;
}

.fisr-public-live-screen .fisr-public-push-info p {
  margin: 0;
  color: var(--skate-muted);
  font-size: 0.86rem;
  line-height: 1.35;
}

@keyframes fisr-followed-alert {
  0%,
  100% {
    filter: brightness(1);
  }

  34% {
    filter: brightness(1.16);
  }

  68% {
    filter: brightness(1.12);
  }
}

@keyframes fisr-followed-spin {
  0% {
    transform: rotate(0deg);
  }

  42% {
    transform: rotate(360deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes fisr-follow-star-pulse {
  0%,
  100% {
    opacity: 0.86;
    transform: scale(1);
    filter: drop-shadow(0 0 0 rgba(var(--skate-yellow-rgb), 0));
  }

  50% {
    opacity: 1;
    transform: scale(1.09);
    filter: drop-shadow(0 0 7px rgba(var(--skate-yellow-rgb), 0.42));
  }
}

@media (prefers-reduced-motion: reduce) {
  .fisr-public-live-screen .fisr-public-followed-card__icon,
  .fisr-public-live-screen .fisr-public-follow-toggle__icon,
  .fisr-public-live-screen .fisr-public-followed-inline-badge__star {
    animation: none !important;
    filter: none !important;
    transform: none !important;
  }
}

.fisr-public-live-screen .fisr-public-search-groups {
  gap: 14px;
}

.fisr-public-live-screen .fisr-public-search-group {
  --fisr-category-rgb: var(--skate-category-rgb, var(--skate-yellow-rgb));
  border-color: rgba(var(--fisr-category-rgb), 0.42);
  background:
    radial-gradient(circle at 92% 12%, rgba(var(--fisr-category-rgb), 0.16), transparent 42%),
    linear-gradient(180deg, rgba(var(--fisr-category-rgb), 0.06), rgba(var(--skate-bg-rgb), 0.28)),
    var(--skate-card-2);
}

.fisr-public-live-screen .fisr-public-search-group[open] {
  border-color: rgba(var(--fisr-category-rgb), 0.72);
  box-shadow: 0 18px 38px rgba(var(--fisr-category-rgb), 0.11);
}

.fisr-public-live-screen .fisr-public-search-group > summary {
  grid-template-columns: auto minmax(0, 1fr) auto 34px;
  gap: 12px;
  min-height: 98px;
  padding: 15px;
}

.fisr-public-live-screen .fisr-public-search-group > summary::after {
  grid-column: 4;
  width: 34px;
  height: 34px;
  border-color: rgba(var(--fisr-category-rgb), 0.65);
  background: rgba(var(--fisr-category-rgb), 0.12);
  color: rgb(var(--fisr-category-rgb));
}

.fisr-public-live-screen .fisr-public-follow-toggle {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  align-self: start;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.44);
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 20%, rgba(var(--fisr-category-rgb), 0.18), transparent 62%),
    rgba(var(--skate-bg-rgb), 0.34);
  color: rgba(var(--skate-white-rgb), 0.72);
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.fisr-public-live-screen .fisr-public-follow-toggle:hover,
.fisr-public-live-screen .fisr-public-follow-toggle:focus-visible {
  border-color: rgba(var(--fisr-category-rgb), 0.82);
  color: rgb(var(--fisr-category-rgb));
  box-shadow: 0 0 0 4px rgba(var(--fisr-category-rgb), 0.10);
}

.fisr-public-live-screen .fisr-public-follow-toggle[aria-pressed="true"] {
  border-color: var(--skate-yellow);
  background:
    radial-gradient(circle at 50% 20%, rgba(var(--skate-yellow-rgb), 0.35), transparent 66%),
    rgba(var(--skate-yellow-rgb), 0.16);
  color: var(--skate-yellow);
  box-shadow: 0 0 22px rgba(var(--skate-yellow-rgb), 0.22);
}

.fisr-public-live-screen .fisr-public-follow-toggle__icon {
  width: 20px;
  height: 20px;
  color: currentColor;
}

.fisr-public-live-screen .fisr-public-follow-toggle__icon path {
  fill: currentColor;
  stroke: currentColor;
}

.fisr-public-live-screen .fisr-public-search-identity {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-search-identity strong {
  overflow-wrap: anywhere;
  color: var(--skate-text);
  font-size: clamp(1.08rem, 3.8vw, 1.35rem);
  line-height: 1.08;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-search-identity small {
  overflow-wrap: anywhere;
  color: var(--skate-text-soft);
  font-size: 0.86rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-search-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.fisr-public-live-screen .fisr-public-search-meta b,
.fisr-public-live-screen .fisr-public-search-meta mark,
.fisr-public-live-screen .fisr-public-search-meta i {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
}

.fisr-public-live-screen .fisr-public-search-meta b {
  border: 1px solid rgba(var(--skate-white-rgb), 0.12);
  background: rgba(var(--skate-white-rgb), 0.06);
  color: var(--skate-text);
}

.fisr-public-live-screen .fisr-public-search-meta mark {
  border: 1px solid rgba(var(--fisr-category-rgb), 0.52);
  background: rgba(var(--fisr-category-rgb), 0.14);
  color: rgb(var(--fisr-category-rgb));
}

.fisr-public-live-screen .fisr-public-search-meta i {
  border: 1px solid var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.fisr-public-live-screen .fisr-public-search-meta .fisr-public-followed-inline-badge {
  min-height: 26px;
  padding: 4px 8px;
  box-shadow: none;
}

.fisr-public-live-screen .fisr-public-search-group > summary > em {
  grid-column: 3;
  align-self: start;
  justify-self: end;
  min-width: max-content;
  padding: 5px 9px;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.42);
  border-radius: 999px;
  background: rgba(var(--fisr-category-rgb), 0.10);
  color: rgb(var(--fisr-category-rgb));
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-search-result-card {
  --fisr-category-rgb: var(--skate-category-rgb, var(--skate-yellow-rgb));
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  min-height: 112px;
  padding: 14px;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.48);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 92% 15%, rgba(var(--fisr-category-rgb), 0.20), transparent 43%),
    linear-gradient(180deg, rgba(var(--fisr-category-rgb), 0.10), rgba(var(--skate-bg-rgb), 0.24)),
    var(--skate-card-2);
  box-shadow: 0 18px 38px rgba(var(--skate-black-rgb), 0.28);
}

.fisr-public-live-screen .fisr-public-search-result-card__follow {
  width: 54px;
  height: 54px;
  min-width: 54px;
  padding: 0;
  border-radius: 17px;
  align-self: center;
}

.fisr-public-live-screen .fisr-public-search-result-card__follow .fisr-public-follow-toggle__label {
  display: none;
}

.fisr-public-live-screen .fisr-public-search-result-card__follow .fisr-public-follow-toggle__icon {
  width: 25px;
  height: 25px;
}

.fisr-public-live-screen .fisr-public-search-result-card__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-width: 0;
  min-height: 84px;
  color: var(--skate-text);
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-search-result-card__link *,
.fisr-public-live-screen .fisr-public-search-result-card__link {
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-search-result-card .fisr-public-search-identity {
  gap: 8px;
}

.fisr-public-live-screen .fisr-public-search-result-card .fisr-public-search-identity strong {
  font-size: clamp(1.12rem, 4.8vw, 1.45rem);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-search-result-card .fisr-public-search-identity small {
  font-size: 0.86rem;
  text-transform: none;
}

.fisr-public-live-screen .fisr-public-search-result-card .fisr-public-search-identity > em {
  width: fit-content;
  color: rgb(var(--fisr-category-rgb));
  font-size: 0.88rem;
  font-style: normal;
  font-weight: var(--font-weight-black);
  line-height: 1.2;
}

.fisr-public-live-screen .fisr-public-search-result-card__arrow {
  color: rgb(var(--fisr-category-rgb));
  font-size: clamp(2.4rem, 8vw, 3.3rem);
  font-weight: var(--font-weight-black);
  line-height: 1;
}

.fisr-public-live-screen .fisr-public-search-result-card__link:hover .fisr-public-search-result-card__arrow,
.fisr-public-live-screen .fisr-public-search-result-card__link:focus-visible .fisr-public-search-result-card__arrow {
  filter: brightness(1.12);
}

@media (min-width: 760px) {
  .fisr-public-live-screen .fisr-public-quick-nav__row--top {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .fisr-public-live-screen .fisr-public-quick-nav__row--utility {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fisr-public-live-screen .fisr-public-quick-nav__row--admin {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 759px) {
  .fisr-public-live-screen .fisr-public-live-header {
    padding: 20px;
  }

  .fisr-public-live-screen .fisr-public-live-header h1 {
    max-width: 12ch;
    font-size: clamp(2.05rem, 10.8vw, 3.3rem);
  }

  .fisr-public-live-screen .fisr-public-live-header__status {
    grid-template-columns: minmax(0, 1fr);
  }

  .fisr-public-live-screen .fisr-public-live-header__status div {
    border-radius: var(--skate-radius-md);
  }

  .fisr-public-live-screen .fisr-public-quick-nav__card {
    min-width: 0;
    min-height: 72px;
    padding: 13px;
  }

  .fisr-public-live-screen .fisr-public-live-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .fisr-public-live-screen .fisr-public-live-summary article {
    padding: 10px 8px;
  }

  .fisr-public-live-screen .fisr-public-category-group > summary {
    grid-template-columns: 40px minmax(0, 1fr) 34px;
    min-height: 82px;
  }

  .fisr-public-live-screen .fisr-public-category-group > summary::before {
    width: 38px;
    height: 38px;
    grid-row: 1 / span 2;
  }

  .fisr-public-live-screen .fisr-public-category-group > summary > span {
    grid-column: 2;
  }

  .fisr-public-live-screen .fisr-public-category-group > summary em {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
    white-space: normal;
  }

  .fisr-public-live-screen .fisr-public-category-group > summary::after {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  .fisr-public-live-screen .fisr-public-search-group > summary {
    grid-template-columns: auto minmax(0, 1fr) 34px;
    min-height: 108px;
  }

  .fisr-public-live-screen .fisr-public-search-group > summary > em {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
  }

  .fisr-public-live-screen .fisr-public-search-group > summary::after {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  .fisr-public-live-screen .fisr-public-athlete-journey,
  .fisr-public-live-screen .fisr-public-linked-documents {
    margin-inline: 10px;
    padding-inline: 0;
  }

  .fisr-public-live-screen .fisr-public-update-list li,
  .fisr-public-live-screen .fisr-public-follow-actions__list a {
    min-height: 56px;
  }
}

/* =========================================================
   15. DASHBOARD ADMIN
   Account, settings, communication and reserved pages.
   ========================================================= */
.settings-head {
  align-items: center;
}

.screen-meta,
.role-chip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.role-chip {
  width: fit-content;
  min-height: 28px;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
}

.dashboard-screen .app-main {
  padding-bottom: calc(var(--app-bottom-safe-space) + 96px);
}

.dashboard-head {
  overflow: hidden;
}

.dashboard-head__content {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.dashboard-head .screen-subtitle,
.dashboard-head .screen-meta {
  margin: 0;
}

.dashboard-head h1 {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.dashboard-screen .dashboard-grid {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(14px, 2vw, 18px);
}

.dashboard-menu-groups {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
}

.dashboard-procedure-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  margin-bottom: clamp(18px, 3vw, 28px);
  border-color: rgba(var(--skate-yellow-rgb), 0.24);
  background:
    radial-gradient(circle at 94% 0%, rgba(var(--skate-yellow-rgb), 0.14), transparent 34%),
    rgba(var(--skate-card-rgb), 0.72);
}

.dashboard-procedure-card__content {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.dashboard-procedure-card__content h2,
.dashboard-procedure-card__content p {
  margin: 0;
}

.dashboard-procedure-card__content h2 {
  color: var(--skate-text);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.12;
}

.dashboard-procedure-card__content p:not(.eyebrow) {
  max-width: 860px;
  color: var(--skate-muted);
  line-height: 1.5;
}

.dashboard-procedure-card__info {
  flex: 0 0 auto;
}

.dashboard-procedure-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}

.dashboard-procedure-card__guide {
  min-height: 46px;
  padding: 10px 16px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow);
  color: var(--skate-neutral-950);
  font: inherit;
  font-weight: var(--font-weight-black);
  cursor: pointer;
  box-shadow: 0 0 22px rgba(var(--skate-yellow-rgb), 0.10);
}

.dashboard-procedure-card__guide:hover,
.dashboard-procedure-card__guide:focus-visible {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow-300);
  color: var(--skate-neutral-950);
  outline: none;
}

@media (max-width: 520px) {
  .dashboard-procedure-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-procedure-card__actions {
    justify-self: start;
    justify-content: flex-start;
  }
}

.dashboard-menu-group {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.dashboard-menu-group__head {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.08), rgba(var(--skate-white-rgb), 0.03)),
    rgba(var(--skate-card-rgb), 0.58);
  box-shadow: var(--skate-shadow-soft);
}

.dashboard-menu-group--technical .dashboard-menu-group__head {
  background:
    linear-gradient(135deg, rgba(var(--skate-white-rgb), 0.08), rgba(var(--skate-yellow-rgb), 0.04)),
    rgba(var(--skate-bg-soft-rgb), 0.72);
}

.dashboard-menu-group__head span {
  width: fit-content;
  padding: 5px 9px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-transform: uppercase;
}

.dashboard-menu-group__head h2,
.dashboard-menu-group__head p {
  margin: 0;
}

.dashboard-menu-group__head h2 {
  color: var(--skate-text);
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  line-height: 1.1;
}

.dashboard-menu-group__head p {
  max-width: 820px;
  color: var(--skate-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.dashboard-screen .dashboard-grid .section-card {
  display: flex;
  min-width: 0;
  min-height: clamp(220px, 22vw, 256px);
  overflow: hidden;
  padding: clamp(16px, 2vw, 22px);
  position: relative;
}

.dashboard-screen .section-card__link {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  flex: 1 1 auto;
  min-width: 0;
  gap: 14px;
}

.dashboard-screen .section-card__head {
  min-width: 0;
  align-items: flex-start;
}

.dashboard-screen .section-card__head-link {
  padding-right: 42px;
}

.dashboard-screen .section-card__head h2 {
  min-width: 0;
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.05rem, 1.6vw, 1.22rem);
  line-height: 1.12;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.dashboard-screen .section-card__icon {
  flex: 0 0 auto;
}

.dashboard-screen .section-card__list {
  align-content: start;
  min-width: 0;
}

.dashboard-screen .section-card__item-link {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.28;
}

.section-card__info-button,
.dashboard-ops-card__info-button,
.family-dashboard-panel__info-button {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  min-width: 36px;
  height: 36px;
  font-size: 0.9rem;
  z-index: 2;
}

.dashboard-screen .dashboard-stack {
  align-items: stretch;
}

.dashboard-screen .dashboard-ops-card {
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.dashboard-stack {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 16px;
}

.dashboard-ops-card,
.dashboard-ops-card__head,
.dashboard-health-list,
.dashboard-quick-actions {
  display: grid;
  gap: 12px;
}

.dashboard-ops-card__head h2,
.dashboard-ops-card__head p {
  margin: 0;
}

.dashboard-ops-card__head {
  padding-right: 48px;
}

.dashboard-ops-card__head p:not(.eyebrow) {
  color: var(--skate-muted);
  line-height: 1.55;
}

.dashboard-quick-actions {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
}

.dashboard-quick-actions a,
.dashboard-health-list article {
  display: grid;
  min-width: 0;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.dashboard-quick-actions a {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 12px;
  color: var(--skate-text);
  text-decoration: none;
}

.dashboard-quick-actions a:hover,
.dashboard-quick-actions a:focus-visible {
  border-color: var(--skate-yellow-border);
  background: var(--skate-surface-hover);
}

.dashboard-quick-actions__icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-sm);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.dashboard-quick-actions__icon-image {
  width: 20px;
  height: 20px;
}

.dashboard-quick-actions strong,
.dashboard-quick-actions small,
.dashboard-health-list span,
.dashboard-health-list strong {
  display: block;
}

.dashboard-quick-actions strong,
.dashboard-health-list strong {
  color: var(--skate-text);
  line-height: 1.2;
}

.dashboard-quick-actions small,
.dashboard-health-list span {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.25;
  text-transform: uppercase;
}

.dashboard-health-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
}

.dashboard-health-list article {
  gap: 6px;
  padding: 14px;
}

.dashboard-health-list strong {
  color: var(--skate-yellow);
  font-size: clamp(1.18rem, 2vw, 1.55rem);
}

.family-dashboard-panel,
.family-dashboard-panel__head {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.family-dashboard-panel {
  position: relative;
}

.family-dashboard-panel__head {
  padding-right: 48px;
}

.family-dashboard-panel__head h2,
.family-dashboard-panel__head p {
  margin: 0;
}

.family-dashboard-panel__head h2 {
  color: var(--skate-text);
  font-size: clamp(1.35rem, 2.4vw, 1.8rem);
  line-height: 1.1;
}

.family-dashboard-panel__head p {
  max-width: 720px;
  color: var(--skate-muted);
  line-height: 1.5;
}

.family-athlete-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 12px;
  min-width: 0;
}

.family-athlete-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.08), rgba(var(--skate-white-rgb), 0.03)),
    rgba(var(--skate-card-rgb), 0.66);
  color: var(--skate-text);
  text-decoration: none;
  box-shadow: var(--skate-shadow-soft);
}

.family-athlete-card:hover,
.family-athlete-card:focus-visible {
  border-color: var(--skate-yellow-border);
  background: var(--skate-surface-hover);
}

.family-athlete-card__avatar {
  display: grid;
  width: 64px;
  aspect-ratio: 1;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 18px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.family-athlete-card__avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.family-athlete-card__body {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.family-athlete-card__body strong,
.family-athlete-card__body small {
  overflow-wrap: anywhere;
}

.family-athlete-card__body strong {
  color: var(--skate-text);
  font-size: clamp(1.05rem, 1.8vw, 1.22rem);
  line-height: 1.15;
}

.family-athlete-card__body small {
  color: var(--skate-muted);
  font-size: 0.86rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.25;
}

.family-athlete-card__action {
  grid-column: 1 / -1;
  justify-self: start;
  padding: 8px 12px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
}

.section-card__link {
  display: grid;
  gap: 14px;
}

.section-card__head {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--skate-text);
  text-decoration: none;
}

.section-card__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.section-card__icon-image {
  width: 22px;
  height: 22px;
}

.section-card__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.section-card__item-link {
  display: block;
  padding: 10px 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-sm);
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  text-decoration: none;
}

.section-card__item-link:hover {
  border-color: var(--skate-yellow-border);
  color: var(--skate-yellow);
}

.settings-logout {
  flex: 0 0 auto;
}

.settings-context,
.settings-alert,
.settings-explainer,
.settings-wizard {
  border-color: var(--skate-border);
}

.settings-alert--technical {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
}

.settings-stat {
  display: grid;
  gap: 8px;
}

.settings-stat strong {
  font-size: clamp(1.4rem, 3vw, 2rem);
}

.settings-profile {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  min-width: 0;
}

.settings-profile__avatar,
.settings-user-card__avatar {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: var(--skate-yellow);
  color: var(--skate-bg);
  font-weight: var(--font-weight-bold);
}

.settings-profile__copy,
.settings-card {
  min-width: 0;
}

.settings-profile__copy {
  display: grid;
  gap: 6px;
}

.settings-profile__copy span,
.settings-profile__copy h2,
.settings-profile__copy p {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.settings-profile__copy span {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  text-transform: uppercase;
}

.settings-profile__copy h2 {
  color: var(--skate-text);
  font-size: clamp(1.18rem, 2vw, 1.58rem);
  line-height: 1.12;
}

.settings-profile__copy p {
  color: var(--skate-text-soft);
  line-height: 1.4;
}

.settings-account-grid--athlete {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.settings-account-grid--athlete > .panel {
  min-width: 0;
}

.settings-account-grid--athlete .settings-profile {
  grid-column: 1 / -1;
}

.settings-card__head,
.shop-panel__header,
.communication-form-card__head {
  display: grid;
  gap: 6px;
  margin-block-end: 14px;
}

.settings-field-grid,
.settings-meta-grid,
.shop-definition-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: 10px;
}

.settings-field-grid div,
.settings-field-grid article,
.settings-meta-grid div,
.shop-definition-grid div {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
}

.settings-field-grid dt,
.settings-field-grid article span,
.settings-meta-grid dt,
.shop-definition-grid dt {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.25;
  text-transform: uppercase;
}

.settings-field-grid dd,
.settings-field-grid article strong,
.settings-meta-grid dd,
.shop-definition-grid dd {
  margin: 4px 0 0;
  color: var(--skate-text);
  line-height: 1.35;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.settings-quick-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
  gap: 10px;
}

.settings-quick-actions a {
  width: 100%;
  min-width: 0;
}

@media (max-width: 1100px) {
  .settings-account-grid--athlete {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .settings-account-grid--athlete {
    grid-template-columns: minmax(0, 1fr);
  }

  .settings-account-grid--athlete .settings-profile {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
  }

  .settings-account-grid--athlete .settings-profile__avatar {
    width: 52px;
    height: 52px;
  }

  .settings-account-grid--athlete .settings-field-grid,
  .settings-quick-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

.settings-user-card {
  grid-template-columns: 58px minmax(0, 1fr);
}

.settings-user-card__avatar {
  width: 52px;
  height: 52px;
}

.settings-user-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.settings-role-choice-grid,
.settings-manage-grid,
.settings-config-grid,
.settings-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 12px;
}

.settings-theme-panel {
  display: grid;
  gap: 18px;
  margin-block-end: 16px;
  scroll-margin-top: calc(var(--app-topbar-height) + 16px);
}

.settings-theme-panel__head {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}

.settings-theme-panel__eyebrow {
  display: inline-flex;
  margin-block-end: 6px;
  color: var(--skate-yellow);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0;
  text-transform: uppercase;
}

.settings-theme-status,
.settings-theme-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.settings-theme-presets {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 12px;
}

.settings-theme-preset {
  display: grid;
  min-width: 0;
  gap: 4px;
  min-height: 78px;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  text-align: left;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.settings-theme-preset:hover,
.settings-theme-preset:focus-visible {
  border-color: var(--skate-primary);
  background: var(--skate-surface-hover);
  transform: translateY(-1px);
}

.settings-theme-preset strong {
  color: var(--skate-text);
  font-size: 0.98rem;
  line-height: 1.15;
}

.settings-theme-preset small {
  color: var(--skate-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.settings-theme-grid,
.settings-theme-colors {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 12px;
}

.settings-theme-control,
.settings-theme-swatch {
  display: grid;
  min-width: 0;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
}

.settings-theme-control > span,
.settings-theme-swatch__copy strong {
  color: var(--skate-text);
  font-size: 0.9rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
}

.settings-theme-swatch {
  grid-template-columns: 44px minmax(0, 1fr) 56px;
  align-items: center;
}

.settings-theme-swatch__sample {
  display: block;
  width: 38px;
  height: 38px;
  border: 1px solid var(--skate-border-strong);
  border-radius: 999px;
  background: var(--theme-swatch-color);
  box-shadow: inset 0 0 0 2px rgba(var(--skate-black-rgb), 0.18);
}

.settings-theme-swatch__copy {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.settings-theme-swatch__copy small,
.settings-theme-actions span {
  color: var(--skate-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.settings-theme-swatch input[type="color"] {
  width: 52px;
  min-width: 52px;
  height: 40px;
  min-height: 40px;
  padding: 4px;
}

.settings-theme-preview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
}

.settings-theme-preview__surface {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-card);
  color: var(--skate-text);
}

.settings-theme-preview__surface span {
  color: var(--skate-primary);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.settings-theme-preview__surface strong {
  color: var(--skate-text);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1;
}

.settings-theme-preview__surface p {
  max-width: 54ch;
  margin: 0;
  color: var(--skate-text-soft);
}

.settings-theme-preview__row,
.settings-theme-preview__stack {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.settings-theme-preview__stack {
  justify-content: flex-end;
  align-content: center;
}

.settings-theme-preview__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 12px;
  border: 1px solid var(--skate-primary);
  border-radius: var(--skate-radius-sm);
  background: var(--skate-primary);
  color: var(--skate-bg);
  font-weight: var(--font-weight-bold);
  line-height: 1;
}

.settings-theme-preview__pill--soft {
  border-color: var(--skate-border);
  background: var(--skate-surface-soft);
  color: var(--skate-text);
}

body.is-theme-previewing .settings-theme-panel {
  box-shadow: 0 0 0 1px var(--skate-primary), var(--skate-shadow-card);
}

@media (max-width: 560px) {
  .settings-theme-preview {
    grid-template-columns: 1fr;
  }

  .settings-theme-preview__stack {
    justify-content: stretch;
  }

  .settings-theme-preview__stack > * {
    width: 100%;
  }

  .settings-theme-swatch {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .settings-theme-swatch input[type="color"] {
    grid-column: 1 / -1;
    width: 100%;
  }
}

.settings-details-card,
.settings-inner-details,
.settings-role-card,
.settings-permission-group,
.settings-module-card,
.settings-cache-card {
  overflow: hidden;
}

details summary {
  cursor: pointer;
  color: var(--skate-text);
  font-weight: var(--font-weight-semibold);
}

.communication-inline-status,
.communication-choice-card,
.communication-app-card,
.communication-note-card {
  border-color: var(--skate-border);
}

.communication-choice-card {
  grid-template-columns: 44px minmax(0, 1fr) 24px;
}

.communication-app-card {
  grid-template-columns: 44px minmax(0, 1fr) 24px;
}

.communication-team-chip,
.communication-team-suggestion {
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text);
}

.communication-team-suggestion {
  padding: 8px 12px;
  cursor: pointer;
}

/* Comunicazioni admin: wizard, template e storico invii. */
.communication-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  overflow: hidden;
  min-width: 0;
  padding: clamp(18px, 4vw, 30px);
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 88% 18%, rgba(var(--skate-yellow-rgb), 0.22), transparent 30%),
    radial-gradient(circle at 76% 72%, rgba(var(--skate-primary-rgb), 0.16), transparent 34%),
    linear-gradient(145deg, rgba(var(--skate-card-rgb), 0.96), rgba(var(--skate-bg-rgb), 0.99));
  box-shadow: var(--skate-shadow-soft);
}

.communication-hero__copy {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.communication-hero h1 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(2rem, 6vw, 3.2rem);
  line-height: 0.98;
}

.communication-hero p {
  margin: 0;
  max-width: 52ch;
  color: var(--skate-text-soft);
  line-height: 1.45;
}

.communication-hero__icon {
  display: grid;
  width: clamp(72px, 20vw, 118px);
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.28);
  border-radius: 999px;
  background:
    radial-gradient(circle at 34% 28%, rgba(var(--skate-white-rgb), 0.18), transparent 34%),
    rgba(var(--skate-yellow-rgb), 0.11);
  color: var(--skate-yellow);
  box-shadow: 0 0 32px rgba(var(--skate-yellow-rgb), 0.18);
}

.communication-hero__icon-image {
  width: 52%;
  height: 52%;
}

:is(
  .communication-primary-card__icon-image,
  .communication-primary-card__arrow-image,
  .communication-channel-row__icon-image,
  .communication-selected-channel__icon-image,
  .communication-template-option__icon-image,
  .communication-template-button__icon,
  .communication-recipient-tab__icon-image
) {
  width: 22px;
  height: 22px;
}

.communication-primary-card {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 26px;
  gap: 12px;
  align-items: center;
  min-height: 76px;
  padding: 14px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.72);
  border-radius: var(--skate-radius-lg);
  background: var(--skate-yellow);
  box-shadow: 0 18px 44px rgba(var(--skate-yellow-rgb), 0.18);
  color: var(--skate-bg);
  text-decoration: none;
}

.communication-primary-card__icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 14px;
  background: rgba(var(--skate-white-rgb), 0.48);
  color: var(--skate-bg);
}

.communication-primary-card__copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.communication-primary-card__copy strong {
  color: var(--skate-bg);
  font-size: 1.15rem;
  line-height: 1.1;
}

.communication-primary-card__copy small {
  color: rgba(var(--skate-bg-rgb), 0.78);
  font-weight: var(--font-weight-semibold);
  line-height: 1.25;
}

.communication-status-panel {
  display: grid;
  gap: 14px;
  padding: clamp(16px, 2.6vw, 22px);
}

.communication-status-panel__head {
  display: grid;
  gap: 5px;
}

.communication-status-panel__head strong,
.communication-section-head h2 {
  color: var(--skate-text);
  font-size: clamp(1.12rem, 2.3vw, 1.45rem);
  line-height: 1.12;
}

.communication-status-panel__head p,
.communication-section-head p {
  margin: 0;
  color: var(--skate-muted);
  line-height: 1.45;
}

.communication-channel-list {
  display: grid;
  gap: 8px;
}

.communication-channel-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.08);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.communication-channel-row__icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 13px;
  background: rgba(var(--skate-yellow-rgb), 0.12);
  color: var(--skate-yellow);
}

.communication-channel-row__icon--email {
  background: rgba(var(--skate-primary-rgb), 0.14);
  color: var(--skate-blue-action);
}

.communication-channel-row__icon--whatsapp {
  background: rgba(var(--skate-success-rgb), 0.14);
  color: var(--skate-success);
}

.communication-channel-row__icon--sms {
  background: rgba(var(--skate-yellow-rgb), 0.14);
  color: var(--skate-yellow);
}

.communication-channel-row__copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.communication-channel-row__copy strong {
  color: var(--skate-text);
  line-height: 1.14;
  overflow-wrap: anywhere;
}

.communication-channel-row__copy small {
  color: var(--skate-muted);
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.communication-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-block: 10px 14px;
}

.communication-subnav__pill {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-card-rgb), 0.62);
  color: var(--skate-text-soft);
  font-size: 0.86rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.15;
  text-decoration: none;
}

.communication-subnav__pill--back {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.communication-subnav__pill--back::before {
  content: "";
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}

.communication-stepper {
  display: flex;
  gap: 8px;
  max-width: 100%;
  overflow-x: auto;
  padding: 2px 2px 10px;
  margin-block-end: 16px;
  scrollbar-width: thin;
}

.communication-stepper__item {
  flex: 0 0 auto;
  display: inline-grid;
  grid-template-columns: 30px max-content;
  gap: 8px;
  align-items: center;
  min-height: 44px;
  padding: 7px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  font-size: 0.84rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
}

.communication-stepper__number {
  display: inline-grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-bg-rgb), 0.62);
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
}

.communication-stepper__label {
  color: inherit;
}

.communication-stepper__item.is-current {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
}

.communication-stepper__item.is-current .communication-stepper__number {
  border-color: rgba(var(--skate-bg-rgb), 0.24);
  background: rgba(var(--skate-bg-rgb), 0.14);
  color: var(--skate-bg);
}

.communication-stepper__item.is-done {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.communication-step-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.communication-choice-stack,
.communication-list-stack {
  padding-block-end: calc(var(--app-bottom-safe-space) + 18px);
}

.communication-choice-card {
  display: grid;
  position: relative;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: clamp(14px, 2.2vw, 18px);
  cursor: pointer;
}

.communication-choice-card.is-disabled {
  cursor: not-allowed;
  opacity: 0.64;
  filter: saturate(0.55);
}

.communication-choice-card.is-disabled:hover {
  border-color: var(--skate-border);
}

.communication-choice-card--channel {
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
}

.communication-choice-card input[type="radio"] {
  position: absolute;
  width: 1px;
  min-width: 1px;
  height: 1px;
  min-height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.communication-choice-card:has(input[type="radio"]:focus-visible) {
  outline: 2px solid var(--skate-yellow);
  outline-offset: 3px;
}

.communication-choice-card.is-selected {
  border-color: var(--skate-yellow);
  background:
    radial-gradient(circle at 96% 0%, rgba(var(--skate-yellow-rgb), 0.16), transparent 38%),
    rgba(var(--skate-card-rgb), 0.94);
}

.communication-choice-card__icon,
.communication-template-card__icon {
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.communication-choice-card__copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.communication-choice-card__title,
.communication-template-card__title strong {
  color: var(--skate-text);
  font-size: clamp(1rem, 2vw, 1.08rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.communication-choice-card__description,
.communication-template-card__title small,
.communication-choice-card__preview,
.communication-template-card__preview,
.communication-history-card__title p,
.communication-history-card__excerpt {
  color: var(--skate-muted);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.communication-choice-card__preview,
.communication-template-card__preview {
  margin: 0;
  color: var(--skate-text-soft);
}

.communication-choice-card > .status-pill,
.communication-choice-card__arrow {
  grid-column: 2;
  justify-self: start;
}

.communication-choice-card > .status-pill {
  max-width: 100%;
  white-space: normal;
  text-align: left;
}

.communication-choice-card--channel > .status-pill {
  grid-column: 3;
  justify-self: end;
}

.communication-choice-card__arrow {
  display: none;
  color: var(--skate-muted);
}

.communication-selected-channel {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-color: rgba(var(--skate-primary-rgb), 0.38);
  background:
    radial-gradient(circle at 90% 8%, rgba(var(--skate-primary-rgb), 0.17), transparent 34%),
    rgba(var(--skate-card-rgb), 0.9);
}

.communication-selected-channel__icon {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 15px;
  background: rgba(var(--skate-primary-rgb), 0.16);
  color: var(--skate-blue-action);
}

.communication-selected-channel__copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.communication-selected-channel__copy small {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.communication-selected-channel__copy strong {
  color: var(--skate-text);
  font-size: 1.08rem;
}

.communication-selected-channel__change {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 11px;
  border: 1px solid rgba(var(--skate-primary-rgb), 0.38);
  border-radius: 999px;
  background: rgba(var(--skate-primary-rgb), 0.1);
  color: var(--skate-blue-light);
  font-size: 0.84rem;
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.communication-section-head {
  display: grid;
  gap: 5px;
  margin-block: 8px 2px;
}

.communication-section-head h2 {
  margin: 0;
}

.communication-template-grid {
  display: grid;
  gap: 12px;
  padding-block-end: calc(var(--app-bottom-safe-space) + 18px);
}

.communication-template-option {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: clamp(14px, 2.3vw, 20px);
}

.communication-template-option.is-selected {
  border-color: var(--skate-yellow-border);
  background:
    radial-gradient(circle at 96% 0%, rgba(var(--skate-yellow-rgb), 0.13), transparent 36%),
    rgba(var(--skate-card-rgb), 0.94);
}

.communication-template-option__main {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
}

.communication-template-option__icon {
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 15px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.communication-template-option__copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.communication-template-option__copy strong {
  color: var(--skate-text);
  font-size: 1.07rem;
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.communication-template-option__copy small,
.communication-template-option__copy p {
  margin: 0;
  color: var(--skate-muted);
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.communication-template-option__actions {
  display: grid;
  gap: 10px;
}

.communication-template-preview-card {
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.16);
}

.communication-template-preview-card summary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 10px 12px;
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
  list-style: none;
}

.communication-template-preview-card summary::-webkit-details-marker {
  display: none;
}

.communication-template-preview-card__icon {
  width: 20px;
  height: 20px;
  color: var(--skate-yellow);
}

.communication-template-preview-card__body {
  display: grid;
  gap: 10px;
  padding: 0 10px 10px;
}

.communication-template-preview-card__title {
  margin: 0;
  color: var(--skate-text-soft);
  font-size: 0.88rem;
  font-weight: var(--font-weight-semibold);
}

.communication-template-preview-card iframe {
  width: 100%;
  min-height: min(440px, 62vh);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-sm);
  background: var(--skate-white);
}

.communication-template-submit {
  display: block;
}

.communication-template-button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.communication-template-button--write {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
}

.communication-recipient-tabs {
  display: flex;
  gap: 8px;
  max-width: 100%;
  overflow-x: auto;
  padding: 2px 2px 10px;
  scrollbar-width: thin;
}

.communication-recipient-tab {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
}

.communication-recipient-tab.is-active {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
}

.communication-recipient-tab__icon {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
}

.communication-recipient-picker {
  display: grid;
  gap: 12px;
}

.communication-recipient-picker__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.communication-recipient-picker__counter {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-sm);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.communication-recipient-list {
  display: grid;
  gap: 8px;
  max-height: min(62vh, 720px);
  overflow-y: auto;
  padding-right: 2px;
  scrollbar-width: thin;
}

.communication-recipient-row {
  display: grid;
  grid-template-columns: 24px 48px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.1);
  border-radius: var(--skate-radius-md);
  background:
    radial-gradient(circle at 96% 0%, rgba(var(--skate-yellow-rgb), 0.08), transparent 34%),
    rgba(var(--skate-black-rgb), 0.18);
  color: var(--skate-text);
}

.communication-recipient-row.is-selected {
  border-color: var(--skate-yellow-border);
  background:
    radial-gradient(circle at 96% 0%, rgba(var(--skate-yellow-rgb), 0.18), transparent 38%),
    rgba(var(--skate-yellow-rgb), 0.07);
}

.communication-recipient-row.is-disabled {
  opacity: 0.56;
}

.communication-recipient-avatar {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

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

.communication-recipient-row__copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.communication-recipient-row__copy strong {
  color: var(--skate-text);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.communication-recipient-row__copy small {
  color: var(--skate-muted);
  font-size: 0.82rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.communication-manual-grid {
  display: grid;
  gap: 12px;
}


.communication-search-card {
  align-items: end;
}

.communication-search-card .field {
  min-width: min(100%, 260px);
}

.communication-team-picker {
  display: grid;
  gap: 12px;
}

.communication-team-picker__filters {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: 10px;
  align-items: end;
}

.communication-team-picker__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.communication-team-picker__selected {
  display: block;
}

.communication-team-picker__summary,
.communication-team-picker__hint,
.communication-team-picker__empty {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-black-rgb), 0.18);
  color: var(--skate-muted);
  font-weight: var(--font-weight-semibold);
  line-height: 1.25;
}

.communication-team-picker__summary.is-active {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.communication-team-picker__suggestions {
  display: grid;
  gap: 8px;
  max-height: min(58vh, 620px);
  overflow-y: auto;
  padding-right: 2px;
  scrollbar-width: thin;
}

.communication-team-option {
  display: grid;
  grid-template-columns: 24px 72px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.1);
  border-radius: 15px;
  background:
    radial-gradient(circle at 96% 0%, rgba(var(--skate-primary-rgb), 0.1), transparent 38%),
    rgba(var(--skate-black-rgb), 0.18);
  color: var(--skate-text);
}

.communication-team-option.is-selected {
  border-color: var(--skate-yellow-border);
  background:
    radial-gradient(circle at 96% 0%, rgba(var(--skate-yellow-rgb), 0.14), transparent 42%),
    rgba(var(--skate-yellow-rgb), 0.07);
}

.communication-team-option input[type="checkbox"] {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  accent-color: var(--skate-yellow);
}

.communication-team-option__code {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(var(--skate-primary-rgb), 0.28);
  border-radius: 12px;
  background: rgba(var(--skate-primary-rgb), 0.08);
}

.communication-team-option__code small {
  color: var(--skate-muted);
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.communication-team-option__code strong {
  color: var(--skate-yellow);
  font-size: 0.95rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.communication-team-option__body {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.communication-team-option__body strong {
  color: var(--skate-text);
  font-size: 0.95rem;
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.communication-team-option__body small {
  display: block;
  color: var(--skate-muted);
  font-size: 0.8rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.2;
  overflow-wrap: anywhere;
  white-space: normal;
}

.communication-chip-filter {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  max-width: 100%;
  overflow-x: auto;
  padding: 2px 2px 8px;
  scrollbar-width: thin;
}

.communication-chip-filter__item {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  font-size: 0.86rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
}

.communication-chip-filter__item.is-active {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
}

.communication-template-card,
.communication-history-card {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: clamp(16px, 2.3vw, 22px);
}

.communication-template-card__head,
.communication-history-card__head {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-width: 0;
}

.communication-template-card__title,
.communication-history-card__title {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.communication-template-card__head > .status-pill,
.communication-history-card__head > .status-pill {
  grid-column: 2;
  justify-self: start;
}

.communication-template-card__actions {
  display: flex;
  justify-content: flex-start;
  margin: 0;
}

.communication-template-details {
  display: grid;
  gap: 10px;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.16);
}

.communication-template-details summary {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 12px;
  color: var(--skate-text);
}

.communication-template-preview {
  display: block;
  max-width: 100%;
  overflow: hidden;
  padding: 0 10px 10px;
}

.communication-template-preview iframe {
  display: block;
  width: 100%;
  height: min(420px, 62vh);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-sm);
  background: var(--skate-white);
}

.communication-history-card__title h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.08rem, 2vw, 1.28rem);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.communication-history-card__title p {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 0;
  font-size: 0.9rem;
}

.communication-history-card__title p span + span::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-right: 10px;
  border-radius: 50%;
  background: currentColor;
  vertical-align: middle;
  opacity: 0.58;
}

.communication-history-card__subject {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.16);
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-semibold);
  overflow-wrap: anywhere;
}

.communication-history-card__excerpt {
  margin: 0;
}

.communication-history-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.communication-mini-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  font-size: 0.84rem;
  line-height: 1.15;
}

.communication-mini-chip strong {
  color: var(--skate-text);
}

@media (max-width: 640px) {
  .communication-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .communication-hero__icon {
    justify-self: start;
    width: 70px;
  }

  .communication-channel-row {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .communication-channel-row > .status-pill {
    grid-column: 2;
    justify-self: start;
  }

  .communication-choice-card--channel {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .communication-choice-card--channel > .status-pill {
    grid-column: 2;
    justify-self: start;
  }

  .communication-selected-channel {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .communication-selected-channel__change {
    grid-column: 1 / -1;
    justify-content: center;
  }

  .communication-recipient-picker__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .communication-recipient-picker__actions .btn {
    width: 100%;
    justify-content: center;
  }

  .communication-recipient-row {
    grid-template-columns: 24px 44px minmax(0, 1fr);
    gap: 8px;
    padding: 9px;
  }

  .communication-recipient-avatar {
    width: 44px;
    height: 44px;
  }

  .communication-team-picker__filters {
    grid-template-columns: 1fr;
  }

  .communication-team-picker__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .communication-team-picker__actions .btn {
    width: 100%;
    justify-content: center;
  }

  .communication-team-option {
    grid-template-columns: 24px 68px minmax(0, 1fr);
    gap: 8px;
    padding: 9px;
  }

  .communication-team-option__body strong {
    font-size: 0.9rem;
  }

  .communication-team-option__body small {
    font-size: 0.76rem;
  }
}

@media (min-width: 760px) {
  .communication-choice-card {
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: center;
  }

  .communication-choice-card__icon,
  .communication-template-card__icon {
    width: 52px;
    height: 52px;
  }

  .communication-choice-card > .status-pill,
  .communication-choice-card__arrow {
    grid-column: auto;
    justify-self: end;
  }

  .communication-choice-card__arrow {
    display: inline-grid;
    place-items: center;
  }

  .communication-template-card__head,
  .communication-history-card__head {
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: center;
  }

  .communication-template-card__head > .status-pill,
  .communication-history-card__head > .status-pill {
    grid-column: auto;
    justify-self: end;
  }
}

@media (min-width: 980px) {
  .communication-choice-stack {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  }

  .communication-stepper {
    overflow: visible;
  }
}

/* =========================================================
   TEAM / SQUADRA PAGE
   Squadra agonistica SKATE: filtri, categorie, card atleta.
   ========================================================= */
.skate-team-page {
  display: grid;
  gap: clamp(18px, 3vw, 34px);
  width: min(100%, 1120px);
  margin-inline: auto;
  color: var(--skate-text);
}

.skate-team-hero,
.skate-team-empty,
.skate-team-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 88% 14%, rgba(var(--skate-yellow-rgb), 0.14), transparent 34%),
    linear-gradient(135deg, rgba(var(--skate-card-rgb), 0.97), rgba(var(--skate-bg-rgb), 0.99));
  box-shadow: var(--skate-shadow-strong);
}

.skate-team-hero {
  display: grid;
  gap: clamp(18px, 4vw, 38px);
  align-items: end;
  padding: clamp(22px, 5vw, 52px);
}

.skate-team-hero__content {
  display: grid;
  gap: 14px;
  max-width: 720px;
}

.skate-team-hero__label,
.skate-team-section__label,
.skate-athlete-card__badge {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-transform: uppercase;
}

.skate-team-hero__title {
  max-width: 11ch;
  margin: 0;
  font-size: clamp(2.6rem, 7vw, 5.4rem);
  line-height: 0.92;
}

.skate-team-hero__lead {
  max-width: 62ch;
  margin: 0;
  color: var(--skate-text-soft);
  font-size: clamp(0.98rem, 1.3vw, 1.12rem);
  line-height: 1.68;
}

.skate-team-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 10px;
}

.skate-team-stat {
  display: grid;
  gap: 4px;
  min-height: 96px;
  align-content: center;
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.065), rgba(var(--skate-white-rgb), 0.025)),
    var(--skate-surface-soft);
}

.skate-team-stat strong {
  color: var(--skate-yellow);
  font-size: clamp(1.7rem, 4vw, 2.5rem);
  line-height: 1;
}

.skate-team-stat span {
  color: var(--skate-muted);
  font-size: 0.86rem;
  font-weight: var(--font-weight-semibold);
}

.skate-team-filters {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-block: 2px 8px;
  scrollbar-width: thin;
}

.skate-team-filter {
  flex: 0 0 auto;
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 9px 13px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-muted);
  font-size: 0.9rem;
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease;
}

.skate-team-filter:hover,
.skate-team-filter.is-active {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
  transform: translateY(-1px);
}

.skate-team-sections {
  display: grid;
  gap: clamp(18px, 3vw, 30px);
}

.skate-team-section,
.skate-team-empty {
  padding: clamp(18px, 3vw, 30px);
}

.skate-team-section__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-block-end: 18px;
}

.skate-team-section__head > div {
  display: grid;
  gap: 8px;
}

.skate-team-section__title {
  margin: 0;
  font-size: clamp(1.45rem, 3vw, 2.25rem);
}

.skate-team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 258px));
  gap: 16px;
  justify-content: start;
}

.skate-athlete-card {
  display: grid;
  width: min(100%, 258px);
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.062), rgba(var(--skate-white-rgb), 0.026)),
    var(--skate-surface-soft);
  box-shadow: var(--skate-shadow-soft);
  color: inherit;
  text-decoration: none;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.skate-team-grid-filler {
  display: none;
}

.skate-team-grid-filler__icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.skate-athlete-card:hover,
.skate-athlete-card:focus-visible {
  border-color: var(--skate-yellow-border);
  background:
    linear-gradient(180deg, rgba(var(--skate-yellow-rgb), 0.06), rgba(var(--skate-white-rgb), 0.026)),
    var(--skate-surface-soft);
  color: inherit;
  outline: none;
  transform: translateY(-2px);
}

.skate-athlete-card__photo {
  position: relative;
  display: grid;
  aspect-ratio: 4 / 5;
  min-height: 238px;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 22%, rgba(var(--skate-yellow-rgb), 0.18), transparent 42%),
    linear-gradient(145deg, rgba(var(--skate-card-2-rgb), 0.96), rgba(var(--skate-bg-rgb), 0.99));
}

.skate-athlete-card__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 42%, rgba(var(--skate-bg-rgb), 0.42));
}

.skate-athlete-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 24%;
}

.skate-athlete-card__fallback {
  position: relative;
  z-index: 1;
  display: grid;
  width: clamp(74px, 22vw, 104px);
  height: clamp(74px, 22vw, 104px);
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background:
    radial-gradient(circle at 35% 26%, rgba(var(--skate-white-rgb), 0.15), transparent 34%),
    var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: clamp(1.45rem, 5vw, 2.2rem);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0;
}

.skate-athlete-card__body {
  display: grid;
  gap: 10px;
  padding: 16px;
}

.skate-athlete-card__badge {
  min-height: 26px;
  padding: 5px 9px;
  font-size: 0.7rem;
}

.skate-athlete-card__name {
  margin: 0;
  color: var(--skate-text);
  font-size: 1.08rem;
  line-height: 1.18;
}

.skate-athlete-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
}

.skate-athlete-card__meta span {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 5px 8px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-bg-rgb), 0.34);
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-semibold);
}

@media (min-width: 1024px) {
  .skate-team-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
  }

  .skate-athlete-card,
  .skate-team-grid-filler {
    width: 100%;
    min-height: 438px;
  }

  .skate-athlete-card {
    grid-template-rows: auto 1fr;
  }

  .skate-athlete-card__photo {
    min-height: 260px;
  }

  .skate-team-grid-filler {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 13px;
    overflow: hidden;
    padding: 24px 18px;
    border: 1px solid rgba(var(--skate-yellow-rgb), 0.18);
    border-radius: var(--skate-radius-lg);
    background:
      radial-gradient(circle at 50% 30%, rgba(var(--skate-yellow-rgb), 0.10), transparent 42%),
      linear-gradient(135deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-white-rgb), 0.015)),
      var(--skate-surface-soft);
    color: var(--skate-text-soft);
    text-align: center;
    box-shadow:
      inset 0 1px 0 rgba(var(--skate-white-rgb), 0.055),
      inset 0 -1px 0 rgba(var(--skate-yellow-rgb), 0.06);
  }

  .skate-team-grid-filler::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
      linear-gradient(90deg, rgba(var(--skate-white-rgb), 0.035) 1px, transparent 1px),
      linear-gradient(0deg, rgba(var(--skate-white-rgb), 0.028) 1px, transparent 1px);
    background-size: 22px 22px;
    -webkit-mask-image: linear-gradient(180deg, rgba(var(--skate-black-rgb), 0.72), transparent 76%);
    mask-image: linear-gradient(180deg, rgba(var(--skate-black-rgb), 0.72), transparent 76%);
    opacity: 0.46;
  }

  .skate-team-grid-filler::after {
    content: "";
    position: absolute;
    inset: 28px auto auto 50%;
    z-index: 0;
    width: 150px;
    height: 150px;
    border: 1px solid rgba(var(--skate-yellow-rgb), 0.08);
    border-radius: 999px;
    transform: translateX(-50%);
    opacity: 0.55;
  }

  .skate-team-grid-filler__icon {
    position: absolute;
    z-index: 1;
    inset: 34px auto auto 50%;
    width: min(64%, 150px);
    height: 150px;
    color: rgba(var(--skate-yellow-rgb), 0.18);
    opacity: 0.42;
    transform: translateX(-50%);
    filter: drop-shadow(0 16px 30px rgba(var(--skate-black-rgb), 0.28));
    fill: none;
    stroke: currentColor;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .skate-team-grid-filler--trophy::after {
    width: 132px;
    height: 132px;
  }

  .skate-team-grid-filler--trophy .skate-team-grid-filler__icon {
    width: min(58%, 138px);
    height: 138px;
    opacity: 0.40;
  }

  .skate-team-grid-filler--finish .skate-team-grid-filler__icon {
    width: 142px;
    height: 142px;
    color: rgba(var(--skate-yellow-rgb), 0.16);
    opacity: 0.40;
  }

  .skate-team-grid-filler__line {
    position: relative;
    z-index: 2;
    display: block;
    width: 46px;
    height: 2px;
    border-radius: 999px;
    background: var(--skate-yellow);
    opacity: 0.72;
    box-shadow: 0 0 16px rgba(var(--skate-yellow-rgb), 0.26);
  }

  .skate-team-grid-filler__line--thin {
    width: 30px;
    height: 1px;
    opacity: 0.45;
  }

  .skate-team-grid-filler__text {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 3px;
    justify-items: center;
    max-width: 17ch;
    margin: 0;
    color: var(--skate-text-soft);
    font-size: 0.98rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.06;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  .skate-team-grid-filler__text span {
    color: var(--skate-text-soft);
  }

  .skate-team-grid-filler__text .is-accent {
    color: var(--skate-yellow);
  }

  .skate-team-grid-filler--finish::before {
    background:
      linear-gradient(45deg, rgba(var(--skate-yellow-rgb), 0.12) 25%, transparent 25% 50%, rgba(var(--skate-yellow-rgb), 0.12) 50% 75%, transparent 75%),
      linear-gradient(45deg, transparent 25%, rgba(var(--skate-white-rgb), 0.04) 25% 50%, transparent 50% 75%, rgba(var(--skate-white-rgb), 0.04) 75%);
    background-position: 0 0, 11px 11px;
    background-size: 22px 22px;
    -webkit-mask-image: linear-gradient(180deg, rgba(var(--skate-black-rgb), 0.46), transparent 70%);
    mask-image: linear-gradient(180deg, rgba(var(--skate-black-rgb), 0.46), transparent 70%);
    opacity: 0.34;
  }
}

@media (min-width: 760px) and (max-width: 1023px) {
  .skate-team-grid {
    grid-template-columns: repeat(2, minmax(230px, 258px));
  }
}

.skate-public-athlete {
  display: grid;
  gap: clamp(16px, 3vw, 26px);
  width: min(100%, 1120px);
  margin-inline: auto;
}

.skate-public-athlete__back {
  justify-self: start;
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  padding: 9px 13px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
}

.skate-public-athlete__back:hover,
.skate-public-athlete__back:focus-visible {
  border-color: var(--skate-yellow-border);
  color: var(--skate-yellow);
}

.skate-public-athlete-card {
  display: grid;
  gap: clamp(20px, 4vw, 44px);
  align-items: stretch;
  padding: clamp(18px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 82% 12%, rgba(var(--skate-yellow-rgb), 0.13), transparent 30%),
    linear-gradient(135deg, rgba(var(--skate-card-rgb), 0.97), rgba(var(--skate-bg-rgb), 0.99));
  box-shadow: var(--skate-shadow-strong);
}

.skate-public-athlete-card__media {
  position: relative;
  display: grid;
  min-height: 320px;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--skate-border-strong);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 50% 24%, rgba(var(--skate-yellow-rgb), 0.18), transparent 42%),
    linear-gradient(145deg, rgba(var(--skate-card-2-rgb), 0.96), rgba(var(--skate-bg-rgb), 0.99));
}

.skate-public-athlete-card__media img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  object-position: 50% 24%;
}

.skate-public-athlete-card__body {
  display: grid;
  align-content: center;
  gap: 16px;
  min-width: 0;
}

.skate-public-athlete-card__title {
  max-width: 12ch;
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(2.4rem, 6vw, 5rem);
  line-height: 0.95;
}

.skate-public-athlete-card__lead,
.skate-public-athlete-card__note {
  max-width: 58ch;
  margin: 0;
  color: var(--skate-text-soft);
  line-height: 1.65;
}

.skate-public-athlete-card__note {
  color: var(--skate-muted);
  font-size: 0.9rem;
}

.skate-public-athlete-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
  gap: 10px;
  margin: 0;
}

.skate-public-athlete-fact {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-surface-soft);
}

.skate-public-athlete-fact dt,
.skate-public-athlete-fact dd {
  margin: 0;
}

.skate-public-athlete-fact dt {
  color: var(--skate-muted);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-public-athlete-fact dd {
  color: var(--skate-text);
  font-weight: var(--font-weight-semibold);
}

.skate-public-athlete-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: 12px;
}

.skate-public-athlete-kpi,
.skate-public-athlete-section,
.skate-public-athlete-empty {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 90% 0%, rgba(var(--skate-yellow-rgb), 0.1), transparent 32%),
    var(--skate-surface-soft);
  box-shadow: var(--skate-shadow-soft);
}

.skate-public-athlete-kpi {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 16px;
}

.skate-public-athlete-kpi span,
.skate-public-athlete-section__label {
  color: var(--skate-yellow);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0;
  text-transform: uppercase;
}

.skate-public-athlete-kpi strong {
  color: var(--skate-text);
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  line-height: 1;
}

.skate-public-athlete-kpi small {
  color: var(--skate-muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

.skate-public-athlete-section {
  display: grid;
  gap: clamp(16px, 3vw, 24px);
  padding: clamp(18px, 4vw, 34px);
  overflow: hidden;
}

.skate-public-athlete-section__header {
  display: grid;
  gap: 8px;
  max-width: 720px;
}

.skate-public-athlete-section__title {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1;
}

.skate-public-athlete-section__lead,
.skate-public-athlete-empty p {
  margin: 0;
  color: var(--skate-muted);
  line-height: 1.65;
}

.skate-public-athlete-seasons,
.skate-public-athlete-events {
  display: grid;
  gap: 14px;
}

.skate-public-athlete-season {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.skate-public-athlete-season h3 {
  margin: 0;
  color: var(--skate-text-soft);
  font-size: 1rem;
  text-transform: uppercase;
}

/* =========================================================
   ACCORDION COMPONENT
   Componente riutilizzabile per FAQ, privacy, liberatorie,
   eventi, gare e contenuti espandibili.
   ========================================================= */
.skate-accordion {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.skate-accordion__item {
  min-width: 0;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-bg-rgb), 0.42);
  overflow: hidden;
}

.skate-accordion__item[open] {
  border-color: var(--skate-yellow-border);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--skate-yellow-rgb), 0.08), transparent 30%),
    rgba(var(--skate-bg-rgb), 0.48);
}

.skate-accordion__summary {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  padding: 14px;
  cursor: pointer;
  list-style: none;
}

.skate-accordion__summary::-webkit-details-marker {
  display: none;
}

.skate-accordion__summary:focus-visible {
  outline: 2px solid var(--skate-yellow);
  outline-offset: -3px;
}

.skate-accordion__summary-main {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.skate-accordion__summary-main strong {
  color: var(--skate-text);
  font-size: 1rem;
  line-height: 1.25;
}

.skate-accordion__summary-main span {
  color: var(--skate-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.skate-accordion__icon {
  position: relative;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
}

.skate-accordion__icon::before,
.skate-accordion__icon::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 12px;
  height: 2px;
  border-radius: 999px;
  background: var(--skate-yellow);
  transform: translate(-50%, -50%);
}

.skate-accordion__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: opacity 160ms ease;
}

.skate-accordion__item[open] .skate-accordion__icon::after {
  opacity: 0;
}

.skate-accordion__body {
  display: grid;
  gap: 10px;
  padding: 0 14px 14px;
}

.skate-public-athlete-event {
  display: grid;
}

.skate-public-athlete-event__head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  min-width: 0;
}

.skate-public-athlete-event__head div,
.skate-public-athlete-race__meta {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.skate-public-athlete-event__head strong {
  color: var(--skate-text);
  font-size: 1rem;
}

.skate-public-athlete-event__head span,
.skate-public-athlete-race__meta span,
.skate-public-athlete-race__meta em {
  color: var(--skate-muted);
  font-size: 0.86rem;
  font-style: normal;
  line-height: 1.45;
}

.skate-public-athlete-event__head time {
  flex: 0 0 auto;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  color: var(--skate-yellow);
  background: var(--skate-yellow-soft);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
}

.skate-public-athlete-event__head time {
  padding: 6px 10px;
}

.skate-public-athlete-races {
  display: grid;
  gap: 8px;
}

.skate-public-athlete-participation-label {
  color: var(--skate-yellow);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-public-athlete-race {
  display: grid;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.08);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-card-rgb), 0.58);
}

.skate-public-athlete-race__meta strong {
  color: var(--skate-text-soft);
  font-size: 0.95rem;
}

.skate-public-athlete-media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 14px;
}

.skate-public-athlete-media-card {
  display: grid;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-card-rgb), 0.72);
}

.skate-public-athlete-media-card img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 50% 24%;
  background: var(--skate-card-2);
}

.skate-public-athlete-media-card figcaption {
  display: grid;
  gap: 4px;
  padding: 12px;
}

.skate-public-athlete-media-card strong {
  color: var(--skate-text);
  font-size: 0.95rem;
}

.skate-public-athlete-media-card span {
  color: var(--skate-muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.skate-public-athlete-empty {
  display: grid;
  gap: 8px;
  padding: 18px;
}

.skate-public-athlete-empty h3 {
  margin: 0;
  color: var(--skate-text);
  font-size: 1.05rem;
}

.skate-team-empty {
  display: grid;
  gap: 10px;
}

.skate-team-empty h2,
.skate-team-empty p {
  margin: 0;
}

@media (min-width: 760px) {
  .skate-team-hero {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.58fr);
  }

  .skate-public-athlete-card {
    grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
  }
}

@media (max-width: 759px) {
  .skate-team-hero,
  .skate-team-section,
  .skate-team-empty {
    border-radius: var(--skate-radius-lg);
  }

  .skate-team-hero {
    padding: 20px;
  }

  .skate-team-stats {
    grid-template-columns: 1fr;
  }

  .skate-team-stat {
    min-height: auto;
  }

  .skate-team-section__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .skate-athlete-card {
    width: 100%;
    grid-template-columns: 112px minmax(0, 1fr);
  }

  .skate-team-grid {
    grid-template-columns: minmax(0, min(100%, 430px));
    justify-content: center;
  }

  .skate-athlete-card__photo {
    aspect-ratio: auto;
    min-height: 100%;
  }

  .skate-public-athlete-card,
  .skate-public-athlete-card__media {
    border-radius: var(--skate-radius-lg);
  }

  .skate-public-athlete-card__media,
  .skate-public-athlete-card__media img {
    min-height: 300px;
  }

  .skate-public-athlete-event__head,
  .skate-public-athlete-race {
    grid-template-columns: 1fr;
  }

  .skate-public-athlete-event__head {
    display: grid;
  }

  .skate-public-athlete-event__head time {
    justify-self: start;
    max-width: 100%;
    text-align: left;
    white-space: normal;
  }

  .skate-public-athlete-media-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
  .skate-athlete-card {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .skate-athlete-card__body {
    padding: 13px;
  }
}

/* =========================================================
   ATHLETE ADMIN AREA
   Area admin atleti: elenco, scheda, documenti, media e dati sportivi.
   ========================================================= */
.athletes-screen .app-main,
.athlete-detail-screen .app-main {
  display: grid;
  gap: var(--skate-section-gap);
}

.athlete-admin-hero,
.athlete-detail-hero,
.athlete-list-controls,
.athlete-palmares-sync,
.athlete-sport-card,
.athlete-sync-placeholder,
.athlete-upload-card {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 92% 8%, rgba(var(--skate-yellow-rgb), 0.10), transparent 32%),
    linear-gradient(180deg, rgba(var(--skate-card-rgb), 0.96), rgba(var(--skate-bg-soft-rgb), 0.98));
  box-shadow: var(--skate-shadow-soft);
  color: var(--skate-text);
}

.athlete-admin-hero {
  display: grid;
  gap: 16px;
  align-items: end;
  padding: clamp(18px, 3vw, 34px);
}

.athlete-admin-hero h1,
.athlete-admin-hero p,
.athlete-section-head h2,
.athlete-sync-placeholder h2,
.athlete-media-upload-card__head h2 {
  margin: 0;
}

.athlete-admin-hero h1 {
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 0.98;
}

.athlete-admin-hero p:not(.eyebrow),
.athlete-section-head span,
.athlete-note,
.athlete-media-upload-card__head p,
.athlete-sync-placeholder p:not(.eyebrow),
.athlete-compact-row__main small,
.athlete-compact-row__main em {
  color: var(--skate-muted);
  line-height: 1.55;
}

.athlete-primary-action,
.athlete-secondary-action,
.athlete-search-form button,
.athlete-filter-actions button,
.athlete-filter-actions a,
.athlete-card-actions a,
.athlete-card-actions button,
.athlete-edit-form button,
.athlete-palmares-sync button,
.athlete-media-upload-form button,
.athlete-media-action,
.athlete-media-icon-action,
.athlete-compact-row__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-decoration: none;
  cursor: pointer;
}

.athlete-primary-action,
.athlete-search-form button,
.athlete-filter-actions button,
.athlete-edit-form button,
.athlete-palmares-sync button,
.athlete-media-upload-form button {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
}

.athlete-secondary-action:hover,
.athlete-card-actions a:hover,
.athlete-card-actions button:hover,
.athlete-media-action:hover,
.athlete-media-icon-action:hover,
.athlete-compact-row:hover .athlete-compact-row__action,
.athlete-compact-row:focus-visible .athlete-compact-row__action {
  border-color: var(--skate-yellow-border);
  background: var(--skate-surface-hover);
}

.athlete-action-icon,
.athlete-stat-icon,
.athlete-menu-icon,
.athlete-media-action-icon,
.athlete-menu-arrow,
.athlete-sync-placeholder__icon {
  width: 18px;
  height: 18px;
  color: currentColor;
}

.athlete-dashboard-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: 12px;
}

.athlete-dashboard-stat,
.athlete-dashboard-menu__item,
.athlete-admin-menu a,
.athlete-facts article,
.athlete-info-grid article,
.athlete-document-card,
.athlete-palmares-sync__row,
.athlete-palmares-sync__stat,
.athlete-palmares-row,
.athlete-public-palmares-event,
.athlete-time-table article {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-white-rgb), 0.025)),
    rgba(var(--skate-bg-rgb), 0.24);
  color: var(--skate-text);
}

.athlete-dashboard-stat,
.athlete-palmares-sync__stat {
  display: grid;
  gap: 12px;
  align-items: center;
  padding: 14px;
}

.athlete-dashboard-stat {
  grid-template-columns: auto minmax(0, 1fr);
}

.athlete-dashboard-stat--link {
  color: var(--skate-text);
  text-decoration: none;
}

.athlete-dashboard-stat--link:hover,
.athlete-dashboard-stat--link:focus-visible {
  border-color: var(--skate-yellow-border);
  background:
    radial-gradient(circle at 92% 10%, rgba(var(--skate-yellow-rgb), 0.14), transparent 36%),
    rgba(var(--skate-white-rgb), 0.055);
}

.athlete-dashboard-stat > span,
.athlete-dashboard-menu__item > span,
.athlete-admin-menu a > span,
.athlete-sync-placeholder > span {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.athlete-dashboard-stat strong {
  display: block;
  font-size: clamp(1.4rem, 3vw, 2.2rem);
  line-height: 1;
}

.athlete-dashboard-stat small {
  color: var(--skate-muted);
  font-weight: var(--font-weight-semibold);
}

.athlete-dashboard-menu,
.athlete-admin-menu {
  display: grid;
  gap: 12px;
}

.athlete-list-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.athlete-list-quick-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 46px;
  min-width: min(100%, 210px);
  padding: 10px 13px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-card-rgb), 0.74);
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
  text-decoration: none;
}

.athlete-list-quick-actions a:hover,
.athlete-list-quick-actions a:focus-visible {
  border-color: var(--skate-yellow-border);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--skate-yellow-rgb), 0.10), transparent 42%),
    rgba(var(--skate-white-rgb), 0.055);
}

.athlete-list-quick-actions a > span {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-sm);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.athlete-dashboard-menu__item,
.athlete-admin-menu a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  text-decoration: none;
}

.athlete-admin-menu a.is-active,
.athlete-dashboard-menu__item:hover,
.athlete-admin-menu a:hover,
.athlete-dashboard-menu__item:focus-visible,
.athlete-admin-menu a:focus-visible {
  border-color: var(--skate-yellow-border);
  background:
    radial-gradient(circle at 94% 8%, rgba(var(--skate-yellow-rgb), 0.12), transparent 34%),
    rgba(var(--skate-white-rgb), 0.06);
}

.athlete-dashboard-menu__item strong,
.athlete-admin-menu strong {
  color: var(--skate-text);
}

.athlete-dashboard-menu__item small,
.athlete-admin-menu small {
  display: block;
  margin-block-start: 3px;
  color: var(--skate-muted);
  line-height: 1.35;
}

.athlete-list-controls {
  display: grid;
  gap: 14px;
  padding: clamp(16px, 2.4vw, 24px);
}

.athlete-search-form,
.athlete-filter-form {
  display: grid;
  gap: 12px;
}

.athlete-search-form {
  align-items: end;
}

.athlete-search-form label,
.athlete-filter-form label,
.athlete-edit-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-semibold);
}

.athlete-search-form input,
.athlete-filter-form input,
.athlete-filter-form select,
.athlete-edit-form input,
.athlete-edit-form select,
.athlete-edit-form textarea,
.athlete-file-picker {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.30);
  color: var(--skate-text);
  font: inherit;
}

.athlete-search-form input,
.athlete-filter-form input,
.athlete-filter-form select,
.athlete-edit-form input,
.athlete-edit-form select,
.athlete-edit-form textarea {
  padding: 11px 13px;
}

.athlete-search-form input:focus,
.athlete-filter-form input:focus,
.athlete-filter-form select:focus,
.athlete-edit-form input:focus,
.athlete-edit-form select:focus,
.athlete-edit-form textarea:focus {
  outline: none;
  border-color: var(--skate-yellow);
  box-shadow: 0 0 0 3px var(--skate-yellow-soft);
}

.athlete-search-form button {
  width: 100%;
  min-height: 48px;
}

.athlete-chip-row,
.athlete-list-summary,
.athlete-detail-status-row,
.athlete-card-actions,
.athlete-card-actions--edit {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.athlete-chip-row {
  overflow-x: auto;
  padding-bottom: 4px;
}

.athlete-chip-row a,
.athlete-list-summary span,
.athlete-badge {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  white-space: nowrap;
}

.athlete-chip-row a.is-active,
.athlete-chip-row a:hover {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
}

.athlete-badge--success {
  border-color: rgba(var(--skate-success-rgb), 0.28);
  background: rgba(var(--skate-success-rgb), 0.13);
  color: var(--skate-success);
}

.athlete-badge--warning,
.athlete-badge--info {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.athlete-badge--danger {
  border-color: rgba(var(--skate-danger-rgb), 0.28);
  background: rgba(var(--skate-danger-rgb), 0.13);
  color: var(--skate-danger);
}

.athlete-list-summary__qr--success {
  border-color: rgba(var(--skate-success-rgb), 0.28);
  background: rgba(var(--skate-success-rgb), 0.10);
  color: var(--skate-success);
}

.athlete-list-summary__qr--warning {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.athlete-list-summary__qr--danger {
  border-color: rgba(var(--skate-danger-rgb), 0.28);
  background: rgba(var(--skate-danger-rgb), 0.10);
  color: var(--skate-danger);
}

.athlete-badge--qr {
  gap: 6px;
  text-transform: uppercase;
}

.athlete-badge--qr::before {
  content: "";
  width: 0.72em;
  aspect-ratio: 1;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 12px currentColor;
}

.athlete-advanced-filters {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  padding: 12px;
  background: rgba(var(--skate-white-rgb), 0.035);
}

.athlete-advanced-filters summary,
.athlete-form-summary {
  cursor: pointer;
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
}

.athlete-advanced-filters[open] {
  display: grid;
  gap: 12px;
}

.athlete-compact-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr));
  gap: 14px;
}

.athlete-compact-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  min-width: 0;
  padding: 14px;
  color: var(--skate-text);
  text-decoration: none;
}

.athlete-compact-row:hover,
.athlete-compact-row:focus-visible {
  border-color: var(--skate-yellow-border);
  transform: translateY(-1px);
}

.athlete-compact-row__avatar {
  display: inline-grid;
  width: 74px;
  aspect-ratio: 4 / 5;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background:
    radial-gradient(circle at 50% 20%, rgba(var(--skate-yellow-rgb), 0.12), transparent 50%),
    var(--skate-bg-soft);
}

.athlete-compact-row__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 28%;
}

.athlete-compact-row__avatar b,
.athlete-detail-hero__initials {
  color: var(--skate-yellow);
  font-size: 1.05rem;
  font-weight: var(--font-weight-bold);
}

.athlete-compact-row__main {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.athlete-compact-row__main strong {
  color: var(--skate-text);
  font-size: 1.02rem;
  line-height: 1.15;
}

.athlete-compact-row__badges,
.athlete-compact-row__action,
.athlete-compact-row__arrow {
  grid-column: 1 / -1;
}

.athlete-compact-row__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.athlete-compact-row__action {
  width: fit-content;
  min-height: 38px;
  font-size: 0.84rem;
}

.athlete-compact-row__arrow {
  display: none;
}

.athlete-detail-hero {
  display: grid;
  gap: 18px;
  padding: clamp(16px, 2.8vw, 30px);
}

.athlete-detail-hero__photo {
  width: min(180px, 54vw);
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 50% 18%, rgba(var(--skate-yellow-rgb), 0.16), transparent 42%),
    var(--skate-bg-soft);
}

.athlete-detail-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 25%;
}

.athlete-detail-hero__photo--empty {
  display: grid;
  place-items: center;
}

.athlete-detail-hero__body {
  display: grid;
  gap: 10px;
  align-content: center;
}

.athlete-detail-back-button {
  display: inline-grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--skate-border);
  border-radius: 50%;
  background: rgba(var(--skate-white-rgb), 0.055);
  color: var(--skate-text);
  text-decoration: none;
}

.athlete-detail-back-button:hover,
.athlete-detail-back-button:focus-visible {
  border-color: var(--skate-yellow-border);
  color: var(--skate-yellow);
}

.athlete-detail-back-icon {
  width: 18px;
  height: 18px;
}

.athlete-detail-hero__body h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
}

.athlete-detail-hero__body p {
  margin: 0;
  color: var(--skate-text-soft);
  line-height: 1.5;
}

.athlete-detail-number {
  color: var(--skate-yellow) !important;
  font-weight: var(--font-weight-bold);
}

.athlete-family-switcher {
  display: flex;
  gap: 10px;
  max-width: 100%;
  overflow-x: auto;
  padding: 10px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-card-rgb), 0.58);
  box-shadow: var(--skate-shadow-soft);
  scrollbar-width: thin;
}

.athlete-family-switcher__item {
  flex: 0 0 min(280px, 82vw);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.16);
  color: var(--skate-text);
  text-decoration: none;
}

.athlete-family-switcher__item.is-active,
.athlete-family-switcher__item:hover,
.athlete-family-switcher__item:focus-visible {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
}

.athlete-family-switcher__avatar {
  display: grid;
  width: 48px;
  aspect-ratio: 1;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 14px;
  background: rgba(var(--skate-yellow-rgb), 0.12);
  color: var(--skate-yellow);
}

.athlete-family-switcher__avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.athlete-family-switcher__item span:not(.athlete-family-switcher__avatar) {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.athlete-family-switcher__item strong,
.athlete-family-switcher__item small {
  overflow-wrap: anywhere;
}

.athlete-family-switcher__item strong {
  color: var(--skate-text);
  font-size: 0.96rem;
  line-height: 1.16;
}

.athlete-family-switcher__item small {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.2;
}

.athlete-app-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 2px 8px;
  scrollbar-width: thin;
}

.athlete-app-tabs a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  text-decoration: none;
}

.athlete-app-tabs a.is-active,
.athlete-app-tabs a:hover,
.athlete-app-tabs a:focus-visible {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
}

.athlete-tab-icon {
  display: inline-flex;
  color: currentColor;
}

.athlete-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.athlete-action-card {
  --athlete-action-color: var(--skate-yellow);
  --athlete-action-rgb: var(--skate-yellow-rgb);
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 132px;
  align-content: center;
  justify-items: center;
  gap: 10px;
  padding: 16px 12px;
  border: 1px solid rgba(var(--athlete-action-rgb), 0.34);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--athlete-action-rgb), 0.18), transparent 55%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.28));
  color: var(--skate-text);
  text-align: center;
  text-decoration: none;
  box-shadow: 0 12px 24px rgba(var(--skate-black-rgb), 0.18);
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.athlete-action-card--profile {
  --athlete-action-color: var(--skate-orange-500);
  --athlete-action-rgb: 255, 122, 26;
}

.athlete-action-card--documents {
  --athlete-action-color: var(--skate-teal-400);
  --athlete-action-rgb: 48, 213, 200;
}

.athlete-action-card--membership {
  --athlete-action-color: var(--skate-green-400);
  --athlete-action-rgb: 68, 208, 123;
}

.athlete-action-card--results {
  --athlete-action-color: var(--skate-yellow);
  --athlete-action-rgb: var(--skate-yellow-rgb);
}

.athlete-action-card--times {
  --athlete-action-color: var(--skate-purple-500);
  --athlete-action-rgb: 155, 92, 255;
}

.athlete-action-card--media {
  --athlete-action-color: var(--skate-blue-300);
  --athlete-action-rgb: 140, 200, 255;
}

.athlete-action-card--history {
  --athlete-action-color: var(--skate-pink-400);
  --athlete-action-rgb: 255, 95, 135;
}

.athlete-action-card:hover,
.athlete-action-card:focus-visible,
.athlete-action-card.is-active {
  transform: translateY(-2px);
  border-color: rgba(var(--athlete-action-rgb), 0.82);
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--athlete-action-rgb), 0.28), transparent 58%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.08), rgba(var(--skate-bg-rgb), 0.2));
}

.athlete-action-card.is-active {
  box-shadow:
    0 0 0 1px rgba(var(--athlete-action-rgb), 0.32),
    0 16px 30px rgba(var(--skate-black-rgb), 0.28);
}

.athlete-action-card__icon {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 1px solid rgba(var(--athlete-action-rgb), 0.42);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--athlete-action-rgb), 0.12);
  color: var(--athlete-action-color);
}

.athlete-action-card__icon .athlete-menu-icon {
  width: 28px;
  height: 28px;
}

.athlete-action-card__text {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.athlete-action-card__text strong {
  color: var(--skate-text);
  font-size: clamp(1.02rem, 3.8vw, 1.28rem);
  line-height: 1.1;
}

.athlete-action-card__text small {
  color: var(--skate-text-soft);
  font-size: 0.82rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.25;
}

.athlete-action-card em {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  padding: 4px 9px;
  border: 1px solid rgba(var(--athlete-action-rgb), 0.32);
  border-radius: 999px;
  background: rgba(var(--athlete-action-rgb), 0.12);
  color: var(--athlete-action-color);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
  text-transform: uppercase;
}

.athlete-section-pane {
  display: grid;
  gap: var(--skate-section-gap);
  min-width: 0;
  scroll-margin-top: calc(var(--app-topbar-height) + 18px);
}

.athlete-section-pane[hidden] {
  display: none;
}

.athlete-facts,
.athlete-info-grid,
.athlete-form-grid,
.athlete-public-visibility-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: 12px;
}

.athlete-public-visibility-form {
  display: grid;
  gap: 10px;
  align-content: start;
}

.athlete-facts article,
.athlete-info-grid article {
  display: grid;
  gap: 6px;
  padding: 14px;
}

.athlete-facts span,
.athlete-info-grid span,
.athlete-palmares-row__date,
.athlete-time-table span {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.athlete-facts strong,
.athlete-info-grid strong {
  color: var(--skate-text);
  overflow-wrap: anywhere;
}

.athlete-public-preview-card {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.athlete-public-preview-card.is-private {
  border-style: dashed;
}

.athlete-public-preview-card.is-photo-private {
  border-color: rgba(var(--skate-yellow-rgb), 0.28);
}

.athlete-public-preview-card span:not(.athlete-public-preview-card__avatar) {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  align-items: center;
  margin-top: 8px;
  padding: 5px 9px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.athlete-profile-accordion {
  padding: clamp(14px, 2.4vw, 22px);
}

.athlete-profile-accordion details {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-white-rgb), 0.035);
}

.athlete-profile-accordion details + details {
  margin-top: 12px;
}

.athlete-profile-accordion summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 14px 16px;
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
}

.athlete-profile-accordion details > :not(summary) {
  margin: 0 16px 16px;
}

.athlete-edit-form,
.athlete-document-upload-form,
.athlete-membership-edit-form,
.athlete-guardian-form,
.athlete-media-upload-form {
  display: grid;
  gap: 14px;
}

.athlete-form-grid__wide,
.athlete-form-note {
  grid-column: 1 / -1;
}

.athlete-form-note {
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.athlete-toggle-row {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  min-height: 48px;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.22);
}

.athlete-toggle-row input {
  width: 20px;
  min-height: 20px;
}

.athlete-section-head,
.athlete-media-upload-card__head {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.athlete-section-head h2,
.athlete-media-upload-card__head h2 {
  color: var(--skate-text);
  font-size: clamp(1.35rem, 2.5vw, 2rem);
}

.athlete-section-head p {
  margin: 4px 0 0;
  color: var(--skate-muted);
  line-height: 1.5;
}

.athlete-section-head span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.8rem;
  font-weight: var(--font-weight-bold);
}

.athlete-section-block,
.athlete-category-model-grid,
.athlete-category-group-grid,
.athlete-category-group-list,
.athlete-category-guide,
.athlete-category-list,
.athlete-management-list {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.athlete-section-block {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  padding: clamp(16px, 2.6vw, 26px);
  background:
    radial-gradient(circle at 95% 4%, rgba(var(--skate-yellow-rgb), 0.08), transparent 30%),
    rgba(var(--skate-card-rgb), 0.68);
}

.athlete-section-heading {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: flex-end;
  justify-content: space-between;
}

.athlete-section-heading h2,
.athlete-section-heading p {
  margin: 0;
}

.athlete-section-heading h2 {
  color: var(--skate-text);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
}

.athlete-section-heading p {
  color: var(--skate-muted);
  line-height: 1.55;
}

.athlete-qr-panel {
  display: grid;
  gap: 18px;
  border-color: rgba(var(--skate-yellow-rgb), 0.18);
}

.athlete-qr-head-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.athlete-qr-info-button {
  width: 42px;
  aspect-ratio: 1;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.13);
  color: var(--skate-yellow);
  font: inherit;
  font-weight: var(--font-weight-black);
  cursor: pointer;
  box-shadow: 0 0 22px rgba(var(--skate-yellow-rgb), 0.10);
}

.athlete-qr-info-button:hover,
.athlete-qr-info-button:focus-visible {
  background: var(--skate-yellow);
  color: var(--skate-neutral-950);
  outline: none;
}

.has-athlete-qr-info-open {
  overflow: hidden;
}

.athlete-qr-info-modal {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: grid;
  place-items: center;
  padding: clamp(16px, 4vw, 36px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}

.athlete-qr-info-modal[hidden] {
  display: none;
}

.athlete-qr-info-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.athlete-qr-info-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(var(--skate-black-rgb), 0.72);
  backdrop-filter: blur(12px);
  cursor: pointer;
}

.athlete-qr-info-modal__panel {
  position: relative;
  z-index: 1;
  width: min(100%, 760px);
  max-height: min(82vh, 820px);
  overflow: auto;
  display: grid;
  gap: 18px;
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.26);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--skate-yellow-rgb), 0.16), transparent 36%),
    rgba(var(--skate-card-rgb), 0.96);
  box-shadow: var(--skate-shadow-strong);
  outline: none;
}

.athlete-qr-info-modal__head {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
}

.athlete-qr-info-modal__head h2,
.athlete-qr-info-modal__head p {
  margin: 0;
}

.athlete-qr-info-modal__head h2 {
  color: var(--skate-text);
  font-size: clamp(1.55rem, 4.4vw, 2.5rem);
}

.athlete-qr-info-modal__close {
  width: 46px;
  aspect-ratio: 1;
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.08);
  color: var(--skate-text);
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

.athlete-qr-info-modal__close:hover,
.athlete-qr-info-modal__close:focus-visible {
  border-color: var(--skate-yellow-border);
  color: var(--skate-yellow);
  outline: none;
}

.athlete-qr-info-modal__body {
  display: grid;
  gap: 14px;
}

.athlete-qr-info-modal__body section,
.athlete-qr-info-status {
  display: grid;
  gap: 7px;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.20);
}

.athlete-qr-info-modal__body h3,
.athlete-qr-info-modal__body p,
.athlete-qr-info-status strong,
.athlete-qr-info-status span {
  margin: 0;
}

.athlete-qr-info-modal__body h3,
.athlete-qr-info-status strong {
  color: var(--skate-text);
}

.athlete-qr-info-modal__body p,
.athlete-qr-info-status span {
  color: var(--skate-muted);
  line-height: 1.55;
}

.athlete-qr-info-statuses {
  gap: 10px;
}

.athlete-qr-info-status--success {
  border-color: rgba(var(--skate-success-rgb), 0.38);
  background: rgba(var(--skate-success-rgb), 0.08);
}

.athlete-qr-info-status--warning {
  border-color: rgba(var(--skate-amber-500-rgb), 0.42);
  background: rgba(var(--skate-amber-500-rgb), 0.09);
}

.athlete-qr-info-status--danger {
  border-color: rgba(var(--skate-red-500-rgb), 0.42);
  background: rgba(var(--skate-red-500-rgb), 0.09);
}

.dashboard-registration-guide {
  width: min(100%, 900px);
}

.dashboard-registration-guide__body {
  gap: 16px;
}

.dashboard-registration-guide__accordion {
  gap: 12px;
}

.dashboard-registration-guide__content p,
.dashboard-registration-guide__content li {
  color: var(--skate-muted);
  line-height: 1.58;
}

.dashboard-registration-guide__content p {
  margin: 0;
}

.dashboard-registration-guide__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 20px;
}

.dashboard-registration-guide__list strong {
  color: var(--skate-text);
}

.dashboard-registration-guide__status-list {
  padding: 12px 12px 12px 28px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.22);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.dashboard-card-info-modal .athlete-qr-info-modal__panel {
  width: min(100%, 860px);
}

.dashboard-card-info-modal__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 20px;
}

.dashboard-card-info-modal__item {
  display: grid;
  gap: 4px;
}

.dashboard-card-info-modal__list li,
.dashboard-card-info-modal__item span {
  color: var(--skate-muted);
  line-height: 1.55;
}

.dashboard-card-info-modal__item strong {
  color: var(--skate-text);
  line-height: 1.25;
}

@media (max-width: 560px) {
  .dashboard-procedure-card__guide {
    width: 100%;
  }

  .dashboard-registration-guide .skate-accordion__summary {
    align-items: flex-start;
  }

  .section-card__info-button,
  .dashboard-ops-card__info-button,
  .family-dashboard-panel__info-button {
    top: 12px;
    right: 12px;
  }
}

.athlete-qr-layout {
  display: grid;
  gap: 18px;
  align-items: center;
}

.athlete-qr-code {
  display: grid;
  place-items: center;
  padding: 18px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: var(--skate-white);
}

.athlete-qr-code img {
  width: min(100%, 260px);
  height: auto;
  display: block;
}

.athlete-qr-summary,
.athlete-qr-empty {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.athlete-qr-summary strong,
.athlete-qr-empty strong {
  color: var(--skate-text);
  font-size: 1.2rem;
}

.athlete-qr-summary p,
.athlete-qr-empty span {
  color: var(--skate-muted);
  line-height: 1.5;
}

.athlete-qr-summary a,
.athlete-qr-card__actions a {
  display: inline-flex;
  min-height: 44px;
  width: fit-content;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-yellow);
  color: var(--skate-neutral-950);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.athlete-qr-notice-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-yellow-rgb), 0.08);
}

.athlete-qr-notice-form button {
  min-height: 44px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-yellow);
  color: var(--skate-neutral-950);
  font: inherit;
  font-weight: var(--font-weight-bold);
  cursor: pointer;
}

.athlete-qr-notice-form span {
  flex: 1 1 220px;
  color: var(--skate-muted);
  line-height: 1.45;
}

.athlete-qr-checks {
  display: grid;
  gap: 12px;
}

.athlete-qr-checks__group,
.athlete-qr-list {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.04);
}

.athlete-qr-checks__group h3,
.athlete-qr-list h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: 1rem;
}

.athlete-qr-checks__group ul,
.athlete-qr-list ul {
  margin: 0;
  padding-left: 18px;
  color: var(--skate-text-soft);
  line-height: 1.55;
}

.athlete-qr-checks__group--success,
.athlete-qr-list--success {
  border-color: rgba(var(--skate-success-rgb), 0.38);
  background: rgba(var(--skate-success-rgb), 0.08);
}

.athlete-qr-checks__group--warning,
.athlete-qr-list--warning {
  border-color: rgba(var(--skate-amber-500-rgb), 0.42);
  background: rgba(var(--skate-amber-500-rgb), 0.09);
}

.athlete-qr-checks__group--danger,
.athlete-qr-list--danger {
  border-color: rgba(var(--skate-red-500-rgb), 0.42);
  background: rgba(var(--skate-red-500-rgb), 0.09);
}

.athlete-qr-public {
  width: min(100%, 760px);
  margin: 0 auto;
  padding: clamp(26px, 6vw, 72px) var(--skate-page-x) calc(var(--bottom-nav-height) + 32px);
}

.athlete-qr-card {
  display: grid;
  gap: 18px;
  position: relative;
  overflow: hidden;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 92% 4%, rgba(var(--skate-yellow-rgb), 0.14), transparent 34%),
    rgba(var(--skate-card-rgb), 0.86);
  box-shadow: var(--skate-shadow-card);
}

.athlete-qr-card__signal {
  width: 72px;
  aspect-ratio: 1;
  border-radius: 999px;
  border: 8px solid rgba(var(--skate-white-rgb), 0.14);
  background: var(--skate-muted);
  box-shadow: 0 0 36px rgba(var(--skate-white-rgb), 0.16);
}

.athlete-qr-card--success .athlete-qr-card__signal {
  background: var(--skate-green-500);
  box-shadow: 0 0 40px rgba(var(--skate-green-500-rgb), 0.46);
}

.athlete-qr-card--warning .athlete-qr-card__signal {
  background: var(--skate-amber-500);
  box-shadow: 0 0 40px rgba(var(--skate-amber-500-rgb), 0.46);
}

.athlete-qr-card--danger .athlete-qr-card__signal {
  background: var(--skate-red-500);
  box-shadow: 0 0 40px rgba(var(--skate-red-500-rgb), 0.46);
}

.athlete-qr-card h1 {
  color: var(--skate-text);
  font-size: clamp(2rem, 8vw, 4rem);
}

.athlete-qr-card__status {
  width: fit-content;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.9rem;
  text-transform: uppercase;
}

.athlete-qr-card__athlete {
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-black-rgb), 0.20);
}

.athlete-qr-card__athlete span,
.athlete-qr-card__athlete small {
  color: var(--skate-muted);
}

.athlete-qr-card__athlete strong {
  color: var(--skate-text);
  font-size: 1.35rem;
}

.athlete-qr-card__public-message {
  margin: 0;
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-black-rgb), 0.20);
  color: var(--skate-text-soft);
  font-size: clamp(1rem, 3.4vw, 1.18rem);
  font-weight: var(--font-weight-semibold);
  line-height: 1.55;
}

.athlete-qr-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media (min-width: 720px) {
  .athlete-qr-layout {
    grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  }
}

.athlete-category-model-grid,
.athlete-category-group-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

.athlete-category-stats {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
}

.athlete-category-guide {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
}

.athlete-category-guide article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-card-rgb), 0.68);
}

.athlete-category-guide strong {
  color: var(--skate-text);
}

.athlete-category-guide span {
  color: var(--skate-muted);
  font-size: 0.88rem;
  line-height: 1.35;
}

.athlete-category-group-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.athlete-category-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr));
}

.athlete-category-model-card,
.athlete-category-group-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-width: 0;
  padding: clamp(15px, 2vw, 20px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-white-rgb), 0.02)),
    rgba(var(--skate-bg-rgb), 0.28);
}

.athlete-category-model-card--accent {
  border-color: var(--skate-yellow-border);
  background:
    radial-gradient(circle at 92% 12%, rgba(var(--skate-yellow-rgb), 0.12), transparent 34%),
    rgba(var(--skate-bg-rgb), 0.30);
}

.athlete-category-model-card > span,
.athlete-category-group-card > span,
.athlete-category-initial {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.athlete-category-model-card h2,
.athlete-category-model-card p,
.athlete-category-group-card p {
  margin: 0;
}

.athlete-category-model-card h2,
.athlete-category-group-card strong {
  color: var(--skate-text);
  font-size: 1.02rem;
  line-height: 1.2;
}

.athlete-category-model-card p,
.athlete-category-group-card p,
.athlete-category-group-card small,
.athlete-category-empty-note {
  color: var(--skate-muted);
  line-height: 1.5;
}

.athlete-category-group-card small {
  display: inline-flex;
  width: fit-content;
  margin-top: 6px;
  min-height: 28px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
}

.athlete-management-card {
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.045), rgba(var(--skate-white-rgb), 0.018)),
    rgba(var(--skate-bg-rgb), 0.22);
}

.athlete-category-row {
  display: grid;
  gap: 13px;
  min-width: 0;
  padding: 14px;
}

.athlete-category-row__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-width: 0;
}

.athlete-category-row__head strong,
.athlete-category-row__teams strong {
  color: var(--skate-text);
}

.athlete-category-row__head small {
  display: block;
  margin-top: 3px;
  color: var(--skate-muted);
  line-height: 1.3;
}

.athlete-category-row__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.athlete-category-row__facts div {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.16);
}

.athlete-category-row__facts dt,
.athlete-category-row__facts dd {
  margin: 0;
}

.athlete-category-row__facts dt {
  color: var(--skate-muted);
  font-size: 0.7rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.athlete-category-row__facts dd {
  color: var(--skate-text);
  font-size: 1.15rem;
  font-weight: var(--font-weight-bold);
}

.athlete-category-row__facts dd a {
  display: inline-flex;
  min-width: 34px;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  text-decoration: none;
}

.athlete-category-row__facts dd a:hover,
.athlete-category-row__facts dd a:focus-visible {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
}

.athlete-category-row__teams {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.athlete-category-row__details {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.028);
}

.athlete-category-row__details summary {
  padding: 11px 12px;
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
}

.athlete-category-row__details .athlete-category-field-grid {
  padding: 0 12px 12px;
}

.athlete-management-card[open] {
  border-color: var(--skate-yellow-border);
}

.athlete-management-card summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 14px;
  color: var(--skate-text);
  cursor: pointer;
  list-style: none;
}

.athlete-management-card summary::-webkit-details-marker {
  display: none;
}

.athlete-management-card summary strong,
.athlete-category-relation strong {
  color: var(--skate-text);
}

.athlete-management-card summary small {
  display: block;
  margin-top: 4px;
  color: var(--skate-muted);
  line-height: 1.35;
}

.athlete-management-card summary em {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
}

.athlete-management-details {
  display: grid;
  gap: 14px;
  padding: 0 14px 14px;
}

.athlete-category-field-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: 10px;
  margin: 0;
}

.athlete-category-field-grid div,
.athlete-category-relation {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.athlete-category-field-grid dt,
.athlete-category-field-grid dd {
  margin: 0;
}

.athlete-category-field-grid dt {
  color: var(--skate-muted);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.athlete-category-field-grid dd {
  color: var(--skate-text);
  overflow-wrap: anywhere;
}

.athlete-category-team-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.athlete-category-team-chip {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
}

.athlete-category-empty-note {
  margin: 0;
}

.athlete-category-empty-note--warning {
  color: var(--skate-yellow);
}

@media (max-width: 640px) {
  .athlete-category-row__head {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .athlete-category-row__head .athlete-badge {
    grid-column: 2;
    justify-self: start;
  }

  .athlete-category-row__facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .athlete-category-row__facts div {
    padding: 8px 7px;
  }

  .athlete-category-row__facts dt {
    font-size: 0.64rem;
  }

  .athlete-category-row__facts dd {
    font-size: 1rem;
  }

  .athlete-management-card summary {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .athlete-management-card summary .athlete-badge,
  .athlete-management-card summary em {
    grid-column: 2;
    justify-self: start;
  }

  .athlete-category-model-card,
  .athlete-category-group-card {
    grid-template-columns: minmax(0, 1fr);
  }
}

.athlete-document-list,
.athlete-participation-list,
.athlete-palmares-list,
.athlete-time-table,
.athlete-guardian-list {
  display: grid;
  gap: 12px;
}

.athlete-subsection-head {
  display: grid;
  gap: 4px;
  margin: 10px 0 12px;
}

.athlete-subsection-head--form {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--skate-border);
}

.athlete-subsection-head strong {
  color: var(--skate-text);
  font-size: clamp(1rem, 2.6vw, 1.15rem);
}

.athlete-subsection-head span {
  color: var(--skate-muted);
  line-height: 1.45;
}

.athlete-document-checklist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.athlete-document-required-card {
  display: grid;
  gap: 10px;
  align-content: start;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-white-rgb), 0.035);
}

.athlete-document-required-card strong,
.athlete-results-event summary strong {
  color: var(--skate-text);
}

.athlete-document-required-card span,
.athlete-results-event summary small {
  color: var(--skate-muted);
  line-height: 1.45;
}

.athlete-document-card,
.athlete-public-palmares-event,
.athlete-palmares-row,
.athlete-time-table article,
.athlete-guardian-card {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.athlete-document-card strong,
.athlete-public-palmares-event strong,
.athlete-palmares-row__main strong,
.athlete-time-table strong,
.athlete-guardian-card strong {
  color: var(--skate-text);
}

.athlete-document-card span,
.athlete-document-card small,
.athlete-public-palmares-event small,
.athlete-palmares-row__main span,
.athlete-palmares-row__main small,
.athlete-guardian-card small {
  color: var(--skate-muted);
  line-height: 1.45;
}

.athlete-guardian-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.athlete-guardian-actions form {
  margin: 0;
}

.athlete-guardian-actions button {
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.05);
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
}

.athlete-palmares-row__result {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.athlete-times-panel {
  display: grid;
  gap: 16px;
}

.athlete-time-create-form {
  display: grid;
  gap: 16px;
  padding: clamp(16px, 4vw, 24px);
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.28);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-bg-rgb), 0.34);
}

.athlete-time-create-form__head {
  display: block;
}

.athlete-time-create-form__head h3,
.athlete-time-create-form__head p {
  margin: 0;
}

.athlete-time-create-form__head h3 {
  color: var(--skate-text);
  font-size: clamp(1.45rem, 5vw, 2rem);
  line-height: 1.1;
}

.athlete-time-create-form__head p {
  color: var(--skate-text-soft);
  line-height: 1.4;
}

.athlete-time-create-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.athlete-time-field,
.athlete-time-lap-row label {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.athlete-time-field > span,
.athlete-time-clock-row span {
  color: var(--skate-muted);
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.athlete-time-field :is(input, select) {
  width: 100%;
  min-height: 60px;
  padding: 12px 16px;
  border: 1px solid var(--skate-border-strong);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-bg-rgb), 0.42);
  color: var(--skate-text);
  font-size: 1rem;
  font-weight: var(--font-weight-semibold);
}

.athlete-time-field :is(input, select):focus {
  border-color: var(--skate-yellow);
  outline: 2px solid rgba(var(--skate-yellow-rgb), 0.18);
  outline-offset: 1px;
}

.athlete-time-create-grid__wide {
  grid-column: 1 / -1;
}

.athlete-time-lap-row {
  display: grid;
  gap: 8px;
}

.athlete-time-lap-row label {
  display: block;
}

.athlete-time-lap-row :is(input, select) {
  min-height: 58px;
}

.athlete-time-field small {
  color: var(--skate-muted);
  line-height: 1.35;
}

.athlete-time-clock-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.athlete-time-clock-row :is(input, select) {
  text-align: center;
}

.athlete-time-create-form > button,
.athlete-time-delete-form button {
  min-height: 42px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-text);
  color: var(--skate-bg);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
}

.athlete-time-create-form > button {
  justify-self: start;
  min-width: 154px;
  min-height: 52px;
  padding: 12px 18px;
  border-color: rgba(var(--skate-white-rgb), 0.55);
  border-radius: 18px;
}

.athlete-time-delete-form {
  margin: 0;
}

.athlete-time-delete-form button {
  width: 100%;
  min-height: 36px;
  background: rgba(var(--skate-danger-rgb), 0.12);
  border-color: rgba(var(--skate-danger-rgb), 0.28);
  color: var(--skate-danger);
}

.athlete-times-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 10px;
}

.athlete-times-summary article {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.24);
  border-radius: var(--skate-radius-md);
  background:
    linear-gradient(180deg, rgba(var(--skate-yellow-rgb), 0.105), rgba(var(--skate-white-rgb), 0.035)),
    rgba(var(--skate-bg-rgb), 0.2);
}

.athlete-times-summary span {
  color: var(--skate-muted);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.athlete-times-summary strong {
  color: var(--skate-text);
  font-size: clamp(1.2rem, 4vw, 1.8rem);
  line-height: 1;
}

.athlete-time-groups {
  display: grid;
  gap: 12px;
}

.athlete-time-group {
  --athlete-time-color: var(--skate-yellow);
  --athlete-time-rgb: var(--skate-yellow-rgb);
  border: 1px solid rgba(var(--athlete-time-rgb), 0.28);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 12% 0%, rgba(var(--athlete-time-rgb), 0.16), transparent 44%),
    rgba(var(--skate-white-rgb), 0.035);
  overflow: clip;
}

.athlete-time-group--lanciato {
  --athlete-time-color: var(--skate-purple-500);
  --athlete-time-rgb: 155, 92, 255;
}

.athlete-time-group--da_fermo {
  --athlete-time-color: var(--skate-teal-400);
  --athlete-time-rgb: 48, 213, 200;
}

.athlete-time-group summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 70px;
  padding: 14px;
  color: var(--skate-text);
  cursor: pointer;
  list-style: none;
}

.athlete-time-group summary::-webkit-details-marker {
  display: none;
}

.athlete-time-group__icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(var(--athlete-time-rgb), 0.34);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--athlete-time-rgb), 0.12);
  color: var(--athlete-time-color);
}

.athlete-time-group__title {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.athlete-time-group__title strong {
  color: var(--skate-text);
  font-size: clamp(1.12rem, 4vw, 1.55rem);
}

.athlete-time-group__title small {
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-semibold);
  line-height: 1.35;
}

.athlete-time-card-grid {
  display: grid;
  gap: 10px;
  padding: 0 14px 14px;
}

.athlete-time-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(var(--athlete-time-rgb), 0.22);
  border-radius: var(--skate-radius-md);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.22)),
    rgba(var(--athlete-time-rgb), 0.055);
}

.athlete-time-card__head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.athlete-time-card__head strong {
  color: var(--athlete-time-color);
  font-size: clamp(1.5rem, 7vw, 2.2rem);
  line-height: 1;
}

.athlete-time-card__head span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid rgba(var(--athlete-time-rgb), 0.28);
  border-radius: 999px;
  background: rgba(var(--athlete-time-rgb), 0.1);
  color: var(--athlete-time-color);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.athlete-time-card__meta {
  display: grid;
  gap: 8px;
  margin: 0;
}

.athlete-time-card__meta div {
  display: grid;
  grid-template-columns: minmax(78px, 0.42fr) minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding-top: 8px;
  border-top: 1px solid rgba(var(--skate-white-rgb), 0.08);
}

.athlete-time-card__meta dt {
  color: var(--skate-muted);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.athlete-time-card__meta dd {
  min-width: 0;
  margin: 0;
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
  overflow-wrap: anywhere;
}

.athlete-time-card p {
  margin: 0;
  color: var(--skate-text-soft);
  line-height: 1.45;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (min-width: 760px) {
  .athlete-action-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .athlete-time-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.athlete-document-status-form {
  display: grid;
  gap: 8px;
  grid-column: 1 / -1;
  min-width: 0;
  padding-top: 10px;
  border-top: 1px solid var(--skate-border);
}

.athlete-document-status-form label {
  display: grid;
  gap: 5px;
}

.athlete-document-status-form span {
  color: var(--skate-muted);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.athlete-results-accordion {
  display: grid;
  gap: 12px;
}

.athlete-results-event {
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-white-rgb), 0.035);
}

.athlete-results-event[open] {
  border-color: var(--skate-yellow-border);
}

.athlete-results-event summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  cursor: pointer;
  list-style: none;
}

.athlete-results-event summary::-webkit-details-marker,
.athlete-results-category summary::-webkit-details-marker,
.athlete-results-race summary::-webkit-details-marker {
  display: none;
}

.athlete-results-event summary span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.athlete-results-event summary em {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
}

.athlete-results-event summary::after,
.athlete-results-category summary::after,
.athlete-results-race summary::after {
  content: "+";
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-sm);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-black);
}

.athlete-results-event[open] > summary::after,
.athlete-results-category[open] > summary::after,
.athlete-results-race[open] > summary::after {
  content: "-";
}

.athlete-results-event__body,
.athlete-results-race-list,
.athlete-result-row-list {
  display: grid;
  gap: 10px;
}

.athlete-results-event__body {
  padding: 0 14px 14px;
}

.athlete-results-category,
.athlete-results-race {
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-white-rgb), 0.04);
}

.athlete-results-category[open],
.athlete-results-race[open] {
  border-color: var(--skate-yellow-border);
}

.athlete-results-category > summary,
.athlete-results-race > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 13px;
  cursor: pointer;
  list-style: none;
}

.athlete-results-category > summary {
  background: linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.12), rgba(var(--skate-white-rgb), 0.03));
}

.athlete-results-race > summary {
  background: rgba(var(--skate-white-rgb), 0.035);
}

.athlete-results-category summary span,
.athlete-results-race summary span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.athlete-results-category summary strong,
.athlete-results-race summary strong {
  color: var(--skate-text);
  overflow-wrap: anywhere;
}

.athlete-results-category summary small,
.athlete-results-race summary small {
  color: var(--skate-muted);
  font-weight: var(--font-weight-bold);
}

.athlete-results-race-list,
.athlete-result-row-list {
  padding: 0 12px 12px;
}

.athlete-result-row {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 12px;
  align-items: start;
  padding: 13px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.athlete-result-row__main {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.athlete-result-row__main strong {
  color: var(--skate-text);
  overflow-wrap: anywhere;
}

.athlete-result-row__main small,
.athlete-result-row__note {
  color: var(--skate-muted);
  line-height: 1.45;
}

.athlete-result-row__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 92px), 1fr));
  gap: 8px;
  margin: 0;
}

.athlete-result-row__facts div {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-white-rgb), 0.045);
}

.athlete-result-row__facts .athlete-result-row__fact--private {
  border-color: rgba(var(--skate-yellow-rgb), 0.34);
  background: rgba(var(--skate-yellow-rgb), 0.08);
}

.athlete-result-row__facts dt,
.athlete-result-row__facts dd {
  margin: 0;
}

.athlete-result-row__facts dt {
  color: var(--skate-muted);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.athlete-result-row__facts dd {
  color: var(--skate-text);
  font-weight: var(--font-weight-black);
  overflow-wrap: anywhere;
}

.athlete-result-row__note {
  grid-column: 1 / -1;
  margin: 0;
}

.athlete-result-row__private-note {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--skate-yellow);
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
}

@media (max-width: 759px) {
  .athlete-results-event summary,
  .athlete-results-category > summary,
  .athlete-results-race > summary {
    gap: 9px;
    padding: 12px;
  }

  .athlete-results-event summary em {
    justify-self: end;
  }

  .athlete-results-event__body,
  .athlete-results-race-list,
  .athlete-result-row-list {
    gap: 9px;
  }

  .athlete-results-event__body,
  .athlete-results-race-list,
  .athlete-result-row-list {
    padding-inline: 10px;
    padding-bottom: 10px;
  }

  .athlete-result-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

.athlete-results-table-wrap {
  overflow-x: auto;
  padding: 0 14px 14px;
}

.athlete-results-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.athlete-results-table th,
.athlete-results-table td {
  padding: 10px;
  border-bottom: 1px solid var(--skate-border);
  text-align: left;
  vertical-align: top;
}

.athlete-results-table th {
  color: var(--skate-muted);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.athlete-results-table td {
  color: var(--skate-text-soft);
}

.athlete-results-table td strong,
.athlete-results-table td span {
  display: block;
}

.athlete-results-table td strong {
  color: var(--skate-text);
}

.athlete-palmares-row__result strong,
.athlete-palmares-row__result b,
.athlete-public-palmares-event b {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.84rem;
}

.athlete-sync-placeholder {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: clamp(18px, 2.5vw, 26px);
  border-color: var(--skate-yellow-border);
}

.athlete-sync-placeholder > span {
  width: 54px;
  height: 54px;
}

.athlete-sync-placeholder__icon {
  width: 24px;
  height: 24px;
}

.athlete-palmares-sync {
  display: grid;
  gap: 18px;
  padding: clamp(18px, 2.5vw, 26px);
}

.athlete-palmares-sync .athlete-section-head {
  margin-bottom: 0;
}

.athlete-palmares-sync__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 12px;
}

.athlete-palmares-sync__stats article {
  display: grid;
  gap: 6px;
  min-height: 84px;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-white-rgb), 0.025)),
    rgba(var(--skate-bg-rgb), 0.24);
}

.athlete-palmares-sync__stats span,
.athlete-palmares-sync__row dt,
.athlete-palmares-sync__existing span,
.athlete-palmares-sync__existing em {
  color: var(--skate-muted);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3;
  text-transform: uppercase;
}

.athlete-palmares-sync__stats strong {
  color: var(--skate-yellow);
  font-size: clamp(1.4rem, 3vw, 2.15rem);
  line-height: 1;
}

.athlete-palmares-sync__empty,
.athlete-palmares-sync__warning {
  display: grid;
  gap: 6px;
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-white-rgb), 0.035);
  color: var(--skate-text);
}

.athlete-palmares-sync__empty--success {
  border-color: rgba(var(--skate-success-rgb), 0.28);
  background: rgba(var(--skate-success-rgb), 0.10);
}

.athlete-palmares-sync__warning {
  border-color: rgba(var(--skate-danger-rgb), 0.35);
  background: rgba(var(--skate-danger-rgb), 0.10);
}

.athlete-palmares-sync__empty span,
.athlete-palmares-sync__warning span {
  color: var(--skate-muted);
  line-height: 1.5;
}

.athlete-palmares-sync__block {
  display: grid;
  gap: 12px;
}

.athlete-palmares-sync__block h3 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.athlete-palmares-sync__boards,
.athlete-palmares-sync__existing {
  display: grid;
  gap: 12px;
}

.athlete-palmares-sync__board,
.athlete-palmares-sync__existing article {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 96% 0%, rgba(var(--skate-yellow-rgb), 0.08), transparent 34%),
    rgba(var(--skate-black-rgb), 0.18);
  overflow: hidden;
}

.athlete-palmares-sync__board header {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  justify-content: space-between;
  padding: 14px;
  border-bottom: 1px solid var(--skate-border);
}

.athlete-palmares-sync__board header strong,
.athlete-palmares-sync__existing strong,
.athlete-palmares-sync__row strong {
  color: var(--skate-text);
}

.athlete-palmares-sync__board header span {
  display: block;
  margin-top: 4px;
  color: var(--skate-muted);
  font-size: 0.88rem;
}

.athlete-palmares-sync__board header em {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.8rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
}

.athlete-palmares-sync__rows {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.athlete-palmares-sync__row {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.athlete-palmares-sync__row > div:first-child {
  display: grid;
  gap: 4px;
}

.athlete-palmares-sync__row > div:first-child span,
.athlete-palmares-sync__row dd {
  color: var(--skate-muted);
  line-height: 1.45;
}

.athlete-palmares-sync__row dl {
  display: grid;
  gap: 9px;
  margin: 0;
}

.athlete-palmares-sync__row dl > div {
  display: grid;
  gap: 3px;
}

.athlete-palmares-sync__row dt,
.athlete-palmares-sync__row dd {
  margin: 0;
}

.athlete-palmares-sync__existing {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
}

.athlete-palmares-sync__existing article {
  display: grid;
  gap: 5px;
  padding: 14px;
}

.athlete-palmares-sync__existing em {
  font-style: normal;
  color: var(--skate-yellow);
}

.athlete-media-upload-form {
  align-items: end;
}

.athlete-file-picker {
  display: grid;
  gap: 4px;
  padding: 12px;
  cursor: pointer;
}

.athlete-file-input {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  opacity: 0;
  pointer-events: none;
}

.athlete-file-picker span {
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.athlete-file-picker strong {
  color: var(--skate-text);
  overflow-wrap: anywhere;
}

.athlete-media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 240px));
  gap: 14px;
  justify-content: start;
  align-items: start;
}

.athlete-media-card {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: var(--card-bg);
  box-shadow: var(--skate-shadow-soft);
}

.athlete-media-card.is-profile {
  border-color: var(--skate-yellow-border);
}

.athlete-media-card.is-public {
  border-color: rgba(var(--skate-success-rgb), 0.34);
}

.athlete-media-card__preview {
  aspect-ratio: 4 / 3;
  background: rgba(var(--skate-black-rgb), 0.36);
}

.athlete-media-card__preview img,
.athlete-media-card__preview video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
}

.athlete-media-card__meta {
  display: grid;
  gap: 4px;
  padding: 12px 12px 0;
}

.athlete-media-card__meta strong {
  color: var(--skate-text);
  font-size: 0.94rem;
}

.athlete-media-card__meta span {
  color: var(--skate-muted);
  font-size: 0.78rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.athlete-media-card__meta em {
  display: inline-flex;
  width: fit-content;
  min-height: 26px;
  align-items: center;
  padding: 4px 8px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.04);
  color: var(--skate-text-soft);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.athlete-media-card.is-public .athlete-media-card__meta em {
  border-color: rgba(var(--skate-success-rgb), 0.28);
  background: rgba(var(--skate-success-rgb), 0.10);
  color: var(--skate-success);
}

.athlete-media-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  padding: 12px;
}

.athlete-media-card__actions span {
  margin-right: auto;
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-bold);
}

.athlete-media-card__actions form {
  display: inline-flex;
  margin: 0;
}

.athlete-media-icon-action {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border-radius: 50%;
  background: rgba(var(--skate-white-rgb), 0.055);
  box-shadow: 0 10px 20px rgba(var(--skate-black-rgb), 0.18);
}

.athlete-media-action-icon {
  width: 20px;
  height: 20px;
}

.athlete-media-icon-action--profile,
.athlete-media-icon-action--current {
  border-color: rgba(var(--skate-yellow-rgb), 0.3);
  color: var(--skate-yellow);
}

.athlete-media-icon-action--current {
  background: rgba(var(--skate-yellow-rgb), 0.18);
}

.athlete-media-icon-action--visibility {
  border-color: rgba(var(--skate-success-rgb), 0.24);
  color: var(--skate-success);
}

.athlete-media-icon-action--delete {
  border-color: rgba(var(--skate-danger-rgb), 0.24);
  background: rgba(var(--skate-danger-rgb), 0.18);
  color: var(--skate-danger);
}

.athlete-media-profile-pill {
  border-color: rgba(var(--skate-success-rgb), 0.28) !important;
  background: rgba(var(--skate-success-rgb), 0.14) !important;
  color: var(--skate-success) !important;
}

@media (max-width: 520px) {
  .athlete-media-upload-card {
    padding: 12px;
  }

  .athlete-media-upload-card__head {
    gap: 4px;
  }

  .athlete-media-upload-card__head h2 {
    font-size: 1.25rem;
  }

  .athlete-media-upload-card__head p {
    font-size: 0.86rem;
    line-height: 1.35;
  }

  .athlete-media-upload-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .athlete-file-picker {
    padding: 10px;
  }

  .athlete-media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .athlete-media-card {
    border-radius: var(--skate-radius-md);
  }

  .athlete-media-card__preview {
    margin: 8px 8px 0;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    overflow: hidden;
  }

  .athlete-media-card__meta {
    gap: 3px;
    min-height: 26px;
    padding: 6px 8px 0;
  }

  .athlete-media-card__meta strong {
    display: none;
  }

  .athlete-media-card__meta span {
    display: none;
  }

  .athlete-media-card__meta em:not(.athlete-media-profile-pill) {
    display: none;
  }

  .athlete-media-card__meta em {
    min-height: 22px;
    padding: 3px 7px;
    font-size: 0.62rem;
  }

  .athlete-media-card__actions {
    justify-content: center;
    gap: 8px;
    padding: 8px 8px 10px;
  }

  .athlete-media-card__actions form {
    min-width: 0;
  }

  .athlete-media-icon-action {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
  }

  .athlete-media-action-icon {
    width: 18px;
    height: 18px;
  }
}

.empty-state,
.athlete-empty-panel {
  display: grid;
  gap: 10px;
  padding: clamp(18px, 2.6vw, 28px);
  border: 1px dashed var(--skate-border-strong);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-white-rgb), 0.035);
  color: var(--skate-text-soft);
}

@media (min-width: 760px) {
  .athlete-admin-hero {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .athlete-list-quick-actions {
    justify-content: flex-end;
  }

  .athlete-search-form {
    grid-template-columns: minmax(280px, 1fr) auto;
    align-items: end;
  }

  .athlete-search-form button {
    width: auto;
    min-width: 138px;
  }

  .athlete-compact-row {
    min-height: 250px;
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .athlete-compact-row__avatar {
    width: 96px;
    grid-row: span 3;
  }

  .athlete-compact-row__badges,
  .athlete-compact-row__action {
    grid-column: 2;
  }

  .athlete-detail-hero {
    grid-template-columns: minmax(160px, 220px) minmax(0, 1fr);
    align-items: center;
  }

  .athlete-detail-hero__photo {
    width: 100%;
  }

  .athlete-app-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    overflow: visible;
  }

  .athlete-app-tabs a {
    justify-content: center;
    border-radius: var(--skate-radius-md);
  }

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

  .athlete-document-card,
  .athlete-public-palmares-event,
  .athlete-palmares-row,
  .athlete-time-table article,
  .athlete-guardian-card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .athlete-palmares-row {
    grid-template-columns: 110px minmax(0, 1fr) auto;
  }

  .athlete-media-upload-form {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

@media (min-width: 1080px) {
  .athlete-compact-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .athlete-dashboard-menu,
  .athlete-admin-menu {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 759px) {
  .athletes-screen .app-main,
  .athlete-detail-screen .app-main {
    width: min(100% - 24px, var(--app-content-width));
    padding-bottom: calc(var(--skate-bottom-nav-height) + env(safe-area-inset-bottom) + 22px);
  }

  .athlete-admin-menu a,
  .athlete-dashboard-menu__item {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .athlete-list-quick-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .athlete-list-quick-actions a {
    width: 100%;
    min-width: 0;
  }

  .athlete-admin-menu em,
  .athlete-dashboard-menu__item em {
    display: none;
  }

  .athlete-detail-hero__photo {
    justify-self: center;
  }

  .athlete-sync-placeholder {
    grid-template-columns: minmax(0, 1fr);
  }

  .athlete-sync-placeholder > span {
    width: 46px;
    height: 46px;
  }

  .athlete-compact-row__action {
    width: 100%;
  }
}

/* =========================================================
   REGISTRATION WIZARD
   Pagina iscrizione: wizard mobile-first e layout desktop.
   ========================================================= */
.skate-registration-page {
  display: grid;
  gap: clamp(16px, 3vw, 28px);
  width: min(100%, 1160px);
  margin-inline: auto;
}

.skate-registration-header {
  display: grid;
  gap: 10px;
  max-width: 760px;
}

.public-registration-promo-screen .skate-registration-header {
  max-width: none;
}

.skate-registration-header__label {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  color: var(--skate-yellow);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-registration-title {
  max-width: 12ch;
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(2.35rem, 5vw, 4.4rem);
  line-height: 0.98;
}

.skate-registration-lead {
  max-width: 62ch;
  margin: 0;
  color: var(--skate-text-soft);
  font-size: clamp(0.98rem, 1.3vw, 1.1rem);
  line-height: 1.65;
}

.registration-create-form,
.skate-registration-shell {
  display: grid;
  gap: 16px;
}

.skate-registration-shell {
  padding: clamp(14px, 2.6vw, 24px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 12% 10%, rgba(var(--skate-yellow-rgb), 0.12), transparent 34%),
    linear-gradient(135deg, rgba(var(--skate-card-rgb), 0.96), rgba(var(--skate-bg-rgb), 0.99));
  box-shadow: var(--skate-shadow-strong);
}

.skate-registration-sidebar {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.skate-registration-main {
  min-width: 0;
}

.skate-registration-form-card,
.skate-registration-help-card,
.skate-registration-summary,
.skate-registration-visual {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.06), rgba(var(--skate-white-rgb), 0.028)),
    var(--skate-surface-soft);
  box-shadow: var(--skate-shadow-soft);
}

.skate-registration-form-card {
  display: grid;
  gap: 16px;
  min-width: 0;
  padding: clamp(14px, 2.4vw, 22px);
}

.skate-registration-help-card,
.skate-registration-summary {
  display: grid;
  gap: 8px;
  padding: 16px;
}

.skate-registration-help-card--hero {
  border-color: var(--skate-yellow-border);
  background:
    radial-gradient(circle at 90% 8%, rgba(var(--skate-yellow-rgb), 0.14), transparent 34%),
    rgba(var(--skate-white-rgb), 0.055);
}

.skate-registration-help-card__label,
.skate-registration-summary__badge {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-registration-help-card h2,
.skate-registration-summary strong,
.registration-form-section h2 {
  margin: 0;
  color: var(--skate-text);
}

.skate-registration-help-card h2 {
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
}

.skate-registration-help-card p,
.skate-registration-summary p,
.skate-registration-step-intro {
  margin: 0;
  color: var(--skate-muted);
  line-height: 1.6;
}

.skate-registration-promo-banner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: clamp(16px, 3vw, 28px);
  align-items: center;
  scroll-margin-top: calc(var(--skate-topbar-height) + var(--skate-header-logo-overlap) + 32px);
  margin-top: clamp(18px, 3vw, 30px);
  padding: clamp(18px, 3.2vw, 34px);
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.72);
  border-radius: 18px;
  background:
    radial-gradient(circle at 84% 22%, rgba(var(--skate-yellow-rgb), 0.26), transparent 30%),
    linear-gradient(135deg, rgba(var(--skate-black-rgb), 0.92), rgba(var(--skate-card-2-rgb), 0.74));
  box-shadow: 0 26px 70px rgba(var(--skate-black-rgb), 0.34);
}

.skate-registration-promo-banner__main,
.skate-registration-promo-banner__details {
  min-width: 0;
}

.skate-registration-promo-banner__main {
  display: grid;
  gap: 8px;
}

.skate-registration-promo-banner__main span {
  display: inline-flex;
  width: fit-content;
  min-height: 36px;
  align-items: center;
  padding: 7px 16px;
  border-radius: 999px;
  background: var(--skate-yellow);
  color: var(--skate-bg);
  font-size: 0.88rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-registration-promo-banner__main strong {
  color: var(--skate-yellow);
  font-size: 4.4rem;
  font-weight: var(--font-weight-bold);
  line-height: 0.95;
  text-transform: uppercase;
}

.skate-registration-promo-banner__main em {
  color: var(--skate-text);
  font-size: 2.1rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.05;
}

.skate-registration-promo-banner__details {
  display: grid;
  gap: 12px;
}

.skate-registration-promo-banner__details p {
  display: grid;
  gap: 3px;
  margin: 0;
  padding-left: 18px;
  border-left: 4px solid var(--skate-yellow);
}

.skate-registration-promo-banner__details strong {
  color: var(--skate-text);
  font-size: 1.02rem;
}

.skate-registration-promo-banner__details span {
  color: var(--skate-muted);
  line-height: 1.4;
}

.skate-registration-summary strong {
  font-size: 1rem;
}

.skate-registration-visual {
  display: none;
  position: relative;
  min-height: 210px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 18%, rgba(var(--skate-yellow-rgb), 0.18), transparent 40%),
    linear-gradient(145deg, rgba(var(--skate-card-2-rgb), 0.94), rgba(var(--skate-bg-rgb), 0.98));
}

.skate-registration-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 38%, rgba(var(--skate-bg-rgb), 0.36));
  pointer-events: none;
}

.skate-registration-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 12px;
  object-fit: contain;
}

.registration-wizard-stepper {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 2px 8px;
  scrollbar-width: thin;
}

.registration-wizard-stepper__item {
  flex: 0 0 auto;
  display: inline-grid;
  grid-template-columns: 30px max-content;
  gap: 8px;
  align-items: center;
  min-height: 44px;
  padding: 7px 10px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-text-soft);
  font: inherit;
  font-size: 0.84rem;
  font-weight: var(--font-weight-semibold);
  cursor: pointer;
}

.registration-wizard-stepper__item span {
  display: inline-grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-bg-rgb), 0.62);
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
}

.registration-wizard-stepper__item strong {
  color: inherit;
  line-height: 1;
}

.registration-wizard-stepper__item.is-current,
.registration-wizard-stepper__item.is-active {
  border-color: var(--skate-yellow);
  background: var(--skate-yellow);
  color: var(--skate-bg);
}

.registration-wizard-stepper__item.is-current span,
.registration-wizard-stepper__item.is-active span {
  border-color: rgba(var(--skate-bg-rgb), 0.24);
  background: rgba(var(--skate-bg-rgb), 0.14);
  color: var(--skate-bg);
}

.registration-wizard-stepper__item.is-done {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.registration-wizard-stepper__item:disabled {
  opacity: 0.58;
  cursor: not-allowed;
}

.registration-create-form__stage {
  display: grid;
  gap: 16px;
}

.registration-form-section {
  scroll-margin-top: calc(var(--app-topbar-height) + 18px);
}

.registration-form-section[hidden],
.registration-form-section[aria-hidden="true"],
.registration-form-section.is-hidden {
  display: none;
}

.skate-registration-form-card .registration-panel {
  display: grid;
  gap: 16px;
  padding: clamp(16px, 2.4vw, 24px);
  border-color: var(--skate-border-strong);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-white-rgb), 0.025)),
    rgba(var(--skate-bg-rgb), 0.30);
  box-shadow: none;
}

.registration-form-section h2 {
  font-size: clamp(1.45rem, 2.6vw, 2.05rem);
}

.skate-registration-step-intro {
  max-width: 58ch;
  font-size: 0.94rem;
}

.skate-registration-form-card .registration-form-grid {
  gap: 14px;
}

.registration-children-list {
  display: grid;
  gap: 14px;
}

.registration-child-group {
  display: grid;
  gap: 14px;
  padding-block: 4px 16px;
  border-bottom: 1px solid var(--skate-border);
}

.registration-child-group:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.registration-child-group__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.registration-child-group__head--stacked {
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 6px;
}

.registration-child-group__head strong {
  color: var(--skate-text);
  font-size: 1rem;
}

.registration-child-group__head small {
  color: var(--skate-muted);
  font-size: 0.88rem;
  line-height: 1.35;
}

.registration-child-group__badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 4px 9px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.28);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-yellow-rgb), 0.09);
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
}

.registration-child-group__head button,
.registration-add-child {
  min-height: 40px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.045);
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-bold);
}

.registration-child-group__head button {
  padding: 8px 12px;
}

.registration-residence-copy {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(var(--skate-success-rgb), 0.24);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-success-rgb), 0.08);
}

.registration-toggle--residence-copy {
  min-height: 52px;
  border-color: rgba(var(--skate-success-rgb), 0.28);
  background: rgba(var(--skate-black-rgb), 0.16);
}

.registration-equipment {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.22);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--skate-yellow-rgb), 0.10), transparent 42%),
    rgba(var(--skate-black-rgb), 0.18);
}

.registration-equipment__head {
  display: grid;
  gap: 4px;
}

.registration-equipment__head strong {
  color: var(--skate-text);
  font-size: 1rem;
}

.registration-equipment__head span {
  color: var(--skate-muted);
  font-size: 0.88rem;
  line-height: 1.4;
}

.registration-equipment__details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 12px;
  padding-top: 2px;
}

.registration-equipment__details[hidden] {
  display: none;
}

/* Public registration compatibility while guest pages move back to the canonical CSS. */
.guest-screen .registration-equipment {
  grid-column: 1 / -1;
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--skate-yellow-rgb), 0.10), transparent 42%),
    rgba(var(--skate-black-rgb), 0.18);
}

.guest-screen .registration-equipment__head span {
  color: inherit;
  font-size: 0.86rem;
  line-height: normal;
}

.registration-toggle--equipment {
  align-self: end;
  min-height: 54px;
}

.registration-guardian-documents {
  display: grid;
  gap: 14px;
}

.registration-guardian-document-card {
  display: grid;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.20);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--skate-yellow-rgb), 0.08), transparent 40%),
    rgba(var(--skate-black-rgb), 0.18);
}

.registration-guardian-document-card.has-file {
  border-color: rgba(var(--skate-success-rgb), 0.38);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--skate-success-rgb), 0.10), transparent 40%),
    rgba(var(--skate-black-rgb), 0.18);
}

.registration-guardian-document-card__head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.registration-guardian-document-card__head strong {
  color: var(--skate-text);
}

.registration-guardian-document-card__head span {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
}

.registration-guardian-document-card input[type="file"] {
  padding: 10px;
}

.registration-guardian-document-card input[type="file"]::file-selector-button {
  min-height: 36px;
  margin-right: 12px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow);
  color: var(--skate-neutral-950);
  font: inherit;
  font-weight: var(--font-weight-black);
  cursor: pointer;
}

.registration-add-child {
  justify-self: start;
  padding: 10px 14px;
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.registration-settings-group {
  --registration-settings-accent: var(--skate-text-soft);
  --registration-settings-accent-rgb: var(--skate-white-rgb);
  grid-column: 1 / -1;
  display: grid;
  gap: 14px;
  position: relative;
  overflow: hidden;
  padding: 16px;
  border: 1px solid rgba(var(--registration-settings-accent-rgb), 0.28);
  border-radius: var(--skate-radius-md);
  background:
    linear-gradient(135deg, rgba(var(--registration-settings-accent-rgb), 0.18), rgba(var(--registration-settings-accent-rgb), 0.04) 42%, rgba(var(--skate-white-rgb), 0.035) 100%);
  box-shadow:
    inset 5px 0 0 rgba(var(--registration-settings-accent-rgb), 0.72),
    0 16px 34px rgba(var(--skate-black-rgb), 0.18);
}

.registration-settings-group--school {
  --registration-settings-accent: var(--skate-success);
  --registration-settings-accent-rgb: 52, 211, 153;
}

.registration-settings-group--promo {
  --registration-settings-accent: var(--skate-yellow);
  --registration-settings-accent-rgb: var(--skate-yellow-rgb);
}

.registration-settings-group--agonism {
  --registration-settings-accent: var(--skate-red-400);
  --registration-settings-accent-rgb: 255, 107, 107;
}

.registration-settings-group--medical {
  --registration-settings-accent: var(--skate-sky-400);
  --registration-settings-accent-rgb: 56, 189, 248;
}

.registration-settings-group__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.registration-settings-group__head div {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.registration-settings-group h3,
.registration-settings-group p,
.registration-settings-group__head span {
  margin: 0;
}

.registration-settings-group h3 {
  color: var(--registration-settings-accent);
  font-size: 1.1rem;
}

.registration-settings-group__head p,
.registration-settings-note {
  color: var(--skate-muted);
  line-height: 1.5;
}

.registration-settings-group__head span {
  flex: 0 0 auto;
  max-width: min(42%, 220px);
  padding: 7px 10px;
  border: 1px solid rgba(var(--registration-settings-accent-rgb), 0.34);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--registration-settings-accent-rgb), 0.13);
  color: var(--registration-settings-accent);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  text-align: center;
}

.registration-settings-note {
  grid-column: 1 / -1;
  font-size: 0.92rem;
}

@media (max-width: 640px) {
  .registration-settings-group__head {
    display: grid;
    gap: 12px;
  }

  .registration-settings-group__head span {
    justify-self: start;
    max-width: 100%;
  }
}

.skate-registration-form-card .registration-input > span {
  color: var(--skate-text-soft);
  font-size: 0.88rem;
}

.skate-registration-form-card input,
.skate-registration-form-card select,
.skate-registration-form-card textarea {
  min-height: 48px;
  background: rgba(var(--skate-black-rgb), 0.30);
}

.registration-consent-grid {
  display: grid;
  gap: 12px;
}

.registration-document-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 10px;
}

.registration-document-button {
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.registration-toggle--consent input:disabled + span {
  color: var(--skate-muted-2);
}

.registration-submit-bar {
  position: sticky;
  bottom: calc(var(--bottom-nav-height) + 12px);
  z-index: var(--skate-z-sticky);
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-bg-rgb), 0.88);
  box-shadow: var(--skate-shadow-soft);
  backdrop-filter: blur(14px);
}

@media (max-width: 899px) {
  .skate-registration-page {
    padding-block-end: calc(var(--skate-bottom-nav-height, 74px) + env(safe-area-inset-bottom) + 24px);
  }

  .skate-registration-shell,
  .skate-registration-main,
  .skate-registration-form-card,
  .registration-create-form__stage,
  .skate-registration-form-card .registration-panel {
    min-width: 0;
  }

  .skate-registration-form-card {
    padding-block-end: 18px;
  }

  .skate-registration-form-card .registration-panel {
    padding-bottom: clamp(22px, 8vw, 34px);
  }

  .skate-registration-form-card .registration-form-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-registration-promo-banner {
    grid-template-columns: minmax(0, 1fr);
    border-radius: var(--skate-radius-lg);
  }

  .skate-registration-promo-banner__main strong {
    font-size: 3rem;
  }

  .skate-registration-promo-banner__main em {
    font-size: 1.5rem;
  }

  .skate-registration-form-card input,
  .skate-registration-form-card select,
  .skate-registration-form-card textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .registration-submit-bar {
    position: relative;
    bottom: auto;
    z-index: var(--skate-z-base);
    margin-top: 22px;
  }
}

@media (min-width: 900px) {
  .skate-registration-shell {
    grid-template-columns: minmax(270px, 330px) minmax(0, 1fr);
    gap: clamp(18px, 3vw, 30px);
    align-items: start;
  }

  .skate-registration-sidebar {
    position: sticky;
    top: calc(var(--app-topbar-height) + 18px);
  }

  .registration-wizard-stepper {
    display: grid;
    overflow: visible;
    padding: 0;
  }

  .registration-wizard-stepper__item {
    width: 100%;
    grid-template-columns: 34px minmax(0, 1fr);
    min-height: 52px;
    border-radius: var(--skate-radius-md);
    text-align: left;
  }

  .registration-wizard-stepper__item span {
    width: 34px;
    height: 34px;
  }

  .skate-registration-visual {
    display: block;
  }

  .skate-registration-form-card {
    padding: clamp(18px, 2.6vw, 28px);
  }

  .skate-registration-form-card .registration-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .registration-submit-bar {
    position: static;
    justify-content: flex-end;
    margin-block-start: 2px;
  }
}

/* =========================================================
   ADMIN UI SYSTEM
   Normalizzazione area admin: layout, card, form, filtri,
   azioni, tabelle e stati condivisi.
   ========================================================= */
.app-screen {
  overflow-x: hidden;
}

.app-screen .app-main {
  width: min(100%, var(--skate-container));
  margin-inline: auto;
}

.app-screen .screen-head,
.app-screen .page-hero,
.app-screen .athlete-admin-hero,
.app-screen .society-admin-hero,
.app-screen .society-staff-hero,
.app-screen .society-staff-editor-hero,
.app-screen .admin-manage-hero {
  width: 100%;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--skate-yellow-rgb), 0.11), transparent 36%),
    linear-gradient(180deg, rgba(var(--skate-card-rgb), 0.96), rgba(var(--skate-bg-soft-rgb), 0.98));
  box-shadow: var(--skate-shadow-soft);
  color: var(--skate-text);
}

.app-screen .screen-head,
.app-screen .society-admin-hero,
.app-screen .society-staff-hero,
.app-screen .society-staff-editor-hero,
.app-screen .admin-manage-hero {
  padding: clamp(18px, 3vw, 34px);
}

.app-screen .screen-head h1,
.app-screen .page-hero h1,
.app-screen .athlete-admin-hero h1,
.app-screen .society-admin-hero h1,
.app-screen .society-staff-hero h1,
.app-screen .society-staff-editor-hero h1,
.app-screen .admin-manage-hero h1 {
  margin: 0;
  color: var(--skate-text);
  line-height: 1;
}

.app-screen .screen-subtitle,
.app-screen .screen-meta,
.app-screen .society-admin-hero p,
.app-screen .society-staff-hero p,
.app-screen .society-staff-editor-hero p,
.app-screen .admin-manage-hero p {
  max-width: 74ch;
  color: var(--skate-muted);
  line-height: 1.55;
}

.app-screen .panel,
.app-screen .panel-card,
.app-screen .shop-panel,
.app-screen .settings-card,
.app-screen .settings-context,
.app-screen .settings-alert,
.communication-inline-status,
.communication-search-card,
.communication-note-card,
.communication-empty-card,
.app-screen .fisr-empty-card,
.app-screen .fisr-search-card,
.app-screen .fisr-search-summary,
.app-screen .fisr-board-card,
.app-screen .fisr-hero-card,
.app-screen .admin-manage-card,
.app-screen .admin-empty-state,
.app-screen .society-admin-section,
.app-screen .society-staff-card,
.app-screen .registration-card {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.052), rgba(var(--skate-white-rgb), 0.022)),
    rgba(var(--skate-card-rgb), 0.88);
  box-shadow: var(--skate-shadow-soft);
  color: var(--skate-text);
}

.app-screen .shop-panel,
.communication-search-card,
.communication-note-card,
.communication-empty-card,
.app-screen .fisr-search-card,
.app-screen .fisr-search-summary,
.app-screen .fisr-board-card,
.app-screen .fisr-hero-card,
.app-screen .admin-manage-card,
.app-screen .admin-empty-state,
.app-screen .society-admin-section,
.app-screen .society-staff-card {
  padding: clamp(16px, 2.3vw, 24px);
}

.app-screen .panel:hover,
.app-screen .panel-card:hover,
.app-screen .shop-panel:hover,
.communication-app-card:hover,
.communication-choice-card:hover,
.app-screen .fisr-nav-card:hover,
.app-screen .fisr-board-card:hover,
.app-screen .section-card:hover,
.app-screen .registration-card:hover,
.app-screen .athlete-compact-row:hover {
  border-color: var(--skate-yellow-border);
}

:is(form, .shop-toolbar, .registration-filters, .athlete-search-form, .athlete-filter-form, .admin-manage-form, .society-admin-form, .society-staff-form, .shop-form-grid, .communication-step-form) {
  min-width: 0;
}

:is(.registration-filters, .shop-toolbar form, .shop-form-grid, .admin-manage-form, .society-admin-form-grid, .society-staff-form__grid, .admin-manage-form__grid, .athlete-form-grid, .settings-field-grid, .communication-search-card) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 12px;
}

:is(.admin-manage-form__wide, .society-admin-form__wide, .society-staff-form__wide, .shop-form-grid__wide, .athlete-form-grid__wide) {
  grid-column: 1 / -1;
}

:is(label, fieldset) {
  min-width: 0;
}

:is(label, .admin-category-checks) > span,
:is(.shop-panel__header span, .settings-card__head p, .communication-list-card__subject, .fisr-board-card__mode) {
  color: var(--skate-muted);
}

:is(input, select, textarea, .athlete-file-picker) {
  min-height: 48px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.28);
  color: var(--skate-text);
  font: inherit;
  font-size: 1rem;
}

:is(input, select, textarea) {
  padding: 11px 13px;
}

.app-screen input[type="file"] {
  padding: 10px;
}

:is(input[type="checkbox"], input[type="radio"]) {
  width: 20px;
  min-width: 20px;
  min-height: 20px;
}

:is(input, select, textarea):focus {
  outline: none;
  border-color: var(--skate-yellow);
  box-shadow: 0 0 0 3px var(--skate-yellow-soft);
}

:is(label.has-error input, label.has-error select, label.has-error textarea, fieldset.has-error) {
  border-color: rgba(var(--skate-danger-rgb), 0.56);
  box-shadow: 0 0 0 3px rgba(var(--skate-danger-rgb), 0.12);
}

:is(label small, fieldset small) {
  color: var(--skate-danger);
  line-height: 1.35;
}

.admin-primary-action,
.admin-secondary-action,
.admin-danger-action,
.admin-restore-action,
:is(.registration-filters button, .shop-toolbar button, .shop-form-grid button, .communication-search-card button, .fisr-search-card button, .admin-manage-form button, .society-admin-form button, .society-staff-form button, .settings-action-bar button, .settings-action-bar a) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--button-min-height);
  padding: 10px var(--button-padding-x);
  border: 1px solid var(--button-secondary-border);
  border-radius: var(--button-radius);
  background: var(--button-secondary-bg);
  color: var(--button-secondary-text);
  font-weight: var(--button-font-weight);
  line-height: 1.1;
  text-decoration: none;
  cursor: pointer;
}

.admin-primary-action,
:is(.registration-filters button, .shop-form-grid button, .admin-manage-form button, .society-admin-form button, .society-staff-form button) {
  border-color: var(--button-primary-border);
  background: var(--button-primary-bg);
  color: var(--button-primary-text);
}

.admin-danger-action {
  border-color: rgba(var(--skate-danger-rgb), 0.34);
  background: rgba(var(--skate-danger-rgb), 0.12);
  color: var(--skate-danger);
}

.admin-restore-action {
  border-color: rgba(var(--skate-success-rgb), 0.32);
  background: rgba(var(--skate-success-rgb), 0.12);
  color: var(--skate-success);
}

:is(.admin-primary-action, .admin-secondary-action, .admin-danger-action, .admin-restore-action, button, a):focus-visible {
  outline: 2px solid var(--skate-yellow);
  outline-offset: 3px;
}

.admin-action__icon,
:is(.status-pill__icon-image, .section-card__icon-image, .communication-app-card__icon-image, .communication-choice-card__icon-image, .fisr-hero-card__icon-image, .fisr-nav-card__icon-image) {
  width: 20px;
  height: 20px;
  color: currentColor;
}

:is(.registration-stats, .shop-stat-grid, .settings-stats, .athlete-dashboard-stats) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 12px;
}

:is(.registration-stats article, .shop-stat-grid article, .settings-stat, .dashboard-grid .section-card) {
  min-width: 0;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 94% 0%, rgba(var(--skate-yellow-rgb), 0.08), transparent 32%),
    rgba(var(--skate-card-rgb), 0.72);
  box-shadow: var(--skate-shadow-soft);
  color: var(--skate-text);
}

:is(.registration-stats article, .shop-stat-grid article, .settings-stat) {
  display: grid;
  gap: 6px;
  padding: 14px;
}

:is(.registration-stats strong, .shop-stat-grid strong, .settings-stat strong) {
  color: var(--skate-yellow);
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  line-height: 1;
}

:is(.registration-stats span, .shop-stat-grid span, .settings-stat span) {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

:is(.status-pill, .role-chip, .admin-badge, .admin-time-pill, .shop-status) {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  white-space: nowrap;
}

:is(.shop-table-wrap, .fisr-table-wrap, .settings-log-list) {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.app-screen table {
  min-width: min(720px, 100%);
}

:is(th, td) {
  overflow-wrap: anywhere;
}

:is(.empty-state, .shop-empty, .fisr-empty-card, .communication-empty-card, .admin-empty-state, .athlete-empty-panel) {
  border-color: var(--skate-border);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--skate-yellow-rgb), 0.08), transparent 32%),
    rgba(var(--skate-card-rgb), 0.64);
  color: var(--skate-text-soft);
}

:is(.shop-split, .settings-split, .registration-detail-grid, .shop-detail-layout) {
  align-items: start;
}

:is(.communication-card-stack, .communication-list-stack, .shop-list, .registration-list, .fisr-board-stack, .fisr-nav-stack, .admin-manage-list) {
  display: grid;
  gap: 12px;
}

:is(.registration-card, .shop-list-row, .communication-app-card, .communication-choice-card, .fisr-nav-card) {
  min-width: 0;
}

.registration-family-list {
  display: grid;
  gap: 14px;
}

.registration-family-card {
  min-width: 0;
  padding: clamp(16px, 2.2vw, 22px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 96% 0%, rgba(var(--skate-yellow-rgb), 0.08), transparent 30%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.052), rgba(var(--skate-white-rgb), 0.022)),
    rgba(var(--skate-card-rgb), 0.88);
  box-shadow: var(--skate-shadow-soft);
}

.registration-family-card__head,
.registration-child-row,
.registration-child-row__side {
  display: flex;
  gap: 12px;
}

.registration-family-card__head {
  align-items: flex-start;
  justify-content: space-between;
}

.registration-family-card__head small,
.registration-family-card__meta,
.registration-family-card__contacts,
.registration-child-row small {
  color: var(--skate-muted);
}

.registration-family-card__head strong {
  display: block;
  margin-block-start: 3px;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.registration-family-card__meta {
  display: grid;
  justify-items: end;
  text-align: right;
}

.registration-family-card__tools {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
  justify-content: flex-end;
}

.registration-family-card__contacts {
  margin: 8px 0 0;
  overflow-wrap: anywhere;
}

.registration-family-card__children {
  display: grid;
  gap: 10px;
  margin-block-start: 14px;
}

.registration-child-row {
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.18);
  color: var(--skate-text);
  text-decoration: none;
}

.registration-child-row:hover {
  border-color: var(--skate-yellow-border);
}

.registration-child-row__main {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.registration-child-row__main strong,
.registration-child-row__main small {
  overflow: hidden;
  text-overflow: ellipsis;
}

.registration-child-row__side {
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  min-width: 180px;
}

.registration-row-action,
.registration-danger-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.registration-row-action {
  border: 1px solid var(--skate-border);
  background: rgba(var(--skate-white-rgb), 0.055);
  color: var(--skate-text);
}

.registration-row-action:hover,
.registration-row-action:focus-visible {
  border-color: var(--skate-yellow-border);
  color: var(--skate-yellow);
}

.registration-danger-action {
  border: 1px solid rgba(var(--skate-danger-rgb), 0.34);
  background: rgba(var(--skate-danger-rgb), 0.12);
  color: var(--skate-danger);
  cursor: pointer;
}

.registration-danger-action:hover,
.registration-danger-action:focus-visible {
  border-color: rgba(var(--skate-danger-rgb), 0.62);
  background: rgba(var(--skate-danger-rgb), 0.2);
}

.registration-danger-action--family {
  min-height: 36px;
}

.registration-child-row__side form,
.registration-family-card__tools form {
  margin: 0;
}

.registration-detail-hero {
  display: grid;
  gap: 8px;
  margin-block: 18px;
}

.registration-detail-hero h2 {
  margin: 0;
  line-height: 1.05;
}

.registration-detail-hero p {
  margin: 0;
  color: var(--skate-muted);
}

.registration-fields {
  display: grid;
  gap: 10px;
}

.registration-field {
  display: grid;
  grid-template-columns: minmax(118px, 0.42fr) minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  padding-block: 8px;
  border-bottom: 1px solid rgba(var(--skate-white-rgb), 0.08);
}

.registration-field:last-child {
  border-bottom: 0;
}

.registration-field span {
  color: var(--skate-muted);
  font-size: 0.9rem;
}

.registration-field strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--skate-text);
}

.registration-note {
  max-width: 68ch;
  color: var(--skate-text-soft);
  line-height: 1.5;
}

.registration-admin-action {
  display: grid;
  gap: 10px;
  margin-block-start: 16px;
  padding: 14px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.26);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-yellow-rgb), 0.06);
}

.registration-admin-action .registration-note {
  margin: 0;
}

.registration-files {
  display: grid;
  gap: 10px;
}

.registration-files article {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.registration-files span,
.registration-files small {
  color: var(--skate-muted);
  overflow-wrap: anywhere;
}

.registration-file-open {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 14px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.42);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.12);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.registration-file-open:hover {
  background: rgba(var(--skate-yellow-rgb), 0.18);
  color: var(--skate-yellow);
}

/* =========================================================
   SOCIETY / TEAM ADMIN
   Sezione Società / Squadra: dati società, affiliazioni,
   staff, corsi e orari.
   ========================================================= */
.society-screen .app-main {
  max-width: calc(100vw - (var(--skate-page-x) * 2));
  min-width: 0;
  padding-bottom: calc(var(--app-bottom-safe-space) + 112px);
}

.society-admin-top {
  max-width: 100%;
  overflow: hidden;
}

.society-admin-tabs {
  display: flex;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  padding: 4px 2px 8px;
  scrollbar-width: none;
}

.society-admin-tabs::-webkit-scrollbar {
  display: none;
}

.society-admin-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 40px;
  padding: 9px 14px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.045);
  color: var(--skate-text-soft);
  font-size: 0.9rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-decoration: none;
}

.society-admin-tabs a:hover,
.society-admin-tabs a:focus-visible,
.society-admin-tabs a.is-active {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.society-admin-hero,
.society-staff-hero,
.society-staff-editor-hero,
.admin-manage-hero {
  display: grid;
  gap: clamp(16px, 2.5vw, 24px);
  align-items: center;
  overflow: hidden;
}

.society-admin-hero__copy,
.society-staff-hero__copy,
.admin-manage-hero__copy,
.society-admin-affiliations__copy,
.society-admin-section__head > div,
.society-admin-read__toolbar > div {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.society-admin-hero__copy h2,
.society-staff-hero__copy h2,
.admin-manage-hero__copy h2,
.society-admin-affiliations__copy h2,
.society-admin-read__toolbar h2,
.society-admin-section__head h3,
.society-staff-edit-panel__head h3,
.admin-manage-edit-panel__head h3,
.society-staff-card__title h3,
.admin-manage-card h3 {
  margin: 0;
  color: var(--skate-text);
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.society-admin-hero__copy p,
.society-admin-hero__copy small,
.society-staff-hero__copy p,
.society-staff-hero__copy small,
.admin-manage-hero__copy p,
.admin-manage-hero__copy small,
.society-admin-affiliations__copy p,
.society-admin-section__head p,
.society-staff-card__body p,
.admin-manage-card p {
  margin: 0;
  color: var(--skate-text-soft);
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.society-admin-hero__copy small,
.society-staff-hero__copy small,
.admin-manage-hero__copy small {
  display: block;
  max-width: 100%;
  white-space: normal;
}

.society-admin-hero__summary,
.society-staff-hero__side,
.admin-manage-hero__side {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 90% 0%, rgba(var(--skate-yellow-rgb), 0.14), transparent 42%),
    rgba(var(--skate-black-rgb), 0.22);
}

.society-admin-hero__summary strong,
.society-staff-hero__side strong,
.admin-manage-hero__side strong {
  color: var(--skate-text);
  font-size: clamp(1.12rem, 2vw, 1.45rem);
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.society-admin-hero__summary span,
.society-admin-hero__summary em,
.society-staff-hero__side span,
.admin-manage-hero__side span {
  color: var(--skate-muted);
  font-size: 0.88rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
}

.society-admin-hero__summary em {
  width: fit-content;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.society-admin-read,
.society-admin-form,
.society-staff-list,
.admin-manage-list,
.admin-schedule-days {
  display: grid;
  gap: 14px;
}

.society-admin-read__toolbar,
.society-admin-form-actions,
.society-staff-form__actions,
.admin-manage-form__actions,
.society-staff-card__actions,
.admin-manage-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.society-admin-read__toolbar {
  justify-content: space-between;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-white-rgb), 0.035);
}

.society-admin-read__toolbar h2,
.society-admin-read__toolbar p {
  margin: 0;
}

.society-admin-section,
.society-admin-affiliations,
.society-staff-edit-panel,
.society-staff-empty,
.admin-manage-edit-panel,
.admin-schedule-day {
  display: grid;
  gap: 16px;
  min-width: 0;
  overflow: hidden;
}

.society-staff-edit-panel--dedicated {
  width: min(100%, 980px);
  margin-inline: auto;
}

.admin-manage-edit-panel--dedicated {
  width: min(100%, 980px);
  margin-inline: auto;
}

.society-admin-section__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.society-admin-section__icon,
.society-admin-field__icon,
.society-staff-card__avatar,
.admin-manage-card__visual {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.society-admin-section__icon {
  width: 42px;
  height: 42px;
  border-radius: var(--skate-radius-md);
}

.society-admin-section__icon-svg,
.society-admin-field__icon-svg {
  width: 20px;
  height: 20px;
  color: currentColor;
}

.society-admin-field-grid,
.society-admin-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 12px;
}

.society-admin-field {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.society-admin-field--wide,
.society-admin-form__wide,
.society-staff-form__wide {
  grid-column: 1 / -1;
}

.society-admin-field__icon {
  width: 38px;
  height: 38px;
  border-radius: var(--skate-radius-sm);
}

.society-admin-field div {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.society-admin-field span:not(.society-admin-field__icon) {
  color: var(--skate-muted);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  text-transform: uppercase;
}

.society-admin-field strong,
.society-admin-field a {
  min-width: 0;
  color: var(--skate-text);
  font-weight: var(--font-weight-semibold);
  line-height: 1.42;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.society-admin-field a {
  color: var(--skate-yellow);
}

.society-admin-field a:hover,
.society-admin-field a:focus-visible {
  color: var(--skate-yellow-hover);
}

.society-admin-form label,
.society-staff-form label,
.admin-manage-form label {
  display: grid;
  gap: 7px;
}

.society-admin-form label > span,
.society-staff-form label > span,
.admin-manage-form label > span,
.admin-category-checks legend {
  color: var(--skate-text-soft);
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
}

.society-admin-form-actions {
  justify-content: flex-end;
  padding-block-end: 12px;
}

.society-admin-affiliations {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  border-color: var(--skate-yellow-border);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--skate-yellow-rgb), 0.12), transparent 34%),
    rgba(var(--skate-card-rgb), 0.78);
}

.society-admin-affiliations__copy > span {
  width: fit-content;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.society-admin-affiliations__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 14px;
  min-width: 0;
}

.society-admin-affiliation-card {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 240px;
  padding: 20px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--skate-yellow-rgb), 0.08), transparent 42%),
    rgba(var(--skate-black-rgb), 0.22);
  color: var(--skate-text);
  text-align: center;
  text-decoration: none;
}

.society-admin-affiliation-card:hover,
.society-admin-affiliation-card:focus-visible {
  border-color: var(--skate-yellow-border);
  background: rgba(var(--skate-yellow-rgb), 0.07);
}

.society-admin-affiliation-card__logo {
  display: grid;
  place-items: center;
  width: min(100%, 190px);
  height: 104px;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.92);
}

.society-admin-affiliation-card__logo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 74px;
  object-fit: contain;
}

.society-admin-affiliation-card__badge,
.society-staff-status {
  width: fit-content;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-transform: uppercase;
}

.society-admin-affiliation-card strong,
.society-admin-affiliation-card small {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.society-admin-affiliation-card small {
  color: var(--skate-muted);
  line-height: 1.4;
}

.society-staff-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  min-width: 0;
}

.society-staff-card__avatar {
  width: 74px;
  height: 74px;
  overflow: hidden;
  border-radius: var(--skate-radius-lg);
}

.society-staff-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.society-staff-card__avatar span {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: var(--skate-yellow);
  font-size: 1.06rem;
  font-weight: var(--font-weight-bold);
}

.society-staff-photo-field {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.society-staff-photo-field > span {
  color: var(--skate-text-soft);
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
}

.society-staff-photo-field__content {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.society-staff-photo-field__preview {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  overflow: hidden;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 32% 24%, rgba(var(--skate-yellow-rgb), 0.22), transparent 44%),
    var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.society-staff-photo-field__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.society-staff-photo-field__preview span {
  color: var(--skate-yellow);
  font-size: 1.08rem;
  font-weight: var(--font-weight-bold);
}

.society-staff-photo-field__input {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.app-screen .society-staff-photo-field__input small {
  color: var(--skate-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.app-screen .society-staff-photo-field > small {
  color: var(--skate-danger);
  font-size: 0.78rem;
  line-height: 1.35;
}

.society-staff-photo-field.has-error .society-staff-photo-field__content {
  border-color: rgba(var(--skate-danger-rgb), 0.45);
  box-shadow: 0 0 0 3px rgba(var(--skate-danger-rgb), 0.08);
}

.society-staff-card__body,
.society-staff-card__title,
.society-staff-card__meta,
.admin-manage-card__main,
.admin-manage-card__head,
.admin-chip-row {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.society-staff-card__title,
.admin-manage-card__head {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.society-staff-card__body > strong,
.admin-manage-card__main > strong {
  color: var(--skate-yellow);
  line-height: 1.3;
}

.society-staff-card__email {
  color: var(--skate-text-soft);
  overflow-wrap: anywhere;
  text-decoration: none;
}

.society-staff-card__email:hover,
.society-staff-card__email:focus-visible {
  color: var(--skate-yellow);
}

.society-staff-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.society-staff-card__meta span,
.admin-chip-row span,
.admin-manage-card__meta span {
  width: fit-content;
  padding: 6px 9px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.045);
  color: var(--skate-text-soft);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
}

.society-staff-status.is-active {
  border-color: rgba(var(--skate-success-rgb), 0.34);
  background: rgba(var(--skate-success-rgb), 0.12);
  color: var(--skate-success);
}

.society-staff-status.is-inactive,
.society-staff-card.is-inactive {
  opacity: 0.78;
}

.society-staff-card__actions {
  grid-column: 1 / -1;
  justify-content: flex-end;
}

.society-staff-check {
  display: inline-flex !important;
  grid-column: 1 / -1;
  align-items: center;
  width: fit-content;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.society-staff-check input {
  margin: 0;
}

.admin-manage-card,
.admin-schedule-card {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.admin-chip-row {
  display: flex;
  flex-wrap: wrap;
}

.admin-schedule-day__head {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.admin-schedule-day__head h3 {
  margin: 0;
}

.admin-schedule-day__head span,
.admin-time-pill {
  width: fit-content;
  padding: 6px 10px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
}

@media (max-width: 759px) {
  .society-screen .app-main {
    width: calc(100vw - 32px);
    max-width: calc(100vw - 32px);
  }

  .society-admin-read__toolbar,
  .society-admin-form-actions,
  .society-staff-form__actions,
  .admin-manage-form__actions,
  .society-staff-card__actions,
  .admin-manage-card__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .society-admin-read__toolbar :is(.admin-primary-action, .admin-secondary-action),
  .society-admin-form-actions :is(.admin-primary-action, .admin-secondary-action),
  .society-staff-form__actions :is(.admin-primary-action, .admin-secondary-action),
  .admin-manage-form__actions :is(.admin-primary-action, .admin-secondary-action),
  .society-staff-card__actions :is(.admin-primary-action, .admin-secondary-action),
  .admin-manage-card__actions :is(.admin-primary-action, .admin-secondary-action) {
    width: 100%;
    max-width: 100%;
    justify-content: center;
  }

  .society-admin-section__head {
    grid-template-columns: minmax(0, 1fr);
  }

  .society-admin-hero__copy p,
  .society-admin-hero__copy small,
  .society-staff-hero__copy p,
  .society-staff-hero__copy small,
  .admin-manage-hero__copy p,
  .admin-manage-hero__copy small,
  .society-admin-affiliations__copy p,
  .society-admin-section__head p {
    max-width: 32ch;
  }

  .society-admin-hero__summary,
  .society-staff-hero__side,
  .admin-manage-hero__side,
  .society-admin-affiliation-card__badge,
  .society-staff-status,
  .society-staff-card__meta span,
  .admin-chip-row span,
  .admin-manage-card__meta span {
    width: auto;
    max-width: 100%;
  }

  .society-admin-field {
    grid-template-columns: minmax(0, 1fr);
  }

  .society-admin-field__icon {
    display: none;
  }

  .society-staff-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .society-staff-photo-field__content {
    grid-template-columns: minmax(0, 1fr);
    justify-items: start;
  }

  .society-staff-card__avatar {
    width: 64px;
    height: 64px;
  }
}

@media (min-width: 860px) {
  :is(.shop-split, .settings-split, .registration-detail-grid, .shop-detail-layout) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :is(.communication-card-stack, .fisr-board-stack) {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  }

  .society-admin-hero,
  .society-staff-hero,
  .society-staff-editor-hero,
  .admin-manage-hero,
  .society-admin-affiliations {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.5fr);
  }

  .society-admin-read,
  .society-admin-form {
    gap: 16px;
  }

  .society-staff-list,
  .admin-manage-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================================================
   16. RESPONSIVE
   Mobile-first adaptations for tablet and desktop.
   ========================================================= */
@media (min-width: 760px) {
  .public-hero,
  .shop-public-hero,
  .public-courses-hero,
  .public-society-hero,
  .public-schedule-hero,
  .public-sponsors-hero,
  .public-staff-hero,
  .public-team-hero {
    grid-template-columns: minmax(0, 1.04fr) minmax(280px, 0.8fr);
  }

  .shop-public-detail,
  .shop-request-layout,
  .shop-detail-layout,
  .shop-admin-overview,
  .registration-detail-grid,
  .settings-split {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
  }

  .skate-video-showcase__layout {
    grid-template-columns: minmax(280px, 360px) minmax(360px, 500px);
    column-gap: clamp(48px, 6vw, 72px);
    row-gap: 18px;
    justify-content: center;
  }

  .skate-video-showcase__media {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .skate-video-showcase__content,
  .skate-video-showcase__details {
    grid-column: 2;
  }

  .skate-video-showcase__content {
    align-self: end;
  }

  .skate-video-showcase__details {
    align-self: start;
  }

  .skate-video-showcase__title {
    font-size: 3.55rem;
  }

  .skate-palmares-showcase__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .settings-split--roles {
    grid-template-columns: minmax(0, 0.9fr) minmax(300px, 1fr);
  }
}

@media (min-width: 680px) {
  .dashboard-screen .dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 980px) {
  .dashboard-screen .dashboard-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  :root {
    --skate-page-x: clamp(24px, 4vw, 44px);
  }

  .quickbar {
    width: min(640px, calc(100% - 48px));
  }

  .guest-topbar {
    width: min(var(--skate-public-container), calc(100% - 48px));
  }

  .skate-video-device {
    width: min(100%, 326px);
  }

  .skate-video-showcase__title {
    font-size: 4rem;
  }
}

@media (min-width: 1240px) {
  .dashboard-screen .dashboard-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 759px) {
  :root {
    --skate-topbar-height: 66px;
    --skate-header-logo-size: var(--skate-header-logo-size-mobile);
    --skate-header-logo-overlap: var(--skate-header-logo-overlap-mobile);
    --skate-header-logo-clearance: 5px;
    --skate-bottom-nav-height: 74px;
  }

  body {
    font-size: 15px;
  }

  .guest-topbar {
    top: 0;
    left: 0;
    width: 100%;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    min-height: calc(var(--skate-topbar-height) + var(--skate-safe-top));
    padding: calc(8px + var(--skate-safe-top)) 10px 8px;
    border-width: 0 0 1px;
    border-radius: 0;
    background:
      linear-gradient(180deg, rgb(var(--skate-bg-soft-rgb)), rgb(var(--skate-bg-rgb)));
    transform: none;
  }

  .guest-topbar__actions {
    gap: 6px;
  }

  .guest-topbar__logo::after {
    bottom: -1px;
    height: 14px;
  }

  .quickbar {
    left: 0;
    bottom: 0;
    width: 100%;
    min-height: calc(var(--skate-bottom-nav-height) + var(--skate-safe-bottom));
    padding: 6px 6px calc(6px + var(--skate-safe-bottom));
    border-width: 1px 0 0;
    border-radius: 0;
    background:
      linear-gradient(180deg, rgb(var(--skate-bg-soft-rgb)), rgb(var(--skate-bg-rgb)));
    transform: none;
  }

  .quickbar__item {
    min-height: 54px;
    font-size: 0.68rem;
  }

  .drawer__panel {
    inset: 8px;
    height: calc(100dvh - 16px);
    max-height: calc(100dvh - 16px);
    width: auto;
  }

  .drawer__pane {
    padding-block-end: calc(24px + var(--skate-safe-bottom));
  }

  .skate-hero {
    min-height: 600px;
    padding: 22px;
    border-radius: var(--skate-radius-lg);
  }

  .skate-hero.is-school-slide-active {
    min-height: 600px;
  }

  .skate-hero__video,
  .skate-hero__loader,
  .skate-hero__label--desktop,
  .skate-hero__lead--desktop,
  .skate-hero__actions--desktop,
  .skate-hero__audio-toggle,
  .skate-hero__scroll {
    display: none;
  }

  .skate-hero__title .skate-hero__title-desktop {
    display: none;
  }

  .skate-hero__mobile-carousel {
    display: block;
  }

  .skate-hero__mobile-slide {
    object-position: var(--hero-mobile-object-position, var(--hero-object-position, 50% 50%));
  }

  .skate-hero__overlay {
    background:
      linear-gradient(180deg, rgba(var(--skate-bg-rgb), 0.18) 0%, rgba(var(--skate-bg-rgb), 0.60) 42%, rgba(var(--skate-bg-rgb), 0.92) 100%),
      radial-gradient(circle at 76% 18%, rgba(var(--skate-yellow-rgb), 0.14), transparent 36%);
  }

  .skate-hero.is-school-slide-active .skate-hero__overlay {
    background:
      linear-gradient(180deg, rgba(var(--skate-bg-rgb), 0.02) 0%, rgba(var(--skate-bg-rgb), 0.10) 28%, rgba(var(--skate-bg-rgb), 0.38) 58%, rgba(var(--skate-bg-rgb), 0.76) 100%),
      linear-gradient(90deg, rgba(var(--skate-bg-rgb), 0.28) 0%, rgba(var(--skate-bg-rgb), 0.06) 52%, rgba(var(--skate-bg-rgb), 0.02) 100%),
      radial-gradient(circle at 72% 16%, rgba(var(--skate-yellow-rgb), 0.10), transparent 34%);
  }

  .skate-hero__content {
    align-self: end;
    max-width: none;
    gap: 13px;
  }

  .skate-hero__copy-slide {
    gap: 13px;
  }

  .skate-hero__label--mobile {
    display: inline-flex;
  }

  .skate-hero__title-mobile,
  .skate-hero__lead--mobile {
    display: block;
  }

  .skate-hero__title .skate-hero__title-mobile {
    display: block;
  }

  .skate-hero__actions.skate-hero__actions--mobile {
    display: flex;
  }

  .skate-hero__title {
    max-width: 11.5ch;
    font-size: clamp(2.45rem, 11.8vw, 3.55rem);
  }

  .skate-hero.is-school-slide-active .skate-hero__title {
    font-size: clamp(2.16rem, 10.4vw, 3.12rem);
    line-height: 0.94;
  }

  .skate-hero__copy-slide[data-hero-copy-index="3"] .skate-hero__title {
    font-size: clamp(1.68rem, 8vw, 2.42rem);
    line-height: 0.9;
  }

  .skate-hero__lead {
    max-width: 35ch;
    font-size: 0.98rem;
  }

  .skate-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .skate-hero__button {
    width: 100%;
  }

  .skate-hero__benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-block-start: 2px;
  }

  .skate-hero__benefit {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 10px;
    border: 1px solid var(--skate-border);
    border-radius: 999px;
    background: rgba(var(--skate-bg-rgb), 0.58);
    color: var(--skate-text-soft);
    font-size: 0.74rem;
    font-weight: var(--font-weight-semibold);
    backdrop-filter: blur(10px);
  }

  .public-hero,
  .shop-public-hero,
  .public-courses-hero,
  .public-society-hero,
  .public-schedule-hero,
  .public-sponsors-hero,
  .public-staff-hero,
  .public-team-hero,
  .fisr-public-live-header {
    min-height: auto;
    padding: 20px;
    border-radius: var(--skate-radius-lg);
  }

  .public-hero__media,
  .shop-public-hero__media {
    min-height: 210px;
  }

  .public-section__head,
  .screen-head,
  .page-hero,
  .settings-head,
  .fisr-live-alert {
    align-items: flex-start;
    flex-direction: column;
  }

  .registration-submit-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .registration-step-button {
    width: 100%;
  }

  .shop-mobile-request {
    right: 12px;
    left: 12px;
    width: auto;
  }

  .video-showcase-picker__panel,
  .bottom-sheet__panel,
  .flash-modal__panel {
    width: calc(100vw - 24px);
  }

  .skate-video-showcase {
    padding: 18px;
    border-radius: var(--skate-radius-lg);
  }

  .skate-video-showcase__layout {
    gap: 18px;
  }

  .skate-video-showcase__media::before {
    inset: 12% 8% 10%;
    opacity: 0.52;
    filter: blur(12px);
  }

  .skate-video-showcase__content,
  .skate-video-showcase__details {
    justify-self: stretch;
    max-width: none;
  }

  .skate-video-device {
    width: min(100%, 326px);
    gap: 9px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .skate-video-device__label {
    display: none;
  }

  .skate-video-frame {
    border-radius: var(--skate-radius-lg);
    box-shadow: 0 14px 38px rgba(var(--skate-black-rgb), 0.42);
  }

  .skate-video-actions {
    width: min(100%, 326px);
    margin-inline: auto;
    gap: 8px;
  }

  .skate-video-controls,
  .skate-video-meta {
    gap: 6px;
  }

  .skate-video-showcase__title {
    max-width: 11ch;
    font-size: 2.35rem;
  }

  .skate-video-showcase__lead {
    font-size: 0.96rem;
    line-height: 1.58;
  }

  .skate-video-points,
  .skate-video-cta {
    width: 100%;
  }

  .skate-video-control,
  .skate-video-counter {
    min-width: 38px;
    min-height: 38px;
  }

  .skate-video-counter {
    min-width: 76px;
    padding-inline: 11px;
    font-size: 0.8rem;
  }

  .skate-video-control svg {
    width: 18px;
    height: 18px;
  }

  .skate-video-like {
    min-height: 38px;
  }

  .skate-video-caption {
    max-width: 32ch;
    margin-inline: auto;
    font-size: 0.86rem;
    line-height: 1.42;
  }

  input,
  select,
  textarea {
    font-size: 1rem;
  }

  .skate-palmares-showcase {
    padding: 18px;
    border-radius: var(--skate-radius-lg);
  }

  .skate-palmares-showcase::before {
    width: 92px;
    height: 92px;
  }

  .skate-palmares-showcase__title {
    max-width: 12ch;
    font-size: 2.3rem;
  }

  .skate-palmares-showcase__footer {
    align-items: stretch;
    flex-direction: column;
  }

  .skate-palmares-showcase__cta {
    width: 100%;
    white-space: normal;
  }
}

.tournament-team-warning {
  display: grid;
  gap: 10px;
  border-color: var(--skate-yellow-border);
  background: linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.12), rgba(var(--skate-white-rgb), 0.04));
}

.tournament-team-warning h2,
.tournament-team-warning p {
  margin: 0;
}

.tournament-team-warning__meta {
  color: var(--skate-muted);
  overflow-wrap: anywhere;
}

.tournament-registration-admin-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.tournament-registration-admin-stats article {
  display: grid;
  gap: 6px;
}

.tournament-registration-admin-stats span,
.tournament-registration-admin-list__head p,
.tournament-registration-admin-note strong,
.tournament-registration-admin-empty {
  color: var(--skate-muted);
}

.tournament-registration-admin-stats strong {
  color: var(--text-primary);
  font-size: 1.55rem;
  line-height: 1;
}

.tournament-registration-admin-list,
.tournament-registration-admin-card {
  display: grid;
  gap: 16px;
}

.tournament-registration-admin-list__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.tournament-registration-admin-list__head h2,
.tournament-registration-admin-list__head p,
.tournament-registration-admin-card h2,
.tournament-registration-admin-note p {
  margin: 0;
}

.tournament-registration-admin-card h2 {
  color: var(--text-primary);
  overflow-wrap: anywhere;
}

.tournament-registration-admin-facts dd {
  overflow-wrap: anywhere;
}

.tournament-registration-admin-note {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-primary-rgb), 0.05);
}

.tournament-registration-admin-note p {
  color: var(--text-secondary);
  line-height: 1.55;
}

.tournament-registration-admin-athletes {
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-card-rgb), 0.42);
  overflow: clip;
}

.tournament-registration-admin-athletes summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 12px 14px;
  color: var(--text-primary);
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.tournament-registration-admin-athletes summary::-webkit-details-marker {
  display: none;
}

.tournament-registration-admin-athletes summary strong {
  display: inline-grid;
  place-items: center;
  min-width: 34px;
  min-height: 30px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.14);
  color: var(--skate-yellow);
  font-variant-numeric: tabular-nums;
}

.tournament-registration-admin-table-wrap {
  overflow-x: auto;
  border-top: 1px solid var(--skate-border);
}

.tournament-registration-admin-table {
  width: 100%;
  min-width: 860px;
  border-collapse: collapse;
}

.tournament-registration-admin-table th,
.tournament-registration-admin-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--skate-border);
  color: var(--text-secondary);
  text-align: left;
  vertical-align: top;
}

.tournament-registration-admin-table th {
  color: var(--skate-muted);
  font-size: 0.76rem;
  text-transform: uppercase;
}

.tournament-registration-admin-table td strong {
  display: block;
  color: var(--text-primary);
  overflow-wrap: anywhere;
}

.tournament-registration-admin-table tr:last-child td {
  border-bottom: 0;
}

.tournament-registration-admin-empty {
  margin: 0;
  padding: 14px;
}

.tournament-team-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.tournament-team-stat {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.tournament-team-stat > span {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(var(--skate-primary-rgb), 0.1);
}

.tournament-team-stat__icon {
  width: 22px;
  height: 22px;
}

.tournament-team-stat strong,
.tournament-team-stat small {
  display: block;
}

.tournament-team-stat strong {
  font-size: 1.45rem;
  line-height: 1;
}

.tournament-team-stat small {
  margin-top: 4px;
  color: var(--skate-muted);
}

.tournament-team-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, 1fr)) auto;
  align-items: end;
  gap: 12px;
}

.tournament-team-filters label,
.tournament-team-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.tournament-team-filters span,
.tournament-team-form span {
  color: var(--skate-muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.tournament-team-filters__actions {
  display: flex;
  gap: 8px;
}

.tournament-team-list {
  display: grid;
  gap: 16px;
}

.tournament-team-list__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.tournament-team-list__head h2,
.tournament-team-list__head p {
  margin: 0;
}

.tournament-team-list__head p {
  color: var(--skate-muted);
}

.tournament-team-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
}

.tournament-team-table {
  width: 100%;
  min-width: 920px;
  border-collapse: collapse;
}

.tournament-team-table th,
.tournament-team-table td {
  padding: 13px 14px;
  border-bottom: 1px solid var(--skate-border);
  text-align: left;
  vertical-align: top;
}

.tournament-team-table th:first-child,
.tournament-team-table td:first-child {
  width: 94px;
  white-space: nowrap;
}

.tournament-team-table th:last-child,
.tournament-team-table td:last-child {
  width: 118px;
  text-align: right;
  white-space: nowrap;
}

.tournament-team-table th {
  color: var(--skate-muted);
  font-size: 0.78rem;
  text-transform: uppercase;
}

.tournament-team-table td strong,
.tournament-team-table td span,
.tournament-team-table td small {
  display: block;
  max-width: 34ch;
  overflow-wrap: anywhere;
}

.tournament-team-table td small {
  margin-top: 4px;
  color: var(--skate-muted);
  line-height: 1.35;
}

.tournament-team-table td:first-child strong {
  max-width: none;
  font-variant-numeric: tabular-nums;
  overflow-wrap: normal;
}

.tournament-team-table tr:last-child td {
  border-bottom: 0;
}

.tournament-team-rows {
  display: grid;
  gap: 10px;
}

.tournament-team-row {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.1);
  border-radius: 16px;
  background:
    radial-gradient(circle at 96% 0%, rgba(var(--skate-primary-rgb), 0.1), transparent 38%),
    rgba(var(--skate-black-rgb), 0.2);
  color: inherit;
  text-decoration: none;
}

.tournament-team-row:hover,
.tournament-team-row:focus-visible {
  border-color: rgba(var(--skate-primary-rgb), 0.48);
  background:
    radial-gradient(circle at 96% 0%, rgba(var(--skate-primary-rgb), 0.16), transparent 40%),
    rgba(var(--skate-white-rgb), 0.045);
}

.tournament-team-row__code {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(var(--skate-primary-rgb), 0.34);
  border-radius: 13px;
  background: rgba(var(--skate-primary-rgb), 0.09);
}

.tournament-team-row__code small,
.tournament-team-row__body small {
  color: var(--skate-muted);
  font-weight: 800;
  line-height: 1.15;
}

.tournament-team-row__code small {
  font-size: 0.68rem;
  text-transform: uppercase;
}

.tournament-team-row__code strong {
  color: var(--skate-yellow);
  font-size: 1.02rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.tournament-team-row__body {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.tournament-team-row__body strong {
  color: var(--skate-text);
  font-size: 1rem;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.tournament-team-row__body small {
  display: block;
  font-size: 0.8rem;
  overflow-wrap: anywhere;
  white-space: normal;
}

.tournament-team-row__side {
  display: grid;
  justify-items: end;
  gap: 7px;
  min-width: max-content;
}

.tournament-team-row__open {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.tournament-team-row__open-icon {
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
}

.tournament-team-list__hint {
  margin: 0;
  color: var(--skate-muted);
}

.tournament-team-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.tournament-team-card {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: clamp(16px, 3vw, 20px);
  border: 1px solid rgba(var(--skate-primary-rgb), 0.28);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 88% 0%, rgba(var(--skate-primary-rgb), 0.14), transparent 42%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-black-rgb), 0.18));
  box-shadow: 0 16px 34px rgba(var(--skate-black-rgb), 0.24);
}

.tournament-team-card__top,
.tournament-team-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.tournament-team-card__code {
  display: grid;
  gap: 4px;
  min-width: 92px;
  padding: 10px 12px;
  border: 1px solid rgba(var(--skate-primary-rgb), 0.36);
  border-radius: 14px;
  background: rgba(var(--skate-primary-rgb), 0.09);
}

.tournament-team-card__code small,
.tournament-team-card__contacts span,
.tournament-team-card__meta dt,
.tournament-team-card__foot small {
  color: var(--skate-muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.tournament-team-card__code strong {
  color: var(--skate-yellow);
  font-size: 1.28rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.tournament-team-card__main {
  min-width: 0;
}

.tournament-team-card__main h3,
.tournament-team-card__main p,
.tournament-team-card__meta,
.tournament-team-card__meta dd {
  margin: 0;
}

.tournament-team-card__main h3 {
  color: var(--skate-text);
  font-size: clamp(1.05rem, 3vw, 1.28rem);
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.tournament-team-card__main p {
  margin-top: 6px;
  color: var(--skate-muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.tournament-team-card__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.tournament-team-card__meta div,
.tournament-team-card__contacts > div {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.08);
  border-radius: 12px;
  background: rgba(var(--skate-black-rgb), 0.18);
}

.tournament-team-card__meta dd {
  margin-top: 4px;
  color: var(--skate-text);
  font-weight: 800;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.tournament-team-card__contacts {
  display: grid;
  gap: 8px;
}

.tournament-team-card__contacts a,
.tournament-team-card__contacts strong {
  display: block;
  margin-top: 5px;
  color: var(--skate-text);
  font-weight: 800;
  line-height: 1.2;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.tournament-team-card__contacts a:hover,
.tournament-team-card__contacts a:focus-visible {
  color: var(--skate-yellow);
}

.tournament-team-card__foot > div {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.tournament-team-card__foot small {
  display: block;
  overflow-wrap: anywhere;
  text-transform: none;
}

.tournament-team-card .status-pill {
  flex: 0 0 auto;
}

.tournament-team-card .status-pill--success {
  border-color: rgba(var(--skate-green-accent-rgb), 0.44);
  background: rgba(var(--skate-green-accent-rgb), 0.14);
  color: var(--skate-green-300);
}

.tournament-team-card .status-pill--warning {
  border-color: rgba(var(--skate-yellow-rgb), 0.46);
  background: rgba(var(--skate-yellow-rgb), 0.14);
  color: var(--skate-yellow);
}

.tournament-team-card .status-pill--muted {
  border-color: rgba(var(--skate-white-rgb), 0.16);
  background: rgba(var(--skate-white-rgb), 0.08);
  color: var(--skate-muted);
}

.tournament-team-edit-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 11px;
}

.tournament-team-edit-button__icon {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}

.tournament-team-empty {
  padding: 18px;
  border: 1px dashed var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-primary-rgb), 0.04);
}

.tournament-team-empty h3,
.tournament-team-empty p {
  margin: 0;
}

.tournament-team-empty p {
  margin-top: 6px;
  color: var(--skate-muted);
}

.tournament-team-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--skate-muted);
}

.tournament-team-form-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.4fr);
  gap: 16px;
  align-items: start;
}

.tournament-team-profile {
  display: grid;
  gap: 14px;
}

.tournament-team-profile__icon {
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: rgba(var(--skate-primary-rgb), 0.1);
}

.tournament-team-profile__icon-svg {
  width: 28px;
  height: 28px;
}

.tournament-team-profile h2,
.tournament-team-profile p,
.tournament-team-profile dl {
  margin: 0;
}

.tournament-team-profile h2 {
  overflow-wrap: anywhere;
}

.tournament-team-profile p {
  color: var(--skate-muted);
}

.tournament-team-profile dl {
  display: grid;
  gap: 10px;
}

.tournament-team-profile dt {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.tournament-team-profile dd {
  margin: 3px 0 0;
  overflow-wrap: anywhere;
}

.tournament-team-form {
  display: grid;
  gap: 18px;
}

.tournament-team-form__head h2,
.tournament-team-form__head p {
  margin: 0;
}

.tournament-team-form__head p {
  margin-top: 6px;
  color: var(--skate-muted);
}

.tournament-team-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.tournament-team-form__checks {
  display: grid;
  gap: 10px;
}

.tournament-team-form__checks label {
  display: flex;
  align-items: center;
  gap: 10px;
}

.tournament-team-form__checks input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.tournament-team-form__checks span {
  color: var(--skate-text);
}

.tournament-team-form__notes textarea {
  min-height: 120px;
  resize: vertical;
}

.tournament-team-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 920px) {
  .tournament-registration-admin-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tournament-team-stats,
  .tournament-team-form-layout {
    grid-template-columns: 1fr;
  }

  .tournament-team-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tournament-team-filters__actions {
    grid-column: 1 / -1;
  }

  .tournament-team-row {
    grid-template-columns: 78px minmax(0, 1fr);
  }

  .tournament-team-row__side {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    justify-items: start;
  }

  .tournament-team-cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .tournament-registration-admin-stats {
    grid-template-columns: 1fr;
  }

  .tournament-registration-admin-list__head,
  .tournament-registration-admin-athletes summary {
    align-items: stretch;
    flex-direction: column;
  }

  .tournament-team-filters,
  .tournament-team-form__grid {
    grid-template-columns: 1fr;
  }

  .tournament-team-filters__actions,
  .tournament-team-list__head,
  .tournament-team-pagination,
  .tournament-team-form__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .tournament-team-table-wrap {
    border-radius: var(--skate-radius-sm);
  }

  .tournament-team-table {
    min-width: 760px;
  }

  .tournament-team-row {
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 10px;
    padding: 10px;
  }

  .tournament-team-row__side {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }

  .tournament-team-row__side .status-pill,
  .tournament-team-row__open {
    justify-content: center;
    width: 100%;
  }

  .tournament-team-card__top,
  .tournament-team-card__foot {
    align-items: stretch;
    flex-direction: column;
  }

  .tournament-team-card__code,
  .tournament-team-card .status-pill,
  .tournament-team-card__foot .btn {
    width: 100%;
  }

  .tournament-team-card .status-pill,
  .tournament-team-card__foot .btn {
    justify-content: center;
  }

  .tournament-team-card__meta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
  .skate-palmares-showcase__title {
    font-size: 2.04rem;
  }

  .skate-palmares-card__head {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 12px;
  }

  .skate-palmares-card__icon {
    width: 50px;
    height: 50px;
    padding: 5px;
  }

  .skate-palmares-card__badge-graphic {
    width: 30px;
    height: 30px;
  }

  .skate-palmares-card__badge-code {
    bottom: 3px;
    font-size: 0.48rem;
  }

  .skate-palmares-medal {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .skate-video-showcase__title {
    font-size: 2.08rem;
  }

  .skate-video-device {
    width: min(100%, 316px);
  }

  .skate-video-point {
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 12px;
  }

  .skate-video-point__number {
    width: 32px;
    height: 32px;
    font-size: 0.84rem;
  }

  .quickbar {
    gap: 4px;
    padding: 6px 6px calc(6px + var(--skate-safe-bottom));
  }

  .quickbar__item {
    padding-inline: 3px;
  }

  .quickbar__icon-image,
  .icon-button__icon {
    width: 18px;
    height: 18px;
  }

  .panel,
  .panel-card,
  .registration-panel,
  .shop-panel,
  .auth-panel {
    padding: 16px;
  }
}

/* =========================================================
   SHOP MOBILE REFRESH
   Scoped to public Shop and checkout body only.
   ========================================================= */
.shop-tone--all {
  --shop-tone: var(--skate-yellow-alt);
  --shop-tone-bg: rgba(var(--skate-gold-rgb), 0.14);
  --shop-tone-border: rgba(var(--skate-gold-rgb), 0.42);
  --shop-tone-glow: rgba(var(--skate-gold-rgb), 0.16);
}

.shop-tone--wear {
  --shop-tone: var(--skate-success);
  --shop-tone-bg: rgba(var(--skate-success-rgb), 0.13);
  --shop-tone-border: rgba(var(--skate-success-rgb), 0.42);
  --shop-tone-glow: rgba(var(--skate-success-rgb), 0.15);
}

.shop-tone--accessory {
  --shop-tone: var(--skate-orange-400);
  --shop-tone-bg: rgba(var(--skate-orange-400-rgb), 0.13);
  --shop-tone-border: rgba(var(--skate-orange-400-rgb), 0.44);
  --shop-tone-glow: rgba(var(--skate-orange-400-rgb), 0.15);
}

.shop-tone--protect {
  --shop-tone: var(--skate-purple-600);
  --shop-tone-bg: rgba(var(--skate-purple-600-rgb), 0.14);
  --shop-tone-border: rgba(var(--skate-purple-600-rgb), 0.44);
  --shop-tone-glow: rgba(var(--skate-purple-600-rgb), 0.16);
}

.shop-tone--tech {
  --shop-tone: var(--skate-blue-400);
  --shop-tone-bg: rgba(var(--skate-blue-400-rgb), 0.14);
  --shop-tone-border: rgba(var(--skate-blue-400-rgb), 0.44);
  --shop-tone-glow: rgba(var(--skate-blue-400-rgb), 0.16);
}

.shop-storefront-hero--compact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 260px);
  gap: clamp(12px, 3vw, 18px);
  align-items: center;
  min-height: 0;
  padding: clamp(14px, 3.4vw, 22px);
  border-color: rgba(var(--skate-yellow-rgb), 0.38);
  background:
    radial-gradient(circle at 88% 14%, rgba(var(--skate-success-rgb), 0.18), transparent 32%),
    radial-gradient(circle at 20% 110%, rgba(var(--skate-yellow-rgb), 0.16), transparent 42%),
    linear-gradient(135deg, rgba(var(--skate-card-2-rgb), 0.98), rgba(var(--skate-bg-rgb), 0.96));
  box-shadow: 0 0 28px rgba(var(--skate-yellow-rgb), 0.10), var(--skate-shadow-soft);
}

.shop-storefront-hero--compact .shop-public-hero__content {
  gap: 8px;
}

.shop-storefront-hero--compact .shop-public-hero__content > span {
  color: var(--skate-yellow);
  font-size: 0.78rem;
  letter-spacing: 0;
  text-transform: none;
}

.shop-storefront-hero--compact h1 {
  margin: 0;
  font-size: clamp(1.9rem, 6vw, 3rem);
  line-height: 0.98;
}

.shop-storefront-hero--compact p {
  max-width: 29rem;
  margin: 0;
  color: var(--skate-muted);
  font-size: clamp(0.92rem, 2.5vw, 1rem);
  line-height: 1.35;
}

.shop-storefront-hero--compact .shop-public-hero__actions {
  margin-top: 2px;
}

.shop-storefront-hero--compact .shop-public-hero__actions a {
  min-height: 42px;
  padding: 0 15px;
  border-color: var(--skate-yellow);
  border-radius: 14px;
  background: var(--skate-yellow);
  color: var(--skate-bg);
  font-size: 0.92rem;
  box-shadow: 0 10px 22px rgba(var(--skate-yellow-rgb), 0.18);
}

.shop-storefront-hero--compact .shop-public-hero__actions a::after {
  content: ">";
  font-weight: var(--font-weight-bold);
}

.shop-hero-carousel {
  display: grid;
  gap: 7px;
  min-width: 0;
  width: min(100%, 260px);
  justify-self: end;
}

.shop-hero-carousel__viewport {
  overflow: hidden;
  height: 132px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.20);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0, rgba(var(--skate-yellow-rgb), 0.14), transparent 42%),
    rgba(var(--skate-card-2-rgb), 0.88);
  box-shadow: inset 0 1px 0 rgba(var(--skate-white-rgb), 0.06);
}

.shop-hero-carousel__track {
  display: flex;
  height: 100%;
  animation: shopHeroCarousel 16s infinite;
}

.shop-hero-carousel__slide {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  flex: 0 0 100%;
  gap: 10px;
  align-items: center;
  min-width: 100%;
  padding: 10px;
}

.shop-hero-carousel__photo {
  display: grid;
  width: 86px;
  height: 86px;
  place-items: center;
  padding: 7px;
  border-radius: 15px;
  background: var(--skate-white);
  overflow: hidden;
}

.shop-hero-carousel__photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: contain;
  object-position: center;
}

.shop-hero-carousel__copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.shop-hero-carousel__copy span {
  color: var(--skate-yellow);
  font-size: 0.66rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0;
  text-transform: uppercase;
}

.shop-hero-carousel__copy strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--skate-text);
  font-size: 0.92rem;
  line-height: 1.12;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.shop-hero-carousel__copy em {
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-style: normal;
}

.shop-hero-carousel__dots {
  display: flex;
  gap: 5px;
  justify-content: center;
}

.shop-hero-carousel__dots span {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.26);
  animation: shopHeroDot 16s infinite;
}

.shop-hero-carousel__dots span:nth-child(2) {
  animation-delay: 4s;
}

.shop-hero-carousel__dots span:nth-child(3) {
  animation-delay: 8s;
}

.shop-hero-carousel__dots span:nth-child(4) {
  animation-delay: 12s;
}

@keyframes shopHeroCarousel {
  0%, 20% {
    transform: translateX(0);
  }
  25%, 45% {
    transform: translateX(-100%);
  }
  50%, 70% {
    transform: translateX(-200%);
  }
  75%, 95% {
    transform: translateX(-300%);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes shopHeroDot {
  0%, 20% {
    background: var(--skate-yellow);
    box-shadow: 0 0 10px rgba(var(--skate-yellow-rgb), 0.40);
  }
  25%, 100% {
    background: rgba(var(--skate-white-rgb), 0.26);
    box-shadow: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .shop-hero-carousel__track,
  .shop-hero-carousel__dots span {
    animation: none;
  }
}

.shop-info-card {
  border-color: rgba(var(--skate-yellow-rgb), 0.22);
  background:
    radial-gradient(circle at 12% 20%, rgba(var(--skate-yellow-rgb), 0.10), transparent 30%),
    var(--card-bg);
}

.shop-public-toolbar form {
  display: grid;
  gap: 12px;
  padding: 0;
  border: 0;
  background: transparent;
}

.shop-search-shell {
  position: relative;
  z-index: 12;
}

.shop-search-box {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 50px;
  padding: 0 14px;
  border: 1px solid var(--skate-border);
  border-radius: 18px;
  background: rgba(var(--skate-card-2-rgb), 0.76);
  box-shadow: inset 0 1px 0 rgba(var(--skate-white-rgb), 0.04);
}

.shop-search-icon__svg {
  width: 20px;
  height: 20px;
  color: var(--skate-muted);
}

.shop-search-box input {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 0;
  border: 0;
  background: transparent;
}

.shop-search-suggestions {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  left: 0;
  z-index: 30;
  display: grid;
  gap: 6px;
  max-height: min(410px, 62vh);
  overflow-y: auto;
  padding: 8px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.24);
  border-radius: 18px;
  background:
    radial-gradient(circle at 96% 0, rgba(var(--skate-yellow-rgb), 0.12), transparent 36%),
    rgba(var(--skate-card-rgb), 0.98);
  box-shadow: 0 18px 48px rgba(var(--skate-black-rgb), 0.46), 0 0 24px rgba(var(--skate-yellow-rgb), 0.08);
  backdrop-filter: blur(14px);
}

.shop-search-suggestion {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 72px;
  padding: 7px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.08);
  border-radius: 14px;
  background: rgba(var(--skate-white-rgb), 0.04);
  color: var(--skate-text);
  text-decoration: none;
}

.shop-search-suggestion:focus,
.shop-search-suggestion:hover {
  border-color: rgba(var(--skate-yellow-rgb), 0.42);
  background: rgba(var(--skate-yellow-rgb), 0.08);
  outline: none;
}

.shop-search-suggestion__photo {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  padding: 5px;
  border-radius: 12px;
  background: var(--skate-white);
}

.shop-search-suggestion__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.shop-search-suggestion__copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.shop-search-suggestion__copy em {
  overflow: hidden;
  color: var(--skate-yellow);
  font-size: 0.68rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.shop-search-suggestion__copy strong {
  overflow: hidden;
  color: var(--skate-text);
  font-size: 0.92rem;
  line-height: 1.18;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.shop-search-suggestion__copy span {
  color: var(--skate-muted);
  font-size: 0.8rem;
}

.shop-search-suggestion-empty {
  padding: 14px;
  color: var(--skate-muted);
  font-size: 0.92rem;
  text-align: center;
}

.shop-public-toolbar select[data-shop-catalog-category] {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.shop-category-chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 2px 8px;
  scrollbar-width: none;
}

.shop-category-chips::-webkit-scrollbar {
  display: none;
}

.shop-category-chip {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 7px;
  align-items: center;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--shop-tone-border, var(--skate-border));
  border-radius: 13px;
  background: var(--shop-tone-bg, var(--skate-surface-soft));
  color: var(--shop-tone, var(--skate-text));
  font-size: 0.86rem;
  font-weight: var(--font-weight-bold);
}

.shop-category-chip.is-active {
  background: var(--shop-tone, var(--skate-yellow));
  color: var(--skate-bg);
  box-shadow: 0 0 20px var(--shop-tone-glow, rgba(var(--skate-yellow-rgb), 0.16));
}

.shop-category-chip__svg {
  width: 17px;
  height: 17px;
}

.shop-catalog-heading {
  margin-top: 4px;
}

.shop-catalog-heading h2 {
  font-size: clamp(1.42rem, 5vw, 2rem);
}

.shop-catalog-heading::after {
  content: "Vedi tutti";
  color: var(--skate-yellow);
  font-size: 0.86rem;
  font-weight: var(--font-weight-bold);
}

.shop-public-grid--compact {
  align-items: stretch;
  gap: 12px;
}

.shop-public-grid--compact .shop-public-card {
  position: relative;
  min-height: 100%;
  border-color: var(--shop-tone-border, var(--skate-border));
  border-radius: 18px;
  background:
    radial-gradient(circle at 90% 12%, var(--shop-tone-glow, transparent), transparent 34%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.045), transparent 52%),
    var(--card-bg);
  box-shadow: 0 0 20px var(--shop-tone-glow, transparent);
}

.shop-public-card__image {
  aspect-ratio: 1.35 / 1;
  padding: 10px;
  border-radius: 15px;
  background: var(--skate-white);
}

.shop-public-card__image img {
  object-fit: contain;
}

.shop-public-card__category,
.shop-request-item__category {
  color: var(--shop-tone, var(--skate-yellow));
}

.shop-public-card__body {
  grid-template-rows: auto auto 1fr auto;
  min-height: 132px;
}

.shop-public-card__body h2 {
  min-height: 2.3em;
}

.shop-public-card__meta strong {
  color: var(--skate-text);
}

.shop-card-actions {
  align-items: center;
}

.shop-public-grid--compact .shop-card-actions {
  gap: 8px;
  grid-template-columns: 1fr;
}

.shop-card-cart-button {
  display: inline-grid;
  place-items: center;
  min-width: 44px;
  width: 44px;
  min-height: 44px;
  padding: 0;
  border-color: var(--shop-tone-border, var(--skate-yellow-border));
  border-radius: 999px;
  background: var(--shop-tone-bg, var(--skate-yellow-soft));
  color: var(--shop-tone, var(--skate-yellow));
  text-decoration: none;
}

.shop-card-action-button {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 14px;
  gap: 9px;
  align-items: center;
  min-height: 58px;
  padding: 9px 10px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.11);
  border-radius: 14px;
  background: rgba(var(--skate-white-rgb), 0.052);
  color: var(--skate-text);
  text-decoration: none;
}

.shop-public-grid--compact .shop-card-actions > .shop-card-action-button {
  min-height: 58px;
  padding: 9px 10px;
  border-radius: 14px;
  font-size: inherit;
}

.shop-card-action-button--variant {
  border-color: var(--shop-tone-border, var(--skate-yellow-border));
  background: var(--shop-tone-bg, var(--skate-yellow-soft));
  color: var(--shop-tone, var(--skate-yellow));
  box-shadow: 0 0 14px var(--shop-tone-glow, rgba(var(--skate-yellow-rgb), 0.14));
}

.shop-card-action-button__icon,
.shop-card-action-button__chevron {
  display: grid;
  place-items: center;
  min-width: 0;
}

.shop-card-action-button__text {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.shop-card-action-button__text strong,
.shop-card-action-button__text small {
  overflow: hidden;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.shop-card-action-button__text strong {
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0;
  text-transform: uppercase;
}

.shop-card-action-button__text small {
  color: var(--skate-muted);
  font-size: 0.66rem;
  font-weight: var(--font-weight-semibold);
}

.shop-card-action-button--variant .shop-card-action-button__text small {
  color: currentColor;
  opacity: 0.84;
}

.shop-card-cart-button span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.shop-card-action-button__svg {
  width: 24px;
  height: 24px;
}

.shop-card-action-button__chevron-svg {
  width: 14px;
  height: 14px;
}

.shop-card-cart-button__svg {
  width: 21px;
  height: 21px;
}

.shop-product-heading,
.shop-builder-step,
.shop-product-summary,
.shop-order-summary-card {
  border-color: rgba(var(--skate-yellow-rgb), 0.18);
  background:
    radial-gradient(circle at 90% 14%, rgba(var(--skate-yellow-rgb), 0.10), transparent 34%),
    var(--card-bg);
}

.shop-builder-step {
  border-color: var(--shop-tone-border, rgba(var(--skate-yellow-rgb), 0.18));
}

.shop-builder-step--media {
  --shop-tone-border: rgba(var(--skate-success-rgb), 0.35);
}

.shop-builder-step--variant {
  --shop-tone-border: rgba(var(--skate-purple-600-rgb), 0.35);
  scroll-margin-top: calc(var(--app-topbar-height, 118px) + 18px);
}

.shop-builder-step--variant.is-missing-selection {
  border-color: rgba(var(--skate-yellow-rgb), 0.72);
  box-shadow:
    0 0 0 1px rgba(var(--skate-yellow-rgb), 0.28),
    0 18px 44px rgba(var(--skate-yellow-rgb), 0.14);
  animation: shop-variant-attention 1.2s ease-in-out 2;
}

.shop-builder-step--variant .shop-variant-message {
  margin: 10px 0 0;
  padding: 10px 12px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.34);
  border-radius: 14px;
  background: rgba(var(--skate-yellow-rgb), 0.1);
  color: var(--skate-yellow);
  font-weight: 800;
}

@keyframes shop-variant-attention {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(var(--skate-yellow-rgb), 0.28),
      0 18px 44px rgba(var(--skate-yellow-rgb), 0.14);
  }

  50% {
    box-shadow:
      0 0 0 2px rgba(var(--skate-yellow-rgb), 0.52),
      0 22px 58px rgba(var(--skate-yellow-rgb), 0.28);
  }
}

.shop-builder-step--quantity {
  --shop-tone-border: rgba(var(--skate-blue-400-rgb), 0.35);
}

.shop-public-actions button {
  border-color: var(--skate-yellow);
  border-radius: 18px;
  background: var(--skate-yellow);
  color: var(--skate-bg);
  font-size: 1rem;
}

.shop-public-actions button .shop-card-cart-button__svg {
  width: 20px;
  height: 20px;
}

.shop-cart-step {
  gap: 14px;
  padding: clamp(14px, 4vw, 22px);
}

.shop-checkout-stepper {
  padding-bottom: 0;
}

.shop-checkout-stepper li:nth-child(2) span {
  border-color: rgba(var(--skate-success-rgb), 0.28);
}

.shop-checkout-stepper li:nth-child(3) span {
  border-color: rgba(var(--skate-purple-600-rgb), 0.30);
}

.shop-cart-head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.shop-cart-head span {
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.shop-cart-head h2 {
  margin: 2px 0 0;
}

.shop-cart-head > strong {
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 34px;
  align-items: center;
  padding: 0 12px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.10);
  color: var(--skate-yellow);
  font-size: 0.9rem;
}

.shop-request-item {
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border-color: var(--shop-tone-border, var(--skate-border));
  border-radius: 17px;
  background:
    radial-gradient(circle at 92% 12%, var(--shop-tone-glow, transparent), transparent 28%),
    var(--card-bg);
}

.shop-request-item__media {
  width: 88px;
  height: 88px;
  padding: 8px;
  border: 1px solid rgba(var(--skate-black-rgb), 0.08);
  border-radius: 14px;
  background: var(--skate-white);
}

.shop-request-item__media img {
  object-fit: contain;
}

.shop-request-item__main {
  gap: 4px;
}

.shop-request-item__category {
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.shop-request-item__actions {
  align-items: center;
  justify-content: end;
}

.shop-request-qty {
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-black-rgb), 0.18);
}

.shop-request-qty button,
.shop-request-qty input {
  border: 0;
  background: transparent;
}

.shop-request-remove {
  display: inline-grid;
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  place-items: center;
  padding: 0;
  border-radius: 999px;
}

.shop-request-remove span {
  display: block;
  width: 19px;
  height: 19px;
  background: currentColor;
  -webkit-mask: url("../svg/UI%20Standard/trash.svg") center / contain no-repeat;
  mask: url("../svg/UI%20Standard/trash.svg") center / contain no-repeat;
}

.shop-order-summary-card {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 18px;
  box-shadow: 0 0 24px rgba(var(--skate-yellow-rgb), 0.09);
}

.shop-order-summary-card h3 {
  margin: 0;
  color: var(--skate-text);
}

.shop-order-summary-card .shop-checkout-total {
  padding: 0;
  border: 0;
  background: transparent;
}

.shop-order-summary-card .shop-checkout-total strong {
  color: var(--skate-yellow);
  font-size: 1.55rem;
}

.shop-cart-step .shop-checkout-primary {
  min-height: 56px;
  border-radius: 18px;
  font-size: 1rem;
}

.shop-cart-step .shop-checkout-primary::after {
  content: ">";
  margin-left: auto;
  font-size: 1.2rem;
}

@media (max-width: 760px) {
  .shop-storefront-hero--compact {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px;
  }

  .shop-storefront-hero--compact h1 {
    font-size: clamp(1.85rem, 7.4vw, 2.45rem);
  }

  .shop-storefront-hero--compact .shop-public-hero__actions a {
    min-height: 40px;
  }

  .shop-hero-carousel {
    width: 100%;
    justify-self: stretch;
  }

  .shop-hero-carousel__viewport {
    height: 112px;
  }

  .shop-hero-carousel__slide {
    grid-template-columns: 78px minmax(0, 1fr);
    padding: 9px;
  }

  .shop-hero-carousel__photo {
    width: 78px;
    height: 78px;
  }

  .shop-search-suggestions {
    top: auto;
    bottom: calc(100% + 8px);
    max-height: min(238px, 34vh);
    padding: 7px;
    border-radius: 16px;
  }

  .shop-search-suggestion {
    grid-template-columns: 48px minmax(0, 1fr);
    min-height: 60px;
    padding: 6px;
  }

  .shop-search-suggestion__photo {
    width: 48px;
    height: 48px;
    padding: 4px;
    border-radius: 11px;
  }

  .shop-search-suggestion__copy strong {
    font-size: 0.86rem;
  }

  .shop-search-suggestion__copy span {
    font-size: 0.74rem;
  }

  .shop-catalog-heading strong {
    display: none;
  }

  .shop-public-card__image {
    aspect-ratio: 1.18 / 1;
    padding: 7px;
  }

  .shop-public-card__body {
    min-height: 126px;
  }

  .shop-public-card__category {
    font-size: 0.68rem;
  }

  .shop-public-card__body h2 {
    font-size: 0.95rem;
  }

  .shop-public-card__meta p,
  .shop-public-card__meta strong {
    font-size: 0.84rem;
  }

  .shop-request-item {
    grid-template-columns: 84px minmax(0, 1fr);
  }

  .shop-request-item__actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
  }
}

/* =========================================================
   FISR ADMIN LIVE OVERVIEW
   Corpo pagina admin bacheca FISR: panoramica, tab e liste.
   ========================================================= */
.fisr-screen .app-main {
  max-width: min(var(--skate-container), calc(100vw - (var(--skate-page-x) * 2)));
  min-width: 0;
  padding-bottom: calc(var(--app-bottom-safe-space) + 128px);
}

.fisr-screen .screen-head--stack {
  min-width: 0;
}

.fisr-screen .fisr-title-stack,
.fisr-screen .fisr-event-card__copy,
.fisr-screen .fisr-live-section__head {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.fisr-screen .fisr-title-stack {
  grid-template-columns: minmax(0, 1fr);
}

.fisr-screen .fisr-title-stack h1,
.fisr-screen .fisr-event-card h2,
.fisr-screen .fisr-live-section h2,
.fisr-screen .fisr-mini-live-item strong,
.fisr-screen .fisr-recent-list strong {
  overflow-wrap: anywhere;
}

.fisr-screen .fisr-board-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.fisr-screen .fisr-subnav,
.fisr-screen .fisr-live-nav__links {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 2px 10px;
  scrollbar-width: none;
}

.fisr-screen .fisr-subnav::-webkit-scrollbar,
.fisr-screen .fisr-live-nav__links::-webkit-scrollbar {
  display: none;
}

.fisr-screen .fisr-back-pill,
.fisr-screen .fisr-subnav-pill,
.fisr-screen .fisr-live-nav__link {
  flex: 0 0 auto;
  white-space: nowrap;
}

.fisr-screen .fisr-live-nav__link {
  min-height: 42px;
  padding-inline: 12px;
}

.fisr-screen .fisr-live-nav__icon,
.fisr-screen .fisr-live-action__icon,
.fisr-screen .fisr-back-pill__icon {
  width: 20px;
  height: 20px;
  color: currentColor;
}

.fisr-screen .fisr-live-alert {
  margin-block: 2px 14px;
}

.fisr-screen .fisr-admin-overview {
  display: grid;
  gap: clamp(14px, 2.6vw, 22px);
  min-width: 0;
}

.fisr-screen .fisr-live-hero-card {
  overflow: hidden;
  padding: clamp(16px, 2.6vw, 24px);
  border-color: rgba(var(--skate-yellow-rgb), 0.22);
  background:
    linear-gradient(90deg, rgba(var(--skate-black-rgb), 0.9), rgba(var(--skate-black-rgb), 0.66), rgba(var(--skate-black-rgb), 0.3)),
    radial-gradient(circle at 96% 0%, rgba(var(--skate-yellow-rgb), 0.2), transparent 34%),
    url("../img/live-app/skate-live-hero.jpg") center right / cover,
    rgba(var(--skate-card-rgb), 0.88);
}

.fisr-screen .fisr-event-card__copy > p {
  margin: 0;
  color: var(--skate-muted);
  line-height: 1.45;
}

.fisr-screen .fisr-event-card__meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  gap: 10px;
  margin: 0;
}

.fisr-screen .fisr-event-card__meta div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.22);
}

.fisr-screen .fisr-event-card__meta dt {
  color: var(--skate-muted);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.fisr-screen .fisr-event-card__meta dd {
  margin: 0;
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
}

.fisr-screen .fisr-archive-society-check {
  display: grid;
  gap: 12px;
  padding: clamp(14px, 3vw, 18px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--skate-yellow-rgb), 0.13), transparent 42%),
    rgba(var(--skate-card-rgb), 0.72);
}

.fisr-screen .fisr-archive-society-check.has-missing {
  border-color: rgba(var(--skate-amber-500-rgb), 0.45);
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--skate-amber-500-rgb), 0.18), transparent 44%),
    rgba(var(--skate-card-rgb), 0.76);
}

.fisr-screen .fisr-archive-society-check.is-ok {
  border-color: rgba(var(--skate-whatsapp-rgb), 0.36);
}

.fisr-screen .fisr-archive-society-check__head {
  display: grid;
  gap: 4px;
}

.fisr-screen .fisr-archive-society-check__head h3,
.fisr-screen .fisr-archive-society-check__head p {
  margin: 0;
}

.fisr-screen .fisr-archive-society-check__head h3 {
  color: var(--skate-text);
  font-size: clamp(1.05rem, 4vw, 1.25rem);
}

.fisr-screen .fisr-archive-society-check__head p {
  color: var(--skate-muted);
  line-height: 1.35;
}

.fisr-screen .fisr-archive-society-check__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fisr-screen .fisr-archive-society-check__list li {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.08);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.22);
}

.fisr-screen .fisr-archive-society-check__list strong {
  color: var(--skate-text);
  overflow-wrap: anywhere;
}

.fisr-screen .fisr-archive-society-check__list span {
  color: var(--skate-muted);
  font-size: 0.88rem;
  line-height: 1.35;
}

.fisr-screen .fisr-palmares-sync {
  display: grid;
  gap: 14px;
  padding: clamp(14px, 3vw, 18px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-card-rgb), 0.72);
}

.fisr-screen .fisr-palmares-sync.is-complete {
  border-color: rgba(var(--skate-whatsapp-rgb), 0.38);
}

.fisr-screen .fisr-palmares-sync.needs-sync {
  border-color: rgba(var(--skate-yellow-rgb), 0.36);
}

.fisr-screen .fisr-palmares-sync__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.fisr-screen .fisr-palmares-sync__head h3,
.fisr-screen .fisr-palmares-sync__head p {
  margin: 0;
}

.fisr-screen .fisr-palmares-sync__head h3 {
  color: var(--skate-text);
  font-size: clamp(1.05rem, 4vw, 1.25rem);
}

.fisr-screen .fisr-palmares-sync__head p,
.fisr-screen .fisr-palmares-sync__athletes span,
.fisr-screen .fisr-palmares-sync__athletes li {
  color: var(--skate-muted);
  line-height: 1.35;
}

.fisr-screen .fisr-palmares-sync__head > strong {
  flex: 0 0 auto;
  padding: 5px 9px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.12);
  border-radius: var(--skate-radius-sm);
  color: var(--skate-text);
  font-size: 0.78rem;
  text-transform: uppercase;
}

.fisr-screen .fisr-palmares-sync__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
  gap: 10px;
}

.fisr-screen .fisr-palmares-sync__stats article,
.fisr-screen .fisr-palmares-sync__athletes article,
.fisr-screen .fisr-palmares-sync__warning {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.08);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.20);
}

.fisr-screen .fisr-palmares-sync__stats span {
  display: block;
  color: var(--skate-muted);
  font-size: 0.78rem;
  line-height: 1.3;
}

.fisr-screen .fisr-palmares-sync__stats strong {
  display: block;
  margin-top: 4px;
  color: var(--skate-text);
  font-size: 1.18rem;
}

.fisr-screen .fisr-palmares-sync__athletes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: 10px;
}

.fisr-screen .fisr-palmares-sync__athletes header {
  display: grid;
  gap: 3px;
}

.fisr-screen .fisr-palmares-sync__athletes strong {
  color: var(--skate-text);
}

.fisr-screen .fisr-palmares-sync__athletes ul {
  display: grid;
  gap: 5px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.fisr-screen .fisr-palmares-sync__athletes li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.86rem;
}

.fisr-screen .fisr-palmares-sync__athletes em {
  flex: 0 0 auto;
  color: var(--skate-yellow);
  font-style: normal;
  font-size: 0.76rem;
}

.fisr-screen .fisr-palmares-sync__warning {
  display: grid;
  gap: 4px;
  border-color: rgba(var(--skate-amber-500-rgb), 0.42);
}

.fisr-screen .fisr-palmares-sync__warning strong {
  color: var(--skate-yellow);
}

.fisr-screen .fisr-live-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 142px), 1fr));
  gap: 10px;
  min-width: 0;
}

.fisr-screen .fisr-live-action {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 54px;
  padding: 13px 14px;
  border-radius: var(--skate-radius-md);
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.fisr-screen .fisr-live-action:hover,
.fisr-screen .fisr-live-action:focus-visible {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.fisr-screen .fisr-live-action span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fisr-screen .fisr-two-column {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: clamp(14px, 2.6vw, 22px);
  align-items: start;
  min-width: 0;
}

.fisr-screen .fisr-live-section {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: clamp(16px, 2.6vw, 24px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 94% 0%, rgba(var(--skate-yellow-rgb), 0.08), transparent 32%),
    rgba(var(--skate-card-rgb), 0.74);
  box-shadow: var(--skate-shadow-soft);
}

.fisr-screen .fisr-live-section__head h2,
.fisr-screen .fisr-live-section__head p {
  margin: 0;
}

.fisr-screen .fisr-recent-list,
.fisr-screen .fisr-mini-live-list {
  display: grid;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fisr-screen .fisr-recent-list li {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.20);
}

.fisr-screen .fisr-recent-list a,
.fisr-screen .fisr-mini-live-item {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--skate-text);
  text-decoration: none;
}

.fisr-screen .fisr-recent-list span,
.fisr-screen .fisr-mini-live-item span,
.fisr-screen .fisr-mini-live-item small {
  color: var(--skate-muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.fisr-screen .fisr-recent-list small {
  width: fit-content;
  padding: 4px 8px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
}

.fisr-screen .fisr-mini-live-item {
  padding: 12px;
  border-radius: var(--skate-radius-md);
}

@media (max-width: 760px) {
  .fisr-screen .app-main {
    padding-inline: var(--skate-page-x);
  }

  .fisr-screen .screen-head {
    padding: 16px;
  }

  .fisr-screen .screen-head h1 {
    font-size: clamp(1.75rem, 8vw, 2.45rem);
  }

  .fisr-screen .fisr-live-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .fisr-screen .fisr-live-action {
    min-height: 50px;
    padding: 11px 10px;
    font-size: 0.88rem;
  }

  .fisr-screen .fisr-live-action__icon {
    width: 18px;
    height: 18px;
  }

  .fisr-screen .fisr-event-card__meta {
    grid-template-columns: 1fr;
  }

  .fisr-screen .fisr-live-section {
    padding: 16px;
  }

  .fisr-screen .fisr-recent-list li,
  .fisr-screen .fisr-mini-live-item {
    padding: 11px;
  }
}

/* =========================================================
   FISR ADMIN PUBLIC-LIVE ALIGNMENT
   L'admin usa la stessa grammatica visuale della live pubblica.
   ========================================================= */
.fisr-screen .fisr-live-nav {
  display: grid;
  gap: 12px;
  margin-block-end: 16px;
}

.fisr-screen .fisr-live-nav__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  overflow: visible;
  padding: 0;
}

.fisr-screen .fisr-live-nav__link,
.fisr-screen .fisr-live-action {
  --fisr-action-rgb: var(--skate-yellow-rgb);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 74px;
  align-items: center;
  gap: 11px;
  padding: 14px;
  border-color: rgba(var(--fisr-action-rgb), 0.22);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 88% 10%, rgba(var(--fisr-action-rgb), 0.16), transparent 38%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.22)),
    var(--skate-card-2);
  color: var(--skate-text);
  box-shadow:
    0 14px 30px rgba(var(--skate-black-rgb), 0.2),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.06);
}

.fisr-screen .fisr-live-nav__link--skate,
.fisr-screen .fisr-live-action--skate {
  --fisr-action-rgb: 68, 208, 123;
}

.fisr-screen .fisr-live-nav__link--results,
.fisr-screen .fisr-live-nav__link--standings,
.fisr-screen .fisr-live-action--results,
.fisr-screen .fisr-live-action--standings {
  --fisr-action-rgb: 255, 84, 165;
}

.fisr-screen .fisr-live-nav__link--search,
.fisr-screen .fisr-live-action--search {
  --fisr-action-rgb: 45, 211, 255;
}

.fisr-screen .fisr-live-nav__link--program,
.fisr-screen .fisr-live-action--program {
  --fisr-action-rgb: 255, 155, 64;
}

.fisr-screen .fisr-live-nav__link--starts,
.fisr-screen .fisr-live-action--starts {
  --fisr-action-rgb: 154, 255, 90;
}

.fisr-screen .fisr-live-nav__link--updates,
.fisr-screen .fisr-live-action--updates {
  --fisr-action-rgb: 255, 214, 0;
}

.fisr-screen .fisr-live-nav__link--admin {
  --fisr-action-rgb: 168, 85, 247;
}

.fisr-screen .fisr-live-nav__icon,
.fisr-screen .fisr-live-action__icon {
  --skate-icon-size: 1.38rem;
  width: var(--skate-icon-size);
  height: var(--skate-icon-size);
  color: rgb(var(--fisr-action-rgb));
  opacity: 1;
}

.fisr-screen .fisr-live-nav__link span,
.fisr-screen .fisr-live-action span {
  min-width: 0;
  color: inherit;
  font-size: clamp(0.98rem, 2.8vw, 1.12rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.12;
  white-space: normal;
}

.fisr-screen .fisr-live-nav__link:hover,
.fisr-screen .fisr-live-nav__link:focus-visible,
.fisr-screen .fisr-live-nav__link.is-active,
.fisr-screen .fisr-live-action:hover,
.fisr-screen .fisr-live-action:focus-visible {
  border-color: rgba(var(--fisr-action-rgb), 0.78);
  background:
    radial-gradient(circle at 88% 10%, rgba(var(--fisr-action-rgb), 0.24), transparent 40%),
    linear-gradient(180deg, rgba(var(--fisr-action-rgb), 0.12), rgba(var(--skate-bg-rgb), 0.18)),
    var(--skate-card-2);
  color: rgb(var(--fisr-action-rgb));
  box-shadow:
    0 18px 36px rgba(var(--fisr-action-rgb), 0.12),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.08);
  transform: translateY(-1px);
}

.fisr-screen .fisr-live-action-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.fisr-screen .fisr-public-quick-nav {
  display: grid;
  gap: 12px;
  margin-block: 0 16px;
}

.fisr-screen .fisr-public-quick-nav__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  overflow: visible;
  padding: 0;
}

.fisr-screen .fisr-public-quick-nav__card {
  --fisr-action-rgb: var(--skate-yellow-rgb);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 74px;
  align-items: center;
  gap: 11px;
  padding: 14px;
  border: 1px solid rgba(var(--fisr-action-rgb), 0.22);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 88% 10%, rgba(var(--fisr-action-rgb), 0.16), transparent 38%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.22)),
    var(--skate-card-2);
  color: var(--skate-text);
  text-decoration: none;
  box-shadow:
    0 14px 30px rgba(var(--skate-black-rgb), 0.2),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.06);
}

.fisr-screen .fisr-public-quick-nav__card--skate {
  --fisr-action-rgb: 68, 208, 123;
}

.fisr-screen .fisr-public-quick-nav__card--results {
  --fisr-action-rgb: 255, 84, 165;
}

.fisr-screen .fisr-public-quick-nav__card--search {
  --fisr-action-rgb: 45, 211, 255;
}

.fisr-screen .fisr-public-quick-nav__card--program {
  --fisr-action-rgb: 255, 155, 64;
}

.fisr-screen .fisr-public-quick-nav__card--orders {
  --fisr-action-rgb: 154, 255, 90;
}

.fisr-screen .fisr-public-quick-nav__card--updates {
  --fisr-action-rgb: 255, 214, 0;
}

.fisr-screen .fisr-public-quick-nav__card--admin {
  --fisr-action-rgb: 168, 85, 247;
}

.fisr-screen .fisr-public-quick-nav__card--standings,
.fisr-screen .fisr-public-quick-nav__card--society,
.fisr-screen .fisr-public-quick-nav__card--teams {
  --fisr-action-rgb: var(--skate-yellow-rgb);
}

.fisr-screen .fisr-public-quick-nav__icon {
  --skate-icon-size: 1.38rem;
  color: rgb(var(--fisr-action-rgb));
  opacity: 1;
}

.fisr-screen .fisr-public-quick-nav__card span {
  min-width: 0;
  color: inherit;
  font-size: clamp(0.98rem, 2.8vw, 1.12rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.12;
}

.fisr-screen .fisr-public-quick-nav__card:hover,
.fisr-screen .fisr-public-quick-nav__card:focus-visible,
.fisr-screen .fisr-public-quick-nav__card.is-current {
  border-color: rgba(var(--fisr-action-rgb), 0.78);
  background:
    radial-gradient(circle at 88% 10%, rgba(var(--fisr-action-rgb), 0.24), transparent 40%),
    linear-gradient(180deg, rgba(var(--fisr-action-rgb), 0.12), rgba(var(--skate-bg-rgb), 0.18)),
    var(--skate-card-2);
  color: rgb(var(--fisr-action-rgb));
  box-shadow:
    0 18px 36px rgba(var(--fisr-action-rgb), 0.12),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.08);
  transform: translateY(-1px);
}

.fisr-screen .fisr-live-section,
.fisr-screen .fisr-document-detail-card,
.fisr-screen .fisr-note-card,
.fisr-screen .fisr-document-text-card,
.fisr-screen .fisr-result-section {
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 92% 6%, rgba(var(--skate-yellow-rgb), 0.08), transparent 30%),
    var(--card-bg);
}

.fisr-screen .fisr-live-hero-card {
  border-radius: var(--skate-radius-xl);
  background:
    linear-gradient(90deg, rgba(var(--skate-black-rgb), 0.9), rgba(var(--skate-black-rgb), 0.66), rgba(var(--skate-black-rgb), 0.3)),
    radial-gradient(circle at 90% 10%, rgba(var(--skate-yellow-rgb), 0.15), transparent 34%),
    url("../img/live-app/skate-live-hero.jpg") center right / cover,
    var(--card-bg);
}

.fisr-screen .fisr-live-section__head {
  gap: 6px;
}

.fisr-screen .fisr-live-section__head h2,
.fisr-screen .fisr-event-card__copy h2,
.fisr-screen .fisr-document-detail-card h2,
.fisr-screen .fisr-note-card h3,
.fisr-screen .fisr-document-text-card h2 {
  color: var(--skate-text);
  font-size: clamp(1.35rem, 4vw, 2rem);
  line-height: 1.05;
}

.fisr-screen .fisr-nav-stack,
.fisr-screen .fisr-sectioned-result-stack,
.fisr-screen .fisr-result-stack {
  display: grid;
  gap: 12px;
}

.fisr-screen .fisr-nav-card {
  --fisr-category-rgb: var(--skate-yellow-rgb);
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 34px;
  gap: 12px;
  min-height: 78px;
  align-items: center;
  padding: 15px;
  border-color: rgba(var(--fisr-category-rgb), 0.28);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 91% 12%, rgba(var(--fisr-category-rgb), 0.14), transparent 42%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.24)),
    var(--skate-card-2);
  box-shadow: 0 14px 30px rgba(var(--skate-black-rgb), 0.22);
}

.fisr-screen .fisr-nav-card.skate-category-panel {
  --fisr-category-rgb: var(--skate-category-rgb, var(--skate-yellow-rgb));
  border-color: rgba(var(--fisr-category-rgb), 0.44);
  background:
    radial-gradient(circle at 91% 12%, rgba(var(--fisr-category-rgb), 0.18), transparent 42%),
    linear-gradient(180deg, rgba(var(--fisr-category-rgb), 0.07), rgba(var(--skate-bg-rgb), 0.24)),
    var(--skate-card-2);
}

.fisr-screen .fisr-nav-card:hover,
.fisr-screen .fisr-nav-card:focus-visible {
  border-color: rgba(var(--fisr-category-rgb), 0.76);
  box-shadow:
    0 16px 34px rgba(var(--fisr-category-rgb), 0.10),
    0 14px 30px rgba(var(--skate-black-rgb), 0.22);
}

.fisr-screen .fisr-nav-card__icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.56);
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 32%, rgba(var(--fisr-category-rgb), 0.22), transparent 58%),
    linear-gradient(135deg, rgba(var(--fisr-category-rgb), 0.2), rgba(var(--fisr-category-rgb), 0.08));
  color: rgb(var(--fisr-category-rgb));
  box-shadow: 0 0 20px rgba(var(--fisr-category-rgb), 0.16);
}

.fisr-screen .fisr-nav-card__icon-image {
  width: 22px;
  height: 22px;
}

.fisr-screen .fisr-nav-card__copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.fisr-screen .fisr-nav-card__copy h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.05rem, 3.8vw, 1.34rem);
  line-height: 1.12;
}

.fisr-screen .fisr-nav-card__copy p,
.fisr-screen .fisr-nav-card__support {
  margin: 0;
  color: var(--skate-text-soft);
  font-size: 0.84rem;
  line-height: 1.35;
}

.fisr-screen .fisr-nav-card__support {
  color: rgb(var(--fisr-category-rgb));
  font-weight: var(--font-weight-bold);
}

.fisr-screen .fisr-nav-card__arrow {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.65);
  border-radius: 999px;
  background: rgba(var(--fisr-category-rgb), 0.14);
  color: rgb(var(--fisr-category-rgb));
}

.fisr-screen .fisr-nav-card__arrow-image {
  width: 18px;
  height: 18px;
}

.fisr-screen .fisr-public-category-list {
  display: grid;
  gap: 12px;
  margin-block-start: 12px;
}

.fisr-screen .fisr-public-category-group {
  --fisr-category-rgb: var(--skate-category-rgb, var(--skate-yellow-rgb));
  overflow: hidden;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.44);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 91% 12%, rgba(var(--fisr-category-rgb), 0.18), transparent 42%),
    linear-gradient(180deg, rgba(var(--fisr-category-rgb), 0.07), rgba(var(--skate-bg-rgb), 0.24)),
    var(--skate-card-2);
  box-shadow: 0 16px 34px rgba(var(--skate-black-rgb), 0.22);
}

.fisr-screen .fisr-public-category-group[open] {
  border-color: rgba(var(--fisr-category-rgb), 0.76);
  box-shadow:
    0 18px 38px rgba(var(--fisr-category-rgb), 0.10),
    0 16px 34px rgba(var(--skate-black-rgb), 0.22);
}

.fisr-screen .fisr-public-category-group > summary {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto 34px;
  gap: 12px;
  min-height: 78px;
  align-items: center;
  padding: 15px;
  cursor: pointer;
  list-style: none;
}

.fisr-screen .fisr-public-category-group > summary::-webkit-details-marker {
  display: none;
}

.fisr-screen .fisr-public-category-group > summary::before {
  content: "";
  display: inline-grid;
  width: 42px;
  height: 42px;
  grid-column: 1;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.56);
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 32%, rgba(var(--fisr-category-rgb), 0.9) 0 20%, transparent 21%),
    linear-gradient(135deg, rgba(var(--fisr-category-rgb), 0.2), rgba(var(--fisr-category-rgb), 0.08));
  box-shadow: 0 0 20px rgba(var(--fisr-category-rgb), 0.16);
}

.fisr-screen .fisr-public-category-group > summary > span {
  display: grid;
  min-width: 0;
  gap: 4px;
  grid-column: 2;
}

.fisr-screen .fisr-public-category-group > summary strong {
  color: var(--skate-text);
  font-size: clamp(1.05rem, 3.8vw, 1.34rem);
  line-height: 1.12;
}

.fisr-screen .fisr-public-category-group > summary small {
  color: var(--skate-text-soft);
  font-size: 0.84rem;
  line-height: 1.35;
}

.fisr-screen .fisr-public-category-group > summary em {
  grid-column: 3;
  justify-self: end;
  color: rgb(var(--fisr-category-rgb));
  font-size: 0.86rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
}

.fisr-screen .fisr-public-category-group > summary::after {
  content: "+";
  display: grid;
  width: 34px;
  height: 34px;
  grid-column: 4;
  place-items: center;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.65);
  border-radius: 999px;
  background: rgba(var(--fisr-category-rgb), 0.14);
  color: rgb(var(--fisr-category-rgb));
  font-size: 1.2rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
}

.fisr-screen .fisr-public-category-group[open] > summary::after {
  content: "-";
}

.fisr-screen .fisr-public-category-group__body {
  display: grid;
  gap: 12px;
  padding: 0 12px 12px;
}

.fisr-screen .fisr-result-section {
  display: grid;
  gap: 14px;
  padding: clamp(16px, 2.6vw, 24px);
  border: 1px solid var(--skate-border);
}

.fisr-screen .fisr-result-section__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 34px;
  gap: 12px;
  align-items: center;
  cursor: pointer;
  list-style: none;
}

.fisr-screen .fisr-result-section__head::-webkit-details-marker {
  display: none;
}

.fisr-screen .fisr-result-section__head::after {
  content: "+";
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.54);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.12);
  color: var(--skate-yellow);
  font-size: 1.2rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
}

.fisr-screen .fisr-result-section[open] > .fisr-result-section__head::after {
  content: "-";
}

.fisr-screen .fisr-result-section__head h2,
.fisr-screen .fisr-result-section__head p {
  margin: 0;
}

.fisr-screen .fisr-result-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.052), rgba(var(--skate-bg-rgb), 0.18)),
    var(--skate-surface-soft);
  color: var(--skate-text);
}

.fisr-screen .fisr-result-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.fisr-screen .fisr-result-card h2,
.fisr-screen .fisr-result-card p {
  margin: 0;
}

.fisr-screen .fisr-result-card h2 {
  color: var(--skate-text);
  font-size: clamp(1rem, 3.4vw, 1.2rem);
  line-height: 1.15;
}

.fisr-screen .fisr-result-card__club,
.fisr-screen .fisr-result-card__meta {
  color: var(--skate-muted);
  line-height: 1.4;
}

.fisr-screen .fisr-result-card__club {
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-bold);
}

.fisr-screen .fisr-stat-pill {
  display: inline-grid;
  gap: 2px;
  min-width: 54px;
  min-height: 42px;
  align-content: center;
  padding: 6px 9px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.42);
  border-radius: 14px;
  background: rgba(var(--skate-yellow-rgb), 0.12);
  color: var(--skate-yellow);
}

.fisr-screen .fisr-stat-pill small,
.fisr-screen .fisr-result-metric__label {
  color: var(--skate-muted);
  font-size: 0.66rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-screen .fisr-stat-pill strong,
.fisr-screen .fisr-result-metric strong {
  color: var(--skate-text);
  font-size: 0.98rem;
  line-height: 1;
}

.fisr-screen .fisr-stat-pill--accent {
  border-color: rgba(var(--skate-cyan-400-rgb), 0.42);
  background: rgba(var(--skate-cyan-400-rgb), 0.12);
  color: var(--skate-cyan-400);
}

.fisr-screen .fisr-result-card__metrics-grid,
.fisr-screen .fisr-kv-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 10px;
}

.fisr-screen .fisr-result-metric,
.fisr-screen .fisr-kv-grid div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.20);
}

.fisr-screen .fisr-kv-grid dt {
  color: var(--skate-muted);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-screen .fisr-kv-grid dd {
  margin: 0;
  color: var(--skate-text);
  overflow-wrap: anywhere;
}

@media (min-width: 760px) {
  .fisr-screen .fisr-public-quick-nav__row--top,
  .fisr-screen .fisr-public-quick-nav__row--admin {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .fisr-screen .fisr-public-quick-nav__row--utility {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 759px) {
  .fisr-screen .fisr-live-nav__links,
  .fisr-screen .fisr-live-action-grid,
  .fisr-screen .fisr-public-quick-nav__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .fisr-screen .fisr-live-nav__link,
  .fisr-screen .fisr-live-action,
  .fisr-screen .fisr-public-quick-nav__card {
    min-height: 72px;
    padding: 13px;
  }

  .fisr-screen .fisr-nav-card {
    grid-template-columns: 40px minmax(0, 1fr) 34px;
    min-height: 82px;
  }

  .fisr-screen .fisr-nav-card__icon {
    width: 38px;
    height: 38px;
  }

  .fisr-screen .fisr-public-category-group > summary {
    grid-template-columns: 40px minmax(0, 1fr) 34px;
  }

  .fisr-screen .fisr-public-category-group > summary::before {
    width: 38px;
    height: 38px;
  }

  .fisr-screen .fisr-public-category-group > summary em {
    grid-column: 2 / 4;
    justify-self: start;
  }

  .fisr-screen .fisr-public-category-group > summary::after {
    grid-column: 3;
    grid-row: 1;
  }

  .fisr-screen .fisr-result-section__head {
    grid-template-columns: minmax(0, 1fr) 34px;
  }

  .fisr-screen .fisr-result-section__head .status-pill {
    grid-column: 1 / 2;
    width: fit-content;
  }

  .fisr-screen .fisr-result-section__head::after {
    grid-column: 2;
    grid-row: 1;
  }
}

/* FISR live admin alignment fixes.
   Keep the shared public live component, but reserve room for the fixed app chrome. */
.app-screen.fisr-admin-live-screen.fisr-public-live-screen .app-main {
  width: min(100%, var(--skate-container));
  max-width: min(100%, var(--skate-container));
  padding-inline: 0;
  padding-block-start: clamp(22px, 7vw, 48px);
}

.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-live-header {
  margin-block-start: 0;
  margin-block-end: clamp(18px, 4.6vw, 30px);
}

.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav {
  gap: clamp(14px, 3.8vw, 22px);
  margin-block: 0 clamp(20px, 5vw, 34px);
}

.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__row {
  gap: clamp(14px, 3.6vw, 20px);
}

.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__card {
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  overflow: hidden;
  padding-inline: clamp(12px, 3vw, 16px);
}

.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__icon {
  --skate-icon-size: 1.28rem;
}

.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__card span {
  overflow-wrap: anywhere;
  hyphens: auto;
  font-size: clamp(0.88rem, 3.6vw, 1.06rem);
}

.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-block,
.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-live-summary,
.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-followed-card {
  margin-block-start: clamp(20px, 5vw, 34px);
}

.fisr-public-live-screen .fisr-public-society-summary {
  padding-inline-end: clamp(84px, 20vw, 112px);
}

.fisr-public-live-screen .fisr-public-society-summary::after {
  right: clamp(14px, 4vw, 24px);
  top: clamp(16px, 4vw, 24px);
}

.fisr-public-live-screen .fisr-public-result-groups .fisr-public-category-group > summary,
.fisr-screen .fisr-public-result-groups .fisr-public-category-group > summary {
  position: relative;
}

.fisr-public-live-screen .fisr-public-result-groups .fisr-public-category-group > summary::before,
.fisr-screen .fisr-public-result-groups .fisr-public-category-group > summary::before {
  background:
    linear-gradient(135deg, rgba(var(--fisr-category-rgb), 0.22), rgba(var(--fisr-category-rgb), 0.06)),
    rgba(var(--skate-black-rgb), 0.18);
}

.fisr-public-live-screen .fisr-public-result-groups .fisr-public-category-group > summary > span::before,
.fisr-screen .fisr-public-result-groups .fisr-public-category-group > summary > span::before {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 24px;
  width: 24px;
  height: 24px;
  background: rgb(var(--fisr-category-rgb));
  filter: drop-shadow(0 0 8px rgba(var(--fisr-category-rgb), 0.56));
  pointer-events: none;
  transform: translateY(-50%);
  -webkit-mask: var(--skate-category-icon, url("../svg/categorie/giovanissimi.svg")) center / contain no-repeat;
  mask: var(--skate-category-icon, url("../svg/categorie/giovanissimi.svg")) center / contain no-repeat;
}

@media (max-width: 430px) {
  .app-screen.fisr-admin-live-screen.fisr-public-live-screen .app-main {
    padding-block-start: clamp(30px, 10vw, 54px);
  }

  .app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__card {
    min-height: 78px;
  }

  .fisr-public-live-screen .fisr-public-society-summary {
    padding-inline-end: 76px;
  }

  .fisr-public-live-screen .fisr-public-society-summary::after {
    width: 46px;
    height: 46px;
    font-size: 1.12rem;
  }

  .fisr-public-live-screen .fisr-public-result-groups .fisr-public-category-group > summary > span::before,
  .fisr-screen .fisr-public-result-groups .fisr-public-category-group > summary > span::before {
    inset-inline-start: 22px;
    width: 23px;
    height: 23px;
  }
}

/* FISR live primary navigation.
   Public actions stay separate from admin-only tools. */
.fisr-public-live-screen .fisr-public-quick-nav {
  gap: clamp(16px, 4vw, 26px);
}

.fisr-public-live-screen .fisr-public-live-main {
  padding-block-end: calc(var(--app-bottom-safe-space, 96px) + 24px);
}

.fisr-public-live-screen .fisr-public-quick-nav__section {
  display: grid;
  gap: clamp(10px, 2.8vw, 16px);
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-quick-nav__section--admin {
  padding: clamp(12px, 3.2vw, 16px);
  border: 1px solid rgba(var(--skate-purple-600-rgb), 0.24);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--skate-purple-600-rgb), 0.12), transparent 38%),
    rgba(var(--skate-white-rgb), 0.035);
}

.fisr-public-live-screen .fisr-public-quick-nav__head {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-quick-nav__head span {
  color: var(--skate-yellow);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-quick-nav__head h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.45rem, 7vw, 2.45rem);
  line-height: 1;
}

.fisr-public-live-screen .fisr-public-live-fastbar {
  position: sticky;
  top: calc(var(--skate-safe-top) + var(--skate-topbar-height) + 10px);
  z-index: 8;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  padding: 7px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.20);
  border-radius: var(--skate-radius-md);
  background:
    linear-gradient(180deg, rgba(var(--skate-bg-rgb), 0.90), rgba(var(--skate-bg-soft-rgb), 0.86)),
    var(--skate-card);
  box-shadow: 0 12px 26px rgba(var(--skate-black-rgb), 0.20);
  backdrop-filter: blur(16px);
}

.fisr-public-live-screen .fisr-public-live-fastbar__item {
  display: grid;
  place-items: center;
  gap: 4px;
  min-width: 0;
  min-height: 54px;
  padding: 7px 5px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: rgba(var(--skate-white-rgb), 0.78);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-live-fastbar__item:hover,
.fisr-public-live-screen .fisr-public-live-fastbar__item:focus-visible,
.fisr-public-live-screen .fisr-public-live-fastbar__item.is-current {
  border-color: rgba(var(--skate-yellow-rgb), 0.45);
  background: rgba(var(--skate-yellow-rgb), 0.12);
  color: var(--skate-yellow);
  outline: none;
}

.fisr-public-live-screen .fisr-public-live-fastbar__icon {
  --skate-icon-size: 1.16rem;
  color: currentColor;
}

.fisr-public-live-screen [hidden] {
  display: none !important;
}

.fisr-public-live-screen .fisr-public-quick-nav__row,
.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(10px, 3vw, 14px);
  overflow: visible;
  padding: 0;
}

.fisr-public-live-screen .fisr-public-quick-nav__card,
.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__card {
  grid-template-columns: 42px minmax(0, 1fr);
  min-height: 96px;
  align-items: center;
  gap: 12px;
  padding: clamp(14px, 3.8vw, 18px);
  border-radius: var(--skate-radius-lg);
}

.fisr-public-live-screen .fisr-public-quick-nav__card.is-primary,
.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__card.is-primary {
  min-height: 108px;
  border-color: rgba(var(--fisr-action-rgb), 0.62);
  background:
    radial-gradient(circle at 88% 10%, rgba(var(--fisr-action-rgb), 0.26), transparent 42%),
    linear-gradient(180deg, rgba(var(--fisr-action-rgb), 0.14), rgba(var(--skate-bg-rgb), 0.20)),
    var(--skate-card-2);
  box-shadow:
    0 18px 40px rgba(var(--fisr-action-rgb), 0.14),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.08);
}

.fisr-public-live-screen .fisr-public-quick-search {
  width: 100%;
  border-style: solid;
  text-align: left;
  cursor: text;
}

.fisr-public-live-screen input,
.fisr-public-live-screen textarea,
.fisr-public-live-screen select {
  font-size: 16px;
}

.fisr-public-live-screen .fisr-public-quick-search__submit {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  align-self: center;
  padding: 0;
  border: 1px solid rgba(var(--fisr-action-rgb), 0.46);
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 18%, rgba(var(--fisr-action-rgb), 0.22), transparent 62%),
    rgba(var(--skate-bg-rgb), 0.28);
  color: rgb(var(--fisr-action-rgb));
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.fisr-public-live-screen .fisr-public-quick-search__submit:hover,
.fisr-public-live-screen .fisr-public-quick-search__submit:focus-visible {
  border-color: rgba(var(--fisr-action-rgb), 0.86);
  background:
    radial-gradient(circle at 50% 18%, rgba(var(--fisr-action-rgb), 0.34), transparent 66%),
    rgba(var(--fisr-action-rgb), 0.12);
  box-shadow: 0 0 0 4px rgba(var(--fisr-action-rgb), 0.11);
  outline: none;
}

.fisr-public-live-screen .fisr-public-quick-search__submit.is-loading {
  opacity: 0.72;
  pointer-events: none;
}

.fisr-public-live-screen .fisr-public-quick-search__body {
  display: grid;
  gap: 5px;
  min-width: 0;
  cursor: text;
}

.fisr-public-live-screen .fisr-public-quick-search__body strong {
  color: inherit;
  font-size: clamp(1.05rem, 4.8vw, 1.34rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.06;
}

.fisr-public-live-screen .fisr-public-quick-search__body input {
  width: 100%;
  min-width: 0;
  min-height: 28px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--skate-text);
  font: inherit;
  font-size: 16px;
  font-weight: var(--font-weight-semibold);
  line-height: 1.24;
  outline: none;
}

.fisr-public-live-screen .fisr-public-quick-search__body input::placeholder {
  color: rgba(var(--fisr-action-rgb), 0.74);
  opacity: 1;
}

.fisr-public-live-screen .fisr-public-quick-search:focus-within {
  border-color: rgba(var(--fisr-action-rgb), 0.9);
  box-shadow:
    0 18px 40px rgba(var(--fisr-action-rgb), 0.18),
    0 0 0 4px rgba(var(--fisr-action-rgb), 0.10),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.08);
}

.fisr-public-live-screen .fisr-public-search-page {
  --fisr-search-rgb: var(--skate-cyan-400-rgb);
  display: grid;
  gap: 34px;
  padding: 10px 2px 24px;
}

.fisr-public-live-screen .fisr-public-search-page__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  margin-block-start: 8px;
  text-align: center;
}

.fisr-public-live-screen .fisr-public-search-page__intro-icon {
  display: none;
  position: relative;
  width: 42px;
  height: 42px;
  margin-block-start: 7px;
  color: rgb(var(--fisr-search-rgb));
  filter: drop-shadow(0 0 18px rgba(var(--fisr-search-rgb), 0.24));
}

.fisr-public-live-screen .fisr-public-search-page__intro-icon::before,
.fisr-public-live-screen .fisr-public-search-page__submit-icon::before {
  content: "";
  position: absolute;
  border: 5px solid rgb(var(--fisr-search-rgb));
  border-radius: 999px;
}

.fisr-public-live-screen .fisr-public-search-page__intro-icon::before {
  inset: 3px 11px 11px 3px;
}

.fisr-public-live-screen .fisr-public-search-page__submit-icon::before {
  inset: 2px 8px 8px 2px;
  border-width: 4px;
}

.fisr-public-live-screen .fisr-public-search-page__intro-icon::after,
.fisr-public-live-screen .fisr-public-search-page__submit-icon::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  background: rgb(var(--fisr-search-rgb));
  transform: rotate(45deg);
  transform-origin: center;
}

.fisr-public-live-screen .fisr-public-search-page__intro-icon::after {
  right: 3px;
  bottom: 6px;
  width: 18px;
  height: 6px;
}

.fisr-public-live-screen .fisr-public-search-page__submit-icon::after {
  right: 2px;
  bottom: 5px;
  width: 14px;
  height: 5px;
}

.fisr-public-live-screen .fisr-public-search-page__intro span {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-search-page__intro .eyebrow,
.fisr-public-live-screen .fisr-public-search-page__intro h2,
.fisr-public-live-screen .fisr-public-search-page__intro small {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-search-page__intro .eyebrow {
  color: var(--skate-yellow);
  font-size: 0.9rem;
  font-weight: var(--font-weight-black);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-search-page__intro h2 {
  color: var(--skate-text);
  font-size: 1.72rem;
  font-weight: var(--font-weight-black);
  line-height: 1.04;
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-search-page__intro small {
  color: var(--skate-muted);
  font-size: 0.94rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.35;
}

.fisr-public-live-screen .fisr-public-search-page__form {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-height: 128px;
  padding: 24px 28px;
  border: 2px solid rgb(var(--fisr-search-rgb));
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 24%, rgba(var(--fisr-search-rgb), 0.22), transparent 38%),
    radial-gradient(circle at 92% 8%, rgba(var(--fisr-search-rgb), 0.18), transparent 42%),
    linear-gradient(180deg, rgba(var(--fisr-search-rgb), 0.14), rgba(var(--skate-card-rgb), 0.84)),
    var(--skate-card-2);
  box-shadow:
    0 22px 48px rgba(var(--skate-black-rgb), 0.38),
    0 0 0 8px rgba(var(--fisr-search-rgb), 0.06),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.07);
  cursor: text;
}

.fisr-public-live-screen .fisr-public-search-page__form:focus-within {
  border-color: rgb(var(--fisr-search-rgb));
  box-shadow:
    0 22px 52px rgba(var(--fisr-search-rgb), 0.18),
    0 0 0 8px rgba(var(--fisr-search-rgb), 0.10),
    inset 0 1px 0 rgba(var(--skate-white-rgb), 0.08);
}

.fisr-public-live-screen .fisr-public-search-page__submit {
  display: grid;
  width: 76px;
  aspect-ratio: 1;
  place-items: center;
  padding: 0;
  border: 2px solid rgba(var(--fisr-search-rgb), 0.66);
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 32%, rgba(var(--fisr-search-rgb), 0.18), transparent 62%),
    rgba(var(--skate-bg-rgb), 0.28);
  color: rgb(var(--fisr-search-rgb));
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.fisr-public-live-screen .fisr-public-search-page__submit:hover,
.fisr-public-live-screen .fisr-public-search-page__submit:focus-visible {
  border-color: rgb(var(--fisr-search-rgb));
  background: rgba(var(--fisr-search-rgb), 0.12);
  box-shadow: 0 0 0 5px rgba(var(--fisr-search-rgb), 0.10);
  outline: none;
}

.fisr-public-live-screen .fisr-public-search-page__submit:active {
  transform: scale(0.98);
}

.fisr-public-live-screen .fisr-public-search-page__submit-icon {
  position: relative;
  display: block;
  width: 46px;
  height: 46px;
  color: rgb(var(--fisr-search-rgb));
}

.fisr-public-live-screen .fisr-public-search-page__field {
  display: grid;
  gap: 8px;
  min-width: 0;
  cursor: text;
}

.fisr-public-live-screen .fisr-public-search-page__field strong {
  color: var(--skate-text);
  font-size: 1.35rem;
  font-weight: var(--font-weight-black);
  line-height: 1.1;
}

.fisr-public-live-screen .fisr-public-search-page__field input {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgb(var(--fisr-search-rgb));
  font: inherit;
  font-size: 1.35rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.16;
  outline: none;
}

.fisr-public-live-screen .fisr-public-search-page__field input::placeholder {
  color: rgba(var(--fisr-search-rgb), 0.92);
  opacity: 1;
}

.fisr-public-live-screen .fisr-public-search-page__examples {
  display: grid;
  gap: 12px;
  margin-block-start: 12px;
}

.fisr-public-live-screen .fisr-public-search-page__examples > p {
  margin: 0;
  padding-inline: 14px;
  color: var(--skate-muted-2);
  font-size: 0.98rem;
  font-weight: var(--font-weight-black);
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-search-page__example-list {
  display: grid;
  border: 1px solid rgba(var(--skate-white-rgb), 0.12);
  border-radius: 22px;
  background:
    radial-gradient(circle at 8% 10%, rgba(var(--fisr-search-rgb), 0.10), transparent 34%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.18)),
    var(--skate-card);
  box-shadow: 0 18px 38px rgba(var(--skate-black-rgb), 0.26);
  overflow: hidden;
}

.fisr-public-live-screen .fisr-public-search-page__example {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr) 32px;
  gap: 16px;
  align-items: center;
  min-height: 106px;
  padding: 18px 24px;
  color: var(--skate-text);
  cursor: text;
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-search-page__example + .fisr-public-search-page__example {
  border-top: 1px solid rgba(var(--skate-white-rgb), 0.10);
}

.fisr-public-live-screen .fisr-public-search-page__example-icon {
  display: grid;
  width: 58px;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 30%, rgba(var(--fisr-search-rgb), 0.22), transparent 62%),
    rgba(var(--fisr-search-rgb), 0.10);
  color: rgb(var(--fisr-search-rgb));
  box-shadow: inset 0 1px 0 rgba(var(--skate-white-rgb), 0.06);
}

.fisr-public-live-screen .fisr-public-search-page__example-icon svg {
  width: 32px;
  height: 32px;
}

.fisr-public-live-screen .fisr-public-search-page__example-icon--number {
  font-size: 1.28rem;
  font-weight: var(--font-weight-black);
  line-height: 1;
}

.fisr-public-live-screen .fisr-public-search-page__example span:not(.fisr-public-search-page__example-icon) {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-search-page__example strong {
  color: var(--skate-text);
  font-size: 1.28rem;
  font-weight: var(--font-weight-black);
  line-height: 1.08;
}

.fisr-public-live-screen .fisr-public-search-page__example small {
  color: var(--skate-muted);
  font-size: 1.02rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.24;
}

.fisr-public-live-screen .fisr-public-search-page__example em {
  color: var(--skate-muted);
  font-size: 2.4rem;
  font-style: normal;
  font-weight: var(--font-weight-medium);
  line-height: 1;
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-search-page__example:hover,
.fisr-public-live-screen .fisr-public-search-page__example:focus-within {
  background: rgba(var(--fisr-search-rgb), 0.055);
}

.fisr-public-live-screen .fisr-public-search-page__note {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin-block-start: 8px;
  padding: 24px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.12);
  border-radius: 22px;
  background:
    radial-gradient(circle at 10% 18%, rgba(var(--fisr-search-rgb), 0.10), transparent 34%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.04), rgba(var(--skate-bg-rgb), 0.18)),
    var(--skate-card);
}

.fisr-public-live-screen .fisr-public-search-page__note-icon {
  width: 54px;
  height: 54px;
  padding: 13px;
  border-radius: 999px;
  background: rgba(var(--fisr-search-rgb), 0.10);
  color: rgb(var(--fisr-search-rgb));
}

.fisr-public-live-screen .fisr-public-search-page__note p {
  margin: 0;
  color: var(--skate-muted);
  font-size: 1.04rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.42;
}

@media (max-width: 520px) {
  .fisr-public-live-screen .fisr-public-search-page {
    gap: 28px;
    padding-block: 4px 20px;
  }

  .fisr-public-live-screen .fisr-public-search-page__intro {
    grid-template-columns: minmax(0, 1fr);
  }

  .fisr-public-live-screen .fisr-public-search-page__intro-icon {
    width: 32px;
    height: 32px;
    margin-block-start: 6px;
  }

  .fisr-public-live-screen .fisr-public-search-page__intro h2 {
    font-size: 1.34rem;
  }

  .fisr-public-live-screen .fisr-public-search-page__intro small {
    font-size: 0.86rem;
  }

  .fisr-public-live-screen .fisr-public-search-page__form {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 10px;
    min-height: 104px;
    padding: 14px;
    border-radius: 22px;
  }

  .fisr-public-live-screen .fisr-public-search-page__submit {
    width: 48px;
  }

  .fisr-public-live-screen .fisr-public-search-page__submit-icon {
    width: 30px;
    height: 30px;
  }

  .fisr-public-live-screen .fisr-public-search-page__field strong {
    font-size: 1.08rem;
  }

  .fisr-public-live-screen .fisr-public-search-page__field input {
    min-height: 30px;
    font-size: 1rem;
  }

  .fisr-public-live-screen .fisr-public-search-page__example-list,
  .fisr-public-live-screen .fisr-public-search-page__note {
    border-radius: 18px;
  }

  .fisr-public-live-screen .fisr-public-search-page__example {
    grid-template-columns: 50px minmax(0, 1fr) 24px;
    gap: 12px;
    min-height: 86px;
    padding: 14px 16px;
  }

  .fisr-public-live-screen .fisr-public-search-page__example-icon {
    width: 46px;
  }

  .fisr-public-live-screen .fisr-public-search-page__example-icon svg {
    width: 27px;
    height: 27px;
  }

  .fisr-public-live-screen .fisr-public-search-page__example strong {
    font-size: 1.08rem;
  }

  .fisr-public-live-screen .fisr-public-search-page__example small {
    font-size: 0.9rem;
  }

  .fisr-public-live-screen .fisr-public-search-page__example em {
    font-size: 2rem;
  }

  .fisr-public-live-screen .fisr-public-search-page__note {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    padding: 17px;
  }

  .fisr-public-live-screen .fisr-public-search-page__note-icon {
    width: 44px;
    height: 44px;
    padding: 11px;
  }

  .fisr-public-live-screen .fisr-public-search-page__note p {
    font-size: 0.92rem;
  }
}

.fisr-public-live-screen .fisr-public-quick-nav__card .fisr-public-quick-nav__icon,
.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__icon {
  --skate-icon-size: 1.55rem;
  justify-self: center;
}

.fisr-public-live-screen .fisr-public-quick-nav__copy,
.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-quick-nav__copy strong,
.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__copy strong {
  color: inherit;
  font-size: clamp(1.05rem, 4.8vw, 1.34rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.06;
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-quick-nav__copy small,
.app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__copy small {
  color: var(--skate-muted);
  font-size: clamp(0.82rem, 3.6vw, 0.94rem);
  font-weight: var(--font-weight-semibold);
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-quick-nav__card:hover .fisr-public-quick-nav__copy small,
.fisr-public-live-screen .fisr-public-quick-nav__card:focus-visible .fisr-public-quick-nav__copy small,
.fisr-public-live-screen .fisr-public-quick-nav__card.is-current .fisr-public-quick-nav__copy small {
  color: rgba(var(--fisr-action-rgb), 0.86);
}

@media (min-width: 640px) {
  .fisr-public-live-screen .fisr-public-quick-nav__row--public,
  .app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__row--public {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fisr-public-live-screen .fisr-public-quick-nav__row--admin,
  .app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__row--admin {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fisr-public-live-screen .fisr-public-quick-nav__card.is-primary,
  .app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__card.is-primary {
    grid-column: span 2;
  }
}

@media (min-width: 900px) {
  .fisr-public-live-screen .fisr-public-quick-nav__row--public,
  .app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__row--public {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .fisr-public-live-screen .fisr-public-quick-nav__card.is-primary,
  .app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__card.is-primary {
    grid-column: auto;
  }
}

.fisr-public-live-screen [data-fisr-section-target] {
  scroll-margin-top: clamp(14px, 4vw, 28px);
}

.fisr-public-live-screen .fisr-public-follow-toggle {
  grid-auto-flow: column;
  gap: 6px;
  width: auto;
  min-width: 44px;
  padding-inline: 10px;
}

.fisr-public-live-screen .fisr-public-follow-toggle__label {
  color: currentColor;
  font-size: 0.66rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.fisr-public-live-screen .fisr-public-follow-toggle__label .is-followed {
  display: none;
}

.fisr-public-live-screen .fisr-public-follow-toggle[aria-pressed="true"] .fisr-public-follow-toggle__label .is-unfollowed {
  display: none;
}

.fisr-public-live-screen .fisr-public-follow-toggle[aria-pressed="true"] .fisr-public-follow-toggle__label .is-followed {
  display: inline;
}

.fisr-public-live-screen .fisr-public-search-result-card .fisr-public-search-result-card__follow {
  width: 54px;
  min-width: 54px;
  height: 54px;
  padding: 0;
  border-radius: 17px;
  grid-auto-flow: row;
}

.fisr-public-live-screen .fisr-public-search-result-card .fisr-public-search-result-card__follow .fisr-public-follow-toggle__label {
  display: none;
}

.fisr-public-live-screen .fisr-public-live-filter-scope {
  display: grid;
  gap: 12px;
}

.fisr-public-live-screen .fisr-public-live-filterbar {
  position: sticky;
  top: calc(var(--skate-safe-top) + var(--skate-topbar-height) + 88px);
  z-index: 7;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: 8px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.20);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(var(--skate-black-rgb), 0.92), rgba(var(--skate-bg-soft-rgb), 0.90)),
    var(--skate-card);
  box-shadow: 0 12px 24px rgba(var(--skate-black-rgb), 0.24);
  scrollbar-width: none;
}

.fisr-public-live-screen .fisr-public-live-filterbar::-webkit-scrollbar {
  display: none;
}

.fisr-public-live-screen .fisr-public-live-filterbar button {
  flex: 0 0 auto;
  min-height: 40px;
  padding: 9px 14px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.10);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.04);
  color: rgba(var(--skate-white-rgb), 0.78);
  font: inherit;
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}

.fisr-public-live-screen .fisr-public-live-filterbar button:hover,
.fisr-public-live-screen .fisr-public-live-filterbar button:focus-visible,
.fisr-public-live-screen .fisr-public-live-filterbar button.is-active {
  border-color: rgba(var(--skate-yellow-rgb), 0.52);
  background: rgba(var(--skate-yellow-rgb), 0.14);
  color: var(--skate-yellow);
  outline: none;
}

.fisr-public-live-screen .fisr-public-live-filterbar__empty {
  margin: 0;
  padding: 12px 14px;
  border: 1px dashed rgba(var(--skate-yellow-rgb), 0.30);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-yellow-rgb), 0.07);
  color: var(--skate-muted);
  font-weight: var(--font-weight-semibold);
}

@media (max-width: 759px) {
  .fisr-public-live-screen [data-fisr-section-target] {
    scroll-margin-top: 128px;
  }

  .fisr-public-live-screen .fisr-public-live-header {
    margin-block-end: 8px;
    padding: 9px 10px;
    border-radius: 14px;
    background:
      linear-gradient(135deg, rgba(var(--skate-black-rgb), 0.93), rgba(24, 36, 40, 0.92)),
      var(--skate-card-2);
    box-shadow:
      0 12px 24px rgba(var(--skate-black-rgb), 0.24),
      inset 0 1px 0 rgba(var(--skate-white-rgb), 0.07);
  }

  .fisr-public-live-screen .fisr-public-live-header::after {
    display: none;
  }

  .fisr-public-live-screen .fisr-public-live-header__content {
    gap: 6px;
  }

  .fisr-public-live-screen .fisr-public-live-header__badge {
    min-height: 21px;
    gap: 5px;
    padding: 3px 7px;
    font-size: 0.6rem;
  }

  .fisr-public-live-screen .fisr-public-live-header__badge i {
    width: 7px;
    height: 7px;
  }

  .fisr-public-live-screen .fisr-public-live-header h1 {
    max-width: 100%;
    font-size: clamp(1.03rem, 5.2vw, 1.4rem);
    line-height: 1.05;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .fisr-public-live-screen .fisr-public-live-header__place {
    width: 100%;
    max-width: none;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 2px 8px;
    align-items: center;
    padding: 6px 8px;
    border-radius: 10px;
  }

  .fisr-public-live-screen .fisr-public-live-header__place span {
    grid-row: 1 / span 2;
    align-self: center;
    font-size: 0.58rem;
  }

  .fisr-public-live-screen .fisr-public-live-header__place strong {
    font-size: 0.86rem;
    line-height: 1.12;
  }

  .fisr-public-live-screen .fisr-public-live-header__place em {
    grid-column: 2;
    font-size: 0.72rem;
  }

  .fisr-public-live-screen .fisr-public-live-header__facilities {
    display: none;
  }

  .fisr-public-live-screen .fisr-public-live-header__status {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .fisr-public-live-screen .fisr-public-live-header__status div {
    gap: 2px;
    padding: 6px 7px;
    border-radius: 10px;
  }

  .fisr-public-live-screen .fisr-public-live-header__status dt {
    font-size: 0.58rem;
  }

  .fisr-public-live-screen .fisr-public-live-header__status dd {
    font-size: 0.7rem;
    line-height: 1.15;
  }

  .fisr-public-live-screen .fisr-public-live-main {
    padding-block-start: 8px;
  }

  .fisr-public-live-screen .fisr-public-live-main > * + * {
    margin-block-start: 8px;
  }

  .fisr-public-live-screen .fisr-public-quick-nav {
    gap: 7px;
    margin-block-start: 4px;
    padding-block-start: 0;
  }

  .fisr-public-live-screen .fisr-public-live-fastbar {
    display: none;
  }

  .fisr-public-live-screen .fisr-public-quick-nav__section {
    gap: 7px;
  }

  .fisr-public-live-screen .fisr-public-quick-nav__head {
    gap: 0;
  }

  .fisr-public-live-screen .fisr-public-quick-nav__head span {
    display: none;
  }

  .fisr-public-live-screen .fisr-public-quick-nav__head h2 {
    font-size: clamp(1.02rem, 4.8vw, 1.24rem);
  }

  .fisr-public-live-screen .fisr-public-quick-nav__row--public,
  .app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__row--public {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .fisr-public-live-screen .fisr-public-quick-nav__card,
  .app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__card {
    grid-template-columns: 30px minmax(0, 1fr);
    min-height: 66px;
    gap: 8px;
    padding: 10px 11px;
    border-radius: 14px;
  }

  .fisr-public-live-screen .fisr-public-quick-nav__card.is-primary,
  .app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__card.is-primary {
    grid-column: 1 / -1;
    min-height: 72px;
  }

  .fisr-public-live-screen .fisr-public-quick-search,
  .app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-search {
    grid-template-columns: 40px minmax(0, 1fr);
    min-height: 72px;
    padding: 9px 10px;
  }

  .fisr-public-live-screen .fisr-public-quick-search__submit {
    width: 40px;
    height: 40px;
  }

  .fisr-public-live-screen .fisr-public-quick-search__body {
    gap: 2px;
  }

  .fisr-public-live-screen .fisr-public-quick-search__body strong {
    font-size: clamp(0.92rem, 4vw, 1.02rem);
  }

  .fisr-public-live-screen .fisr-public-quick-search__body input {
    min-height: 24px;
    font-size: 16px;
  }

  .fisr-public-live-screen .fisr-public-quick-nav__card .fisr-public-quick-nav__icon,
  .app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__icon {
    --skate-icon-size: 1.18rem;
  }

  .fisr-public-live-screen .fisr-public-quick-nav__copy {
    gap: 3px;
  }

  .fisr-public-live-screen .fisr-public-quick-nav__copy strong,
  .app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__copy strong {
    font-size: clamp(0.88rem, 4vw, 1.02rem);
    line-height: 1.08;
  }

  .fisr-public-live-screen .fisr-public-quick-nav__copy small,
  .app-screen.fisr-admin-live-screen.fisr-public-live-screen .fisr-public-quick-nav__copy small {
    font-size: clamp(0.68rem, 3.3vw, 0.78rem);
    line-height: 1.18;
  }

  .fisr-public-live-screen .fisr-public-search input,
  .fisr-public-live-screen .fisr-public-search button {
    min-height: 48px;
  }

  .fisr-public-live-screen .fisr-public-block,
  .fisr-public-live-screen .fisr-public-archive-section,
  .fisr-public-live-screen .fisr-live-alert,
  .fisr-public-live-screen .fisr-search-card,
  .fisr-public-live-screen .fisr-search-summary,
  .fisr-public-live-screen .fisr-empty-card {
    padding: 13px;
    border-radius: 14px;
  }

  .fisr-public-live-screen .fisr-public-block > h2,
  .fisr-public-live-screen .fisr-public-block > h3 {
    font-size: clamp(1.02rem, 5vw, 1.26rem);
    line-height: 1.08;
  }

  .fisr-public-live-screen .fisr-public-block > p {
    margin-block: 6px 0;
    font-size: 0.86rem;
    line-height: 1.35;
  }

  .fisr-public-live-screen .fisr-public-followed-card {
    margin-block-start: 0;
    border-radius: 14px;
  }

  .fisr-public-live-screen .fisr-public-followed-card__head {
    min-height: 58px;
    gap: 9px;
    padding: 10px 12px;
  }

  .fisr-public-live-screen .fisr-public-followed-card__icon {
    width: 24px;
    height: 24px;
    padding: 6px;
  }

  .fisr-public-live-screen .fisr-public-followed-card__head span {
    gap: 2px;
  }

  .fisr-public-live-screen .fisr-public-followed-card__head strong {
    font-size: 0.98rem;
  }

  .fisr-public-live-screen .fisr-public-followed-card__head small {
    font-size: 0.74rem;
    line-height: 1.16;
  }

  .fisr-public-live-screen .fisr-public-followed-card__head em {
    min-width: 28px;
    height: 28px;
    font-size: 0.82rem;
  }

  .fisr-public-live-screen .fisr-public-followed-card__body {
    gap: 7px;
    padding: 0 12px 10px;
  }

  .fisr-public-live-screen .fisr-public-followed-card [data-fisr-followed-help] {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: var(--skate-muted);
    font-size: 0.78rem;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }

  .fisr-public-live-screen .fisr-public-followed-card__push {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 8px;
    border-radius: 12px;
  }

  .fisr-public-live-screen .fisr-public-followed-card__push p {
    font-size: 0.78rem;
    line-height: 1.25;
  }

  .fisr-public-live-screen .fisr-public-followed-card__push button {
    min-height: 34px;
    width: auto;
    padding: 0 10px;
    justify-self: start;
    font-size: 0.78rem;
  }

  .fisr-public-live-screen .fisr-public-followed-card__list {
    gap: 7px;
  }

  .fisr-public-live-screen .fisr-public-followed-card__list a {
    gap: 3px;
    padding: 8px 10px;
    border-radius: 12px;
  }

  .fisr-public-live-screen .fisr-public-followed-card__list strong {
    font-size: 0.9rem;
    line-height: 1.15;
  }

  .fisr-public-live-screen .fisr-public-followed-card__list small {
    font-size: 0.76rem;
    line-height: 1.2;
  }

  .fisr-public-live-screen .fisr-public-followed-card__list span {
    gap: 5px;
  }

  .fisr-public-live-screen .fisr-public-followed-card__list b,
  .fisr-public-live-screen .fisr-public-followed-card__list em {
    min-height: 22px;
    padding: 3px 7px;
    font-size: 0.68rem;
  }

  .fisr-public-live-screen .fisr-public-followed-card.is-empty .fisr-public-followed-card__head {
    min-height: 56px;
    gap: 9px;
    padding: 10px 12px;
  }

  .fisr-public-live-screen .fisr-public-followed-card.is-empty .fisr-public-followed-card__icon {
    width: 24px;
    height: 24px;
    padding: 6px;
  }

  .fisr-public-live-screen .fisr-public-followed-card.is-empty .fisr-public-followed-card__head small {
    display: none;
  }

  .fisr-public-live-screen .fisr-public-search-group > summary {
    grid-template-columns: minmax(0, 1fr) 34px;
    min-height: 0;
  }

  .fisr-public-live-screen .fisr-public-search-group > summary .fisr-public-follow-toggle {
    grid-column: 1;
    grid-row: 3;
    justify-self: start;
    align-self: center;
    margin-block-start: 2px;
  }

  .fisr-public-live-screen .fisr-public-search-group > summary .fisr-public-search-identity {
    grid-column: 1;
    grid-row: 1;
  }

  .fisr-public-live-screen .fisr-public-search-group > summary > em {
    grid-column: 1;
    grid-row: 2;
  }

  .fisr-public-live-screen .fisr-public-search-group > summary::after {
    grid-column: 2;
    grid-row: 1 / span 3;
  }

  .fisr-public-live-screen .fisr-public-live-filterbar {
    position: fixed;
    top: calc(var(--skate-safe-top) + var(--skate-topbar-height) + 82px);
    right: calc(12px + env(safe-area-inset-right));
    left: calc(12px + env(safe-area-inset-left));
    z-index: 59;
    width: auto;
    margin-inline: 0;
    padding: 7px;
  }

  .fisr-public-live-screen .fisr-public-live-filter-scope {
    padding-block-start: 62px;
  }

  .fisr-public-live-screen .fisr-public-live-filterbar button {
    min-height: 38px;
    padding-inline: 13px;
    font-size: 0.78rem;
  }
}

.fisr-public-live-screen .fisr-public-master-list,
.fisr-public-live-screen .fisr-public-category-section__body,
.fisr-public-live-screen .fisr-public-document-card-list {
  display: grid;
  gap: 12px;
}

.fisr-public-live-screen .fisr-public-category-section {
  --fisr-category-rgb: var(--skate-category-rgb, var(--skate-yellow-rgb));
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.42);
  border-radius: var(--skate-radius-xl);
  background:
    radial-gradient(circle at 91% 12%, rgba(var(--fisr-category-rgb), 0.16), transparent 42%),
    linear-gradient(180deg, rgba(var(--fisr-category-rgb), 0.06), rgba(var(--skate-bg-rgb), 0.24)),
    var(--skate-card-2);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(var(--skate-black-rgb), 0.22);
}

.fisr-public-live-screen .fisr-public-category-section *,
.fisr-public-live-screen .fisr-public-master-subcard *,
.fisr-public-live-screen .fisr-public-team-list-card *,
.fisr-public-live-screen .fisr-public-team-athlete-table__link *,
.fisr-public-live-screen .fisr-public-start-table__link *,
.fisr-public-live-screen .fisr-public-athlete-result-card__link * {
  text-decoration: none;
  text-decoration-line: none;
}

.fisr-public-live-screen .fisr-public-category-section__head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 62px;
}

.fisr-public-live-screen .fisr-public-category-section__head::before {
  content: "";
  display: block;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.56);
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 32%, rgba(var(--fisr-category-rgb), 0.9) 0 20%, transparent 21%),
    linear-gradient(135deg, rgba(var(--fisr-category-rgb), 0.2), rgba(var(--fisr-category-rgb), 0.08));
  box-shadow: 0 0 20px rgba(var(--fisr-category-rgb), 0.16);
}

.fisr-public-live-screen .fisr-public-category-section__head.has-category-icon::before {
  content: none;
  display: none;
}

.fisr-public-live-screen .fisr-public-category-section__icon,
.fisr-public-live-screen .fisr-public-master-subcard__icon {
  position: relative;
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(var(--fisr-category-rgb), 0.56);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(var(--fisr-category-rgb), 0.2), rgba(var(--fisr-category-rgb), 0.08)),
    rgba(var(--skate-black-rgb), 0.12);
  box-shadow: 0 0 20px rgba(var(--fisr-category-rgb), 0.16);
  overflow: hidden;
}

.fisr-public-live-screen .fisr-public-category-section__icon img,
.fisr-public-live-screen .fisr-public-master-subcard__icon img {
  display: block;
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.fisr-public-live-screen .is-fisr-followed-athlete .fisr-public-category-section__icon,
.fisr-public-live-screen .is-fisr-followed-athlete .fisr-public-master-subcard__icon {
  border-color: rgba(var(--skate-yellow-rgb), 0.86);
  background:
    radial-gradient(circle at 50% 50%, rgba(var(--skate-yellow-rgb), 0.2), transparent 62%),
    rgba(var(--skate-yellow-rgb), 0.08);
}

.fisr-public-live-screen .is-fisr-followed-athlete .fisr-public-category-section__icon img,
.fisr-public-live-screen .is-fisr-followed-athlete .fisr-public-master-subcard__icon img {
  opacity: 0;
}

.fisr-public-live-screen .is-fisr-followed-athlete .fisr-public-category-section__icon::after,
.fisr-public-live-screen .is-fisr-followed-athlete .fisr-public-master-subcard__icon::after {
  content: "★";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--skate-yellow);
  font-size: 1.5rem;
  font-weight: var(--font-weight-black);
  line-height: 1;
}

.fisr-public-live-screen .fisr-public-category-section__head span,
.fisr-public-live-screen .fisr-public-master-card__head > div,
.fisr-public-live-screen .fisr-public-master-subcard span,
.fisr-public-live-screen .fisr-public-document-card span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.fisr-public-live-screen .fisr-public-category-section__head strong,
.fisr-public-live-screen .fisr-public-master-card h3,
.fisr-public-live-screen .fisr-public-master-subcard strong,
.fisr-public-live-screen .fisr-public-document-card strong {
  margin: 0;
  color: var(--skate-text);
  font-size: 1.04rem;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-category-section__head small,
.fisr-public-live-screen .fisr-public-master-card p,
.fisr-public-live-screen .fisr-public-master-subcard small,
.fisr-public-live-screen .fisr-public-document-card small,
.fisr-public-live-screen .fisr-public-master-card__foot {
  margin: 0;
  color: var(--skate-muted);
  font-size: 0.84rem;
  line-height: 1.34;
}

.fisr-public-live-screen .fisr-public-category-section__head em {
  color: rgb(var(--fisr-category-rgb));
  justify-self: end;
  font-size: clamp(1.9rem, 5vw, 3rem);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  white-space: nowrap;
}

.fisr-public-live-screen .fisr-public-master-card,
.fisr-public-live-screen .fisr-public-document-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-bg-rgb), 0.18)),
    var(--skate-surface-soft);
}

.fisr-public-live-screen .fisr-public-master-card__head,
.fisr-public-live-screen .fisr-public-document-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.fisr-public-live-screen .fisr-public-master-card__status {
  width: fit-content;
  padding: 4px 8px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.32);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.10);
  color: var(--skate-yellow);
  font-size: 0.68rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-master-card__action,
.fisr-public-live-screen .fisr-public-document-card a,
.fisr-public-live-screen .fisr-public-linked-documents--inline a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.42);
  border-radius: var(--button-radius);
  background: rgba(var(--skate-yellow-rgb), 0.12);
  color: var(--skate-yellow);
  font-size: 0.84rem;
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  white-space: nowrap;
}

.fisr-public-live-screen .fisr-public-master-sublist {
  display: grid;
  gap: 8px;
}

.fisr-public-live-screen .fisr-public-master-subcard {
  --fisr-category-rgb: var(--skate-category-rgb, var(--skate-yellow-rgb));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 54px;
  padding: 10px 11px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.10);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.18);
  color: var(--skate-text);
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-master-subcard.has-category-icon {
  grid-template-columns: 42px minmax(0, 1fr) auto;
}

.fisr-public-live-screen .fisr-public-master-subcard em,
.fisr-public-live-screen .fisr-public-document-card em {
  color: var(--skate-yellow);
  justify-self: end;
  font-size: clamp(1.7rem, 4.5vw, 2.6rem);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1;
}

.fisr-public-live-screen .fisr-public-master-card__foot a {
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-search-group__head,
.fisr-public-live-screen .fisr-public-team-card__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 11px;
  align-items: center;
}

.fisr-public-live-screen .fisr-public-search-group__head > em,
.fisr-public-live-screen .fisr-public-team-card__head > em {
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  text-align: right;
}

.fisr-public-live-screen .fisr-public-search-group__body {
  display: grid;
  gap: 10px;
  margin-block-start: 12px;
}

.fisr-public-live-screen .fisr-public-search-group__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-block-start: 12px;
  padding-block-start: 12px;
  border-top: 1px solid rgba(var(--skate-white-rgb), 0.10);
}

.fisr-public-live-screen .fisr-public-search-group__actions span {
  color: var(--skate-muted);
  font-size: 0.82rem;
  font-weight: var(--font-weight-semibold);
}

.fisr-public-live-screen .fisr-public-search-group__actions a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 8px 13px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.50);
  border-radius: var(--button-radius);
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.12);
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  font-size: 0.84rem;
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  white-space: nowrap;
}

.fisr-public-live-screen .fisr-public-athlete-detail {
  display: grid;
  gap: 14px;
}

.fisr-public-live-screen .fisr-public-athlete-detail__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.30);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 92% 10%, rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.14), transparent 42%),
    linear-gradient(180deg, rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.07), rgba(var(--skate-bg-rgb), 0.18)),
    var(--skate-card-2);
}

.fisr-public-live-screen .fisr-public-athlete-detail__head h2,
.fisr-public-live-screen .fisr-public-athlete-detail__head p {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-athlete-detail__head h2 {
  color: var(--skate-text);
  font-size: clamp(1.35rem, 6vw, 2rem);
  line-height: 1.05;
}

.fisr-public-live-screen .fisr-public-athlete-detail__head p:not(.eyebrow) {
  margin-block-start: 6px;
  color: var(--skate-muted);
  line-height: 1.35;
}

.fisr-public-live-screen .fisr-public-athlete-detail__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.fisr-public-live-screen .fisr-public-athlete-detail__summary div {
  display: grid;
  gap: 4px;
  padding: 11px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.18);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.fisr-public-live-screen .fisr-public-athlete-detail__summary dt,
.fisr-public-live-screen .fisr-public-athlete-detail__summary dd {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-athlete-detail__summary dt {
  color: var(--skate-muted);
  font-size: 0.7rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-athlete-detail__summary dd {
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  font-size: 1.18rem;
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-athlete-qualification {
  display: grid;
  gap: 6px;
  padding: 13px 14px;
  border: 1px solid rgba(45, 211, 255, 0.28);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(180deg, rgba(45, 211, 255, 0.08), rgba(var(--skate-bg-rgb), 0.16)),
    var(--skate-card-2);
}

.fisr-public-live-screen .fisr-public-athlete-qualification span {
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(45, 211, 255, 0.10);
  color: rgb(45, 211, 255);
  font-size: 0.68rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-athlete-qualification strong {
  color: var(--skate-text);
  font-size: 1.02rem;
  line-height: 1.2;
}

.fisr-public-live-screen .fisr-public-athlete-qualification small {
  color: var(--skate-muted);
  font-size: 0.84rem;
  line-height: 1.3;
}

.fisr-public-live-screen .fisr-public-athlete-qualification.is-qualified {
  border-color: rgba(48, 209, 88, 0.34);
  background:
    linear-gradient(180deg, rgba(48, 209, 88, 0.09), rgba(var(--skate-bg-rgb), 0.16)),
    var(--skate-card-2);
}

.fisr-public-live-screen .fisr-public-athlete-qualification.is-qualified span {
  background: rgba(48, 209, 88, 0.12);
  color: rgb(102, 232, 132);
}

.fisr-public-live-screen .fisr-public-athlete-qualification.is-not_qualified {
  border-color: rgba(var(--skate-red-warm-rgb), 0.36);
  background:
    linear-gradient(180deg, rgba(var(--skate-red-warm-rgb), 0.10), rgba(var(--skate-bg-rgb), 0.16)),
    var(--skate-card-2);
}

.fisr-public-live-screen .fisr-public-athlete-qualification.is-not_qualified span {
  background: rgba(var(--skate-red-warm-rgb), 0.12);
  color: var(--skate-red-light);
}

.fisr-public-live-screen .fisr-public-athlete-app-summary {
  display: grid;
  gap: 10px;
}

.fisr-public-live-screen .fisr-public-athlete-app-summary__focus {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.34);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 92% 4%, rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.18), transparent 42%),
    linear-gradient(180deg, rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.08), rgba(var(--skate-bg-rgb), 0.18)),
    var(--skate-card-2);
}

.fisr-public-live-screen .fisr-public-athlete-app-summary__focus.is-start {
  border-color: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.44);
  background:
    radial-gradient(circle at 92% 4%, rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.16), transparent 42%),
    linear-gradient(180deg, rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.07), rgba(var(--skate-bg-rgb), 0.18)),
    var(--skate-card-2);
}

.fisr-public-live-screen .fisr-public-athlete-app-summary__focus span {
  width: fit-content;
  padding: 5px 9px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.34);
  border-radius: 999px;
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.11);
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  font-size: 0.68rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-athlete-app-summary__focus.is-start span {
  border-color: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.42);
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.10);
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
}

.fisr-public-live-screen .fisr-public-athlete-app-summary__focus strong {
  color: var(--skate-text);
  font-size: clamp(1.12rem, 5vw, 1.45rem);
  line-height: 1.08;
}

.fisr-public-live-screen .fisr-public-athlete-app-summary__focus small {
  color: var(--skate-muted);
  font-size: 0.88rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.34;
}

.fisr-public-live-screen .fisr-public-athlete-app-summary__focus div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fisr-public-live-screen .fisr-public-athlete-app-summary__focus a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 8px 13px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.42);
  border-radius: var(--button-radius);
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.12);
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.fisr-public-live-screen .fisr-public-athlete-app-summary__result {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.fisr-public-live-screen .fisr-public-athlete-app-summary__result div {
  display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.28);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--fisr-category-rgb, var(--skate-yellow-rgb)), 0.08);
}

.fisr-public-live-screen .fisr-public-athlete-app-summary__result dt,
.fisr-public-live-screen .fisr-public-athlete-app-summary__result dd {
  margin: 0;
}

.fisr-public-live-screen .fisr-public-athlete-app-summary__result dt {
  color: var(--skate-muted);
  font-size: 0.66rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.fisr-public-live-screen .fisr-public-athlete-app-summary__result dd {
  color: rgb(var(--fisr-category-rgb, var(--skate-yellow-rgb)));
  font-size: 1rem;
  font-weight: var(--font-weight-bold);
  overflow-wrap: anywhere;
}

.fisr-public-live-screen .fisr-public-athlete-detail__journey-title {
  margin: 4px 0 0;
  color: var(--skate-text);
  font-size: 1rem;
  line-height: 1.15;
}

.fisr-public-live-screen .fisr-public-linked-documents--inline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  padding: 10px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.10);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.16);
}

.fisr-public-live-screen .fisr-public-linked-documents--inline span {
  color: var(--skate-muted);
  font-size: 0.82rem;
  font-weight: var(--font-weight-semibold);
}

.fisr-public-live-screen .fisr-public-team-card {
  display: grid;
  gap: 12px;
}

.fisr-public-live-screen .fisr-public-team-card__hint {
  margin: 0;
  color: var(--skate-muted);
  font-size: 0.84rem;
  line-height: 1.34;
}

.fisr-public-live-screen .fisr-public-team-category {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.10);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.16);
}

.fisr-public-live-screen .fisr-public-team-category > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
}

.fisr-public-live-screen .fisr-public-team-category > header em {
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-style: normal;
  white-space: nowrap;
}

@media (max-width: 759px) {
  .fisr-public-live-screen .fisr-public-step-head {
    grid-template-columns: 50px 1px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    border-radius: 18px;
  }

  .fisr-public-live-screen .fisr-public-step-head.is-root {
    grid-template-columns: minmax(0, 1fr);
  }

  .fisr-public-live-screen .fisr-public-step-head__back {
    width: 50px;
    font-size: 1rem;
  }

  .fisr-public-live-screen .fisr-public-step-head__back-icon {
    width: 50px;
    border-radius: 14px;
  }

  .fisr-public-live-screen .fisr-public-step-head__back-svg {
    width: 29px;
    height: 29px;
  }

  .fisr-public-live-screen .fisr-public-step-head__divider {
    min-height: 54px;
  }

  .fisr-public-live-screen .fisr-public-step-head__content h2 {
    font-size: clamp(1.35rem, 7vw, 2.1rem);
  }

  .fisr-public-live-screen .fisr-public-category-section {
    padding: 10px;
    border-radius: 16px;
  }

  .fisr-public-live-screen .fisr-public-category-section__head {
    grid-template-columns: 38px minmax(0, 1fr) auto;
  }

  .fisr-public-live-screen .fisr-public-category-section__head::before {
    width: 38px;
    height: 38px;
  }

  .fisr-public-live-screen .fisr-public-category-section__icon,
  .fisr-public-live-screen .fisr-public-master-subcard__icon {
    width: 38px;
    height: 38px;
  }

  .fisr-public-live-screen .fisr-public-category-section__icon img,
  .fisr-public-live-screen .fisr-public-master-subcard__icon img {
    width: 27px;
    height: 27px;
  }

  .fisr-public-live-screen .fisr-public-category-section__head em {
    justify-self: end;
  }

  .fisr-public-live-screen .fisr-public-master-subcard.has-category-icon {
    grid-template-columns: 38px minmax(0, 1fr) auto;
  }

  .fisr-public-live-screen .fisr-public-master-card__head,
  .fisr-public-live-screen .fisr-public-document-card {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .fisr-public-live-screen .fisr-public-master-card__action,
  .fisr-public-live-screen .fisr-public-document-card a,
  .fisr-public-live-screen .fisr-public-linked-documents--inline a {
    width: 100%;
  }

  .fisr-public-live-screen .fisr-public-search-group__head {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .fisr-public-live-screen .fisr-public-search-group__head .fisr-public-follow-toggle {
    grid-column: 1;
    grid-row: 3;
    justify-self: start;
  }

  .fisr-public-live-screen .fisr-public-search-group__head .fisr-public-search-identity {
    grid-column: 1;
    grid-row: 1;
  }

  .fisr-public-live-screen .fisr-public-search-group__head > em {
    grid-column: 1;
    grid-row: 2;
    text-align: left;
  }

  .fisr-public-live-screen .fisr-public-search-group__actions,
  .fisr-public-live-screen .fisr-public-athlete-detail__head {
    grid-template-columns: 1fr;
  }

  .fisr-public-live-screen .fisr-public-search-group__actions a {
    width: 100%;
  }

  .fisr-public-live-screen .fisr-public-athlete-detail__summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .fisr-public-live-screen .fisr-public-athlete-app-summary__focus a {
    flex: 1 1 calc(50% - 4px);
    min-width: 0;
  }

  .fisr-public-live-screen .fisr-public-team-card__head {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .fisr-public-live-screen .fisr-public-team-card__head .fisr-public-team-card__follow,
  .fisr-public-live-screen .fisr-public-team-card__head > em {
    grid-column: 2;
    justify-self: start;
  }
}

/* =========================================================
   ADMIN RESPONSIVE REMEDIATION
   Shared fixes for legacy admin bodies that still use old
   tables/rows but must inherit the centralized SKATE app theme.
   ========================================================= */
.app-screen .shop-admin-create,
.app-screen .shop-admin-filters,
.app-screen .shop-admin-product-row,
.app-screen .shop-order-settings,
.app-screen .shop-order-create {
  border-color: rgba(var(--skate-yellow-rgb), 0.18);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--skate-yellow-rgb), 0.10), transparent 34%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.052), rgba(var(--skate-white-rgb), 0.018)),
    rgba(var(--skate-card-rgb), 0.9);
  box-shadow: var(--skate-shadow-soft);
}

.app-screen .shop-admin-create summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  color: var(--skate-text);
  font-size: clamp(1.05rem, 2.5vw, 1.28rem);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  list-style: none;
}

.app-screen .shop-admin-create summary::-webkit-details-marker {
  display: none;
}

.app-screen .shop-admin-create summary::before {
  content: "+";
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  line-height: 1;
}

.app-screen .shop-admin-create[open] summary::before {
  content: "-";
}

.app-screen .shop-admin-create .shop-admin-form {
  margin-block-start: 16px;
  padding-block-start: 16px;
  border-top: 1px solid var(--skate-border);
}

.app-screen .shop-admin-toggle-grid {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: 10px;
}

.app-screen .shop-admin-toggle-grid label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.22);
  color: var(--skate-text-soft);
}

.app-screen .shop-admin-filters {
  display: grid;
  gap: 14px;
  padding: clamp(14px, 2vw, 18px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
}

.app-screen .shop-admin-filters > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.app-screen .shop-admin-filters > div strong {
  color: var(--skate-text);
  font-size: clamp(1.1rem, 2.5vw, 1.28rem);
}

.app-screen .shop-admin-filters > div span {
  color: var(--skate-muted);
  line-height: 1.42;
}

.app-screen .shop-admin-filters form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: 10px;
}

.app-screen .shop-admin-filters form button,
.app-screen .shop-admin-filters form a {
  min-height: 48px;
  border-radius: var(--button-radius);
}

.app-screen .shop-admin-filters form a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border: 1px solid var(--button-secondary-border);
  background: var(--button-secondary-bg);
  color: var(--button-secondary-text);
  font-weight: var(--button-font-weight);
  text-decoration: none;
}

.app-screen .shop-admin-product-list {
  display: grid;
  gap: 14px;
  padding-block-end: var(--app-bottom-safe-space);
}

.app-screen .shop-admin-product-row {
  grid-template-columns: 92px minmax(0, 1fr) minmax(148px, auto);
  align-items: stretch;
  gap: 14px;
  min-width: 0;
}

.app-screen .shop-admin-product-row__image {
  display: grid;
  place-items: center;
  width: 92px;
  min-height: 92px;
  overflow: hidden;
  border: 1px solid rgba(var(--skate-white-rgb), 0.62);
  border-radius: var(--skate-radius-md);
  background: var(--skate-white);
}

.app-screen .shop-admin-product-row__image img {
  width: 100%;
  height: 100%;
  max-height: 92px;
  object-fit: contain;
  padding: 8px;
}

.app-screen .shop-admin-product-row__main {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
}

.app-screen .shop-admin-product-row__main h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.05rem, 2.4vw, 1.28rem);
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.app-screen .shop-admin-product-row__main h2 a {
  color: inherit;
  text-decoration: none;
}

.app-screen .shop-admin-product-row__main p {
  margin: 0;
  color: var(--skate-muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.app-screen .shop-admin-product-row__main dl,
.app-screen .shop-definition-grid,
.app-screen .shop-import-report dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 128px), 1fr));
  gap: 8px;
  margin: 0;
}

.app-screen .shop-admin-product-row__main dl div,
.app-screen .shop-definition-grid div,
.app-screen .shop-import-report dl div {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.app-screen .shop-admin-product-row__main dt,
.app-screen .shop-definition-grid dt,
.app-screen .shop-import-report dt {
  color: var(--skate-muted);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.app-screen .shop-admin-product-row__main dd,
.app-screen .shop-definition-grid dd,
.app-screen .shop-import-report dd {
  margin: 3px 0 0;
  color: var(--skate-text);
  font-weight: var(--font-weight-semibold);
  overflow-wrap: anywhere;
}

.app-screen .shop-admin-product-row__actions {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
}

.app-screen .shop-admin-product-row__actions a,
.app-screen .shop-admin-product-row__actions button,
.app-screen .shop-admin-card-actions button,
.app-screen .shop-admin-card-actions a {
  width: 100%;
  min-height: 42px;
  padding-inline: 12px;
  border: 1px solid var(--button-secondary-border);
  border-radius: var(--button-radius);
  background: var(--button-secondary-bg);
  color: var(--button-secondary-text);
  font-weight: var(--button-font-weight);
  text-decoration: none;
}

.app-screen .shop-admin-product-row__actions form {
  display: contents;
}

.app-screen .shop-product-grid,
.app-screen .shop-supplier-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: 14px;
  padding-block-end: var(--app-bottom-safe-space);
}

.app-screen .shop-supplier-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: clamp(14px, 2.5vw, 18px);
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.20);
  border-radius: var(--skate-radius-lg);
  background:
    radial-gradient(circle at 88% 0%, rgba(var(--skate-yellow-rgb), 0.11), transparent 38%),
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.054), rgba(var(--skate-white-rgb), 0.018)),
    rgba(var(--skate-card-rgb), 0.9);
  box-shadow: var(--skate-shadow-soft);
}

.app-screen .shop-supplier-card header {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.app-screen .shop-supplier-card header span {
  width: fit-content;
  padding: 5px 9px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.app-screen .shop-supplier-card header strong {
  color: var(--skate-text);
  font-size: clamp(1.1rem, 2.5vw, 1.32rem);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.app-screen .shop-supplier-card p {
  margin: 0;
  color: var(--skate-muted);
  line-height: 1.35;
}

.app-screen .shop-supplier-card dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 110px), 1fr));
  gap: 8px;
  margin: 0;
}

.app-screen .shop-supplier-card dl div {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-sm);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.app-screen .shop-supplier-card dt {
  color: var(--skate-muted);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.app-screen .shop-supplier-card dd {
  margin: 3px 0 0;
  color: var(--skate-text);
  font-weight: var(--font-weight-semibold);
  overflow-wrap: anywhere;
}

.app-screen .shop-supplier-card > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid var(--button-secondary-border);
  border-radius: var(--button-radius);
  background: var(--button-secondary-bg);
  color: var(--button-secondary-text);
  font-weight: var(--button-font-weight);
  text-decoration: none;
}

.app-screen .shop-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-black-rgb), 0.12);
}

.app-screen .shop-table {
  min-width: 760px;
}

.app-screen .shop-table a {
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.app-screen .shop-table td,
.app-screen .shop-table th,
.app-screen .tournament-registration-admin-table td,
.app-screen .tournament-registration-admin-table th {
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  .app-screen .shop-admin-product-row {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
  }

  .app-screen .shop-admin-product-row__image {
    width: 78px;
    min-height: 78px;
  }

  .app-screen .shop-admin-product-row__image img {
    max-height: 78px;
    padding: 7px;
  }

  .app-screen .shop-admin-product-row__main dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-screen .shop-admin-product-row__actions {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-screen .shop-table-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .app-screen .shop-table {
    display: block;
    min-width: 0;
  }

  .app-screen .shop-table thead {
    display: none;
  }

  .app-screen .shop-table tbody,
  .app-screen .shop-table tr {
    display: grid;
    gap: 10px;
  }

  .app-screen .shop-table tr {
    padding: 12px;
    border: 1px solid var(--skate-border);
    border-radius: var(--skate-radius-md);
    background: rgba(var(--skate-card-rgb), 0.82);
  }

  .app-screen .shop-table td {
    display: grid;
    grid-template-columns: minmax(90px, 0.42fr) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 0;
    border: 0;
  }

  .app-screen .shop-table td::before {
    content: attr(data-label);
    color: var(--skate-muted);
    font-size: 0.72rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
  }

  .app-screen .shop-table td[colspan] {
    grid-template-columns: 1fr;
  }

  .app-screen .shop-table td[colspan]::before {
    content: none;
  }

  .app-screen .tournament-registration-admin-table-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .app-screen .tournament-registration-admin-table {
    display: block;
    min-width: 0;
  }

  .app-screen .tournament-registration-admin-table thead {
    display: none;
  }

  .app-screen .tournament-registration-admin-table tbody,
  .app-screen .tournament-registration-admin-table tr {
    display: grid;
    gap: 10px;
  }

  .app-screen .tournament-registration-admin-table tr {
    padding: 12px;
    border: 1px solid var(--skate-border);
    border-radius: var(--skate-radius-md);
    background: rgba(var(--skate-black-rgb), 0.18);
  }

  .app-screen .tournament-registration-admin-table td {
    display: grid;
    grid-template-columns: minmax(86px, 0.38fr) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 0;
    border: 0;
  }

  .app-screen .tournament-registration-admin-table td::before {
    content: attr(data-label);
    color: var(--skate-muted);
    font-size: 0.72rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
  }
}

@media (max-width: 520px) {
  .app-screen .shop-tabs {
    margin-inline: calc(var(--app-content-padding, 0px) * -1);
    padding-inline: var(--app-content-padding, 0px);
  }

  .app-screen .shop-admin-filters form,
  .app-screen .shop-admin-form {
    grid-template-columns: 1fr;
  }

  .app-screen .shop-admin-product-row__actions {
    grid-template-columns: 1fr;
  }

  .app-screen .shop-admin-product-row__main dl {
    grid-template-columns: 1fr;
  }
}

/* === SKATE handoff: site loader + filesystem gallery CSS START === */
.skate-site-loader {
  position: fixed;
  inset: 0;
  z-index: 1800;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 45%, rgba(var(--skate-yellow-rgb), 0.13), transparent 28%),
    rgba(var(--skate-bg-rgb), 0.96);
  color: var(--skate-text);
  transition: opacity 0.32s ease, visibility 0.32s ease;
}

.is-site-loaded .skate-site-loader {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.skate-site-loader__card {
  display: grid;
  justify-items: center;
  gap: 10px;
  min-width: min(260px, 100%);
  padding: 24px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-card-rgb), 0.9);
  box-shadow: var(--skate-shadow-strong);
}

.skate-site-loader__card strong {
  font-size: 1.05rem;
  line-height: 1.1;
}

.skate-site-loader__card span:last-child {
  color: var(--skate-muted);
  font-size: 0.88rem;
  font-weight: var(--font-weight-semibold);
}

.skate-site-loader__mark {
  width: 42px;
  height: 42px;
  border: 3px solid rgba(var(--skate-white-rgb), 0.16);
  border-top-color: var(--skate-yellow);
  border-radius: 999px;
  animation: skate-loader-spin 780ms linear infinite;
}

@keyframes skate-loader-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Filesystem photo gallery */
.skate-filesystem-gallery {
  color: var(--skate-text);
  background:
    radial-gradient(circle at 18% 18%, rgba(var(--skate-yellow-rgb), 0.14), transparent 30%),
    linear-gradient(180deg, rgba(var(--skate-black-rgb), 0.12), rgba(var(--skate-black-rgb), 0.34));
}

.skate-filesystem-gallery__hero {
  position: relative;
  display: grid;
  min-height: clamp(280px, 38vw, 470px);
  overflow: hidden;
  background: linear-gradient(135deg, rgba(var(--skate-card-rgb), 0.96), rgba(var(--skate-black-rgb), 0.72));
}

.skate-filesystem-gallery__hero.has-image::before {
  position: absolute;
  inset: 0;
  content: "";
  background-image: linear-gradient(90deg, rgba(var(--skate-black-rgb), 0.72), rgba(var(--skate-black-rgb), 0.22)), var(--gallery-hero-image);
  background-position: center;
  background-size: cover;
  filter: saturate(0.98);
}

.skate-filesystem-gallery__hero.has-image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(var(--skate-black-rgb), 0.06), rgba(var(--skate-black-rgb), 0.68));
}

.skate-filesystem-gallery__hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  width: min(100% - 32px, 1120px);
  margin: 0 auto;
  padding: clamp(42px, 7vw, 92px) 0;
}

.skate-filesystem-gallery__kicker,
.skate-filesystem-gallery__section-head span,
.skate-filesystem-gallery__album-head span {
  color: var(--skate-yellow);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-transform: uppercase;
}

.skate-filesystem-gallery__hero h1 {
  max-width: 760px;
  margin: 10px 0 0;
  color: var(--skate-text);
  font-size: clamp(2.4rem, 6vw, 5.2rem);
  line-height: 0.98;
  letter-spacing: 0;
}

.skate-filesystem-gallery__hero p {
  max-width: 620px;
  margin: 16px 0 0;
  color: var(--skate-text-soft);
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.58;
}

.skate-filesystem-gallery__back,
.skate-filesystem-gallery__pill {
  display: inline-flex;
  width: fit-content;
  min-height: 34px;
  align-items: center;
  gap: 8px;
  padding: 8px 13px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-black-rgb), 0.38);
  color: var(--skate-text);
  font-size: 0.86rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.1;
  text-decoration: none;
  backdrop-filter: blur(12px);
}

.skate-filesystem-gallery__back {
  margin-bottom: 18px;
}

.skate-filesystem-gallery__hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.skate-filesystem-gallery__shell {
  width: min(100% - 32px, 1120px);
  margin: 0 auto;
  padding: clamp(34px, 5vw, 72px) 0;
}

.skate-filesystem-gallery__section-head,
.skate-filesystem-gallery__album {
  display: grid;
  gap: 22px;
  min-width: 0;
}

.skate-filesystem-gallery__section-head h2,
.skate-filesystem-gallery__album-head h2 {
  margin: 6px 0 0;
  color: var(--skate-text);
  font-size: clamp(1.7rem, 3.2vw, 2.5rem);
  line-height: 1.08;
  letter-spacing: 0;
}

.skate-filesystem-gallery__albums {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
  gap: 18px;
}

.skate-filesystem-gallery__album-card {
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-card-rgb), 0.92);
  box-shadow: var(--skate-shadow-soft);
}

.skate-filesystem-gallery__album-media {
  position: relative;
  display: block;
  min-height: 164px;
  overflow: hidden;
  background: rgba(var(--skate-white-rgb), 0.04);
}

.skate-filesystem-gallery__album-media img,
.skate-filesystem-gallery__album-media video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.skate-filesystem-gallery__album-body {
  display: grid;
  gap: 20px;
  padding: 18px;
}

.skate-filesystem-gallery__album-body h3 {
  margin: 0;
  color: var(--skate-text);
  font-size: 1.12rem;
  line-height: 1.16;
  letter-spacing: 0;
}

.skate-filesystem-gallery__album-body span {
  display: inline-flex;
  width: fit-content;
  margin-top: 8px;
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-muted);
  font-size: 0.82rem;
  font-weight: var(--font-weight-semibold);
}

.skate-filesystem-gallery__album-action,
.skate-filesystem-gallery__tool,
.skate-filesystem-gallery-panel__actions a,
.skate-filesystem-gallery-panel__actions button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: var(--skate-yellow-soft);
  color: var(--skate-text);
  font: inherit;
  font-size: 0.9rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  text-decoration: none;
  cursor: pointer;
}

.skate-filesystem-gallery__album-action::after {
  content: "→";
}

.skate-filesystem-gallery__album-head {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
}

.skate-filesystem-gallery__tools {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.skate-filesystem-gallery__counter {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--skate-surface-soft);
  color: var(--skate-muted);
  font-size: 0.86rem;
  font-weight: var(--font-weight-bold);
}

.skate-filesystem-gallery__tool {
  border-color: var(--skate-border);
  background: rgba(var(--skate-white-rgb), 0.05);
}

.skate-filesystem-gallery__tool[aria-pressed="true"] {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.skate-filesystem-gallery__tool:disabled {
  opacity: 0.46;
  cursor: not-allowed;
}

.skate-filesystem-gallery__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr));
  gap: 14px;
}

.skate-filesystem-gallery__tile {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--skate-radius-lg);
  background: var(--skate-surface-soft);
  cursor: zoom-in;
  box-shadow: var(--skate-shadow-soft);
}

.skate-filesystem-gallery__tile.is-video {
  background:
    radial-gradient(circle at 50% 50%, rgba(var(--skate-yellow-rgb), 0.18), transparent 44%),
    linear-gradient(145deg, rgba(var(--skate-white-rgb), 0.08), rgba(var(--skate-white-rgb), 0.015)),
    var(--skate-surface-soft);
}

.skate-filesystem-gallery__tile.is-video::before {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  padding: 5px 8px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: rgba(var(--skate-black-rgb), 0.62);
  color: var(--skate-yellow);
  content: "VIDEO";
  font-size: 0.62rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0;
  line-height: 1;
}

.skate-filesystem-gallery__tile img,
.skate-filesystem-gallery__tile video {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.2s ease, filter 0.2s ease;
}

.skate-filesystem-gallery__tile:hover img,
.skate-filesystem-gallery__tile:hover video {
  transform: scale(1.035);
}

.skate-filesystem-gallery__tile.is-video:not(.is-video-ready) video:not([poster]) {
  opacity: 0.28;
}

.skate-filesystem-gallery__tile.is-video.is-video-loading::after {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  width: 18px;
  height: 18px;
  border: 2px solid rgba(var(--skate-white-rgb), 0.18);
  border-top-color: var(--skate-yellow);
  border-radius: 999px;
  content: "";
  animation: skate-loader-spin 760ms linear infinite;
}

.skate-filesystem-gallery.is-selecting .skate-filesystem-gallery__tile {
  cursor: pointer;
}

.skate-filesystem-gallery__tile.is-selected {
  border-color: var(--skate-yellow);
}

.skate-filesystem-gallery__tile.is-selected img,
.skate-filesystem-gallery__tile.is-selected video {
  filter: brightness(0.72);
}

.skate-filesystem-gallery__play {
  position: absolute;
  inset: 50% auto auto 50%;
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--skate-yellow-border);
  border-radius: 999px;
  background: rgba(var(--skate-black-rgb), 0.62);
  color: var(--skate-yellow);
  font-size: 1rem;
  line-height: 1;
  pointer-events: none;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 22px rgba(var(--skate-yellow-rgb), 0.28);
}

.skate-filesystem-gallery-fullscreen__thumbs .skate-filesystem-gallery__play {
  width: 24px;
  height: 24px;
  font-size: 0.68rem;
}

.skate-filesystem-gallery__check {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 24px;
  height: 24px;
  border: 2px solid rgba(var(--skate-white-rgb), 0.86);
  border-radius: 999px;
  background: rgba(var(--skate-black-rgb), 0.32);
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.18s ease, transform 0.18s ease, background 0.18s ease;
}

.skate-filesystem-gallery.is-selecting .skate-filesystem-gallery__check,
.skate-filesystem-gallery__tile.is-selected .skate-filesystem-gallery__check {
  opacity: 1;
  transform: scale(1);
}

.skate-filesystem-gallery__tile.is-selected .skate-filesystem-gallery__check {
  background: var(--skate-yellow);
}

.skate-filesystem-gallery__tile.is-selected .skate-filesystem-gallery__check::after {
  position: absolute;
  left: 6px;
  top: 2px;
  width: 7px;
  height: 13px;
  border: solid rgb(var(--skate-black-rgb));
  border-width: 0 2px 2px 0;
  content: "";
  transform: rotate(45deg);
}

.skate-filesystem-gallery__empty {
  display: grid;
  gap: 7px;
  padding: clamp(20px, 3vw, 30px);
  border: 1px dashed var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-white-rgb), 0.04);
}

.skate-filesystem-gallery__empty strong {
  color: var(--skate-text);
}

.skate-filesystem-gallery__empty span {
  color: var(--skate-muted);
}

.skate-filesystem-gallery-panel {
  position: fixed;
  z-index: 1500;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
}

.skate-filesystem-gallery-panel[hidden] {
  display: none;
}

.skate-filesystem-gallery-panel__backdrop {
  background: rgba(var(--skate-black-rgb), 0.64);
  backdrop-filter: blur(12px);
}

.skate-filesystem-gallery-panel__drawer {
  position: relative;
  display: grid;
  align-content: start;
  gap: 18px;
  min-width: 0;
  overflow: auto;
  padding: 72px 18px 24px;
  border-left: 1px solid var(--skate-border);
  background: rgba(var(--skate-card-rgb), 0.98);
  box-shadow: var(--skate-shadow-strong);
}

.skate-filesystem-gallery-panel__close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.04);
  color: var(--skate-text);
  font-size: 1.3rem;
  cursor: pointer;
}

.skate-filesystem-gallery-panel figure {
  margin: 0;
}

.skate-filesystem-gallery-panel img,
.skate-filesystem-gallery-panel video {
  display: block;
  width: 100%;
  max-height: 46vh;
  border-radius: var(--skate-radius-lg);
  object-fit: contain;
  background: rgba(var(--skate-black-rgb), 0.24);
}

.skate-filesystem-gallery-panel img[hidden],
.skate-filesystem-gallery-panel video[hidden] {
  display: none;
}

.skate-filesystem-gallery-panel__meta {
  display: grid;
  gap: 7px;
}

.skate-filesystem-gallery-panel__meta > span:first-child {
  color: var(--skate-muted);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.skate-filesystem-gallery-panel__meta h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
  line-height: 1.08;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.skate-filesystem-gallery-panel__meta > span:last-child {
  color: var(--skate-muted);
  font-weight: var(--font-weight-semibold);
}

.skate-filesystem-gallery-panel__actions {
  display: grid;
  gap: 10px;
}

.skate-filesystem-gallery-panel__actions a,
.skate-filesystem-gallery-panel__actions button {
  width: 100%;
  border-color: var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: transparent;
}

.skate-filesystem-gallery-panel__actions a:first-child {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
}

.skate-filesystem-gallery-fullscreen {
  position: fixed;
  z-index: 1600;
  inset: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  color: var(--skate-text);
  background: rgba(var(--skate-black-rgb), 0.9);
}

.skate-filesystem-gallery-fullscreen[hidden] {
  display: none;
}

.skate-filesystem-gallery-fullscreen__scrim {
  position: absolute;
  inset: 0;
  background: rgba(var(--skate-black-rgb), 0.72);
  backdrop-filter: blur(10px);
}

.skate-filesystem-gallery-fullscreen__topbar,
.skate-filesystem-gallery-fullscreen__filmstrip,
.skate-filesystem-gallery-fullscreen__stage,
.skate-filesystem-gallery-fullscreen__nav {
  position: relative;
  z-index: 1;
}

.skate-filesystem-gallery-fullscreen__topbar {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: calc(14px + var(--skate-safe-top)) clamp(16px, 2vw, 28px) 18px;
  background: linear-gradient(180deg, rgba(var(--skate-black-rgb), 0.82), rgba(var(--skate-black-rgb), 0.18));
}

.skate-filesystem-gallery-fullscreen__topbar > div:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.skate-filesystem-gallery-fullscreen__topbar span {
  color: var(--skate-muted);
  font-size: 0.82rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
}

.skate-filesystem-gallery-fullscreen__topbar strong {
  color: var(--skate-text);
  font-size: 1.08rem;
  line-height: 1.1;
}

.skate-filesystem-gallery-fullscreen__tools {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.skate-filesystem-gallery-fullscreen__tools button,
.skate-filesystem-gallery-fullscreen__tools a,
.skate-filesystem-gallery-fullscreen__nav {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-black-rgb), 0.36);
  color: var(--skate-text);
  font: inherit;
  font-size: 1.28rem;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}

.skate-filesystem-gallery-fullscreen__tools button:last-child {
  background: rgba(var(--skate-white-rgb), 0.15);
}

.skate-filesystem-gallery-fullscreen__stage {
  position: relative;
  display: grid;
  min-height: 0;
  overflow: hidden;
  place-items: center;
  margin: 0;
  padding: clamp(14px, 2vw, 26px) clamp(72px, 8vw, 120px);
  touch-action: pan-y;
}

.skate-filesystem-gallery-fullscreen__stage img,
.skate-filesystem-gallery-fullscreen__stage video {
  display: block;
  max-width: min(100%, 1320px);
  max-height: calc(100vh - 250px);
  border-radius: var(--skate-radius-md);
  object-fit: contain;
  box-shadow: var(--skate-shadow-strong);
}

.skate-filesystem-gallery-fullscreen__stage img {
  transform-origin: center center;
  transition: opacity 0.18s ease, transform 0.18s ease;
  will-change: transform;
}

.skate-filesystem-gallery-fullscreen__stage img[hidden],
.skate-filesystem-gallery-fullscreen__stage video[hidden] {
  display: none;
}

.skate-filesystem-gallery-fullscreen__stage img.is-zoomed {
  cursor: grab;
}

.skate-filesystem-gallery-fullscreen__stage img.is-dragging {
  cursor: grabbing;
  transition: opacity 0.18s ease;
}

.skate-filesystem-gallery-fullscreen.is-zoomed .skate-filesystem-gallery-fullscreen__stage {
  cursor: grab;
  touch-action: none;
}

.skate-filesystem-gallery-fullscreen.is-image-loading .skate-filesystem-gallery-fullscreen__stage img {
  opacity: 0.28;
}

.skate-filesystem-gallery-fullscreen.is-image-loading .skate-filesystem-gallery-fullscreen__stage video {
  opacity: 0.34;
}

.skate-filesystem-gallery-fullscreen.is-video [data-fs-gallery-fullscreen-zoom] {
  display: none;
}

.skate-filesystem-gallery-fullscreen.has-image-error .skate-filesystem-gallery-fullscreen__stage img {
  opacity: 0;
}

.skate-filesystem-gallery-fullscreen__loader {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-card-rgb), 0.9);
  color: var(--skate-text);
  font-size: 0.9rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.skate-filesystem-gallery-fullscreen__loader::before {
  content: "";
  width: 16px;
  height: 16px;
  border: 2px solid rgba(var(--skate-white-rgb), 0.18);
  border-top-color: var(--skate-yellow);
  border-radius: 999px;
  animation: skate-loader-spin 760ms linear infinite;
}

.skate-filesystem-gallery-fullscreen.is-image-loading .skate-filesystem-gallery-fullscreen__loader,
.skate-filesystem-gallery-fullscreen.has-image-error .skate-filesystem-gallery-fullscreen__loader {
  opacity: 1;
  transform: translateY(0);
}

.skate-filesystem-gallery-fullscreen.has-image-error .skate-filesystem-gallery-fullscreen__loader::before {
  display: none;
}

.skate-filesystem-gallery-fullscreen__nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
}

.skate-filesystem-gallery-fullscreen__nav--prev {
  left: clamp(14px, 2vw, 28px);
}

.skate-filesystem-gallery-fullscreen__nav--next {
  right: clamp(14px, 2vw, 28px);
}

.skate-filesystem-gallery-fullscreen__filmstrip {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 clamp(14px, 2vw, 28px) clamp(14px, 2vw, 24px);
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-card-rgb), 0.84);
  box-shadow: var(--skate-shadow-soft);
}

.skate-filesystem-gallery-fullscreen__filmstrip > div {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.skate-filesystem-gallery-fullscreen__filmstrip strong {
  color: var(--skate-muted);
  font-size: 0.9rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.skate-filesystem-gallery-fullscreen__thumbs {
  display: flex;
  max-width: calc(100vw - 230px);
  gap: 10px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

.skate-filesystem-gallery-fullscreen__thumbs::-webkit-scrollbar {
  display: none;
}

.skate-filesystem-gallery-fullscreen__thumbs button {
  position: relative;
  flex: 0 0 auto;
  width: 70px;
  height: 54px;
  overflow: hidden;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 10px;
  background: rgba(var(--skate-white-rgb), 0.08);
  cursor: pointer;
}

.skate-filesystem-gallery-fullscreen__thumbs button.is-active {
  border-color: var(--skate-yellow);
}

.skate-filesystem-gallery-fullscreen__thumbs img,
.skate-filesystem-gallery-fullscreen__thumbs video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.skate-filesystem-gallery-fullscreen__filmstrip > button {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 10px 18px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-black-rgb), 0.28);
  color: var(--skate-text);
  font: inherit;
  font-size: 0.88rem;
  font-weight: var(--font-weight-bold);
  cursor: pointer;
}

body.is-gallery-fullscreen-open {
  overflow: hidden;
}

body.is-gallery-panel-open {
  overflow: hidden;
}

body.is-gallery-panel-open .guest-topbar {
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, calc(-100% - 28px));
}

body.is-gallery-fullscreen-open .guest-topbar {
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, calc(-100% - 28px));
}

@media (max-width: 820px) {
  .skate-filesystem-gallery-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-filesystem-gallery-panel__backdrop {
    display: none;
  }

  .skate-filesystem-gallery-panel__drawer {
    min-height: 100vh;
    padding-top: calc(72px + var(--skate-safe-top));
    border-left: 0;
  }

  .skate-filesystem-gallery-panel__close {
    top: calc(14px + var(--skate-safe-top));
    right: 14px;
    width: 46px;
    height: 46px;
    background: rgba(var(--skate-white-rgb), 0.13);
    box-shadow: var(--skate-shadow-soft);
  }

  .skate-filesystem-gallery-fullscreen__stage {
    padding-inline: 18px;
  }

  .skate-filesystem-gallery-fullscreen__stage img,
  .skate-filesystem-gallery-fullscreen__stage video {
    max-height: calc(100vh - 260px);
  }

  .skate-filesystem-gallery-fullscreen__nav {
    top: auto;
    bottom: 122px;
    transform: none;
  }

  .skate-filesystem-gallery-fullscreen__filmstrip {
    align-items: stretch;
    flex-direction: column;
  }

  .skate-filesystem-gallery-fullscreen__thumbs {
    max-width: calc(100vw - 62px);
  }
}

@media (max-width: 560px) {
  .skate-filesystem-gallery__shell,
  .skate-filesystem-gallery__hero-inner {
    width: min(100% - 24px, 1120px);
  }

  .skate-filesystem-gallery__album-head,
  .skate-filesystem-gallery__tools {
    align-items: stretch;
    flex-direction: column;
  }

  .skate-filesystem-gallery__tool,
  .skate-filesystem-gallery__counter {
    width: 100%;
  }

  .skate-filesystem-gallery-fullscreen__topbar {
    align-items: center;
    flex-direction: row;
    gap: 10px;
  }

  .skate-filesystem-gallery-fullscreen__topbar > div:first-child {
    max-width: calc(100% - 206px);
  }

  .skate-filesystem-gallery-fullscreen__tools {
    flex: 0 0 auto;
    gap: 8px;
  }

  .skate-filesystem-gallery-fullscreen__tools button,
  .skate-filesystem-gallery-fullscreen__tools a,
  .skate-filesystem-gallery-fullscreen__nav {
    width: 42px;
    height: 42px;
  }

  .skate-filesystem-gallery-fullscreen__thumbs button {
    width: 58px;
    height: 46px;
  }
}
  min-height: var(--skate-bottom-nav-height);
  padding: 8px;
  border: 1px solid var(--quickbar-border);
  border-radius: var(--skate-radius-lg);
  background: var(--quickbar-bg);
  box-shadow: var(--quickbar-shadow);
  backdrop-filter: blur(18px);
  transform: translateX(-50%);
  transition: transform 0.24s ease, opacity 0.18s ease;
}

body.is-gallery-panel-open .quickbar,
body.is-gallery-fullscreen-open .quickbar {
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, calc(100% + 28px + var(--skate-safe-bottom)));
}

/* =========================================================
   MERCATINO PATTINAGGIO
   Bacheca gratuita tra privati, separata dallo Shop SKATE.
   ========================================================= */
.marketplace-screen .guest-main,
.marketplace-screen .app-main {
  width: min(100% - 24px, var(--skate-public-container));
  margin-inline: auto;
}

.marketplace-hero,
.marketplace-detail-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background:
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.10), rgba(var(--skate-success-rgb), 0.06)),
    rgba(var(--skate-card-rgb), 0.92);
  box-shadow: var(--skate-shadow-soft);
}

.marketplace-hero--compact {
  min-height: 0;
}

.marketplace-hero__copy,
.marketplace-detail-hero > div {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.marketplace-hero h1,
.marketplace-detail-hero h1 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 0.96;
  overflow-wrap: anywhere;
}

.marketplace-hero p,
.marketplace-detail-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--skate-muted);
  line-height: 1.55;
}

.marketplace-hero__actions,
.marketplace-form__actions,
.marketplace-filter__actions,
.marketplace-contact-actions,
.marketplace-admin-actions,
.marketplace-admin-row__actions,
.marketplace-report-row__actions > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.marketplace-disclaimer,
.marketplace-notice,
.marketplace-filter-card,
.marketplace-form-card,
.marketplace-detail-description,
.marketplace-report-card,
.marketplace-admin-cleanup,
.marketplace-communication-preview .panel-card,
.marketplace-report-row {
  padding: clamp(16px, 2.3vw, 24px);
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-card-rgb), 0.92);
  box-shadow: var(--skate-shadow-soft);
}

.marketplace-disclaimer {
  border-color: rgba(var(--skate-yellow-rgb), 0.48);
  background:
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.16), rgba(var(--skate-card-rgb), 0.92) 44%),
    rgba(var(--skate-card-rgb), 0.94);
}

.marketplace-disclaimer strong,
.marketplace-notice strong {
  display: block;
  margin-block-end: 6px;
  color: var(--skate-yellow);
  font-size: 0.95rem;
  text-transform: uppercase;
}

.marketplace-disclaimer p,
.marketplace-notice p,
.marketplace-empty p,
.marketplace-contact-card p,
.marketplace-report-row p,
.marketplace-communication-preview p {
  margin: 0;
  color: var(--skate-muted);
  line-height: 1.55;
}

.marketplace-notice--success {
  border-color: rgba(var(--skate-success-rgb), 0.34);
  background: rgba(var(--skate-success-rgb), 0.10);
}

.marketplace-notice--success strong {
  color: var(--skate-success);
}

.marketplace-notice--error {
  border-color: rgba(var(--skate-danger-rgb), 0.34);
  background: rgba(var(--skate-danger-rgb), 0.10);
}

.marketplace-notice--error strong {
  color: var(--skate-danger);
}

.marketplace-tabs,
.marketplace-admin-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.marketplace-tabs a,
.marketplace-admin-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 16px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.05);
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.marketplace-tabs a.is-active,
.marketplace-admin-nav a.is-active {
  border-color: var(--skate-yellow-border);
  background: var(--skate-yellow-soft);
  color: var(--skate-yellow);
}

.marketplace-filter,
.marketplace-form__grid,
.marketplace-report-form__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 12px;
  min-width: 0;
}

.marketplace-filter label,
.marketplace-form label,
.marketplace-report-form label,
.marketplace-report-row__actions label,
.marketplace-communication-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.marketplace-filter label > span,
.marketplace-form label > span,
.marketplace-report-form label > span,
.marketplace-report-row__actions label > span,
.marketplace-communication-form label > span {
  color: var(--skate-muted);
  font-size: 0.88rem;
  font-weight: var(--font-weight-semibold);
}

.marketplace-filter__actions,
.marketplace-form__section,
.marketplace-form__actions,
.marketplace-report-form label,
.marketplace-report-form > button,
.marketplace-communication-form .marketplace-form__section {
  grid-column: 1 / -1;
}

.marketplace-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr));
  gap: 16px;
}

.marketplace-card {
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-card-rgb), 0.94);
  box-shadow: var(--skate-shadow-soft);
}

.marketplace-card:hover {
  border-color: var(--skate-yellow-border);
}

.marketplace-card__photo,
.marketplace-admin-row__media,
.marketplace-detail-media figure,
.marketplace-detail-media__placeholder {
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(var(--skate-white-rgb), 0.08), rgba(var(--skate-black-rgb), 0.12)),
    rgba(var(--skate-card-2-rgb), 0.88);
}

.marketplace-card__photo {
  aspect-ratio: 4 / 3;
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.marketplace-card__photo img,
.marketplace-admin-row__media img,
.marketplace-detail-media img,
.marketplace-admin-photo-list img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.marketplace-card__body {
  display: grid;
  gap: 12px;
  padding: 14px;
  min-width: 0;
}

.marketplace-card__body h2,
.marketplace-admin-row__body h2,
.marketplace-report-row__body h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: 1.05rem;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.marketplace-card__body h2 a,
.marketplace-admin-row__body h2 a,
.marketplace-report-row__body h2 a {
  color: inherit;
  text-decoration: none;
}

.marketplace-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.marketplace-card__badges span,
.marketplace-badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.06);
  color: var(--skate-muted);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
}

.marketplace-badge--vendo {
  border-color: rgba(var(--skate-success-rgb), 0.40);
  background: rgba(var(--skate-success-rgb), 0.14);
  color: var(--skate-success);
}

.marketplace-badge--cerco {
  border-color: rgba(var(--skate-sky-400-rgb), 0.42);
  background: rgba(var(--skate-sky-400-rgb), 0.14);
  color: var(--skate-sky-300);
}

.marketplace-card__facts,
.marketplace-detail-facts {
  display: grid;
  gap: 8px;
  margin: 0;
}

.marketplace-card__facts div,
.marketplace-detail-facts div {
  display: grid;
  grid-template-columns: minmax(78px, auto) minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
}

.marketplace-card__facts dt,
.marketplace-detail-facts dt {
  color: var(--skate-muted-2);
  font-size: 0.78rem;
}

.marketplace-card__facts dd,
.marketplace-detail-facts dd {
  margin: 0;
  color: var(--skate-text-soft);
  font-size: 0.88rem;
  overflow-wrap: anywhere;
}

.marketplace-card__action {
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

.marketplace-empty {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.marketplace-empty h1,
.marketplace-empty h2,
.marketplace-form__section h2,
.marketplace-contact-card h2,
.marketplace-detail-description h2,
.marketplace-report-card h2,
.marketplace-admin-cleanup h2,
.marketplace-communication-preview h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: 1.15rem;
  line-height: 1.25;
}

.marketplace-form {
  display: grid;
  gap: 22px;
}

.marketplace-form__section {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.marketplace-check,
.marketplace-consent,
.marketplace-recipient {
  display: flex !important;
  align-items: flex-start;
  gap: 10px !important;
}

.marketplace-check input,
.marketplace-consent input,
.marketplace-recipient input {
  flex: 0 0 auto;
  margin-block-start: 3px;
  accent-color: var(--skate-yellow);
}

.marketplace-consent {
  padding: 14px;
  border: 1px solid var(--skate-yellow-border);
  border-radius: var(--skate-radius-md);
  background: var(--skate-yellow-soft);
}

.marketplace-consent span {
  color: var(--skate-text) !important;
  line-height: 1.45;
}

.marketplace-detail-layout,
.marketplace-admin-detail,
.marketplace-communication-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 18px;
  align-items: start;
}

.marketplace-detail-media {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.marketplace-detail-media figure {
  aspect-ratio: 4 / 3;
  margin: 0;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  box-shadow: var(--skate-shadow-soft);
}

.marketplace-detail-media__placeholder {
  min-height: 260px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.marketplace-detail-panel,
.marketplace-admin-side,
.marketplace-communication-preview {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.marketplace-contact-card,
.marketplace-report-form {
  display: grid;
  gap: 14px;
}

.marketplace-detail-description p {
  margin: 0;
  color: var(--skate-text-soft);
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.marketplace-report-card {
  display: grid;
  gap: 14px;
}

.marketplace-report-form {
  grid-template-columns: minmax(0, 1fr);
}

.marketplace-admin-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 12px;
}

.marketplace-admin-stats article {
  display: grid;
  gap: 6px;
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-card-rgb), 0.88);
}

.marketplace-admin-stats span {
  color: var(--skate-muted);
  font-size: 0.86rem;
}

.marketplace-admin-stats strong {
  color: var(--skate-text);
  font-size: 1.8rem;
  line-height: 1;
}

.marketplace-admin-cleanup {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-color: rgba(var(--skate-yellow-rgb), 0.32);
}

.marketplace-admin-list,
.marketplace-report-list {
  display: grid;
  gap: 14px;
}

.marketplace-admin-row,
.marketplace-report-row {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-card-rgb), 0.92);
  box-shadow: var(--skate-shadow-soft);
}

.marketplace-admin-row__media {
  width: 118px;
  aspect-ratio: 1;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  color: var(--skate-yellow);
  font-weight: var(--font-weight-bold);
}

.marketplace-admin-row__body,
.marketplace-report-row__body {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.marketplace-admin-row__actions,
.marketplace-report-row__actions {
  justify-content: flex-end;
}

.marketplace-admin-row__actions form {
  margin: 0;
}

.marketplace-admin-side .panel-card {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.marketplace-admin-photo-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 10px;
}

.marketplace-admin-photo-list img {
  aspect-ratio: 1;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
}

.marketplace-admin-danger {
  border-color: rgba(var(--skate-danger-rgb), 0.34);
  background: rgba(var(--skate-danger-rgb), 0.08);
}

.marketplace-report-row {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.45fr);
  align-items: start;
}

.marketplace-report-row__actions {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.marketplace-admin-note {
  padding: 10px 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.05);
}

.marketplace-communication-form {
  min-width: 0;
}

.marketplace-recipient-list {
  display: grid;
  gap: 8px;
  max-height: 430px;
  overflow: auto;
  padding: 4px;
}

.marketplace-recipient {
  padding: 10px 12px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-white-rgb), 0.04);
}

.marketplace-recipient span,
.marketplace-selected-recipients li {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.marketplace-recipient strong,
.marketplace-selected-recipients strong {
  color: var(--skate-text);
  overflow-wrap: anywhere;
}

.marketplace-recipient small,
.marketplace-selected-recipients span {
  color: var(--skate-muted);
  overflow-wrap: anywhere;
}

.marketplace-email-preview {
  max-height: 460px;
  overflow: auto;
  padding: 14px;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-black-rgb), 0.24);
  color: var(--skate-text-soft);
  line-height: 1.58;
  white-space: normal;
}

.marketplace-selected-recipients {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.marketplace-selected-recipients li {
  padding: 10px 0;
  border-block-end: 1px solid var(--skate-border);
}

.marketplace-selected-recipients li:last-child {
  border-block-end: 0;
}

@media (max-width: 920px) {
  .marketplace-hero,
  .marketplace-detail-hero,
  .marketplace-admin-cleanup {
    align-items: stretch;
    flex-direction: column;
  }

  .marketplace-detail-layout,
  .marketplace-admin-detail,
  .marketplace-communication-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .marketplace-admin-row,
  .marketplace-report-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .marketplace-admin-row__media {
    width: 100%;
    aspect-ratio: 16 / 9;
  }

  .marketplace-admin-row__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .marketplace-screen .guest-main,
  .marketplace-screen .app-main {
    width: min(100% - 20px, var(--skate-public-container));
  }

  .marketplace-hero h1,
  .marketplace-detail-hero h1 {
    font-size: 2rem;
    line-height: 1.02;
  }

  .marketplace-hero__actions .btn,
  .marketplace-form__actions .btn,
  .marketplace-filter__actions .btn,
  .marketplace-contact-actions .btn,
  .marketplace-admin-row__actions .btn,
  .marketplace-report-row__actions .btn {
    width: 100%;
  }

  .marketplace-card__facts div,
  .marketplace-detail-facts div {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }
}
/* === SKATE handoff: site loader + filesystem gallery CSS END === */

/* EVENT AWARDS ADMIN */
.event-awards-screen .app-main {
  display: grid;
  gap: 22px;
}

.event-awards-hero,
.event-awards-summary-grid,
.event-awards-layout,
.event-awards-event-grid {
  width: 100%;
}

.event-awards-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.event-awards-hero__actions,
.event-awards-order-actions,
.event-awards-line-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.event-awards-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) repeat(3, minmax(130px, 1fr));
  gap: 14px;
}

.event-awards-summary-card,
.event-awards-kpi,
.event-awards-panel,
.event-awards-picker,
.event-awards-event-card,
.event-awards-empty {
  min-width: 0;
}

.event-awards-summary-card dl,
.event-awards-event-card dl,
.event-awards-product-card dl {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
}

.event-awards-summary-card dl {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.event-awards-summary-card dl div,
.event-awards-event-card dl div,
.event-awards-product-card dl div,
.event-awards-schema-list div {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.2);
}

.event-awards-summary-card dt,
.event-awards-event-card dt,
.event-awards-product-card dt,
.event-awards-schema-list dt {
  margin: 0 0 3px;
  color: var(--skate-text-muted);
  font-size: 0.78rem;
  text-transform: uppercase;
}

.event-awards-summary-card dd,
.event-awards-event-card dd,
.event-awards-product-card dd,
.event-awards-schema-list dd {
  margin: 0;
  color: var(--skate-text);
  font-weight: 700;
}

.event-awards-kpi {
  display: grid;
  align-content: center;
  gap: 4px;
}

.event-awards-kpi strong {
  color: var(--skate-yellow);
  font-size: 2rem;
  line-height: 1;
}

.event-awards-kpi span,
.event-awards-muted {
  color: var(--skate-text-muted);
}

.event-awards-layout {
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.event-awards-sidebar,
.event-awards-main {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.event-awards-section-head {
  display: grid;
  gap: 4px;
  margin: 0 0 16px;
}

.event-awards-section-head h2,
.event-awards-product-card h3,
.event-awards-event-card h2,
.event-awards-email-log h3 {
  margin: 0;
}

.event-awards-section-head p,
.event-awards-product-card p,
.event-awards-event-card p {
  margin: 0;
  color: var(--skate-text-muted);
}

.event-awards-filter,
.event-awards-form,
.event-awards-inline-form,
.event-awards-line-form {
  display: grid;
  gap: 12px;
}

.event-awards-filter {
  grid-template-columns: minmax(180px, 1fr) minmax(140px, 190px) minmax(140px, 190px) auto auto;
  align-items: end;
}

.event-awards-filter input,
.event-awards-filter select,
.event-awards-form input,
.event-awards-form select,
.event-awards-form textarea,
.event-awards-inline-form input,
.event-awards-line-form input,
.event-awards-line-form select,
.event-awards-line-form textarea,
.event-awards-order-actions select {
  width: 100%;
  min-width: 0;
}

.event-awards-form--grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.event-awards-form__wide,
.event-awards-form button,
.event-awards-line-form > label,
.event-awards-line-actions {
  grid-column: 1 / -1;
}

.event-awards-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  color: var(--skate-text-soft);
}

.event-awards-checks label {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}

.event-awards-details {
  margin-block-start: 14px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.16);
}

.event-awards-details summary,
.event-awards-supplier-item summary {
  cursor: pointer;
  padding: 12px 14px;
  color: var(--skate-text);
  font-weight: 800;
}

.event-awards-details .event-awards-form,
.event-awards-supplier-item .event-awards-form {
  padding: 0 14px 14px;
}

.event-awards-order-list,
.event-awards-supplier-list,
.event-awards-line-list,
.event-awards-email-log {
  display: grid;
  gap: 10px;
}

.event-awards-order-link,
.event-awards-supplier-item,
.event-awards-line-card,
.event-awards-email-log article {
  min-width: 0;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.2);
}

.event-awards-order-link {
  display: grid;
  gap: 3px;
  padding: 12px;
  color: var(--skate-text);
  text-decoration: none;
}

.event-awards-order-link.is-active {
  border-color: rgba(var(--skate-yellow-rgb), 0.72);
  box-shadow: 0 0 0 1px rgba(var(--skate-yellow-rgb), 0.24);
}

.event-awards-order-link span,
.event-awards-product-card header span,
.event-awards-event-card header span,
.event-awards-email-log span {
  width: fit-content;
  padding: 4px 8px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.32);
  border-radius: 999px;
  color: var(--skate-yellow);
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.event-awards-order-link small,
.event-awards-email-log small {
  color: var(--skate-text-muted);
}

.event-awards-supplier-item summary {
  display: grid;
  gap: 4px;
}

.event-awards-supplier-item summary span {
  color: var(--skate-yellow);
  font-size: 0.75rem;
  text-transform: uppercase;
}

.event-awards-event-grid,
.event-awards-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.event-awards-product-grid {
  margin-block-start: 16px;
}

.event-awards-event-card,
.event-awards-product-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.22);
}

.event-awards-product-card header,
.event-awards-event-card header,
.event-awards-line-card header,
.event-awards-total-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.event-awards-inline-form {
  grid-template-columns: minmax(90px, 120px) auto;
  align-items: end;
}

.event-awards-total-row {
  margin: 16px 0;
  padding: 12px;
  border: 1px solid var(--skate-border);
  border-radius: 8px;
  background: rgba(var(--skate-yellow-rgb), 0.08);
}

.event-awards-total-row span {
  color: var(--skate-text-muted);
  font-weight: 800;
  text-transform: uppercase;
}

.event-awards-total-row strong {
  color: var(--skate-yellow);
}

.event-awards-line-card {
  padding: 14px;
}

.event-awards-line-form__head,
.event-awards-line-form__grid {
  display: grid;
  gap: 10px;
}

.event-awards-line-form__head {
  grid-template-columns: minmax(0, 2fr) minmax(120px, 1fr);
}

.event-awards-line-form__grid {
  grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(90px, 1fr));
}

.event-awards-email-panel {
  margin-block-start: 20px;
  padding-block-start: 18px;
  border-block-start: 1px solid var(--skate-border);
}

.event-awards-email-log {
  margin-block-start: 16px;
}

.event-awards-email-log article {
  display: grid;
  gap: 4px;
  padding: 12px;
}

.event-awards-schema-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 0;
}

.event-awards-empty {
  color: var(--skate-text-muted);
}

@media (max-width: 1080px) {
  .event-awards-summary-grid,
  .event-awards-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .event-awards-event-grid,
  .event-awards-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .event-awards-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .event-awards-summary-card dl,
  .event-awards-form--grid,
  .event-awards-filter,
  .event-awards-event-grid,
  .event-awards-product-grid,
  .event-awards-line-form__head,
  .event-awards-line-form__grid,
  .event-awards-schema-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .event-awards-inline-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .event-awards-order-actions,
  .event-awards-line-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .event-awards-order-actions button,
  .event-awards-line-actions button,
  .event-awards-filter button,
  .event-awards-filter a,
  .event-awards-form button,
  .event-awards-inline-form button {
    width: 100%;
  }
}

/* Public events list */
.events-page {
  --events-panel: rgba(var(--skate-white-rgb), 0.045);
  --events-panel-strong: rgba(var(--skate-white-rgb), 0.075);
  --events-border: rgba(var(--skate-white-rgb), 0.12);
  --events-border-strong: rgba(var(--skate-yellow-rgb), 0.34);
  display: grid;
  gap: clamp(14px, 3vw, 22px);
  width: 100%;
  max-width: 1120px;
  margin-inline: auto;
  padding-block-end: calc(var(--skate-bottom-nav-height) + var(--skate-safe-bottom) + 34px);
  overflow-x: clip;
}

.events-page,
.events-page * {
  box-sizing: border-box;
  min-width: 0;
}

.events-page .events-hero,
.events-page .events-empty {
  width: 100%;
  border: 1px solid var(--events-border-strong);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(var(--skate-black-rgb), 0.24), 0 0 22px rgba(var(--skate-yellow-rgb), 0.08);
}

.events-page .events-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(132px, 20vw, 178px);
  overflow: hidden;
  padding: clamp(22px, 5vw, 40px);
  background:
    radial-gradient(circle at 88% 16%, rgba(var(--skate-yellow-rgb), 0.28), transparent 30%),
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.15), transparent 38%),
    linear-gradient(145deg, rgba(var(--skate-white-rgb), 0.075), rgba(var(--skate-black-rgb), 0.22)),
    var(--skate-card);
}

.events-page .events-hero::after {
  content: "";
  position: absolute;
  right: clamp(-48px, -4vw, -18px);
  top: 50%;
  z-index: -1;
  width: clamp(130px, 26vw, 250px);
  aspect-ratio: 1;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.22);
  border-radius: 50%;
  background:
    linear-gradient(130deg, transparent 0 43%, rgba(var(--skate-yellow-rgb), 0.22) 44% 46%, transparent 47%),
    radial-gradient(circle, transparent 42%, rgba(var(--skate-yellow-rgb), 0.18) 43% 44%, transparent 45%);
  opacity: 0.82;
  transform: translateY(-50%) rotate(-14deg);
}

.events-page .events-hero__copy {
  display: grid;
  gap: 8px;
  max-width: 620px;
}

.events-page .events-hero h1 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(2rem, 8vw, 4.25rem);
  font-weight: 950;
  line-height: 0.98;
  letter-spacing: 0;
}

.events-page .events-hero p {
  max-width: 34rem;
  margin: 0;
  color: var(--skate-text-muted);
  font-size: clamp(1rem, 2.5vw, 1.2rem);
  line-height: 1.45;
}

.events-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  width: 100%;
  padding: 6px;
  border: 1px solid var(--events-border);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.24);
}

.events-tabs--program {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
}

.events-tabs__item {
  position: relative;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--skate-text-muted);
  font-size: clamp(0.82rem, 2.8vw, 0.95rem);
  font-weight: 900;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.events-tabs__item small {
  color: inherit;
  font-size: 0.72em;
  font-weight: 850;
  opacity: 0.76;
}

.events-tabs__item--live span::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 7px;
  border-radius: 999px;
  background: var(--skate-live);
  box-shadow: 0 0 0 3px rgba(var(--skate-live-rgb), 0.13);
  vertical-align: middle;
}

.events-tabs__item:hover,
.events-tabs__item:focus-visible {
  border-color: rgba(var(--skate-white-rgb), 0.18);
  background: rgba(var(--skate-white-rgb), 0.06);
  color: var(--skate-text);
}

.events-tabs__item.is-active {
  border-color: rgba(var(--skate-yellow-rgb), 0.7);
  background: var(--skate-yellow);
  color: var(--skate-black);
  box-shadow: 0 10px 26px rgba(var(--skate-yellow-rgb), 0.2);
}

.events-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: stretch;
  width: 100%;
}

.events-search__field {
  position: relative;
  display: flex;
  min-height: 50px;
  align-items: center;
  border: 1px solid var(--events-border);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.24);
}

.events-search__field:focus-within {
  border-color: rgba(var(--skate-yellow-rgb), 0.54);
  box-shadow: 0 0 0 3px rgba(var(--skate-yellow-rgb), 0.12);
}

.events-search__icon {
  position: absolute;
  left: 16px;
  width: 18px;
  height: 18px;
  pointer-events: none;
}

.events-search__icon::before,
.events-search__icon::after {
  content: "";
  position: absolute;
  display: block;
}

.events-search__icon::before {
  inset: 0 4px 4px 0;
  border: 2px solid rgba(var(--skate-white-rgb), 0.72);
  border-radius: 50%;
}

.events-search__icon::after {
  right: 0;
  bottom: 0;
  width: 8px;
  height: 2px;
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.72);
  transform: rotate(45deg);
  transform-origin: center;
}

.events-search input[type="search"] {
  width: 100%;
  min-height: 48px;
  padding: 0 14px 0 46px;
  border: 0;
  border-radius: 8px;
  outline: 0;
  background: transparent;
  color: var(--skate-text);
  font: inherit;
  font-size: 1rem;
}

.events-search input[type="search"]::placeholder {
  color: rgba(var(--skate-white-rgb), 0.52);
}

.events-filter-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.56);
  border-radius: 8px;
  background: rgba(var(--skate-yellow-rgb), 0.08);
  color: var(--skate-yellow);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.events-filter-button::before {
  content: "";
  width: 15px;
  height: 11px;
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  background: linear-gradient(currentColor, currentColor) center / 9px 2px no-repeat;
}

.events-filter-button:hover,
.events-filter-button:focus-visible {
  background: var(--skate-yellow);
  color: var(--skate-black);
}

.events-featured-section,
.events-list-section {
  display: grid;
  gap: 12px;
}

.events-section-title {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
  justify-content: space-between;
}

.events-section-title h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1rem, 3.6vw, 1.35rem);
  font-weight: 950;
  letter-spacing: 0;
}

.events-section-title span {
  color: var(--skate-text-muted);
  font-size: 0.9rem;
  font-weight: 800;
}

.events-list {
  display: grid;
  gap: 10px;
}

.events-page .event-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  width: 100%;
  overflow: hidden;
  padding: 14px;
  border: 1px solid var(--events-border);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(var(--skate-white-rgb), 0.05), rgba(var(--skate-black-rgb), 0.08)),
    var(--events-panel);
  box-shadow: 0 12px 28px rgba(var(--skate-black-rgb), 0.18);
}

.events-page .event-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--skate-yellow);
  opacity: 0.9;
}

.events-page .events-highlight-card {
  align-items: stretch;
  padding: clamp(16px, 3.5vw, 24px);
  border-width: 2px;
  border-color: rgba(var(--skate-yellow-rgb), 0.72);
  background:
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.18), rgba(var(--skate-white-rgb), 0.07)),
    var(--events-panel);
  box-shadow:
    0 18px 42px rgba(var(--skate-black-rgb), 0.28),
    0 0 0 1px rgba(var(--skate-yellow-rgb), 0.12),
    0 0 28px rgba(var(--skate-yellow-rgb), 0.12);
}

.events-page .events-highlight-card::before {
  width: 5px;
  opacity: 1;
}

.events-page .events-highlight-card .event-date-box {
  border-color: rgba(var(--skate-yellow-rgb), 0.42);
  background:
    linear-gradient(180deg, rgba(var(--skate-yellow-rgb), 0.16), rgba(var(--skate-black-rgb), 0.16)),
    rgba(var(--skate-black-rgb), 0.34);
}

.event-date-box {
  display: grid;
  width: clamp(68px, 17vw, 82px);
  min-height: 86px;
  place-items: center;
  align-self: stretch;
  padding: 10px 8px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.12);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.06), rgba(var(--skate-black-rgb), 0.12)),
    rgba(var(--skate-black-rgb), 0.28);
  color: var(--skate-text);
  text-align: center;
}

.event-date-box__month,
.event-date-box__weekday {
  font-size: 0.76rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.event-date-box__month {
  color: var(--skate-yellow);
}

.event-date-box__day {
  color: var(--skate-text);
  font-size: clamp(2rem, 8vw, 2.7rem);
  font-weight: 950;
  line-height: 0.94;
}

.event-date-box__weekday {
  color: var(--skate-text-muted);
}

.event-card__content {
  display: grid;
  gap: 10px;
}

.event-card__head {
  display: grid;
  gap: 10px;
}

.event-card__title-group {
  display: grid;
  gap: 7px;
}

.events-page .event-card h3 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1rem, 4.4vw, 1.35rem);
  font-weight: 950;
  line-height: 1.16;
  letter-spacing: 0;
}

.events-page .events-highlight-card h3 {
  font-size: clamp(1.22rem, 5vw, 1.72rem);
}

.event-card__meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  align-items: center;
  color: var(--skate-text-muted);
  font-size: 0.92rem;
  line-height: 1.35;
}

.event-card__place,
.event-card__type {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.event-card__place::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--skate-yellow);
  box-shadow: 0 0 0 3px rgba(var(--skate-yellow-rgb), 0.12);
}

.event-card__type::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.78);
  border-radius: 2px;
}

.event-card__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.event-category-chip.skate-category-token {
  min-height: 24px;
  padding: 4px 8px;
  font-size: 0.76rem;
  font-weight: 900;
}

.event-status-badge {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}

.event-status-badge--live {
  border-color: rgba(var(--skate-live-rgb), 0.46);
  background: rgba(var(--skate-live-rgb), 0.15);
  color: var(--skate-pink-300);
}

.event-status-badge--upcoming {
  border-color: rgba(var(--skate-success-rgb), 0.34);
  background: rgba(var(--skate-success-rgb), 0.14);
  color: var(--skate-green-bright);
}

.event-status-badge--concluded {
  border-color: rgba(var(--skate-white-rgb), 0.16);
  background: rgba(var(--skate-white-rgb), 0.09);
  color: rgba(var(--skate-white-rgb), 0.74);
}

.event-status-badge--archive {
  border-color: rgba(var(--skate-white-rgb), 0.12);
  background: rgba(var(--skate-black-rgb), 0.34);
  color: rgba(var(--skate-white-rgb), 0.62);
}

.event-card__actions {
  display: flex;
  grid-column: 1 / -1;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
}

.event-action-button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 9px 14px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.5);
  border-radius: 8px;
  background: rgba(var(--skate-yellow-rgb), 0.08);
  color: var(--skate-yellow);
  font-size: 0.9rem;
  font-weight: 950;
  text-decoration: none;
}

.event-action-button--program,
.event-action-button--details {
  background: var(--skate-yellow);
  color: var(--skate-black);
}

.event-action-button--live {
  border-color: rgba(var(--skate-live-rgb), 0.48);
  background: rgba(var(--skate-live-rgb), 0.1);
  color: var(--skate-pink-300);
}

.event-action-button--results {
  border-color: rgba(var(--skate-yellow-rgb), 0.42);
  background: rgba(var(--skate-white-rgb), 0.08);
  color: var(--skate-yellow);
}

.event-action-button:hover,
.event-action-button:focus-visible {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.fisr-calendar-section,
.events-live-dashboard {
  display: grid;
  gap: 12px;
}

.fisr-calendar-list {
  display: grid;
  gap: 10px;
}

.fisr-calendar-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  overflow: hidden;
  padding: 12px;
  border: 1px solid var(--events-border);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(var(--skate-white-rgb), 0.05), rgba(var(--skate-black-rgb), 0.08)),
    var(--events-panel);
  box-shadow: 0 12px 28px rgba(var(--skate-black-rgb), 0.16);
}

.fisr-calendar-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: rgba(var(--skate-yellow-rgb), 0.92);
}

.fisr-calendar-card--skate::before {
  background: rgb(45, 211, 255);
}

.fisr-calendar-card__date {
  display: grid;
  width: clamp(68px, 17vw, 82px);
  min-height: 78px;
  place-items: center;
  align-self: start;
  padding: 9px 7px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.12);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.06), rgba(var(--skate-black-rgb), 0.12)),
    rgba(var(--skate-black-rgb), 0.28);
  color: var(--skate-text);
  text-align: center;
}

.fisr-calendar-card__date span {
  color: var(--skate-yellow);
  font-size: 0.68rem;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.fisr-calendar-card__date strong {
  color: var(--skate-text);
  font-size: clamp(1.05rem, 4.6vw, 1.45rem);
  font-weight: 950;
  line-height: 1.02;
}

.fisr-calendar-card__body {
  display: grid;
  gap: 8px;
}

.fisr-calendar-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.fisr-calendar-card__badges span,
.fisr-calendar-card__badges em {
  display: inline-flex;
  width: fit-content;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.38);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.10);
  color: var(--skate-yellow);
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 950;
  line-height: 1;
}

.fisr-calendar-card--skate .fisr-calendar-card__badges span {
  border-color: rgba(45, 211, 255, 0.48);
  background: rgba(45, 211, 255, 0.12);
  color: rgb(45, 211, 255);
}

.fisr-calendar-card__badges em {
  border-color: rgba(var(--skate-white-rgb), 0.12);
  background: rgba(var(--skate-white-rgb), 0.06);
  color: var(--skate-text-muted);
}

.fisr-calendar-card__badges em.is-live {
  border-color: rgba(var(--skate-live-rgb), 0.48);
  background: rgba(var(--skate-live-rgb), 0.14);
  color: var(--skate-pink-300);
}

.fisr-calendar-card h3 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1rem, 4.2vw, 1.28rem);
  font-weight: 950;
  line-height: 1.15;
  letter-spacing: 0;
}

.fisr-calendar-card__place,
.fisr-calendar-card__organizer {
  margin: 0;
  color: var(--skate-text-muted);
  font-size: 0.9rem;
  line-height: 1.35;
}

.fisr-calendar-card__action {
  display: inline-flex;
  width: fit-content;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.55);
  border-radius: 8px;
  background: var(--skate-yellow);
  color: var(--skate-black);
  font-size: 0.86rem;
  font-weight: 950;
  text-decoration: none;
}

.events-live-status {
  border-color: rgba(var(--skate-white-rgb), 0.12);
}

.events-live-status--active {
  border-color: rgba(var(--skate-live-rgb), 0.38);
  background:
    radial-gradient(circle at 94% 0%, rgba(var(--skate-live-rgb), 0.12), transparent 40%),
    rgba(var(--skate-white-rgb), 0.045);
}

.events-page .events-empty {
  display: grid;
  gap: 8px;
  padding: 18px;
  background: rgba(var(--skate-white-rgb), 0.045);
}

.events-page .events-empty--inline {
  box-shadow: none;
}

.events-page .events-empty h2,
.events-page .events-empty h3,
.events-page .events-empty p {
  margin: 0;
}

.events-page .events-empty h2,
.events-page .events-empty h3 {
  color: var(--skate-text);
  letter-spacing: 0;
}

.events-page .events-empty p {
  color: var(--skate-text-muted);
}

@media (max-width: 440px) {
  .events-tabs {
    gap: 4px;
    padding: 4px;
  }

  .events-tabs__item {
    min-height: 44px;
    padding-inline: 4px;
  }

  .events-tabs--program {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .events-search {
    grid-template-columns: minmax(0, 1fr);
  }

  .events-filter-button {
    width: 100%;
  }

  .events-page .event-card {
    gap: 12px;
    padding: 12px;
  }

  .event-date-box {
    width: 64px;
  }
}

@media (min-width: 760px) {
  .events-page .event-card {
    grid-template-columns: 86px minmax(0, 1fr) auto;
  }

  .events-page .events-highlight-card {
    grid-template-columns: 98px minmax(0, 1fr) auto;
  }

  .event-card__head {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }

  .event-card__actions {
    grid-column: auto;
    align-self: center;
    justify-content: flex-end;
  }

  .event-action-button {
    min-width: 112px;
  }
}

@media (min-width: 1020px) {
  .events-page {
    gap: 24px;
  }

  .events-page .event-card {
    padding-inline: 18px;
  }

  .events-page .events-highlight-card {
    padding-inline: 24px;
  }
}

.events-page--dashboard {
  --events-panel: rgba(var(--skate-white-rgb), 0.045);
  --events-panel-strong: rgba(var(--skate-white-rgb), 0.072);
  --events-border: rgba(var(--skate-white-rgb), 0.12);
  --events-border-strong: rgba(var(--skate-yellow-rgb), 0.34);
  max-width: 1180px;
}

.events-page--dashboard .events-hero h1 {
  font-size: clamp(2.05rem, 5vw, 3.25rem);
}

.events-page--dashboard .events-tabs--app {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 6px;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}

.events-page--dashboard .events-tabs--app::-webkit-scrollbar {
  display: none;
}

.events-page--dashboard .events-tabs__item {
  flex: 1 0 min(220px, 54vw);
  min-height: 58px;
  justify-content: center;
  padding: 10px 12px;
  cursor: pointer;
  scroll-snap-align: start;
}

.events-tabs__icon,
.events-section-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

.events-section-icon {
  color: var(--skate-yellow);
  vertical-align: -4px;
}

.events-panels,
.events-panel {
  display: grid;
  gap: 14px;
}

.events-panel[hidden],
.events-detail-view[hidden] {
  display: none !important;
}

.events-dashboard-grid {
  display: grid;
  gap: 16px;
}

.events-dashboard-main,
.events-dashboard-side {
  display: grid;
  gap: 16px;
  align-content: start;
}

.events-section,
.events-legend,
.events-detail-view__panel {
  display: grid;
  gap: 14px;
  padding: clamp(14px, 2.4vw, 20px);
  border: 1px solid var(--events-border);
  border-radius: 8px;
  background:
    radial-gradient(circle at 96% 0%, rgba(var(--skate-yellow-rgb), 0.09), transparent 38%),
    linear-gradient(145deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-black-rgb), 0.12)),
    var(--events-panel);
  box-shadow: 0 18px 42px rgba(var(--skate-black-rgb), 0.20);
}

.events-section--live {
  border-color: rgba(var(--skate-yellow-rgb), 0.26);
}

.events-section-title h2 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.events-section-title__actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.events-notify-button {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 7px 12px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.36);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.08), rgba(var(--skate-black-rgb), 0.22));
  color: var(--skate-text-muted);
  font-size: 0.76rem;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, opacity 0.18s ease;
}

.events-notify-button:hover,
.events-notify-button:focus-visible,
.events-notify-button.is-enabled {
  border-color: rgba(var(--skate-yellow-rgb), 0.72);
  background: rgba(var(--skate-yellow-rgb), 0.13);
  color: var(--skate-yellow);
  outline: 0;
}

.events-notify-button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.events-notify-button.is-busy {
  opacity: 0.72;
}

.events-notify-button__icon {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}

.events-notify-button__label {
  min-width: 0;
}

.events-notify-button__divider {
  display: none;
  width: 1px;
  height: 26px;
  flex: 0 0 auto;
  background: rgba(var(--skate-white-rgb), 0.22);
}

.events-notify-button__info {
  display: none;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 950;
  line-height: 1;
}

.events-notify-button--card {
  margin-left: auto;
  min-height: 28px;
  padding: 5px 8px;
  font-size: 0.68rem;
}

.events-notify-button.is-unavailable {
  cursor: pointer;
  gap: 12px;
  min-width: 92px;
  min-height: 42px;
  padding: 8px 14px;
  border-color: rgba(var(--skate-yellow-rgb), 0.46);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.09), rgba(var(--skate-black-rgb), 0.22)),
    rgba(var(--skate-black-rgb), 0.34);
  color: var(--skate-text);
}

.events-notify-button.is-unavailable .events-notify-button__divider,
.events-notify-button.is-unavailable .events-notify-button__info {
  display: inline-flex;
}

.events-notify-button.is-unavailable .events-notify-button__icon {
  width: 22px;
  height: 22px;
}

.events-page--push-unavailable .events-notify-button--card {
  width: auto;
  min-width: 92px;
  padding-inline: 14px;
}

.events-page--push-unavailable .events-notify-button__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.events-page--push-unavailable .events-notify-button--section {
  max-width: 100%;
}

.events-push-help[hidden] {
  display: none !important;
}

.events-push-help {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: end center;
  padding: 18px;
}

.events-push-help__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(var(--skate-black-rgb), 0.72);
  backdrop-filter: blur(10px);
}

.events-push-help__panel {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(100%, 430px);
  gap: 12px;
  padding: 20px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.38);
  border-radius: 8px;
  background:
    radial-gradient(circle at 90% 0%, rgba(var(--skate-yellow-rgb), 0.14), transparent 36%),
    linear-gradient(145deg, rgba(var(--skate-white-rgb), 0.08), rgba(var(--skate-black-rgb), 0.18)),
    rgb(14, 14, 14);
  box-shadow: 0 24px 70px rgba(var(--skate-black-rgb), 0.58);
}

.events-push-help__close {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(var(--skate-white-rgb), 0.14);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.06);
  color: var(--skate-text);
  font-size: 1.35rem;
  font-weight: 850;
  cursor: pointer;
}

.events-push-help__icon {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.58);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.12);
  color: var(--skate-yellow);
  font-weight: 950;
}

.events-push-help h2,
.events-push-help p {
  margin: 0;
}

.events-push-help h2 {
  padding-right: 38px;
  color: var(--skate-text);
  font-size: 1.35rem;
  font-weight: 950;
  letter-spacing: 0;
}

.events-push-help p,
.events-push-help li {
  color: var(--skate-text-muted);
  font-size: 0.95rem;
  line-height: 1.42;
}

.events-push-help ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 20px;
}

.events-push-help__action {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.62);
  border-radius: 8px;
  background: var(--skate-yellow);
  color: var(--skate-black);
  font-weight: 950;
  cursor: pointer;
}

.events-card-list {
  display: grid;
  gap: 10px;
}

.events-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
  overflow: hidden;
  padding: 12px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.11);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(var(--skate-white-rgb), 0.052), rgba(var(--skate-black-rgb), 0.10)),
    rgba(var(--skate-black-rgb), 0.18);
}

.events-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: rgba(var(--skate-yellow-rgb), 0.72);
}

.events-card--skate::before {
  background: rgb(45, 211, 255);
}

.events-card.is-openable {
  cursor: pointer;
}

.events-card.is-selected {
  border-color: rgba(var(--skate-yellow-rgb), 0.72);
  box-shadow: 0 0 0 1px rgba(var(--skate-yellow-rgb), 0.14), 0 16px 34px rgba(var(--skate-yellow-rgb), 0.08);
}

.events-card-date {
  display: grid;
  width: clamp(72px, 16vw, 82px);
  min-height: 82px;
  place-items: center;
  align-self: start;
  padding: 9px 7px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.12);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.06), rgba(var(--skate-black-rgb), 0.14)),
    rgba(var(--skate-black-rgb), 0.32);
  text-align: center;
}

.events-card-date span,
.events-card-date small {
  color: var(--skate-yellow);
  font-size: 0.68rem;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.events-card-date strong {
  color: var(--skate-text);
  font-size: clamp(1.36rem, 5vw, 1.9rem);
  font-weight: 950;
  line-height: 1;
}

.events-card__content {
  display: grid;
  gap: 8px;
  align-content: start;
}

.events-card__badges,
.events-card__chips,
.events-card__actions,
.events-detail-view__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.events-card h3,
.events-live-card h3,
.events-legend h2,
.events-detail-view h2 {
  margin: 0;
  color: var(--skate-text);
  font-weight: 950;
  letter-spacing: 0;
}

.events-card h3 {
  font-size: clamp(1rem, 3.4vw, 1.16rem);
  line-height: 1.18;
}

.events-card p,
.events-live-card p,
.events-legend p {
  margin: 0;
  color: var(--skate-text-muted);
  font-size: 0.9rem;
  line-height: 1.42;
}

.events-badge,
.events-program-missing {
  display: inline-flex;
  width: fit-content;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.34);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.10);
  color: var(--skate-yellow);
  font-size: 0.68rem;
  font-weight: 950;
  line-height: 1;
}

.events-badge--skate {
  border-color: rgba(45, 211, 255, 0.48);
  background: rgba(45, 211, 255, 0.12);
  color: rgb(45, 211, 255);
}

.events-badge--live {
  border-color: rgba(var(--skate-live-rgb), 0.48);
  background: rgba(var(--skate-live-rgb), 0.13);
  color: var(--skate-yellow);
}

.events-badge--soft,
.events-program-missing {
  border-color: rgba(var(--skate-white-rgb), 0.13);
  background: rgba(var(--skate-white-rgb), 0.06);
  color: var(--skate-text-muted);
}

.events-program-button,
.events-live-card__action,
.events-section-link,
.events-detail-view__action {
  display: inline-flex;
  width: fit-content;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 13px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.62);
  border-radius: 8px;
  background: var(--skate-yellow);
  color: var(--skate-black);
  font-size: 0.86rem;
  font-weight: 950;
  text-decoration: none;
}

.events-section-link {
  border-color: transparent;
  background: transparent;
  color: var(--skate-yellow);
  cursor: pointer;
}

.events-section-link__icon,
.events-live-card__icon {
  width: 16px;
  height: 16px;
}

.events-card__arrow {
  display: inline-flex;
  width: 40px;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  align-self: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--skate-text-muted);
  cursor: pointer;
  text-decoration: none;
}

.events-card__arrow:hover,
.events-card__arrow:focus-visible {
  background: rgba(var(--skate-white-rgb), 0.08);
  color: var(--skate-yellow);
  outline: 0;
}

.events-card__arrow-icon {
  width: 22px;
  height: 22px;
}

.events-live-card {
  display: grid;
  gap: 16px;
  min-width: 0;
  padding: clamp(14px, 3vw, 20px);
  border: 1px solid rgba(var(--skate-white-rgb), 0.14);
  border-radius: 8px;
  background:
    radial-gradient(circle at 96% 20%, rgba(var(--skate-yellow-rgb), 0.15), transparent 36%),
    rgba(var(--skate-black-rgb), 0.24);
}

.events-live-card * {
  min-width: 0;
}

.events-live-card.is-live {
  border-color: rgba(var(--skate-yellow-rgb), 0.62);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--skate-live-rgb), 0.18), transparent 35%),
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.16), rgba(var(--skate-black-rgb), 0.12)),
    rgba(var(--skate-black-rgb), 0.20);
}

.events-live-card__copy {
  display: grid;
  gap: 8px;
}

.events-live-card__topline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.events-live-card__count {
  color: var(--skate-text-muted);
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1;
}

.events-live-card h3 {
  font-size: clamp(1.18rem, 4.6vw, 1.58rem);
  line-height: 1.1;
}

.events-live-card__meta {
  color: var(--skate-text);
  font-weight: 900;
}

.events-live-card__choices {
  display: grid;
  gap: 10px;
}

.events-live-card__choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.32);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.22);
  color: var(--skate-text);
  font-weight: 900;
  text-decoration: none;
}

.events-live-card__choice-copy {
  display: grid;
  gap: 4px;
}

.events-live-card__choice-copy strong {
  color: var(--skate-text);
  font-size: clamp(0.98rem, 3.4vw, 1.1rem);
  line-height: 1.16;
}

.events-live-card__choice:hover,
.events-live-card__choice:focus-visible {
  border-color: rgba(var(--skate-yellow-rgb), 0.68);
  background: rgba(var(--skate-yellow-rgb), 0.10);
  outline: 0;
}

.events-live-card__choice small {
  color: var(--skate-text-muted);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.25;
}

.events-live-card__choice-icon {
  width: 22px;
  height: 22px;
  color: var(--skate-yellow);
}

.events-live-card__action {
  width: 100%;
  min-height: 46px;
  border-radius: 10px;
}

.events-source {
  margin: 0;
  color: var(--skate-text-muted);
  font-size: 0.84rem;
}

.events-legend {
  border-color: rgba(45, 211, 255, 0.32);
  background:
    radial-gradient(circle at 0% 0%, rgba(45, 211, 255, 0.16), transparent 38%),
    rgba(var(--skate-black-rgb), 0.22);
}

.events-legend h2 {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: rgb(125, 211, 252);
  font-size: 1.1rem;
}

.events-legend__row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.events-detail-view {
  display: grid;
  gap: 12px;
}

.events-detail-view__back {
  display: inline-flex;
  width: fit-content;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.13);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.06);
  color: var(--skate-text);
  font-weight: 950;
  cursor: pointer;
}

.events-detail-view__back-icon {
  width: 18px;
  height: 18px;
}

.events-detail-view dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.events-detail-view dl div {
  display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.10);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.18);
}

.events-detail-view dt {
  color: var(--skate-text-muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.events-detail-view dd {
  margin: 0;
  color: var(--skate-text);
  font-weight: 850;
}

.events-page--dashboard.is-detail-open .events-panels {
  display: none;
}

@media (max-width: 640px) {
  .events-page--dashboard .events-hero {
    min-height: 104px;
    padding: 22px;
  }

  .events-page--dashboard .events-tabs__item {
    flex-basis: 112px;
    min-height: 74px;
    flex-direction: column;
    font-size: 0.78rem;
  }

  .events-card {
    grid-template-columns: auto minmax(0, 1fr) 32px;
    padding: 10px;
  }

  .events-card-date {
    width: 72px;
    min-height: 84px;
  }

  .events-card__arrow {
    width: 32px;
  }
}

@media (min-width: 900px) {
  .events-page--dashboard .events-tabs__item {
    flex: 1 1 0;
  }

  .events-dashboard-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
    align-items: start;
  }

  .events-live-card__action {
    width: fit-content;
  }
}

/* Admin event management refresh */
.events-admin-screen .event-admin-page {
  display: grid;
  gap: clamp(14px, 2.4vw, 22px);
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  padding-block-end: calc(var(--skate-bottom-nav-height, 76px) + var(--skate-safe-bottom, 0px) + 64px);
}

.events-admin-screen .event-admin-page,
.events-admin-screen .event-admin-page * {
  box-sizing: border-box;
  min-width: 0;
}

.events-admin-screen .event-admin-hero {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  border-color: rgba(var(--skate-yellow-rgb), 0.38);
  background:
    radial-gradient(circle at 92% 4%, rgba(var(--skate-yellow-rgb), 0.18), transparent 34%),
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.11), rgba(var(--skate-white-rgb), 0.045)),
    var(--skate-card);
}

.events-admin-screen .event-admin-hero h1,
.events-admin-screen .event-admin-panel-head h2,
.events-admin-screen .tournament-registration-admin-list__head h2,
.events-admin-screen .event-admin-form__head h2,
.events-admin-screen .event-admin-section-head h2,
.events-admin-screen .event-admin-side h2 {
  margin: 0;
  color: var(--skate-text);
  letter-spacing: 0;
}

.events-admin-screen .event-admin-hero p,
.events-admin-screen .event-admin-panel-head span,
.events-admin-screen .event-admin-form__head p,
.events-admin-screen .event-admin-section-head p,
.events-admin-screen .tournament-registration-admin-list__head p {
  margin: 0;
  color: var(--skate-text-muted);
  line-height: 1.5;
}

.events-admin-screen .event-admin-hero__actions {
  justify-content: flex-start;
}

.events-admin-screen .event-admin-hero__actions a,
.events-admin-screen .event-admin-row__actions a,
.events-admin-screen .event-admin-form__actions a,
.events-admin-screen .event-admin-form__actions button,
.events-admin-screen .event-admin-filter__actions button,
.events-admin-screen .event-admin-filter__actions a,
.events-admin-screen .event-admin-fisr-calendar button,
.events-admin-screen .tournament-registration-admin-list__head .btn,
.events-admin-screen .tournament-team-pagination .btn {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 9px 14px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.46);
  border-radius: 8px;
  background: rgba(var(--skate-yellow-rgb), 0.08);
  color: var(--skate-yellow);
  font: inherit;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}

.events-admin-screen .event-admin-hero__actions a:first-child,
.events-admin-screen .event-admin-form__actions button,
.events-admin-screen .event-admin-filter__actions button,
.events-admin-screen .event-admin-fisr-calendar button,
.events-admin-screen .tournament-registration-admin-list__head .btn-primary {
  border-color: rgba(var(--skate-yellow-rgb), 0.72);
  background: var(--skate-yellow);
  color: var(--skate-black);
}

.events-admin-screen .event-admin-fisr-calendar form {
  display: flex;
  justify-content: flex-end;
}

.events-admin-screen .event-admin-hero__meta {
  margin-block-start: 12px;
}

.events-admin-screen .event-admin-stats,
.events-admin-screen .tournament-registration-admin-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 142px), 1fr));
  gap: 10px;
}

.events-admin-screen .event-admin-stats article,
.events-admin-screen .tournament-registration-admin-stats article {
  display: grid;
  gap: 7px;
  min-height: 86px;
  padding: 14px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.11);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.06), rgba(var(--skate-black-rgb), 0.10)),
    rgba(var(--skate-black-rgb), 0.18);
  box-shadow: 0 10px 26px rgba(var(--skate-black-rgb), 0.14);
}

.events-admin-screen .event-admin-stats span,
.events-admin-screen .tournament-registration-admin-stats span {
  color: var(--skate-text-muted);
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.events-admin-screen .event-admin-stats strong,
.events-admin-screen .tournament-registration-admin-stats strong {
  color: var(--skate-text);
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 950;
  line-height: 1;
}

.events-admin-screen .event-admin-filter-panel,
.events-admin-screen .event-admin-side,
.events-admin-screen .event-admin-block-create,
.events-admin-screen .events-admin-empty {
  border-color: rgba(var(--skate-white-rgb), 0.12);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-black-rgb), 0.12)),
    var(--skate-card);
}

.events-admin-screen .event-admin-panel-head,
.events-admin-screen .tournament-registration-admin-list__head {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-block-end: 14px;
}

.events-admin-screen .event-admin-filter,
.events-admin-screen .event-admin-form {
  gap: 12px;
}

.events-admin-screen .event-admin-filter label,
.events-admin-screen .event-admin-form label {
  color: var(--skate-text-muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.events-admin-screen .event-admin-filter input,
.events-admin-screen .event-admin-filter select,
.events-admin-screen .event-admin-form input,
.events-admin-screen .event-admin-form select,
.events-admin-screen .event-admin-form textarea {
  border-color: rgba(var(--skate-white-rgb), 0.14);
  background: rgba(var(--skate-black-rgb), 0.24);
  color: var(--skate-text);
}

.events-admin-screen .event-admin-filter input:focus,
.events-admin-screen .event-admin-filter select:focus,
.events-admin-screen .event-admin-form input:focus,
.events-admin-screen .event-admin-form select:focus,
.events-admin-screen .event-admin-form textarea:focus {
  border-color: rgba(var(--skate-yellow-rgb), 0.58);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(var(--skate-yellow-rgb), 0.12);
}

.events-admin-screen .event-admin-filter__actions,
.events-admin-screen .event-admin-form__actions,
.events-admin-screen .event-admin-row__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.events-admin-screen .event-admin-list,
.events-admin-screen .tournament-registration-admin-list,
.events-admin-screen .event-admin-block-list {
  display: grid;
  gap: 12px;
}

.events-admin-screen .event-admin-event-card {
  position: relative;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  overflow: hidden;
  padding: 12px;
  border-color: rgba(var(--skate-white-rgb), 0.12);
  background:
    linear-gradient(135deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-black-rgb), 0.12)),
    rgba(var(--skate-card-rgb), 0.88);
  box-shadow: 0 12px 32px rgba(var(--skate-black-rgb), 0.16);
}

.events-admin-screen .event-admin-event-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--skate-yellow);
  opacity: 0.82;
}

.events-admin-screen .event-admin-date-box {
  display: grid;
  width: 64px;
  min-height: 76px;
  place-items: center;
  align-self: start;
  padding: 8px 7px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.12);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.045), rgba(var(--skate-black-rgb), 0.10)),
    rgba(var(--skate-black-rgb), 0.26);
  text-align: center;
}

.events-admin-screen .event-admin-date-box span,
.events-admin-screen .event-admin-date-box small {
  color: var(--skate-yellow);
  font-size: 0.72rem;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.events-admin-screen .event-admin-date-box small {
  color: var(--skate-text-muted);
}

.events-admin-screen .event-admin-date-box strong {
  color: var(--skate-text);
  font-size: 1.86rem;
  font-weight: 950;
  line-height: 0.95;
}

.events-admin-screen .event-admin-event-card__main {
  display: grid;
  gap: 9px;
}

.events-admin-screen .event-admin-event-card .event-card__meta {
  gap: 6px;
}

.events-admin-screen .event-admin-event-card .event-card__meta span,
.events-admin-screen .event-admin-event-card .event-status {
  min-height: 26px;
  padding: 4px 9px;
  font-size: 0.76rem;
}

.events-admin-screen .event-admin-row h2,
.events-admin-screen .tournament-registration-admin-card h2 {
  margin: 0;
  color: var(--skate-text);
  font-size: clamp(1.02rem, 3.6vw, 1.35rem);
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.events-admin-screen .event-admin-row h2 a {
  color: inherit;
  text-decoration: none;
}

.events-admin-screen .event-card__facts {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

.events-admin-screen .event-card__facts div {
  display: grid;
  grid-template-columns: minmax(68px, 0.34fr) minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 8px 10px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.08);
  background: rgba(var(--skate-black-rgb), 0.18);
}

.events-admin-screen .event-card__facts dt {
  color: var(--skate-text-muted);
  font-size: 0.68rem;
  letter-spacing: 0;
}

.events-admin-screen .event-card__facts dd {
  color: var(--skate-text);
  font-size: 0.92rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.events-admin-screen .event-admin-event-card .event-admin-row__actions {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 128px), 1fr));
  width: 100%;
}

.events-admin-screen .event-admin-event-card .event-admin-row__actions a {
  width: 100%;
}

.events-admin-screen .event-admin-layout {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

.events-admin-screen .event-admin-form {
  border-color: rgba(var(--skate-white-rgb), 0.12);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.055), rgba(var(--skate-black-rgb), 0.10)),
    var(--skate-card);
}

.events-admin-screen .event-admin-form__head {
  padding-block-end: 4px;
}

.events-admin-screen .event-admin-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.10);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.16);
}

.events-admin-screen .event-admin-checks label {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 8px;
  color: var(--skate-text);
  text-transform: none;
}

.events-admin-screen .event-admin-checks input {
  width: 18px;
  min-height: 18px;
}

.events-admin-screen .event-admin-side {
  display: grid;
  gap: 14px;
}

.events-admin-screen .event-admin-blocks {
  display: grid;
  gap: 14px;
}

.events-admin-screen .event-admin-block,
.events-admin-screen .tournament-registration-admin-card,
.events-admin-screen .tournament-registration-admin-athletes {
  border-color: rgba(var(--skate-white-rgb), 0.12);
  background:
    linear-gradient(180deg, rgba(var(--skate-white-rgb), 0.05), rgba(var(--skate-black-rgb), 0.12)),
    rgba(var(--skate-card-rgb), 0.84);
}

.events-admin-screen .event-admin-block summary,
.events-admin-screen .event-admin-block-create summary,
.events-admin-screen .tournament-registration-admin-athletes summary {
  min-height: 48px;
  color: var(--skate-text);
}

.events-admin-screen .tournament-registration-admin-card {
  position: relative;
  display: grid;
  gap: 0;
  overflow: hidden;
  padding: 0;
}

.events-admin-screen .tournament-registration-admin-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--skate-yellow), rgba(var(--skate-yellow-rgb), 0.28));
}

.events-admin-screen .tournament-registration-admin-card summary,
.events-admin-screen .tournament-registration-filter-panel summary {
  list-style: none;
}

.events-admin-screen .tournament-registration-admin-card summary::-webkit-details-marker,
.events-admin-screen .tournament-registration-filter-panel summary::-webkit-details-marker {
  display: none;
}

.events-admin-screen .tournament-registration-admin-card__summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  min-height: 94px;
  padding: 14px 44px 14px 14px;
  cursor: pointer;
}

.events-admin-screen .tournament-registration-admin-card__summary::after,
.events-admin-screen .tournament-registration-filter-panel summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 9px;
  height: 9px;
  border-right: 2px solid rgba(var(--skate-yellow-rgb), 0.82);
  border-bottom: 2px solid rgba(var(--skate-yellow-rgb), 0.82);
  transform: translateY(-65%) rotate(45deg);
}

.events-admin-screen .tournament-registration-admin-card[open] .tournament-registration-admin-card__summary::after,
.events-admin-screen .tournament-registration-filter-panel[open] summary::after {
  transform: translateY(-35%) rotate(225deg);
}

.events-admin-screen .tournament-registration-admin-card__summary-main {
  display: grid;
  gap: 4px;
}

.events-admin-screen .tournament-registration-admin-card__summary-main strong {
  color: var(--skate-text);
  font-size: clamp(1rem, 4vw, 1.25rem);
  font-weight: 950;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.events-admin-screen .tournament-registration-admin-card__summary-main small {
  color: var(--skate-text-muted);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.events-admin-screen .tournament-registration-admin-card__summary-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.events-admin-screen .tournament-registration-admin-card__summary-metrics > span {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.08);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.18);
}

.events-admin-screen .tournament-registration-admin-card__summary-metrics b {
  color: var(--skate-text);
  font-size: 0.98rem;
  font-weight: 950;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.events-admin-screen .tournament-registration-admin-card__summary-metrics small {
  color: var(--skate-text-muted);
  font-size: 0.68rem;
  font-weight: 950;
  text-transform: uppercase;
}

.events-admin-screen .tournament-registration-admin-card__body {
  display: grid;
  gap: 14px;
  padding: 0 14px 14px;
}

.events-admin-screen .tournament-registration-admin-card[open] .tournament-registration-admin-card__body {
  border-top: 1px solid rgba(var(--skate-white-rgb), 0.08);
  padding-block-start: 14px;
}

.events-admin-screen .tournament-registration-admin-card__top {
  display: grid;
  gap: 12px;
}

.events-admin-screen .tournament-registration-admin-card__identity {
  display: grid;
  gap: 8px;
}

.events-admin-screen .tournament-registration-admin-card__meta {
  gap: 6px;
}

.events-admin-screen .tournament-registration-admin-card__meta span,
.events-admin-screen .tournament-registration-admin-card__meta .event-status {
  max-width: 100%;
  min-height: 26px;
  padding: 4px 9px;
  font-size: 0.75rem;
  overflow-wrap: anywhere;
}

.events-admin-screen .tournament-registration-admin-card__main {
  display: grid;
  gap: 10px;
}

.events-admin-screen .tournament-registration-admin-card__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}

.events-admin-screen .tournament-registration-admin-card__actions a {
  width: 100%;
}

.events-admin-screen .event-admin-page--registrations .tournament-registration-admin-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.events-admin-screen .event-admin-page--registrations .tournament-registration-admin-stats article {
  min-height: 62px;
  padding: 10px;
}

.events-admin-screen .event-admin-page--registrations .tournament-registration-admin-stats strong {
  font-size: clamp(1.25rem, 5vw, 1.65rem);
}

.events-admin-screen .tournament-registration-filter-panel {
  padding: 0;
}

.events-admin-screen .tournament-registration-filter-panel summary {
  position: relative;
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 44px 14px 14px;
  color: var(--skate-text);
  cursor: pointer;
}

.events-admin-screen .tournament-registration-filter-panel summary span {
  font-weight: 950;
}

.events-admin-screen .tournament-registration-filter-panel summary strong {
  color: var(--skate-text-muted);
  font-size: 0.82rem;
  font-weight: 900;
}

.events-admin-screen .tournament-registration-filter-panel .tournament-registration-admin-filter {
  padding: 0 14px 14px;
  border-top: 1px solid rgba(var(--skate-white-rgb), 0.08);
}

.events-admin-screen .tournament-registration-event-switcher {
  border-color: rgba(var(--skate-yellow-rgb), 0.22);
  background:
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.07), rgba(var(--skate-white-rgb), 0.035)),
    var(--skate-card);
}

.events-admin-screen .tournament-registration-event-switcher__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
  gap: 10px;
}

.events-admin-screen .tournament-registration-event-card {
  display: grid;
  gap: 7px;
  min-height: 92px;
  padding: 10px;
  border: 1px solid rgba(var(--skate-white-rgb), 0.12);
  border-radius: 8px;
  background: rgba(var(--skate-black-rgb), 0.18);
  color: var(--skate-text);
  text-decoration: none;
}

.events-admin-screen .tournament-registration-event-card.is-active {
  border-color: rgba(var(--skate-yellow-rgb), 0.72);
  background:
    linear-gradient(135deg, rgba(var(--skate-yellow-rgb), 0.18), rgba(var(--skate-black-rgb), 0.18)),
    rgba(var(--skate-black-rgb), 0.22);
  box-shadow: 0 0 0 1px rgba(var(--skate-yellow-rgb), 0.12);
}

.events-admin-screen .tournament-registration-event-card span {
  width: fit-content;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.34);
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.10);
  color: var(--skate-yellow);
  font-size: 0.7rem;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.events-admin-screen .tournament-registration-event-card strong {
  color: var(--skate-text);
  font-size: 1rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.events-admin-screen .tournament-registration-event-card small,
.events-admin-screen .tournament-registration-event-card em {
  color: var(--skate-text-muted);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.events-admin-screen .tournament-registration-event-card em {
  color: var(--skate-yellow);
}

.events-admin-screen .tournament-registration-event-switcher__empty {
  padding: 0;
  box-shadow: none;
}

.events-admin-screen .tournament-registration-admin-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding-block: 10px;
  border-top: 1px solid rgba(var(--skate-white-rgb), 0.10);
  border-bottom: 1px solid rgba(var(--skate-white-rgb), 0.10);
}

.events-admin-screen .tournament-registration-admin-summary article {
  display: grid;
  gap: 5px;
  min-height: 0;
  padding: 2px 8px;
}

.events-admin-screen .tournament-registration-admin-summary span,
.events-admin-screen .tournament-registration-admin-contact dt {
  color: var(--skate-text-muted);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.events-admin-screen .tournament-registration-admin-summary strong {
  color: var(--skate-text);
  font-size: clamp(1rem, 3.8vw, 1.22rem);
  font-weight: 950;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.events-admin-screen .tournament-registration-admin-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
  border-top: 1px solid rgba(var(--skate-white-rgb), 0.08);
}

.events-admin-screen .tournament-registration-admin-contact div {
  display: grid;
  grid-template-columns: minmax(78px, 0.34fr) minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 9px 0;
  border-bottom: 1px solid rgba(var(--skate-white-rgb), 0.08);
}

.events-admin-screen .tournament-registration-admin-contact dd {
  margin: 0;
  color: var(--skate-text);
  font-size: 0.92rem;
  font-weight: 850;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.events-admin-screen .tournament-registration-admin-note {
  border-color: rgba(var(--skate-yellow-rgb), 0.22);
  background: rgba(var(--skate-yellow-rgb), 0.07);
}

.events-admin-screen .tournament-registration-admin-athletes {
  border-radius: 8px;
}

.events-admin-screen .tournament-registration-admin-athletes__head {
  display: flex;
  position: relative;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  color: var(--skate-text);
  font-weight: 900;
}

.events-admin-screen .tournament-registration-admin-athletes__head strong {
  display: inline-grid;
  min-width: 34px;
  min-height: 30px;
  place-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(var(--skate-yellow-rgb), 0.14);
  color: var(--skate-yellow);
}

.events-admin-screen .tournament-registration-admin-table-wrap {
  max-width: 100%;
}

@media (max-width: 760px) {
  .events-admin-screen .event-admin-hero,
  .events-admin-screen .event-admin-panel-head,
  .events-admin-screen .tournament-registration-admin-list__head {
    align-items: stretch;
    flex-direction: column;
  }

  .events-admin-screen .event-admin-hero__actions,
  .events-admin-screen .event-admin-filter__actions,
  .events-admin-screen .event-admin-form__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .events-admin-screen .event-admin-hero__actions a,
  .events-admin-screen .event-admin-filter__actions button,
  .events-admin-screen .event-admin-filter__actions a,
  .events-admin-screen .event-admin-form__actions button,
  .events-admin-screen .event-admin-form__actions a,
  .events-admin-screen .tournament-registration-admin-list__head .btn {
    width: 100%;
  }

  .events-admin-screen .event-admin-event-card {
    align-items: start;
  }

  .events-admin-screen .tournament-registration-admin-card__top {
    align-items: stretch;
  }

  .events-admin-screen .tournament-registration-admin-card__actions {
    width: 100%;
  }
}

@media (min-width: 880px) {
  .events-admin-screen .event-admin-event-card {
    grid-template-columns: 76px minmax(0, 1fr) minmax(150px, auto);
    gap: 16px;
    padding: 14px;
  }

  .events-admin-screen .event-admin-date-box {
    width: 76px;
    min-height: 86px;
  }

  .events-admin-screen .event-admin-date-box strong {
    font-size: 2.08rem;
  }

  .events-admin-screen .event-card__facts {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .events-admin-screen .event-card__facts div {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    padding: 10px;
  }

  .events-admin-screen .event-admin-event-card .event-admin-row__actions {
    grid-column: auto;
    grid-template-columns: minmax(132px, 1fr);
    justify-content: flex-end;
  }

  .events-admin-screen .tournament-registration-admin-card {
    padding: 0;
  }

  .events-admin-screen .tournament-registration-admin-card__summary {
    grid-template-columns: auto minmax(0, 1fr) minmax(230px, 0.42fr);
    align-items: center;
    min-height: 82px;
    padding: 16px 48px 16px 16px;
  }

  .events-admin-screen .tournament-registration-admin-card__summary-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .events-admin-screen .tournament-registration-admin-card__top {
    grid-template-columns: minmax(0, 1fr) minmax(150px, auto);
    align-items: start;
  }

  .events-admin-screen .tournament-registration-admin-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .events-admin-screen .tournament-registration-admin-contact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .events-admin-screen .tournament-registration-admin-contact div {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    padding: 0 12px;
    border-bottom: 0;
    border-left: 1px solid rgba(var(--skate-white-rgb), 0.08);
  }

  .events-admin-screen .tournament-registration-admin-contact div:first-child {
    border-left: 0;
  }

  .events-admin-screen .event-admin-layout {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  }
}

@media (max-width: 420px) {
  .events-admin-screen .tournament-registration-admin-summary {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Registration/account refinements */
.auth-username-field input[readonly] {
  background: rgba(var(--skate-yellow-rgb), 0.18);
  border-color: rgba(var(--skate-yellow-rgb), 0.44);
  color: var(--skate-text);
  font-weight: var(--font-weight-bold);
}

.registration-card__checks {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.registration-card__check {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 8px;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.06);
  color: var(--skate-text-soft);
  font-weight: var(--font-weight-bold);
}

.registration-card__check--info {
  border-color: rgba(var(--skate-sky-400-rgb), 0.38);
  background: rgba(var(--skate-sky-400-rgb), 0.10);
}

.registration-card__check--warning {
  border-color: rgba(var(--skate-amber-500-rgb), 0.42);
  background: rgba(var(--skate-amber-500-rgb), 0.10);
}

.registration-card__check--danger {
  border-color: rgba(var(--skate-red-500-rgb), 0.42);
  background: rgba(var(--skate-red-500-rgb), 0.10);
}

button.registration-file-open {
  font: inherit;
  cursor: pointer;
}

.has-registration-file-modal-open {
  overflow: hidden;
}

.registration-file-modal {
  position: fixed;
  inset: 0;
  z-index: 1350;
  display: grid;
  place-items: center;
  padding: clamp(14px, 4vw, 34px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}

.registration-file-modal[hidden] {
  display: none;
}

.registration-file-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.registration-file-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(var(--skate-black-rgb), 0.76);
  backdrop-filter: blur(12px);
  cursor: pointer;
}

.registration-file-modal__panel {
  position: relative;
  z-index: 1;
  width: min(100%, 980px);
  max-height: min(88vh, 900px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 14px;
  padding: clamp(16px, 3vw, 24px);
  border: 1px solid rgba(var(--skate-yellow-rgb), 0.28);
  border-radius: var(--skate-radius-xl);
  background: rgba(var(--skate-card-rgb), 0.98);
  box-shadow: var(--skate-shadow-strong);
  outline: none;
}

.registration-file-modal__head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
}

.registration-file-modal__head h2 {
  margin: 0;
  color: var(--skate-text);
}

.registration-file-modal__close {
  width: 44px;
  aspect-ratio: 1;
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--skate-border);
  border-radius: 999px;
  background: rgba(var(--skate-white-rgb), 0.08);
  color: var(--skate-text);
  font-size: 1.5rem;
  cursor: pointer;
}

.registration-file-modal__body {
  min-height: min(68vh, 620px);
  display: grid;
  place-items: stretch;
  overflow: hidden;
  border: 1px solid var(--skate-border);
  border-radius: var(--skate-radius-lg);
  background: rgba(var(--skate-black-rgb), 0.26);
}

.registration-file-modal__body iframe,
.registration-file-modal__body img {
  width: 100%;
  height: 100%;
  min-height: min(68vh, 620px);
  border: 0;
}

.registration-file-modal__body img {
  object-fit: contain;
  padding: 12px;
}

.registration-file-modal__body p {
  margin: 0;
  padding: 20px;
  color: var(--skate-text-soft);
}

.athlete-guardian-document-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 14px;
  border: 1px solid rgba(var(--skate-sky-400-rgb), 0.30);
  border-radius: var(--skate-radius-md);
  background: rgba(var(--skate-sky-400-rgb), 0.08);
}

.athlete-guardian-document-summary div {
  display: grid;
  gap: 4px;
}

.athlete-guardian-document-summary strong {
  color: var(--skate-text);
}

.athlete-guardian-document-summary span {
  color: var(--skate-muted);
}

.athlete-document-card--guardian {
  border-color: rgba(var(--skate-sky-400-rgb), 0.30);
  background: rgba(var(--skate-sky-400-rgb), 0.07);
}

.athlete-qr-public {
  min-height: calc(100svh - var(--bottom-nav-height, 0px));
}

.athlete-qr-public--green .athlete-qr-card {
  border-color: rgba(var(--skate-green-500-rgb), 0.58);
  background:
    radial-gradient(circle at 94% 0%, rgba(var(--skate-green-500-rgb), 0.34), transparent 42%),
    rgba(var(--skate-card-rgb), 0.92);
}

.athlete-qr-public--orange .athlete-qr-card,
.athlete-qr-public--inactive .athlete-qr-card {
  border-color: rgba(var(--skate-amber-500-rgb), 0.62);
  background:
    radial-gradient(circle at 94% 0%, rgba(var(--skate-amber-500-rgb), 0.36), transparent 42%),
    rgba(var(--skate-card-rgb), 0.92);
}

.athlete-qr-public--red .athlete-qr-card,
.athlete-qr-public--invalid .athlete-qr-card {
  border-color: rgba(var(--skate-red-500-rgb), 0.62);
  background:
    radial-gradient(circle at 94% 0%, rgba(var(--skate-red-500-rgb), 0.34), transparent 42%),
    rgba(var(--skate-card-rgb), 0.92);
}

.athlete-qr-public--green .athlete-qr-card__status {
  border-color: rgba(var(--skate-green-500-rgb), 0.60);
  background: rgba(var(--skate-green-500-rgb), 0.16);
  color: var(--skate-green-200);
}

.athlete-qr-public--orange .athlete-qr-card__status,
.athlete-qr-public--inactive .athlete-qr-card__status {
  border-color: rgba(var(--skate-amber-500-rgb), 0.70);
  background: rgba(var(--skate-amber-500-rgb), 0.18);
  color: var(--skate-yellow-400);
}

.athlete-qr-public--red .athlete-qr-card__status,
.athlete-qr-public--invalid .athlete-qr-card__status {
  border-color: rgba(var(--skate-red-500-rgb), 0.70);
  background: rgba(var(--skate-red-500-rgb), 0.18);
  color: var(--skate-red-300);
}
.fisr-public-live-recent__list {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
}

.fisr-public-live-recent__list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgb(255 213 29 / 24%);
  border-radius: 1rem;
  background: rgb(4 8 8 / 48%);
  color: inherit;
  text-decoration: none;
}

.fisr-public-live-recent__list span {
  color: #ffd51d;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}
