/* =========================================================
   IAMS — Modern design layer (v3)
   Loaded LAST on every screen page (public site + every panel),
   with media="screen" so printed documents are never affected.
   Works on top of tailwind-offline.css, style.css and the panels'
   inline <style> blocks — no markup changes were needed.
   Everything is local: no CDN, no web fonts, no external images.
   ========================================================= */

:root{
  --m-forest:#0B6E4F;
  --m-forest-2:#0F8A62;
  --m-forest-deep:#063B2B;
  --m-ink:#14211b;
  --m-muted:#68786f;
  --m-gold:#F2B705;
  --m-clay:#C1440E;
  --m-bg:#f3f6f4;
  --m-surface:#ffffff;
  --m-line:#e1e8e3;
  --m-line-strong:#cfd9d3;
  --m-tint:#eef5f1;

  --m-r-sm:10px;
  --m-r-md:14px;
  --m-r-lg:20px;

  --m-shadow-1:0 1px 2px rgba(16,35,28,.05),0 1px 1px rgba(16,35,28,.03);
  --m-shadow-2:0 1px 2px rgba(16,35,28,.04),0 12px 32px -16px rgba(16,35,28,.20);
  --m-shadow-3:0 2px 4px rgba(16,35,28,.05),0 24px 48px -22px rgba(7,74,52,.38);
  --m-ring:0 0 0 3px rgba(15,138,98,.22);
  --m-ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Base ---------- */
html{ -webkit-text-size-adjust:100%; }
body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-feature-settings:"kern","liga";
}
h1,h2,h3,h4{ letter-spacing:-.012em; text-wrap:balance; }
p,li{ text-wrap:pretty; }
::selection{ background:rgba(242,183,5,.55); color:var(--m-ink); }
:focus-visible{ outline:2px solid var(--m-forest-2); outline-offset:2px; border-radius:6px; }
a{ text-underline-offset:3px; }
table{ font-variant-numeric:tabular-nums; }

/* Amharic needs a little more air */
html[data-site-lang="am"] body,
:lang(am){ line-height:1.75; }

/* Headings: serif for the public site, Poppins inside the panels */
body.bg-cream h1, body.bg-cream h2, body.bg-cream h3{ font-family:var(--font-display); }
body.bg-cream h1:not([class*="font-"]), body.bg-cream h2:not([class*="font-"]), body.bg-cream h3:not([class*="font-"]){ font-weight:700; }
main h1,main h2,main h3{ font-family:var(--font-sans); }
main h1:not([class*="font-"]){ font-weight:600; letter-spacing:-.02em; }
main h2:not([class*="font-"]),main h3:not([class*="font-"]){ font-weight:600; }

