/* ArenaLine v2.9 product identity layer. */
:root{
  --arena-navy:#0E2A47;
  --arena-hunter:#1F3D2E;
  --arena-gold:#C9A96B;
  --arena-cream:#F4F1EA;
  --arena-blue:#007297;
  --arena-cyan:#00AEEF;
  --arena-meadow:#7E9B6B;
  --arena-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --arena-sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
html[data-theme="light"]{
  --paper:#F4F1EA;
  --surface:#fffdf8;
  --surface-raised:#fffdf8;
  --surface-soft:#eee9df;
  --surface-muted:#e6dfd2;
  --ink:#26343a;
  --heading:#0E2A47;
  --muted:#68777b;
  --line:#d9d1c3;
  --control-bg:#fffdf8;
  --control-border:#c9c0b1;
  --nav-text:#304750;
  --hero-start:#0E2A47;
  --hero-end:#1F3D2E;
  --accent-soft:#e7f0f2;
  --iea:#007297;
  --iea-deep:#075f7a;
  --club-brass:#8b713f;
  --club-brass-soft:#C9A96B;
  --club-cream:#F4F1EA;
  --arena-shadow:0 14px 34px rgba(14,42,71,.08);
}
html[data-theme="dark"]{
  --paper:#081a2b;
  --surface:#0e2438;
  --surface-raised:#122b40;
  --surface-soft:#163147;
  --surface-muted:#1a394f;
  --ink:#e8e6df;
  --heading:#F4F1EA;
  --muted:#aab6b7;
  --line:#29445a;
  --control-bg:#0b2033;
  --control-border:#38546a;
  --nav-text:#e1e5e1;
  --hero-start:#071a2c;
  --hero-end:#17382f;
  --accent-soft:#123749;
  --iea:#52b8d0;
  --iea-deep:#8bd0df;
  --club-brass:#C9A96B;
  --club-brass-soft:#8f794f;
  --club-cream:#1b2d38;
  --arena-shadow:0 18px 44px rgba(0,0,0,.24);
}
body{font-family:var(--arena-sans)}
h1,h2,.page-title h1,.page-intro h1,.section-head h2,.hero h1,.show-hero h1,.login-intro h1{
  font-family:var(--arena-serif);
  font-weight:500;
  letter-spacing:-.025em;
}
.topbar{
  border-bottom-color:color-mix(in srgb,var(--arena-gold) 28%,var(--line));
  backdrop-filter:saturate(130%) blur(14px);
}
.brand{gap:11px}
.brand-mark.arena-mark{
  width:36px;
  height:36px;
  border:0;
  background:transparent;
  padding:0;
  display:grid;
  place-items:center;
}
.arena-mark img{width:100%;height:100%;display:block}
.brand-copy strong{letter-spacing:.025em}
.brand-copy small{letter-spacing:.035em}
.eyebrow{
  letter-spacing:.17em;
  color:var(--club-brass);
  font-weight:700;
}
.hero .eyebrow,.show-hero .eyebrow,.squad-team-hero .eyebrow{color:color-mix(in srgb,var(--arena-gold) 86%,white)}
.btn:not(.secondary):not(.danger){background:var(--arena-blue);border-color:var(--arena-blue)}
.btn:not(.secondary):not(.danger):hover{background:color-mix(in srgb,var(--arena-blue) 88%,black);border-color:color-mix(in srgb,var(--arena-blue) 88%,black)}
.text-link{color:var(--iea-deep);font-weight:650}
.text-link:hover{color:var(--arena-blue)}
.hero,.show-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 82% 18%,rgba(201,169,107,.13),transparent 21rem),
    linear-gradient(118deg,var(--hero-start),var(--hero-end));
}
.hero:after,.show-hero:after{
  content:"";
  position:absolute;
  z-index:-1;
  left:-6%;
  right:-4%;
  bottom:14%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,169,107,.15) 8%,rgba(201,169,107,.72) 52%,rgba(201,169,107,.12) 91%,transparent);
  transform:rotate(-5deg);
  pointer-events:none;
}
.hero h1,.show-hero h1{color:var(--arena-cream)}
.hero p,.show-hero p{color:rgba(244,241,234,.78)}
.page-intro{
  position:relative;
  padding-bottom:1.15rem;
  border-bottom:1px solid color-mix(in srgb,var(--arena-gold) 28%,var(--line));
}
.page-intro:after{
  content:"";
  position:absolute;
  width:72px;
  height:1px;
  left:0;
  bottom:-1px;
  background:var(--arena-gold);
}
.page-intro h1{color:var(--heading)}
.section-head{align-items:end}
.section-head h2{line-height:1.05}
.card,.stat-card,.show-mini,.hub-event-card,.hub-rider-card,.action-row,.auth-card,.empty-state{
  border-color:color-mix(in srgb,var(--arena-gold) 12%,var(--line));
}
.card:hover,.show-mini:hover,.hub-event-card:hover,.hub-rider-card:hover{
  border-color:color-mix(in srgb,var(--arena-gold) 42%,var(--line));
}
.stat-card strong,.club-summary strong,.metric-row strong{font-family:var(--arena-serif);font-weight:600}
.club-summary,.metric-row{box-shadow:var(--arena-shadow)}
.club-summary article,.metric-row article{position:relative}
.club-summary article:before,.metric-row article:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:linear-gradient(var(--arena-gold),transparent 72%);
  opacity:.7;
}
.dashboard-workspace-link.active,
.filter-tabs a.active{
  border-color:color-mix(in srgb,var(--arena-gold) 48%,var(--line));
  box-shadow:inset 0 -2px 0 var(--arena-gold);
}
.nav-primary>a:hover,.nav-utility>a:hover,.nav-menu>summary:hover,.theme-toggle:hover{color:var(--iea-deep)}
.nav-menu-panel{border-color:color-mix(in srgb,var(--arena-gold) 18%,var(--line))}
.status-pill{font-weight:700;letter-spacing:.015em}
.entry-table th{border-bottom-color:color-mix(in srgb,var(--arena-gold) 22%,var(--line))}
.empty-state{
  background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--surface-soft) 65%,var(--surface)));
}
.callout{border-color:color-mix(in srgb,var(--arena-gold) 32%,var(--line))}
.login-intro{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:220px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.login-intro:before{
  content:"";
  position:absolute;
  z-index:-1;
  width:112%;
  height:68%;
  left:-12%;
  top:18%;
  border:1px solid color-mix(in srgb,var(--arena-gold) 46%,transparent);
  border-left-color:transparent;
  border-bottom-color:transparent;
  border-radius:50%;
  transform:rotate(-8deg);
  opacity:.42;
  pointer-events:none;
}
.login-intro:after{
  content:"";
  position:absolute;
  z-index:-1;
  left:-8%;
  right:-10%;
  bottom:24%;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(201,169,107,.10) 8%,
    rgba(201,169,107,.55) 34%,
    rgba(201,169,107,.86) 53%,
    rgba(201,169,107,.34) 73%,
    transparent
  );
  transform:rotate(-6deg);
  transform-origin:center;
  pointer-events:none;
}
html[data-theme="light"] .login-intro{
  background:
    radial-gradient(circle at 84% 18%,rgba(14,42,71,.04),transparent 18rem),
    radial-gradient(circle at 16% 82%,rgba(201,169,107,.09),transparent 17rem);
}
html[data-theme="light"] .login-intro:before{
  border-color:color-mix(in srgb,var(--arena-navy) 22%,transparent);
  border-left-color:transparent;
  border-bottom-color:transparent;
  opacity:.34;
}
html[data-theme="dark"] .login-intro{
  background:
    radial-gradient(circle at 84% 18%,rgba(201,169,107,.12),transparent 20rem),
    radial-gradient(circle at 14% 80%,rgba(201,169,107,.06),transparent 17rem);
}
html[data-theme="dark"] .login-intro:before{
  border-color:color-mix(in srgb,var(--arena-gold) 58%,transparent);
  border-left-color:transparent;
  border-bottom-color:transparent;
  opacity:.48;
}
html[data-theme="dark"] .login-intro:after{
  background:linear-gradient(
    90deg,
    transparent,
    rgba(201,169,107,.13) 8%,
    rgba(201,169,107,.64) 34%,
    rgba(244,241,234,.88) 53%,
    rgba(201,169,107,.44) 73%,
    transparent
  );
}
.auth-card{box-shadow:var(--arena-shadow)}
footer{
  border-top:1px solid color-mix(in srgb,var(--arena-gold) 25%,var(--line));
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  flex-wrap:wrap;
}
.arena-footer-signature{display:inline-flex;align-items:center;gap:7px;margin-right:4px}
.arena-footer-signature img{display:none}
.arena-footer-signature:before{
  content:"";
  width:24px;
  height:24px;
  flex:0 0 24px;
  background:var(--arena-navy);
  -webkit-mask:url("../brand/arenaline-geometric-mark.a05eac0cc79b.svg") center/contain no-repeat;
  mask:url("../brand/arenaline-geometric-mark.a05eac0cc79b.svg") center/contain no-repeat;
}
.arena-wordmark{font-size:.78rem;font-weight:700;letter-spacing:.17em}
.arena-wordmark .arena-wordmark-line{color:var(--arena-gold)}
html[data-theme="light"] footer .arena-footer-signature:before{background:color-mix(in srgb,var(--arena-navy) 88%,black)}
html[data-theme="dark"] footer .arena-footer-signature:before{background:color-mix(in srgb,var(--arena-gold) 82%,white)}
html[data-theme="dark"] footer .arena-wordmark{color:var(--arena-cream)}
html[data-theme="light"] footer .arena-wordmark{color:var(--arena-navy)}
html[data-theme="dark"] .page-intro{border-bottom-color:color-mix(in srgb,var(--arena-gold) 24%,var(--line))}
html[data-theme="dark"] .card,
html[data-theme="dark"] .stat-card,
html[data-theme="dark"] .empty-state{box-shadow:0 14px 34px rgba(0,0,0,.12)}

