.caldi-rc-results-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1rem;
  margin:1rem 0;
}
.caldi-card,.caldi-driver-profile,.caldi-meeting-detail {
  border:1px solid #d9dee7;
  border-radius:18px;
  background:#fff;
  padding:1rem 1.1rem;
  box-shadow:0 8px 24px rgba(18,29,53,.06);
}
.caldi-card__meta {
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#5b6472;
  margin-bottom:.45rem;
}
.caldi-card h3,.caldi-driver-profile h2,.caldi-meeting-detail h2 { margin:.2rem 0 .75rem; }
.caldi-card__links,.caldi-meeting-header {
  display:flex;
  gap:.75rem;
  justify-content:space-between;
  align-items:flex-start;
  flex-wrap:wrap;
}
.caldi-card__links a,.caldi-button,.caldi-driver-form button {
  display:inline-block;
  padding:.65rem .9rem;
  border-radius:999px;
  text-decoration:none;
  border:1px solid #202b3c;
}
.caldi-stat-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:.75rem;
  margin:1rem 0 1.25rem;
}
.caldi-stat {
  border:1px solid #e3e7ef;
  border-radius:14px;
  padding:.85rem;
}
.caldi-stat span {
  display:block;
  font-size:.8rem;
  color:#5b6472;
  margin-bottom:.25rem;
}
.caldi-stat strong { font-size:1.05rem; }
.caldi-table-wrap { overflow:auto; margin: .5rem 0 1rem; }
.caldi-table { width:100%; border-collapse:collapse; }
.caldi-table th,.caldi-table td {
  padding:.7rem .75rem;
  border-bottom:1px solid #e7ebf1;
  text-align:left;
  white-space:nowrap;
}
.caldi-table th { background:#f6f8fb; }
.caldi-driver-form { display:flex; gap:.75rem; flex-wrap:wrap; margin:1rem 0 1.25rem; }
.caldi-driver-form select { min-width:240px; padding:.65rem .75rem; }
.caldi-notice {
  padding:.85rem 1rem;
  border-radius:12px;
  margin:1rem 0;
  background:#f6f8fb;
}
.caldi-notice--error { background:#fef0f0; }
.caldi-notice--warning { background:#fff6dd; }

/* Driver page v2 */
.caldi-driver-v2 {
  border:1px solid #dde6f2;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f7f9fd 100%);
  padding:1.1rem;
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
.caldi-driver-v2-hero {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
  flex-wrap:wrap;
  padding:1.25rem;
  border-radius:22px;
  background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 55%,#2563eb 100%);
  color:#fff;
}
.caldi-driver-v2-hero .caldi-card__meta { color:rgba(255,255,255,.78); }
.caldi-driver-v2-hero h2 { margin:.15rem 0 .25rem; font-size:clamp(1.8rem,4vw,3rem); color:#fff; }
.caldi-driver-v2-hero p { margin:0; color:rgba(255,255,255,.82); }
.caldi-driver-v2-hero .caldi-button { background:#fff; color:#0f172a; border-color:#fff; }
.caldi-driver-v2-stats {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:.8rem;
  margin:1rem 0;
}
.caldi-driver-v2-stat,
.caldi-driver-v2-panel,
.caldi-driver-v2-insight,
.caldi-driver-v2-details {
  background:#fff;
  border:1px solid #e4e9f2;
  border-radius:18px;
  box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.caldi-driver-v2-stat { padding:1rem; }
.caldi-driver-v2-stat span,
.caldi-driver-v2-insight span {
  display:block;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#64748b;
  margin-bottom:.25rem;
}
.caldi-driver-v2-stat strong { display:block; font-size:1.35rem; color:#0f172a; line-height:1.15; }
.caldi-driver-v2-stat small { display:block; color:#64748b; margin-top:.35rem; }
.caldi-driver-v2-panel { padding:1rem; margin:1rem 0; }
.caldi-driver-v2-panel h3 { margin:.1rem 0 .2rem; }
.caldi-driver-v2-panel p { margin:.1rem 0 1rem; color:#64748b; }
.caldi-run-chart { display:grid; gap:.65rem; }
.caldi-run-chart-row { display:grid; grid-template-columns:minmax(120px,220px) 1fr 70px; gap:.75rem; align-items:center; }
.caldi-run-label strong { display:block; color:#0f172a; }
.caldi-run-label span { display:block; color:#64748b; font-size:.82rem; }
.caldi-run-track { height:18px; border-radius:999px; background:#eef2f7; overflow:hidden; }
.caldi-run-track span { display:block; height:100%; border-radius:999px; background:#2563eb; }
.caldi-run-quality-clean .caldi-run-track span { background:#16a34a; }
.caldi-run-quality-steady .caldi-run-track span { background:#f59e0b; }
.caldi-run-quality-costly .caldi-run-track span { background:#dc2626; }
.caldi-run-value { font-weight:700; text-align:right; color:#0f172a; }
.caldi-driver-v2-insights {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:.85rem;
  margin:1rem 0;
}
.caldi-driver-v2-insight { padding:1rem; border-left:5px solid #2563eb; }
.caldi-insight-quality { border-left-color:#16a34a; }
.caldi-insight-ten { border-left-color:#7c3aed; }
.caldi-driver-v2-insight strong { display:block; font-size:1.25rem; color:#0f172a; margin-bottom:.35rem; }
.caldi-driver-v2-insight p { margin:0; color:#475569; }
.caldi-driver-v2-details { margin:1rem 0; padding:.2rem 1rem 1rem; }
.caldi-driver-v2-details summary { cursor:pointer; font-weight:800; padding:.9rem 0; color:#0f172a; }
@media (max-width: 640px) {
  .caldi-run-chart-row { grid-template-columns:1fr; gap:.35rem; }
  .caldi-run-value { text-align:left; }
}

/* Club venue page v2 */
.caldi-club-page {
  max-width:1180px;
  margin:0 auto 2rem;
  color:#102033;
}
.caldi-club-hero {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);
  gap:1rem;
  align-items:stretch;
  padding:1rem;
  border-radius:30px;
  background:
    radial-gradient(circle at 18% 18%, rgba(72,157,255,.35), transparent 32%),
    radial-gradient(circle at 82% 12%, rgba(239,68,68,.22), transparent 28%),
    linear-gradient(135deg,#07131f 0%,#102a43 52%,#0f4c81 100%);
  box-shadow:0 22px 60px rgba(7,19,31,.18);
  overflow:hidden;
}
.caldi-club-hero__copy,
.caldi-club-hero__panel {
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
  padding:clamp(1.2rem,3vw,2rem);
  color:#fff;
}
.caldi-club-eyebrow,
.caldi-club-feature span,
.caldi-section-header span,
.caldi-club-stat span,
.caldi-club-hero__panel span,
.caldi-club-nav-grid span {
  display:block;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:800;
}
.caldi-club-eyebrow,
.caldi-club-hero__panel span { color:rgba(255,255,255,.78); }
.caldi-club-hero h1 {
  margin:.35rem 0 .75rem;
  color:#fff;
  font-size:clamp(2.1rem,5vw,4.4rem);
  line-height:.95;
  max-width:760px;
}
.caldi-club-hero p { color:rgba(255,255,255,.82); font-size:1.05rem; max-width:680px; margin:0 0 1.2rem; }
.caldi-club-actions { display:flex; gap:.75rem; flex-wrap:wrap; }
.caldi-club-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.75rem 1rem;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.18);
  text-decoration:none;
  font-weight:800;
  background:#fff;
  color:#102033;
  box-shadow:0 8px 22px rgba(15,23,42,.08);
}
.caldi-club-button--primary { background:#e3222b; border-color:#e3222b; color:#fff; }
.caldi-club-hero__panel { display:flex; flex-direction:column; justify-content:flex-end; min-height:250px; }
.caldi-club-hero__panel strong { display:block; font-size:1.45rem; line-height:1.1; margin:.5rem 0; }
.caldi-club-hero__panel em { color:rgba(255,255,255,.75); font-style:normal; }
.caldi-club-stat-grid,
.caldi-club-feature-grid,
.caldi-club-nav-grid,
.caldi-club-meeting-grid {
  display:grid;
  gap:1rem;
  margin:1rem 0;
}
.caldi-club-stat-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.caldi-club-feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.caldi-club-nav-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.caldi-club-meeting-grid { grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); }
.caldi-club-stat,
.caldi-club-feature,
.caldi-club-nav-grid a,
.caldi-club-meeting-card {
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:22px;
  padding:1rem;
  box-shadow:0 12px 34px rgba(15,23,42,.07);
}
.caldi-club-stat { min-height:118px; }
.caldi-club-stat span,
.caldi-club-feature span,
.caldi-section-header span,
.caldi-club-nav-grid span { color:#64748b; }
.caldi-club-stat strong { display:block; font-size:clamp(1.6rem,3vw,2.25rem); line-height:1.05; margin:.45rem 0 .15rem; color:#0f172a; }
.caldi-club-stat small { color:#64748b; }
.caldi-club-feature { border-top:5px solid #e3222b; }
.caldi-club-feature:nth-child(2) { border-top-color:#0f4c81; }
.caldi-club-feature:nth-child(3) { border-top-color:#16a34a; }
.caldi-club-feature strong { display:block; font-size:1.35rem; color:#0f172a; margin:.45rem 0; }
.caldi-club-feature p,
.caldi-club-meeting-card p { color:#475569; margin:.25rem 0 0; }
.caldi-club-nav-grid a { text-decoration:none; color:#0f172a; transition:transform .18s ease, box-shadow .18s ease; }
.caldi-club-nav-grid a:hover { transform:translateY(-2px); box-shadow:0 16px 42px rgba(15,23,42,.11); }
.caldi-club-nav-grid strong { display:block; margin:.4rem 0 0; font-size:1.05rem; }
.caldi-section-header {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1rem;
  margin:1.6rem 0 .8rem;
}
.caldi-section-header h2 { margin:.2rem 0 0; color:#0f172a; font-size:clamp(1.5rem,3vw,2.2rem); }
.caldi-club-meeting-date { color:#64748b; font-weight:800; font-size:.85rem; }
.caldi-club-meeting-card h3 { margin:.4rem 0 .55rem; color:#0f172a; }
.caldi-club-meeting-links { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:1rem; }
.caldi-club-meeting-links a {
  display:inline-flex;
  padding:.55rem .75rem;
  border-radius:999px;
  background:#f1f5f9;
  color:#0f172a;
  text-decoration:none;
  font-weight:800;
  font-size:.9rem;
}
@media (max-width: 880px) {
  .caldi-club-hero,
  .caldi-club-stat-grid,
  .caldi-club-feature-grid,
  .caldi-club-nav-grid { grid-template-columns:1fr; }
  .caldi-section-header { align-items:flex-start; flex-direction:column; }
}
