/* =====================================================================
   GLCA brand theme — red & white, matching www.glca.uk
   (primary #D81F27, deep #99121A, ink #201C1E, muted #635C60,
    blush #FCECEC / #F1E8E8; Poppins headings, Inter body, Montserrat UI)

   Loaded AFTER style.css / lms.css. It only re-maps colours, fonts and
   component styling — no layout of the original pages is changed, and the
   printed certificate (certificates/print.php, own inline styles) is not
   affected at all.
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;800&family=Inter:wght@400;500;600;700&family=Montserrat:wght@600;700&display=swap');

:root{
  --glca-red:#D81F27;
  --glca-red-dark:#B8161E;
  --glca-red-deep:#99121A;
  --glca-red-night:#5C0A10;
  --glca-blush:#FCECEC;
  --glca-blush-2:#F8D3D5;
  --glca-line:#F1E8E8;
  --glca-ink:#201C1E;
  --glca-muted:#635C60;
  --glca-grad:linear-gradient(135deg,#99121A 0%,#D81F27 100%);
  --glca-shadow:0 22px 50px rgba(32,12,14,.10);

  /* re-map the original admin theme variables */
  --accent:#B8161E;
  --accent-dark:#99121A;
  --accent-light:#FCECEC;
  --bg:#FAF6F6;
  --card:#ffffff;
  --ink:#201C1E;
  --muted:#635C60;
  --line:#F1E8E8;
  --radius:14px;
}

html,body{ font-family:Inter,-apple-system,"Segoe UI",Arial,sans-serif; }
h1,h2,h3,.card h2,.brand-name,.stat-card .v,.kpi .v{ font-family:Poppins,Inter,Arial,sans-serif; letter-spacing:-.01em; }
.btn,.badge,.sidenav a,.nav-group,.lms-tabs a,.section-title,table.records th{ font-family:Montserrat,Inter,Arial,sans-serif; }

/* ---------- top bar & navigation ---------- */
.topbar{ background:var(--glca-grad); box-shadow:0 6px 20px rgba(153,18,26,.25); }
.brand{ flex-direction:row; align-items:center; gap:10px; }
.brand .glca-mark{ width:38px; height:38px; background:#fff; border-radius:11px; padding:3px; display:block; box-shadow:0 2px 6px rgba(0,0,0,.18); }
.brand-text{ display:flex; flex-direction:column; line-height:1.2; }
.brand-sub{ color:rgba(255,255,255,.82); }
.user-chip{ color:rgba(255,255,255,.92); }
.user-chip small{ color:rgba(255,255,255,.7); }
.topbar .btn-ghost{ color:#fff; border:1px solid rgba(255,255,255,.45); background:rgba(255,255,255,.08); }
.topbar .btn-ghost:hover{ background:rgba(255,255,255,.18); }
.sidenav{ border-right:1px solid var(--glca-line); }
.sidenav a:hover{ background:var(--glca-blush); }
.sidenav a.active{ background:var(--glca-blush); border-left-color:var(--glca-red); color:var(--glca-red-deep); }
.nav-group{ color:var(--glca-red-deep); opacity:.75; }

/* ---------- cards & surfaces ---------- */
.card,.stat-card,.kpi,.tile{ border-color:var(--glca-line); border-radius:16px; box-shadow:0 1px 2px rgba(32,12,14,.04),0 10px 30px rgba(32,12,14,.05); }
.tile:hover{ border-color:var(--glca-red); box-shadow:0 12px 30px rgba(216,31,39,.12); }
.tile .n{ color:var(--glca-red); }
.stat-card .v,.kpi .v{ color:var(--glca-red-deep); }
.section-title{ color:var(--glca-red-deep); }
.summary-strip .v{ color:var(--glca-red-deep); }

/* ---------- buttons ---------- */
.btn{ border-radius:10px; letter-spacing:.2px; }
.btn-primary{ background:var(--glca-grad); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 20px rgba(216,31,39,.22); }
.btn-primary:hover{ background:linear-gradient(135deg,#7f0f16 0%,#c41b22 100%); }
.btn-secondary{ color:var(--glca-red-deep); border-color:var(--glca-blush-2); }
.btn-secondary:hover{ background:var(--glca-blush); }
.btn-ghost:hover{ background:var(--glca-blush); }

/* ---------- forms, tables, badges ---------- */
.field input:focus,.field select:focus,.field textarea:focus{ outline:2px solid rgba(216,31,39,.25); border-color:var(--glca-red); }
table.records th{ color:var(--glca-red-deep); background:#FDF7F7; }
table.records tr:hover td{ background:#FFF9F9; }
.pagination .current{ background:var(--glca-red); border-color:var(--glca-red); }
.lms-tabs a.active,.lms-tabs a:hover{ background:var(--glca-red); border-color:var(--glca-red); }
.pbar span{ background:var(--glca-grad); }
.badge.info{ background:var(--glca-blush); color:var(--glca-red-deep); }
.html-toolbar button{ background:#FDF7F7; border-color:var(--glca-line); }
.skill-chart .sc-bar{ fill:#B8161E; }
.skill-chart .sc-val{ fill:#99121A; }
a{ color:var(--glca-red-dark); }

/* ---------- auth screen ---------- */
.auth-wrap{ background:radial-gradient(circle at 15% 10%,#c41b22 0,#5C0A10 70%); }
.auth-card{ border:0; border-radius:20px; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.auth-card h1{ color:var(--glca-red-deep); }
.auth-logo{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.auth-logo img{ width:48px; height:48px; }

/* ---------- original certificate verification page (verify/index.php) ---------- */
.verify-topbar{ background:var(--glca-grad); }
.verify-topbar .sub{ color:rgba(255,255,255,.82); }
.verify-tabs button.active{ background:var(--glca-red); border-color:var(--glca-red); color:#fff; }
.vcert-head{ background:linear-gradient(135deg,#5C0A10 0%,#99121A 55%,#D81F27 100%) !important; }
.vcert-eyebrow,.vcert-nums,.vcert-score-meta{ color:rgba(255,255,255,.85) !important; }

/* ---------- consistent footer ---------- */
.glca-footer{ margin-left:var(--sidenav-w); background:linear-gradient(150deg,#5C0A10 0%,#99121A 100%); color:rgba(255,255,255,.8); font-size:13px; }
.glca-footer .in{ max-width:1180px; margin:0 auto; padding:18px 22px; display:flex; flex-wrap:wrap; gap:8px 20px; align-items:center; justify-content:space-between; }
.glca-footer a{ color:#fff; }
@media (max-width:880px){ .glca-footer{ margin-left:0; } }

/* navigation count badge */
.nav-badge { display: inline-block; min-width: 20px; padding: 1px 7px; border-radius: 999px; background: #D81F27; color: #fff; font-size: 11px; font-weight: 700; text-align: center; margin-left: 4px; }