/* Preview 4: shared presentation contract. */
.page-title,.page-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:clamp(18px,3vw,34px);
  margin:0 0 24px;
}
.page-title>div:first-child,.page-intro>div:first-child{min-width:0}
.page-title h1,.page-intro h1{
  margin:.08em 0 .16em;
  color:var(--heading);
  font-size:clamp(2.35rem,4vw,3.9rem);
  line-height:.98;
}
.page-title p,.page-intro p{
  max-width:720px;
  margin:.25rem 0 0;
  color:var(--muted);
  font-size:.98rem;
}
.page-title .actions,.page-intro .actions{
  justify-content:flex-end;
  align-items:center;
  max-width:620px;
}
.actions .btn{white-space:nowrap}
.btn.secondary{
  background:var(--surface);
  color:var(--heading);
  border-color:color-mix(in srgb,var(--arena-gold) 16%,var(--line));
}
.btn.secondary:hover{
  background:var(--surface-soft);
  border-color:color-mix(in srgb,var(--arena-gold) 42%,var(--line));
  box-shadow:none;
}
.content-section{margin-top:42px}
.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin:0 0 16px;
}
.section-head>div:first-child{min-width:0}
.section-head h2{margin:.08em 0 0;font-size:clamp(1.7rem,2.4vw,2.15rem)}
.section-head p{margin:.3rem 0 0;color:var(--muted)}
.card,.empty-state,.form-card,.class-card,.finance-stat,.finance-summary-link,.finance-account-card{
  background:var(--surface);
  border-color:color-mix(in srgb,var(--arena-gold) 12%,var(--line));
  box-shadow:0 8px 24px color-mix(in srgb,var(--arena-navy) 5%,transparent);
}
.empty-state{
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-style:dashed;
}
.entry-table-wrap{
  border:1px solid color-mix(in srgb,var(--arena-gold) 12%,var(--line));
  border-radius:16px;
  background:var(--surface);
  overflow:auto;
}
.entry-table th{
  background:var(--surface-soft);
  color:var(--muted);
}
.entry-table tbody tr:hover td{background:color-mix(in srgb,var(--surface-soft) 45%,transparent)}
.form-card{
  border:1px solid color-mix(in srgb,var(--arena-gold) 16%,var(--line));
  box-shadow:var(--arena-shadow);
}
.form-card label,.field-wrap label{color:var(--heading)}
.form-card input,.form-card select,.form-card textarea,.auth-card input{
  background:var(--control-bg);
  color:var(--ink);
  border-color:var(--control-border);
}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus,.auth-card input:focus{
  border-color:var(--arena-blue);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--arena-blue) 16%,transparent);
}
.dashboard-workspaces{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin:1rem 0;
  clear:both;
}
.dashboard-hero + .club-summary{margin-top:1.25rem}
.dashboard-workspaces + .club-summary{margin-top:1rem}
.dashboard-workspace-link{
  display:inline-flex;
  align-items:center;
  min-height:2.25rem;
  padding:.45rem .8rem;
  border:1px solid color-mix(in srgb,var(--arena-gold) 14%,var(--line));
  border-radius:999px;
  background:var(--surface);
  color:var(--nav-text);
  text-decoration:none;
  font-size:.86rem;
  font-weight:700;
  letter-spacing:.01em;
  transition:.15s ease;
}
.dashboard-workspace-link:hover,.dashboard-workspace-link.active{
  color:var(--heading);
  border-color:color-mix(in srgb,var(--arena-gold) 48%,var(--line));
  transform:translateY(-1px);
}
.filter-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin:0 0 26px;
}
.filter-tabs a{
  border:1px solid color-mix(in srgb,var(--arena-gold) 12%,var(--line));
  background:var(--surface);
  color:var(--nav-text);
}
html[data-theme="dark"] .card,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .class-card,
html[data-theme="dark"] .finance-stat,
html[data-theme="dark"] .finance-summary-link,
html[data-theme="dark"] .finance-account-card{
  box-shadow:0 14px 34px rgba(0,0,0,.14);
}
@media(max-width:760px){
  .brand-mark.arena-mark{width:32px;height:32px}
  .arena-footer-signature{width:100%;justify-content:center;margin-bottom:2px}
  .page-intro{padding-bottom:.9rem}
  .login-intro{min-height:180px}
  .login-intro:before{width:124%;height:64%;left:-18%;top:20%}
  .login-intro:after{left:-14%;right:-16%;bottom:25%}
  .page-title,.page-intro,.section-head{align-items:flex-start;flex-direction:column}
  .page-title .actions,.page-intro .actions{justify-content:flex-start;max-width:none}
  .dashboard-workspaces{flex-wrap:nowrap;overflow-x:auto;padding:.15rem 0 .4rem;scrollbar-width:thin}
  .dashboard-workspace-link{flex:0 0 auto}
}
