:root {
  --surface:#fff;--surface-soft:#f6f7f8;--surface-raised:rgba(255,255,255,.94);
  --text-primary:#222426;--text-secondary:#687077;--brand:#5d4232;--focus:#1769aa;
  --card-shadow:0 1px 2px rgba(28,33,38,.04),0 8px 24px rgba(28,33,38,.06);
  --ui-font:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
body { font-family:var(--ui-font); }
body.theme-clean { --paper:#f4f6f8;--line:#dfe3e7;--white:#fff;--surface:#fff;--surface-soft:#f5f7f9;--text-primary:#202124;--text-secondary:#697078;--brand:#315c87;--ink:#202124;--muted:#697078;background-image:radial-gradient(circle at 90% 0,rgba(190,215,239,.25),transparent 30%),linear-gradient(180deg,#f8fafc,#f2f4f6); }
body.theme-night { --paper:#151719;--line:#34383d;--white:#24272b;--surface:#24272b;--surface-soft:#2d3136;--surface-raised:rgba(35,38,42,.95);--text-primary:#f2f0ec;--text-secondary:#aeb3ba;--brand:#e5bda7;--ink:#f2f0ec;--muted:#aeb3ba;--card-shadow:0 10px 28px rgba(0,0,0,.22);background-color:#151719;background-image:radial-gradient(circle at 12% 2%,rgba(101,71,55,.38),transparent 32%),radial-gradient(circle at 92% 28%,rgba(76,82,120,.28),transparent 30%),linear-gradient(160deg,#191a1d,#131517);color-scheme:dark; }
body.theme-night .bottom-nav,body.theme-night .language-picker,body.theme-night .logout-button { background:rgba(31,34,38,.94); }
body.theme-night input,body.theme-night textarea,body.theme-night select { background:#292d31;color:var(--text-primary);border-color:#43484e; }
.theme-preview-clean .theme-swatch { background:linear-gradient(135deg,#fff,#eef2f5 58%,#bad5ec); }
.theme-preview-night .theme-swatch { background:linear-gradient(135deg,#17191c,#2d3137 55%,#63566e); }

.sr-only { clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px; }
.dashboard-header-v2 { align-items:flex-start;margin-bottom:24px; }
.dashboard-header-v2 .welcome-message { font-size:clamp(2rem,7.4vw,2.35rem);line-height:1.02;max-width:420px; }
.dashboard-header-v2 .round-button { background:var(--surface-raised);border:1px solid var(--line);box-shadow:0 4px 14px rgba(28,33,38,.06);height:40px;width:40px; }
.dashboard-header-v2 .round-button svg,.logout-button svg,.bottom-nav svg { fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7; }
.dashboard-header-v2 .round-button svg { height:18px;width:18px; }
.logout-button { align-items:center;display:flex;gap:5px;min-height:36px; }
.logout-button svg { height:14px;width:14px; }
.bottom-nav a { align-items:center;border-radius:12px;display:flex;flex-direction:column;gap:3px;justify-content:center;min-height:48px;min-width:56px; }
.bottom-nav svg { height:20px;width:20px; }.bottom-nav .is-current svg { stroke-width:2.1; }

.module-grid-v2 { gap:12px;grid-auto-rows:86px;grid-template-rows:repeat(6,86px); }
.module-card-v2 {
  --card-accent:#d9a98f;--accent-bg:#faeee8;
  background:var(--surface-raised);border:1px solid color-mix(in srgb,var(--card-accent) 25%,var(--line));border-radius:18px;box-shadow:var(--card-shadow);
  color:var(--text-primary);display:flex;flex-direction:column;isolation:isolate;overflow:hidden;padding:13px 14px;position:relative;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.module-card-v2::before { background:var(--card-accent);border-radius:0 0 4px 4px;content:"";height:3px;left:18px;opacity:.72;position:absolute;top:0;width:28px; }
.module-card-v2.accent-peach { --card-accent:#d69a79;--accent-bg:#f9ebe4; }
.module-card-v2.accent-lilac { --card-accent:#9f88c2;--accent-bg:#f1edf7; }
.module-card-v2.accent-sage { --card-accent:#729b6b;--accent-bg:#edf4eb; }
.module-card-v2.accent-sky { --card-accent:#6a9fbd;--accent-bg:#eaf3f8; }
.module-card-v2.accent-sun { --card-accent:#b99b32;--accent-bg:#faf4df; }
.module-card-v2:hover { border-color:color-mix(in srgb,var(--card-accent) 55%,var(--line));box-shadow:0 2px 3px rgba(28,33,38,.04),0 12px 28px rgba(28,33,38,.09);transform:translateY(-1px); }
.module-card-v2:active { transform:scale(.987); }.module-card-v2:focus-visible { outline:3px solid var(--focus);outline-offset:3px; }
.module-card-header { align-items:center;display:flex;gap:9px;min-height:32px;padding-right:18px;position:relative;z-index:2; }
.module-icon-wrap { align-items:center;background:var(--accent-bg);border-radius:10px;color:var(--card-accent)!important;display:flex;flex:0 0 32px;height:32px;justify-content:center; }
.module-icon { fill:none;height:17px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75;width:17px; }
.module-heading { display:block;flex:1;min-width:0; }.module-heading strong { color:var(--text-primary);display:block;font:650 .86rem/1.2 var(--ui-font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.module-unread { align-items:center;background:#d74646;border:2px solid var(--surface);border-radius:999px;box-shadow:0 2px 7px rgba(111,25,25,.2);color:#fff!important;display:flex;font-size:.62rem;font-weight:800;height:10px;justify-content:center;min-width:10px;position:absolute;right:-4px;top:-4px; }
.module-unread-count { height:20px;min-width:20px;padding:0 5px;right:-5px;top:-6px; }
.module-open { color:var(--text-secondary);font:400 1.15rem/1 var(--ui-font);position:absolute;right:14px;top:20px; }.has-unread .module-open { display:none; }
.module-card-content { display:flex;flex:1;flex-direction:column;justify-content:center;min-height:0;padding-top:8px; }

.metric-primary { align-items:baseline;display:flex;gap:7px;min-width:0; }.metric-primary .metric-icon { align-self:center;color:initial;font-size:1.55rem;line-height:1; }
.metric-primary>strong { color:var(--text-primary);font:650 2rem/.9 var(--ui-font);letter-spacing:-.055em; }.metric-primary>span:last-child { color:var(--text-secondary);font-size:.7rem;font-weight:600;line-height:1.2;max-width:110px; }
.card-signals { display:flex;gap:5px;margin-top:9px;overflow:hidden; }.card-signals>span { align-items:center;background:var(--surface-soft);border-radius:7px;color:var(--text-secondary);display:flex;font-size:.61rem;font-weight:650;gap:3px;min-width:0;padding:4px 6px;white-space:nowrap; }.card-signals b { color:initial;font-size:.7rem; }

.module-status { display:flex;flex-direction:column;min-width:0;padding-right:18px; }.module-status strong { color:var(--text-primary);font:650 .92rem/1.22 var(--ui-font); }.module-status>span { color:var(--card-accent)!important;font-size:.66rem;font-weight:700;margin-top:3px; }.module-status small { color:var(--text-secondary);display:-webkit-box;font-size:.68rem;line-height:1.3;margin-top:5px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
.media-summary { align-items:center;display:flex;gap:11px;min-width:0; }.media-summary>img,.media-placeholder { aspect-ratio:1;background:var(--surface-soft);border-radius:12px;display:grid;flex:0 0 58px;height:58px;object-fit:cover;place-items:center;width:58px; }.media-placeholder { color:var(--card-accent);font-size:1.25rem; }.media-summary>div { display:flex;flex:1;flex-direction:column;min-width:0; }
.media-summary small,.date-summary div>small,.next-summary small { color:var(--card-accent)!important;font-size:.59rem;font-weight:750;letter-spacing:.045em;text-transform:uppercase; }.media-summary strong { color:var(--text-primary);display:-webkit-box;font:650 .84rem/1.22 var(--ui-font);margin-top:3px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2; }.media-summary>div>span:not(.inline-stats) { color:var(--text-secondary);font-size:.61rem;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.media-summary-compact>img,.media-summary-compact>.media-placeholder { border-radius:10px;flex-basis:50px;height:50px;width:50px; }.inline-stats { display:flex;gap:8px;margin-top:5px; }.inline-stats b { color:var(--text-secondary);font-size:.57rem;font-weight:600; }
.next-summary { align-items:center;display:flex;gap:8px;margin-top:8px;min-width:0; }.next-summary-icon,.action-symbol { align-items:center;background:var(--accent-bg);border-radius:9px;color:var(--card-accent)!important;display:flex;flex:0 0 29px;height:29px;justify-content:center;width:29px; }.next-summary p { display:flex;flex-direction:column;margin:0;min-width:0; }.next-summary strong { color:var(--text-primary);font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.action-primary { align-items:center;display:flex;gap:10px; }.action-primary>div { display:flex;flex-direction:column;min-width:0; }.action-primary strong { color:var(--text-primary);font:650 1rem/1.15 var(--ui-font); }.action-primary small,.support-copy { color:var(--text-secondary)!important;display:-webkit-box;font-size:.68rem!important;line-height:1.28;margin-top:4px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2; }

.social-new { display:flex;flex-direction:column;gap:7px; }.status-label { align-self:flex-start;background:#d74646;border-radius:999px;color:#fff!important;font-size:.56rem;font-weight:800;letter-spacing:.06em;padding:3px 7px;text-transform:uppercase; }.social-quiet { display:flex;flex-direction:column;gap:8px; }.quiet-number { align-items:baseline;display:flex;gap:8px; }.quiet-number strong { color:var(--text-primary);font:650 2.35rem/.82 var(--ui-font);letter-spacing:-.07em; }.quiet-number span { color:var(--text-secondary);font-size:.76rem;font-weight:650;line-height:1.15;max-width:110px; }.social-quiet p { color:var(--text-secondary)!important;font-size:.72rem!important;margin:0; }

.date-summary { align-items:center;display:flex;gap:10px;min-width:0; }.date-summary time { align-items:center;background:var(--accent-bg);border-radius:11px;display:flex;flex:0 0 49px;flex-direction:column;height:54px;justify-content:center; }.date-summary time strong { color:var(--text-primary);font:650 1.5rem/.85 var(--ui-font); }.date-summary time small { color:var(--card-accent);font-size:.55rem;font-weight:750;margin-top:5px;text-transform:uppercase; }.date-summary>div { display:flex;flex-direction:column;min-width:0; }.date-summary>div>strong { color:var(--text-primary);display:-webkit-box;font-size:.78rem;line-height:1.2;margin-top:3px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2; }.date-summary>div>span { color:var(--text-secondary);font-size:.62rem;margin-top:4px; }
.empty-card-state { display:flex;flex-direction:column;justify-content:center;padding-right:20px; }.empty-card-state>span { align-items:center;background:var(--accent-bg);border-radius:9px;color:var(--card-accent)!important;display:flex;height:28px;justify-content:center;margin-bottom:6px;width:28px; }.empty-card-state strong { color:var(--text-primary);font-size:.8rem;line-height:1.2; }.empty-card-state small { color:var(--text-secondary);font-size:.64rem;line-height:1.25;margin-top:3px; }
.note-summary { align-items:flex-start;display:flex;gap:5px;min-height:0; }.quote-mark { color:var(--card-accent)!important;font:600 2rem/.75 Georgia,serif; }.note-summary p { color:var(--text-primary)!important;display:-webkit-box;font:500 .78rem/1.35 var(--ui-font)!important;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3; }.countdown-primary>span:last-child { display:flex;flex-direction:column;max-width:130px; }.countdown-primary>span b { color:var(--text-primary);display:block;font-size:.74rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }

.module-size-2x2 .module-card-content,.module-size-1x2 .module-card-content { padding-top:12px; }.module-size-2x2 .metric-primary>strong,.module-size-1x2 .metric-primary>strong { font-size:2.65rem; }.module-size-2x2 .module-status strong,.module-size-1x2 .module-status strong { font-size:1rem; }.module-size-2x2 .media-summary>img,.module-size-1x2 .media-summary>img { flex-basis:64px;height:64px;width:64px; }
.module-size-1x1 .module-open,.module-size-1x1 .card-signals,.module-size-1x1 .module-status small,.module-size-1x1 .media-summary>div>span,.module-size-1x1 .inline-stats,.module-size-1x1 .support-copy,.module-size-1x1 .social-quiet p { display:none; }.module-size-1x1 { padding:10px 11px; }.module-size-1x1 .module-card-header { gap:7px;min-height:27px;padding-right:0; }.module-size-1x1 .module-icon-wrap { border-radius:8px;flex-basis:27px;height:27px; }.module-size-1x1 .module-icon { height:15px;width:15px; }.module-size-1x1 .module-heading strong { font-size:.73rem; }.module-size-1x1 .module-card-content { padding-top:5px; }.module-size-1x1 .metric-primary>strong { font-size:1.55rem; }.module-size-1x1 .metric-primary .metric-icon { font-size:1.15rem; }.module-size-1x1 .metric-primary>span:last-child { font-size:.54rem; }.module-size-1x1 .module-status strong { font-size:.75rem; }.module-size-1x1 .module-status>span { font-size:.57rem; }.module-size-1x1 .media-summary { gap:7px; }.module-size-1x1 .media-summary>img,.module-size-1x1 .media-placeholder { border-radius:8px;flex-basis:35px;height:35px;width:35px; }.module-size-1x1 .media-summary strong { font-size:.68rem; }.module-size-1x1 .quiet-number strong { font-size:1.7rem; }.module-size-1x1 .quiet-number span { font-size:.58rem; }

.page-header,.detail-header,.recipe-header { position:relative; }.page-header:not(.weather-page-header),.detail-header,.recipe-header { background:var(--surface-raised);border:1px solid var(--line);border-radius:22px;box-shadow:var(--card-shadow);margin:0 0 24px;padding:18px; }.page-header:not(.weather-page-header) h1,.detail-header h1,.recipe-header h1 { font-family:var(--ui-font);font-size:clamp(1.75rem,7vw,2.25rem);font-weight:650;letter-spacing:-.04em; }.page-header:not(.weather-page-header)>p:last-child,.recipe-header>p:last-child { color:var(--text-secondary);font-size:.82rem;line-height:1.5; }.back-link,.recipe-header>a:first-child { align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.72rem;min-height:36px; }.detail-card,.recipe-section,.recipe-preferences,.event-card,.fitness-card-form,.foundation-form { border-color:var(--line);box-shadow:var(--card-shadow); }

.module-card-v2.module-kind-argentinos_juniors {
  --card-accent:#8d2c2c;
  --accent-bg:#f4e6e2;
  background:var(--surface-raised);
  border-color:rgba(34,36,38,.1);
  box-shadow:0 2px 3px rgba(28,33,38,.03),0 10px 18px rgba(28,33,38,.04);
}
.module-card-v2.module-kind-argentinos_juniors::before {
  background:linear-gradient(90deg,#8d2c2c,#c76060);
  width:26px;
}
.module-card-v2.module-kind-argentinos_juniors .module-icon-wrap,
.module-card-v2.module-kind-argentinos_juniors .next-summary-icon,
.module-card-v2.module-kind-argentinos_juniors .card-signals>span,
.module-card-v2.module-kind-argentinos_juniors .empty-card-state>span {
  background:rgba(141,44,44,.08);
  color:#8d2c2c;
}

.club-header {
  margin-bottom: 22px;
  padding: 18px 20px 16px;
}
.club-header-top {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.club-kicker {
  background: rgba(141, 44, 44, 0.08);
  border: 1px solid rgba(141, 44, 44, 0.12);
  border-radius: 999px;
  color: #8d2c2c;
  display: inline-flex;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 6px 10px;
  text-transform: uppercase;
}
.club-header-body {
  align-items: center;
  display: flex;
  gap: 14px;
}
.club-badge-wrap {
  flex: 0 0 56px;
}
.club-badge {
  align-items: center;
  background: linear-gradient(135deg, #8d2c2c, #ad4b4b);
  border-radius: 16px;
  box-shadow: 0 10px 22px rgba(141, 44, 44, 0.22);
  color: #fff;
  display: inline-flex;
  font-size: 1.2rem;
  font-weight: 800;
  height: 56px;
  justify-content: center;
  letter-spacing: -.06em;
  width: 56px;
}
.club-header-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
.club-header-copy .eyebrow {
  margin: 0 0 4px;
}
.club-header-copy h1 {
  margin: 0;
}
.club-header-copy p {
  color: var(--text-secondary);
  font-size: .94rem;
  line-height: 1.5;
  margin: 8px 0 0;
}
.club-detail-shell {
  display: grid;
  gap: 16px;
  grid-template-columns: 1.5fr 1fr;
  align-items: start;
}
.editorial-card {
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--card-shadow);
  padding: 18px 18px 16px;
}
.club-hero-card {
  background: linear-gradient(180deg, rgba(141, 44, 44, 0.04), rgba(255,255,255,0.96));
  border-color: rgba(141, 44, 44, 0.12);
}
.club-hero-head,
.club-panel-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.club-hero-head .eyebrow,
.club-panel-header .eyebrow,
.club-fact-card .eyebrow,
.club-legend-card .eyebrow {
  margin: 0;
}
.club-pill {
  background: rgba(141, 44, 44, 0.08);
  border-radius: 999px;
  color: #8d2c2c;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 5px 8px;
  text-transform: uppercase;
}
.club-hero-main {
  align-items: end;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: 12px;
}
.club-hero-main h2 {
  font-size: clamp(1.7rem, 4vw, 2.3rem);
  letter-spacing: -.06em;
  line-height: 1;
  margin: 4px 0 0;
}
.club-competition {
  color: var(--text-secondary);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  margin: 0;
  text-transform: uppercase;
}
.club-score-badge {
  align-items: center;
  background: linear-gradient(180deg, #f5d9d7, #f0e9e7);
  border-radius: 16px;
  color: #8d2c2c;
  display: flex;
  flex-direction: column;
  font-size: 1.6rem;
  font-weight: 800;
  height: 62px;
  justify-content: center;
  letter-spacing: -.06em;
  min-width: 62px;
}
.club-score-badge small {
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.club-meta-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.club-meta-grid span {
  background: var(--surface-soft);
  border-radius: 999px;
  color: var(--text-secondary);
  font-size: .66rem;
  font-weight: 700;
  padding: 5px 9px;
}
.club-context {
  color: var(--text-secondary);
  font-size: .96rem;
  line-height: 1.6;
  margin: 12px 0 0;
}
.club-signal-card,
.club-fact-card,
.club-legend-card {
  min-height: 100%;
}
.club-panel-header {
  margin-bottom: 12px;
}
.club-panel-header h2,
.club-fact-card h2,
.club-legend-card h2 {
  font-size: 1.15rem;
  letter-spacing: -.04em;
  margin: 4px 0 0;
}
.club-fixture-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.club-fixture-list li {
  border-top: 1px solid var(--line);
  padding: 12px 0;
}
.club-fixture-list li:first-child {
  border-top: 0;
  padding-top: 0;
}
.fixture-row-head {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.fixture-row-head strong {
  font-size: .95rem;
}
.fixture-row-head span {
  color: var(--text-secondary);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.club-fixture-list small {
  color: var(--text-secondary);
  display: block;
  font-size: .74rem;
  margin-top: 4px;
}
.club-fact-card p,
.club-legend-card p {
  color: var(--text-primary);
  font-size: .95rem;
  line-height: 1.7;
  margin: 10px 0 0;
}
.club-fact-card a,
.club-legend-card a {
  color: #8d2c2c;
  display: inline-block;
  font-size: .78rem;
  font-weight: 700;
  margin-top: 12px;
  text-decoration: none;
}
.club-fact-card a:hover,
.club-legend-card a:hover {
  text-decoration: underline;
}
@media (max-width:360px) { .shell { padding-left:14px;padding-right:14px; }.module-grid-v2 { gap:10px; }.module-card-v2 { border-radius:16px;padding-left:11px;padding-right:11px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important;transition-duration:.01ms!important; }.module-card-v2:hover { transform:none; } }
@media (max-width:600px) {
  .module-detail-shell {
    grid-template-columns:1fr;
  }
}
@media (max-width: 700px) {
  .club-detail-shell {
    grid-template-columns: 1fr;
  }
  .club-header-body {
    align-items: flex-start;
  }
  .club-hero-main {
    align-items: flex-start;
    flex-direction: column;
  }
  .club-score-badge {
    align-self: flex-start;
  }
}

/* One visual contract for every dashboard cover. Module code supplies data, never layout. */
.module-grid-v2 .module-card-v2{min-height:144px;padding:14px 15px 13px}
.module-grid-v2 .module-card-header{border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);min-height:38px;padding:0 0 10px}
.module-grid-v2 .module-heading strong{font-size:.96rem;font-weight:750}
.module-card-state{align-items:center;color:var(--text-secondary);display:flex;font-size:.65rem;font-weight:750;margin-left:auto;min-height:22px}
.module-card-state.is-new{background:var(--card-accent);border-radius:999px;box-shadow:0 4px 12px color-mix(in srgb,var(--card-accent) 24%,transparent);color:#fff;padding:0 8px;text-transform:uppercase}
.module-grid-v2 .module-open{display:none}
.card-layout{align-items:center;display:flex;gap:12px;min-height:65px;padding-top:11px}
.card-layout-media{border-radius:12px;flex:0 0 62px;height:62px;object-fit:cover;width:62px}
.card-layout-mark,.card-layout-date{align-items:center;background:var(--accent-bg);border-radius:12px;color:var(--card-accent);display:flex;flex:0 0 48px;height:48px;justify-content:center}
.card-layout-mark{font-size:.82rem;font-weight:850;letter-spacing:-.03em}
.card-layout-date{flex-direction:column}.card-layout-date strong{font-size:1.35rem;line-height:1}.card-layout-date small{font-size:.55rem;font-weight:800;margin-top:3px;text-transform:uppercase}
.card-layout-copy{display:flex;flex:1;flex-direction:column;min-width:0}.card-layout-copy>small{color:var(--card-accent);font-size:.6rem;font-weight:800;letter-spacing:.055em;margin-bottom:3px;text-transform:uppercase}
.card-layout-copy>strong{color:var(--text-primary);display:-webkit-box;font-size:.86rem;line-height:1.22;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.card-layout-copy>span{color:var(--text-secondary);font-size:.64rem;line-height:1.2;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-layout-metric{align-items:baseline;display:flex;gap:7px}.card-layout-metric strong{font-size:2rem;font-weight:720;letter-spacing:-.07em;line-height:.9}.card-layout-metric span{color:var(--text-secondary);font-size:.67rem;font-weight:700}
.module-card-footer{display:flex;gap:5px;margin-top:auto;overflow:hidden}.module-card-footer span{background:var(--surface-soft);border-radius:7px;color:var(--text-secondary);font-size:.58rem;font-weight:650;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;white-space:nowrap}

.club-page-head{background:linear-gradient(145deg,#7e2028,#a63b42);border-radius:24px;color:#fff;margin-bottom:18px;padding:18px 20px 22px}.club-page-head .back-link{color:rgba(255,255,255,.76)}
.club-page-identity{align-items:center;display:flex;gap:13px;margin-top:12px}.club-page-identity>span{align-items:center;background:#fff;border-radius:15px;color:#8d2c2c;display:flex;font-size:1rem;font-weight:900;height:52px;justify-content:center;width:52px}.club-page-identity p{font-size:.6rem;font-weight:800;letter-spacing:.1em;margin:0;text-transform:uppercase}.club-page-identity h1{font-family:var(--ui-font);font-size:2rem;font-weight:750;letter-spacing:-.055em;margin:2px 0 0}.club-page-head>p{color:rgba(255,255,255,.78);font-size:.82rem;line-height:1.45;margin:13px 0 0}
.club-dashboard{display:flex;flex-direction:column;gap:18px}.club-next{align-items:center;background:var(--surface-raised);border:1px solid rgba(141,44,44,.16);border-radius:18px;box-shadow:var(--card-shadow);color:var(--text-primary);display:grid;gap:3px;grid-template-columns:1fr auto;padding:15px 16px}.club-next span{color:#8d2c2c;font-size:.61rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase}.club-next strong{font-size:1rem;grid-column:1;line-height:1.3}.club-next i{font-style:normal;grid-column:2;grid-row:1/3}
.club-section-head{align-items:end;display:flex;justify-content:space-between}.club-section-head p{color:#8d2c2c;font-size:.6rem;font-weight:800;letter-spacing:.08em;margin:0;text-transform:uppercase}.club-section-head h2{font-size:1.35rem;letter-spacing:-.04em;margin:3px 0 0}.club-section-head>span{color:var(--text-secondary);font-size:.61rem}
.club-news-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.club-news-card{background:var(--surface-raised);border:1px solid var(--line);border-radius:18px;color:var(--text-primary);display:flex;min-width:0;overflow:hidden}.club-news-card img{flex:0 0 92px;height:116px;object-fit:cover}.club-news-card>div{display:flex;flex:1;flex-direction:column;min-width:0;padding:12px}.club-news-card time{color:#8d2c2c;font-size:.58rem;font-weight:800;text-transform:uppercase}.club-news-card h3{display:-webkit-box;font-size:.86rem;line-height:1.25;margin:5px 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.club-news-card p{color:var(--text-secondary);font-size:.72rem;line-height:1.45;margin:4px 0 10px}.club-news-card span{color:var(--text-secondary);font-size:.61rem;margin-top:auto}.club-news-card.is-featured{grid-column:1/-1}.club-news-card.is-featured img{flex-basis:42%;height:190px}.club-news-card.is-featured h3{font-size:1.25rem;-webkit-line-clamp:2}.club-source{align-items:center;border-top:1px solid var(--line);display:flex;font-size:.68rem;justify-content:space-between;padding:14px 2px}.club-source span{color:var(--text-secondary)}.club-source a{color:#8d2c2c;font-weight:750}
@media(max-width:600px){.club-news-grid{grid-template-columns:1fr}.club-news-card.is-featured{display:block}.club-news-card.is-featured img{height:180px;width:100%}.club-section-head{align-items:flex-start;gap:8px;flex-direction:column}}

/* Consistent, accessible palettes for every selectable canvas theme. */
body.theme-warm {
  --paper:#fbf6ef;--line:#e8ddd1;--white:#fffdf9;--surface:#fffdf9;--surface-soft:#f5eee7;--surface-raised:rgba(255,253,249,.96);
  --ink:#302820;--muted:#665b51;--text-primary:#302820;--text-secondary:#62574e;--brand:#774b35;--focus:#2467a5;--field-bg:#fffdf9;--field-border:#b8a99a;
  --card-shadow:0 8px 24px rgba(67,48,32,.08);
  background-image:radial-gradient(circle at 8% 4%,rgba(247,216,198,.55),transparent 31%),radial-gradient(circle at 95% 28%,rgba(229,221,242,.34),transparent 28%),linear-gradient(155deg,#fffaf5,#f6efe7 70%);
}
body.theme-meadow {
  --paper:#f2f7ef;--line:#d4e0d0;--white:#fbfdf9;--surface:#fbfdf9;--surface-soft:#edf4e9;--surface-raised:rgba(251,253,249,.96);
  --ink:#263226;--muted:#526451;--text-primary:#263226;--text-secondary:#50604f;--brand:#42683d;--focus:#1769aa;--field-bg:#fbfdf9;--field-border:#9caf96;
  --card-shadow:0 8px 24px rgba(44,73,39,.08);
  background-image:radial-gradient(circle at 8% 2%,rgba(191,221,185,.48),transparent 34%),radial-gradient(circle at 92% 34%,rgba(249,232,183,.32),transparent 29%),linear-gradient(155deg,#f9fcf7,#edf4e9);
}
body.theme-sunset {
  --paper:#fbf2ee;--line:#e7d6d0;--white:#fffaf7;--surface:#fffaf7;--surface-soft:#f6eae6;--surface-raised:rgba(255,250,247,.96);
  --ink:#392823;--muted:#6c5148;--text-primary:#392823;--text-secondary:#684f47;--brand:#8a493a;--focus:#245f9c;--field-bg:#fffaf7;--field-border:#c3a49b;
  --card-shadow:0 8px 24px rgba(91,49,39,.08);
  background-image:radial-gradient(circle at 5% 0,rgba(251,195,170,.48),transparent 36%),radial-gradient(circle at 94% 30%,rgba(207,187,231,.38),transparent 33%),linear-gradient(155deg,#fff9f5,#f6eaf0);
}
body.theme-sky {
  --paper:#eff5f8;--line:#d2e0e7;--white:#fbfdff;--surface:#fbfdff;--surface-soft:#eaf2f6;--surface-raised:rgba(251,253,255,.96);
  --ink:#24313a;--muted:#4f626e;--text-primary:#24313a;--text-secondary:#4d606c;--brand:#315c78;--focus:#155d9b;--field-bg:#fbfdff;--field-border:#9bb5c3;
  --card-shadow:0 8px 24px rgba(35,69,88,.08);
  background-image:radial-gradient(circle at 10% 0,rgba(182,219,239,.52),transparent 38%),radial-gradient(circle at 92% 38%,rgba(229,221,242,.34),transparent 30%),linear-gradient(155deg,#fafdff,#eaf3f7);
}
body.theme-clean {
  --paper:#f1f4f7;--line:#d8dfe5;--white:#fff;--surface:#fff;--surface-soft:#eef2f5;--surface-raised:rgba(255,255,255,.97);
  --ink:#202a33;--muted:#52616d;--text-primary:#202a33;--text-secondary:#52616d;--brand:#285b83;--focus:#075da8;--field-bg:#fff;--field-border:#9eabb5;
  --card-shadow:0 8px 24px rgba(27,48,65,.08);
  background-image:radial-gradient(circle at 90% 0,rgba(190,215,239,.27),transparent 30%),linear-gradient(180deg,#f8fafc,#eff2f5);
}
body.theme-night {
  --paper:#14191e;--line:#3a4651;--white:#202830;--surface:#202830;--surface-soft:#28333d;--surface-raised:rgba(31,40,49,.97);
  --ink:#f4f1eb;--muted:#bdc8d1;--text-primary:#f4f1eb;--text-secondary:#c1cbd3;--brand:#edc5a7;--focus:#79baff;--field-bg:#202a33;--field-border:#687987;
  --shadow:0 12px 28px rgba(0,0,0,.28);--card-shadow:0 10px 28px rgba(0,0,0,.28);
  color-scheme:dark;
  background-color:#14191e;
  background-image:radial-gradient(circle at 12% 2%,rgba(92,66,53,.3),transparent 32%),radial-gradient(circle at 92% 28%,rgba(57,76,112,.24),transparent 30%),linear-gradient(160deg,#19212a,#13181d);
}

/* Shared legacy components now consume the same theme tokens as newer cards. */
body .bottom-nav,body .language-picker,body .logout-button,body .module-list-item,body .module-form,
body .detail-card,body .login-card,body .chat-form,body .background-section,body .theme-choice,
body .advice-card,body .daypart-grid article,body .hour-strip article,body .weather-facts article {
  background-color:var(--surface-raised);color:var(--text-primary);border-color:var(--line);
}
body .module-list-item p,body .detail-text,body .login-divider,body .login-access-note,body .weather-mini small,
body .weather-facts p,body .air-section>p { color:var(--text-secondary); }
body .field-control,body .login-card input,body .module-form input,body .module-form select,body .module-form textarea,
body input:not([type="checkbox"]):not([type="radio"]),body select,body textarea {
  background-color:var(--field-bg);border-color:var(--field-border);color:var(--text-primary);
}
body .button-secondary,body .move-buttons button { background:var(--surface-soft);color:var(--text-primary); }
body .button-google { background:var(--surface);color:var(--text-primary); }
body .theme-swatch { border:1px solid color-mix(in srgb,var(--line) 75%,transparent); }
body .theme-preview-warm .theme-swatch { background:linear-gradient(135deg,#f5d1b9,#fbf6ef 52%,#dfd5ed); }
body .theme-preview-meadow .theme-swatch { background:linear-gradient(135deg,#b9d6ad,#f1e8bb 58%,#f2f7ef); }
body .theme-preview-sunset .theme-swatch { background:linear-gradient(135deg,#efaa91,#f7e0d7 48%,#c7b0df); }
body .theme-preview-sky .theme-swatch { background:linear-gradient(135deg,#a8d1e7,#edf5f8 50%,#d4cdea); }
body .theme-preview-clean .theme-swatch { background:linear-gradient(135deg,#fff,#e9eef2 58%,#a9c8df); }
body .theme-preview-night .theme-swatch { background:linear-gradient(135deg,#151c23,#34424f 58%,#736080); }
body :focus-visible { outline:3px solid var(--focus);outline-offset:2px; }

body.theme-night .welcome-addition,body.theme-night .module-card p,body.theme-night .weather-mini small,
body.theme-night .module-edit-preview span,body.theme-night .module-edit-preview small,
body.theme-night .air-section>p,body.theme-night .club-next span,body.theme-night .club-section-head p,
body.theme-night .club-news-card time,body.theme-night .club-source a { color:var(--text-secondary); }
body.theme-night .empty-state,body.theme-night .chat-notice,body.theme-night .weather-signals span,
body.theme-night .aqi-badge,body.theme-night .air-values span { background:var(--surface-soft);color:var(--text-primary); }
body.theme-night .advice-card.tone-rain,body.theme-night .advice-card.tone-jacket,
body.theme-night .advice-card.tone-wind,body.theme-night .advice-card.tone-haze,
body.theme-night .air-section { background:#293640;color:var(--text-primary); }
body.theme-night .module-card-v2.module-kind-argentinos_juniors .module-icon-wrap,
body.theme-night .module-card-v2.module-kind-argentinos_juniors .next-summary-icon,
body.theme-night .module-card-v2.module-kind-argentinos_juniors .card-signals>span,
body.theme-night .module-card-v2.module-kind-argentinos_juniors .empty-card-state>span { background:#493136;color:#f0aaa5; }
body.theme-night .module-card { color:#302820; }
body.theme-night .module-card p { color:#51443a; }
body.theme-night .events-overview>div,body.theme-night .events-preferences,body.theme-night .event-category-choices label,
body.theme-night .recipe-section,body.theme-night .recipe-preferences,body.theme-night .recipe-columns>article,
body.theme-night .recipe-meta span,body.theme-night .recipe-tags span,body.theme-night .recipe-actions button,
body.theme-night .recipe-results button,body.theme-night .favourite-recipes button,body.theme-night .recipe-dismiss button,
body.theme-night .fitness-card-form,body.theme-night .foundation-form,body.theme-night .detail-card,
body.theme-night .module-edit-preview,body.theme-night .remove-module {
  background:var(--surface-raised);border-color:var(--line);color:var(--text-primary);
}
body.theme-night .recipe-safety { background:#493e29;color:#fff0c4; }
body.theme-night .recipe-safety p,body.theme-night .recipe-header>p:last-child,
body.theme-night .recipe-section p,body.theme-night .fitness-card-form p { color:var(--text-secondary); }
body.theme-night .recipe-steps li>span { background:var(--surface-soft);color:var(--text-primary); }
body.theme-night .club-next,body.theme-night .club-news-card { border-color:var(--line); }
body.theme-night .club-next span,body.theme-night .club-section-head p,body.theme-night .club-news-card time,
body.theme-night .club-source a { color:#efaaa5; }
body.theme-night ::placeholder { color:#aab6c0;opacity:1; }
body.theme-night .schedule-next,body.theme-night .schedule-empty,body.theme-night .schedule-upload,
body.theme-night .schedule-lookups,body.theme-night .schedule-history,body.theme-night .schedule-day,
body.theme-night .month-day,body.theme-night .schedule-selected-card,body.theme-night .schedule-selected-empty,
body.theme-night .schedule-centre,body.theme-night .schedule-worker,body.theme-night .schedule-nav a,
body.theme-night .month-actions a { background:var(--surface-raised);border-color:var(--line);color:var(--text-primary); }
body.theme-night .schedule-day.is-selected,body.theme-night .month-day.is-selected { border-color:#a9c8eb;box-shadow:inset 0 0 0 1px #a9c8eb; }
body.theme-night .schedule-day.is-today,body.theme-night .month-day.is-today { border-color:#77a5b8;box-shadow:inset 0 0 0 1px #77a5b8; }
body.theme-night .schedule-shift,body.theme-night .month-shift,body.theme-night .schedule-selected-main>span,
body.theme-night .schedule-upload summary>span,body.theme-night .schedule-selected-team li,
body.theme-night .schedule-results li,body.theme-night .schedule-selected-empty span { background:#30414d;color:#eff6fa; }
body.theme-night .schedule-shift span,body.theme-night .schedule-centre h3 { color:#c1d0d8; }
body.theme-night .schedule-shift.is-absence,body.theme-night .month-shift.is-absence { background:#403b38;color:#e6d9d0; }
body.theme-night .schedule-live { background:#244b3c;color:#b5f0d1; }
/* Schedule imports share the same compact visual language as the rest of the module. */
.schedule-import-options{display:grid;gap:.8rem;margin-top:.7rem}
.schedule-import-option{border:1px solid var(--line);border-radius:15px;padding:1rem;background:var(--surface)}
.schedule-import-option h3{font-size:.9rem;margin:0 0 .45rem}
.schedule-import-option p{color:var(--muted);font-size:.76rem;line-height:1.45;margin:.2rem 0 .7rem}
.schedule-import-option .schedule-form{gap:.45rem}
.schedule-import-option .schedule-form label{margin:.2rem 0}
.schedule-import-option .field-control{max-width:100%}
@media(min-width:700px){.schedule-import-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
