/* =====================================================================
   DZ Club Manager — brand identity (v1, Oct 2026)
   Shield mark, pitch green + trophy gold, Readex Pro,
   larger text for older users and weak eyesight.
   Loaded LAST: it only overrides tokens and a few brand elements.
   Each club's own colours (--club-*) still come from its settings.
   ===================================================================== */

:root {
  /* Brand palette */
  --dz-pitch: #0e6b4c;        /* primary green */
  --dz-pitch-hover: #0b5a40;
  --dz-pitch-soft: #dcefe5;
  --dz-trophy: #e9a91f;       /* gold accent — fills only, never white text on it */
  --dz-trophy-ink: #7a4f00;
  --dz-trophy-soft: #fdf1d3;
  --dz-lane: #1f5f9e;         /* info, swimming schools */
  --dz-lane-soft: #e1ecf8;
  --dz-alert: #b42318;        /* expired, unpaid, delete */
  --dz-alert-soft: #fde4e1;
  --dz-ink: #13261e;

  --brand-primary: var(--dz-pitch);
  --brand-primary-hover: var(--dz-pitch-hover);
  --brand-dark: var(--dz-ink);
  --brand-gradient: linear-gradient(90deg, var(--dz-pitch) 0 72%, var(--dz-trophy) 72% 100%);

  /* Neutrals (clean.css names) */
  --ink: #13261e;
  --ink-2: #33443b;
  --muted: #4b5b53;
  --paper: #f5f6f1;
  --surface: #ffffff;
  --line: #dde2d8;
  --line-strong: #7f8b84;     /* input borders: 3:1 on paper and white */

  --ochre: var(--dz-trophy-ink);
  --ochre-soft: var(--dz-trophy-soft);
  --brick: var(--dz-alert);
  --brick-soft: var(--dz-alert-soft);
  --sea: var(--dz-lane);
  --sea-soft: var(--dz-lane-soft);
  --leaf: var(--dz-pitch);
  --leaf-soft: var(--dz-pitch-soft);

  --bg-surface-subtle: #f8f9f5;
  --bg-hover: #eef1ea;
  --bg-active: #e3e8df;
  --border-subtle: #eceee8;

  --success: var(--dz-pitch);
  --success-light: var(--dz-pitch-soft);
  --success-text: #0b5a40;
  --warning: var(--dz-trophy);
  --warning-light: var(--dz-trophy-soft);
  --warning-text: var(--dz-trophy-ink);
  --danger: var(--dz-alert);
  --danger-light: var(--dz-alert-soft);
  --danger-text: #8f1c13;
  --info: var(--dz-lane);
  --info-light: var(--dz-lane-soft);
  --info-text: #184c7f;

  --shadow-sm: 0 1px 2px rgba(19, 38, 30, 0.05);
  --shadow-md: 0 4px 14px rgba(19, 38, 30, 0.07);
  --shadow-lg: 0 12px 32px rgba(19, 38, 30, 0.11);
  --shadow-xl: 0 24px 60px rgba(19, 38, 30, 0.18);

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 16px;

  /* Default club colours, before a club sets its own */
  --club-primary: var(--dz-pitch);
  --club-primary-rgb: 14, 107, 76;
  --club-primary-light: var(--dz-pitch-soft);
  --club-accent: var(--dz-trophy);
  --club-accent-light: var(--dz-trophy-soft);

  --sidebar-width: 15rem;
  --font-arabic: 'Readex Pro', 'Segoe UI', Tahoma, system-ui, sans-serif;
  --font-num: 'Readex Pro', 'Segoe UI', Tahoma, system-ui, sans-serif;
}

/* ---------- Readability: bigger base text, nothing tiny ---------- */
html { font-size: 18px; }
html[data-text="lg"] { font-size: 20px; }
html[data-text="xl"] { font-size: 22px; }
html, body { line-height: 1.65; }

.club-season-badge, .nav-section-title, .platform-text, .view-page-subtitle,
.user-role-label, .user-menu-club-sub, .roster-head, .roster-sub,
.kpi-label, .kpi-note, .form-label, .btn-sm, .status-pill, .rate-bar,
.data-table th, .data-table td, .card-subtitle, .badge, .auth-subtitle {
  font-size: max(0.94rem, 16px);
}
.nav-item { font-size: 1rem; height: 44px; }
.btn { min-height: 44px; }
.btn-lg { min-height: 50px; font-size: 1.02rem; }
.form-input, .form-select, select.form-input, textarea.form-input { min-height: 44px; font-size: 1rem; }
.kpi-value { font-weight: 700; }

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

/* ---------- Brand marks ---------- */
img.dz-mark { display: block; flex-shrink: 0; object-fit: contain; }

.auth-logo-symbol,
.platform-logo-small {
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
.auth-logo-symbol { width: 52px; height: 52px; }
.auth-logo-symbol img, .platform-logo-small img { width: 100%; height: 100%; }
.platform-logo-small { width: 30px; height: 30px; }

.auth-title { color: var(--dz-ink); font-weight: 700; letter-spacing: -0.01em; }
.auth-title b { color: var(--dz-pitch); font-weight: 700; }
.auth-subtitle { color: var(--muted); }
.platform-text { color: var(--ink); font-weight: 600; }

.demo-account-pill:hover { border-color: var(--dz-pitch); background: var(--dz-pitch-soft); color: #0b5a40; }

/* Login screen: deep brand green ground, white card */
#auth-login-screen {
  background:
    radial-gradient(50rem 28rem at 85% -10%, rgba(63, 191, 138, 0.22), transparent 60%),
    radial-gradient(40rem 24rem at 0% 110%, rgba(233, 169, 31, 0.12), transparent 60%),
    #0f1a15;
}
.auth-card-wrapper { box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); }

/* ---------- Readex Pro: comfortable line spacing for Arabic ---------- */
h1, h2, h3, h4, .card-title, .modal-title, .view-page-title, .page-intro h2 { line-height: 1.45; }
.data-table th, .data-table td { line-height: 1.55; }
.roster-name, .list-row .roster-name { line-height: 1.5; }
.roster-sub, .form-label, .kpi-label, .kpi-note { line-height: 1.55; }
.form-input, .form-select { line-height: 1.5; }

/* ---------- Names are never cut with "..." ---------- */
.club-info-text, .club-name { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
.club-name { line-height: 1.35; overflow-wrap: anywhere; }
.roster-name, .roster-sub { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.club-season-badge { white-space: nowrap; }