/* Slim, quiet scrollbars */
*{ scrollbar-width:thin; scrollbar-color:#b9c7bf transparent; }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:transparent; }
::-webkit-scrollbar-thumb{ background:#b9c7bf; border-radius:99px; border:3px solid transparent; background-clip:padding-box; }
::-webkit-scrollbar-thumb:hover{ background:var(--m-forest); background-clip:padding-box; border:3px solid transparent; }


/* ---------- Compensation for un-classed elements (the old browser defaults) ---------- */
h1:not([class]),h2:not([class]),h3:not([class]),h4:not([class]){ font-weight:700; }
main h1:not([class]){ font-size:1.65rem; margin:0 0 .6rem; line-height:1.25; }
main h2:not([class]){ font-size:1.3rem;  margin:0 0 .5rem; line-height:1.3; }
main h3:not([class]){ font-size:1.1rem;  margin:0 0 .4rem; line-height:1.35; }
main p:not([class]){ margin:.5em 0; line-height:1.6; }

/* =========================================================
   BUTTONS
   Colour comes from the page (bg-emerald-700, bg-amber-500 …);
   this layer adds shape, depth, motion and states on top.
   ========================================================= */
button:not(.hero-dot):not(.lang-btn):not(.hero-arrow):not(.icon-only),
.btn,
a.btn,
input[type="submit"],
input[type="button"],
a[class*="bg-emerald-"][class*="rounded"],
a[class*="bg-teal-"][class*="rounded"],
a[class*="bg-forest"][class*="rounded"],
a[class*="bg-amber-"][class*="rounded"]{
  cursor:pointer;
  transition:transform .22s var(--m-ease), box-shadow .25s ease, filter .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
  -webkit-tap-highlight-color:transparent;
}
button:not(.hero-dot):not(.lang-btn):not(.hero-arrow):not(.icon-only):not([class*="rounded-full"]),
input[type="submit"],input[type="button"]{
  border-radius:12px !important;
  letter-spacing:.005em;
}
.admin-content .btn, main .btn{ border-radius:12px !important; }

/* Glossy depth for every solid-coloured action button */
button[class*="bg-emerald-"]:not([class*="bg-emerald-50"]):not([class*="bg-emerald-100"]),
button[class*="bg-teal-"]:not([class*="bg-teal-50"]):not([class*="bg-teal-100"]),
button[class*="bg-forest"],
button[class*="bg-amber-"]:not([class*="bg-amber-50"]):not([class*="bg-amber-100"]),
button[class*="bg-red-6"],button[class*="bg-red-7"],
button[class*="bg-blue-6"],button[class*="bg-blue-7"],
button[class*="bg-sky-6"],button[class*="bg-sky-7"],
button[class*="bg-slate-8"],button[class*="bg-slate-9"],
button[class*="bg-clay"],
a[class*="bg-emerald-"][class*="text-white"],
a[class*="bg-teal-"][class*="text-white"],
a[class*="bg-forest"][class*="text-white"],
a[class*="bg-amber-"][class*="text-white"],
.btn.primary,.btn-primary,.reg-btn-primary{
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset, 0 6px 16px -8px rgba(7,74,52,.55);
}
button:not(.hero-dot):not(.lang-btn):not(.hero-arrow):not(.icon-only):hover,
.btn:hover,a.btn:hover,
input[type="submit"]:hover,input[type="button"]:hover,
a[class*="bg-emerald-"][class*="rounded"]:hover,
a[class*="bg-teal-"][class*="rounded"]:hover,
a[class*="bg-forest"][class*="rounded"]:hover{
  transform:translateY(-1px);
  filter:brightness(1.07) saturate(1.05);
  box-shadow:0 1px 0 rgba(255,255,255,.2) inset, 0 12px 24px -10px rgba(7,74,52,.55);
}
button:not(.hero-dot):not(.lang-btn):not(.hero-arrow):not(.icon-only):active,
.btn:active,a.btn:active,
input[type="submit"]:active,input[type="button"]:active{
  transform:translateY(0) scale(.975);
  filter:brightness(.97);
  box-shadow:0 2px 6px -3px rgba(7,74,52,.5);
}
button:focus-visible,.btn:focus-visible,input[type="submit"]:focus-visible,a[class*="rounded"]:focus-visible{
  outline:none; box-shadow:var(--m-ring), 0 6px 16px -8px rgba(7,74,52,.45);
}
button:disabled,.btn[disabled],input:disabled[type="submit"]{
  opacity:.5; cursor:not-allowed; transform:none !important; filter:grayscale(.3); box-shadow:none;
}
/* Soft / outlined buttons (red-50, white + border …) stay light, only lift slightly */
button[class*="bg-red-50"],button[class*="bg-emerald-50"],button[class*="bg-amber-50"],
button[class*="bg-white"],button.border:not([class*="bg-"]){
  background-image:none; box-shadow:var(--m-shadow-1);
}
button[class*="bg-red-50"]:hover{ background-color:#fee2e2; }

button.border:not([class*="bg-"]):not([class*="rounded-full"]),
button[class*="border-"]:not([class*="bg-"]):not([class*="rounded-full"]){
  background-color:#fff; border-color:var(--m-line-strong); color:#27382f; font-weight:500;
  box-shadow:var(--m-shadow-1);
}
button.border:not([class*="bg-"]):hover{ background-color:var(--m-tint); border-color:#b6c6bc; }

/* The site's own pill buttons, upgraded */
.btn{ font-weight:600; letter-spacing:.005em; }
.btn-primary{
  background:linear-gradient(135deg,#d24c12 0%,#b93d0b 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset, 0 12px 26px -12px rgba(193,68,14,.75);
}
.btn-gold{
  background:linear-gradient(135deg,#ffd84d 0%,#f2b705 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.5) inset, 0 12px 26px -12px rgba(242,183,5,.8);
}
.btn-outline{ border-width:1.5px; }

/* =========================================================
   FORMS
   ========================================================= */
label:not([class*="font-"]){ font-weight:500; }
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="button"]),
select,textarea{
  background-color:#fff;
  border:1px solid var(--m-line-strong);
  border-radius:12px;
  color:var(--m-ink);
  box-shadow:var(--m-shadow-1);
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
input::placeholder,textarea::placeholder{ color:#9aa9a1; opacity:1; }
input:not([type="checkbox"]):not([type="radio"]):hover,select:hover,textarea:hover{ border-color:#aebdb4; }
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):focus,
select:focus,textarea:focus{
  outline:none;
  border-color:var(--m-forest-2) !important;
  box-shadow:var(--m-ring) !important;
  background-color:#fff;
}
input:disabled,select:disabled,textarea:disabled,input[readonly]{ background-color:#f3f6f4; color:#6b7a72; }

/* Custom dropdown arrow (inline SVG — nothing external) */
select:not([multiple]):not([size]){
  -webkit-appearance:none; appearance:none;
  padding-right:2.4rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2368786f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .85rem center;
  background-size:16px;
}
input[type="checkbox"],input[type="radio"]{ accent-color:var(--m-forest); width:1.05rem; height:1.05rem; cursor:pointer; }
input[type="file"]{ font-size:.9rem; color:var(--m-muted); }
input[type="file"]::file-selector-button{
  margin-right:.85rem; padding:.55rem 1rem; border:0; border-radius:10px;
  background:var(--m-tint); color:var(--m-forest-deep); font:inherit; font-weight:600; cursor:pointer;
  transition:background .2s ease, transform .2s var(--m-ease);
}
input[type="file"]::file-selector-button:hover{ background:#dcebe3; transform:translateY(-1px); }
input[type="date"],input[type="time"],input[type="number"]{ font-variant-numeric:tabular-nums; }

/* =========================================================
   TABLES (inside panels and content pages)
   ========================================================= */
main table, .admin-content table, .content table{ border-collapse:collapse; width:100%; }
main thead th, .admin-content thead th, .content thead th, table.table thead th{
  background:linear-gradient(180deg,#f4f8f6,#edf3ef);
  color:#3a4d43;
  font-weight:600;
  font-size:12.5px;
  letter-spacing:.01em;
  border-bottom:1px solid var(--m-line-strong);
}
main thead th:first-child, .admin-content thead th:first-child{ border-top-left-radius:12px; }
main thead th:last-child,  .admin-content thead th:last-child{ border-top-right-radius:12px; }
main tbody td, .admin-content tbody td, .content tbody td{ border-bottom:1px solid #edf2ee; }
main tbody tr, .admin-content tbody tr{ transition:background-color .15s ease; }
main tbody tr:hover, .admin-content tbody tr:hover, .content tbody tr:hover{ background:#f6faf8; }
main tbody tr:last-child td{ border-bottom:0; }

/* Pills / badges */
span[class*="rounded-full"]:not([class*="font-"]){ font-weight:600; letter-spacing:.005em; }

/* Notices */
div[class*="bg-red-50"], div[class*="bg-emerald-50"], div[class*="bg-green-50"],
div[class*="bg-amber-50"], div[class*="bg-blue-50"], div[class*="clay/10"]{
  border-radius:14px;
}

/* =========================================================
   CARDS & PANELS
   ========================================================= */
main .bg-white[class*="rounded-2xl"], main .bg-white[class*="rounded-xl"], main .bg-white[class*="rounded-3xl"],
.ui-panel, .ui-stat{
  border-color:var(--m-line);
  box-shadow:var(--m-shadow-2);
}
.ui-panel{ border-radius:22px; }
.ui-stat{ border-radius:22px; transition:transform .25s var(--m-ease), box-shadow .25s ease; }
.ui-stat:hover{ transform:translateY(-3px); box-shadow:var(--m-shadow-3); }
.ui-stat [class*="text-3xl"], .ui-stat [class*="text-2xl"], .ui-stat [class*="text-4xl"]{
  font-weight:600; letter-spacing:-.025em; font-variant-numeric:tabular-nums;
}
.ui-icon{ background:linear-gradient(145deg,#e6f4ed,#d4ebe0); box-shadow:0 1px 0 rgba(255,255,255,.8) inset; }
.ui-action{ border-radius:22px; color:#fff; box-shadow:0 1px 0 rgba(255,255,255,.18) inset, var(--m-shadow-2); }
.ui-action *{ color:inherit; }
.ui-action:hover{ box-shadow:var(--m-shadow-3); }

.dashboard-hero{
  background:
    radial-gradient(520px 260px at 92% -10%, rgba(242,183,5,.28), transparent 60%),
    radial-gradient(420px 260px at 0% 120%, rgba(15,138,98,.55), transparent 62%),
    linear-gradient(135deg,#0B6E4F 0%,#075a40 55%,#06261c 100%) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.12) inset, 0 28px 56px -28px rgba(7,74,52,.65) !important;
}

/* =========================================================
   SIDEBARS (admin · clinic · staff · coach · director · registrar)
   ========================================================= */
.admin-sidebar, .sidebar, .coach-sidebar, .side{
  background:
    radial-gradient(420px 320px at 0% 0%, rgba(255,255,255,.16), transparent 62%),
    linear-gradient(185deg,#2496ed 0%,#2496ed 100%) !important;
  border-right:1px solid rgba(255,255,255,.12);
}
.admin-sidebar nav, .sidebar nav, .coach-sidebar nav, .side nav{ scrollbar-color:rgba(255,255,255,.25) transparent; }
.nav-item, .sidebar .nav, .coach-sidebar nav a, .side .nav{
  border-radius:14px !important;
  color:rgba(255,255,255,.82);
  font-weight:500 !important;
  transition:background-color .2s ease, color .2s ease, transform .2s var(--m-ease), box-shadow .2s ease;
}
.nav-item:hover, .sidebar .nav:hover, .coach-sidebar nav a:hover, .side .nav:hover{
  background:rgba(255,255,255,.09); color:#fff; transform:translateX(3px);
}
.nav-item.active, .sidebar .nav.active, .side .nav.active{
  background:#fff !important; color:#1565a8 !important; font-weight:600 !important;
  box-shadow:0 10px 24px -10px rgba(0,0,0,.45);
}
.nav-item.active:before{ background:var(--m-gold) !important; }

/* Coach sidebar: emerald utility classes -> #2496ed */
.coach-sidebar .bg-emerald-600{ background:#fff !important; color:#1565a8 !important; box-shadow:0 10px 24px -10px rgba(0,0,0,.35) !important; }
.coach-sidebar .text-emerald-300, .coach-sidebar .text-emerald-200{ color:#fff !important; }
.coach-sidebar [class*="bg-emerald-500"]{ background:rgba(255,255,255,.22) !important; }

.admin-content main, .content main{ animation:m-page-in .45s var(--m-ease) both; }
@keyframes m-page-in{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }

/* Panel backdrop */
body.font-body:not(.bg-cream):not(.bg-ink),
body.min-h-screen:not(.bg-ink){
  background:
    radial-gradient(900px 420px at 100% -5%, rgba(11,110,79,.08), transparent 60%),
    radial-gradient(700px 380px at -5% 110%, rgba(242,183,5,.06), transparent 60%),
    var(--m-bg);
}

/* =========================================================
   LOGIN PAGES  (admin · coach · staff · registrar · director · clinic)
   ========================================================= */
body.bg-ink, body.bg-slate-900, body.bg-slate-950,
body.min-h-screen.flex.items-center.justify-center,
body:has(> .box){
  background: #64748b !important;
}
body.min-h-screen.flex.items-center.justify-center > div[class*="max-w-"],
body > .box{
  background:rgba(255,255,255,.97) !important;
  border-radius:26px !important;
  border-top:0 !important;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 40px 80px -30px rgba(0,0,0,.65), 0 0 0 1px rgba(255,255,255,.08) !important;
  position:relative;
  animation:m-page-in .5s var(--m-ease) both;
}
body.min-h-screen.flex.items-center.justify-center > div[class*="max-w-"]::before,
body > .box::before{
  content:""; position:absolute; left:30px; right:30px; top:0; height:4px; border-radius:0 0 6px 6px;
  background:linear-gradient(90deg,var(--m-forest),var(--m-gold),var(--m-clay));
}
body.min-h-screen.flex.items-center.justify-center h1,
body > .box h1{ font-family:var(--font-sans); font-weight:600; letter-spacing:-.02em; color:var(--m-forest-deep); }
body.min-h-screen.flex.items-center.justify-center button[type="submit"],
body.min-h-screen.flex.items-center.justify-center form button:last-of-type,
body > .box button{
  min-height:48px; font-weight:600;
  background-image:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0) 60%);
  box-shadow:0 1px 0 rgba(255,255,255,.18) inset, 0 12px 24px -12px rgba(7,74,52,.7);
}
body > .box button{ background-color:var(--m-forest); }
body > .box input{ padding:13px 14px; }
body > .box .err{ border-radius:12px; }

/* =========================================================
   PUBLIC WEBSITE
   ========================================================= */
header.sticky{
  background:rgba(250,247,240,.82) !important;
  -webkit-backdrop-filter:saturate(1.4) blur(16px);
  backdrop-filter:saturate(1.4) blur(16px);
}
header.sticky.scrolled{ box-shadow:0 10px 30px -14px rgba(16,35,28,.25); }
.nav-link{ font-weight:500; }
.nav-link.active{ font-weight:600; }
.lang-switch{ background:rgba(255,255,255,.85); border-color:var(--m-line); box-shadow:var(--m-shadow-1); }
.lang-btn{ font-weight:600; }
.lang-btn.active{ background:linear-gradient(180deg,var(--m-forest-2),var(--m-forest)); box-shadow:0 6px 14px -6px rgba(7,74,52,.6); }

.card{ border-radius:20px; border-color:var(--m-line); box-shadow:var(--m-shadow-2); }
.card:hover{ box-shadow:var(--m-shadow-3); }
.home-highlight-card{ border-radius:20px; }
.lane-divider{ opacity:.95; }
.eyebrow{ font-weight:700; letter-spacing:.12em; }
.section-pad{ padding-top:clamp(3.25rem,7vw,6rem); padding-bottom:clamp(3.25rem,7vw,6rem); }

/* Footer links */
footer a{ transition:color .2s ease, transform .2s var(--m-ease); }
footer a:hover{ color:var(--m-gold); }

/* ---------- Small screens ---------- */
@media (max-width:768px){
  button:not(.hero-dot):not(.lang-btn):not(.hero-arrow):not(.icon-only):hover{ transform:none; }
  .ui-stat:hover,.card:hover{ transform:none; }
  main thead th{ white-space:normal; }
}

/* ---------- Respect reduced-motion ---------- */
@media (prefers-reduced-motion:reduce){
  .admin-content main,.content main{ animation:none; }
  button,.btn,.nav-item,.ui-stat{ transition:none !important; }
}

/* =========================================================
   SIDEBAR COLOUR HARMONY (v3)
   Buttons, fonts and icons follow the sidebar blue (#2496ed).
   Applies to: admin · registrar · director · clinic · staff · coach
   ========================================================= */
:root{ --sb-blue:#2496ed; --sb-deep:#0d4f8b; --sb-ink:#ffffff; }

.admin-sidebar, .coach-sidebar, .sidebar, .side{ color:var(--sb-ink); }

/* header title + sub-title + section labels: always readable on blue */
.admin-sidebar .font-display, .admin-sidebar .font-bold, .coach-sidebar .font-extrabold,
.sidebar .font-bold, .side .font-bold{ color:#fff !important; text-shadow:0 1px 1px rgba(0,35,80,.30); }
.admin-sidebar [class*="text-white/"], .sidebar [class*="text-white/"], .side [class*="text-white/"],
.coach-sidebar [class*="text-slate-"], .coach-sidebar .text-emerald-300, .coach-sidebar .text-emerald-200{
  color:rgba(255,255,255,.92) !important;
}
.admin-sidebar .uppercase, .coach-sidebar .uppercase{ color:rgba(255,255,255,.80) !important; letter-spacing:.16em; }
.admin-sidebar .border-white\/10, .coach-sidebar .border-white\/10, .sidebar .border-white\/10, .side .border-white\/10,
.admin-sidebar .border-b, .coach-sidebar .border-b{ border-color:rgba(255,255,255,.22) !important; }

/* coach profile card on the blue background */
.coach-sidebar .bg-white\/5{ background:rgba(6,45,90,.22) !important; }
.coach-sidebar .bg-black\/10{ background:rgba(6,45,90,.28) !important; }
.coach-sidebar .border-white\/10{ border-color:rgba(255,255,255,.22) !important; }

/* menu buttons */
.admin-sidebar .nav-item, .coach-sidebar .nav-item, .sidebar .nav, .side .nav{
  display:flex; align-items:center; gap:12px;
  color:#fff !important; font-weight:600 !important; font-size:14px;
  background:rgba(6,45,90,.20);
  border:1px solid rgba(255,255,255,.16) !important;
  text-shadow:0 1px 1px rgba(0,35,80,.35);
  border-radius:14px !important;
}
.admin-sidebar .nav-item:hover, .coach-sidebar .nav-item:hover, .sidebar .nav:hover, .side .nav:hover{
  background:rgba(6,45,90,.36) !important; border-color:rgba(255,255,255,.34) !important; color:#fff !important;
}
.admin-sidebar .nav-item.active, .coach-sidebar .nav-item.active, .sidebar .nav.active, .side .nav.active{
  background:#fff !important; color:var(--sb-deep) !important; border-color:#fff !important;
  text-shadow:none; font-weight:700 !important;
  box-shadow:0 10px 24px -10px rgba(0,30,70,.55);
}
.admin-sidebar .nav-item:focus-visible, .coach-sidebar .nav-item:focus-visible, .sidebar .nav:focus-visible, .side .nav:focus-visible{
  outline:2px solid #fff; outline-offset:2px;
}

/* logout button */
.admin-sidebar .nav-logout, .coach-sidebar .nav-logout, .sidebar .nav-logout, .side .nav-logout{
  background:rgba(6,45,90,.34); border-color:rgba(255,255,255,.30) !important; justify-content:center;
}
.admin-sidebar .nav-logout:hover, .coach-sidebar .nav-logout:hover, .sidebar .nav-logout:hover, .side .nav-logout:hover{
  background:#fff !important; color:var(--sb-deep) !important; text-shadow:none;
}

/* icons: one tidy chip, tinted to the sidebar colour */
.nav-ico{
  flex:0 0 auto; width:32px; height:32px; border-radius:10px;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:16px; line-height:1; font-style:normal; text-align:center;
  background:rgba(255,255,255,.20);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
  color:#fff;
  /* emoji -> single-tone white-ish glyph that matches the blue theme */
  filter:grayscale(1) brightness(2.2) contrast(.95);
}
.admin-sidebar .nav-logout .nav-ico, .sidebar .nav-logout .nav-ico, .side .nav-logout .nav-ico, .coach-sidebar .nav-logout .nav-ico{ width:26px; height:26px; background:transparent; box-shadow:none; }
/* icon on the white (active / hover-logout) button: blue tone */
.nav-item.active .nav-ico, .nav.active .nav-ico, .nav-logout:hover .nav-ico{
  background:rgba(36,150,237,.16);
  box-shadow:inset 0 0 0 1px rgba(36,150,237,.35);
  color:var(--sb-blue);
  filter:grayscale(1) sepia(1) hue-rotate(172deg) saturate(5) brightness(.78);
}
.admin-sidebar a, .coach-sidebar a, .sidebar a, .side a{ text-decoration:none !important; }
.admin-sidebar .nav-item, .coach-sidebar .nav-item, .sidebar .nav, .side .nav{ font-family:inherit; }

/* =========================================================
   Developer credit (text is set in config.php → DEVELOPER_NAME)
   ========================================================= */
.dev-credit{ text-align:center; padding:14px 16px; font-size:12px; letter-spacing:.02em; color:#64748b; }
.dev-credit a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.dev-credit:hover{ color:#2563eb; }
.dev-credit--dark{ color:#94a3b8; border-top:1px solid rgba(255,255,255,.12); margin-top:14px; padding-top:14px; }
.dev-credit--dark:hover{ color:#F2B705; }
.dev-credit--fixed{ position:fixed; left:0; right:0; bottom:0; color:rgba(255,255,255,.55); pointer-events:auto; }
.dev-credit--fixed:hover{ color:#fff; }
