/* Mizan Legal Platform — Central Color System v5.0
   Palette supplied by the Mizan design specification.
   Book artwork tokens remain separate and are intentionally not used by the
   unified site theme so the existing book design stays unchanged.
*/
:root{
  --mizan-overlay-black-24:rgba(0,0,0,.24);
  --mizan-overlay-black-60:rgba(0,0,0,.6);
  --mizan-overlay-black-85:rgba(0,0,0,.85);
  --mizan-overlay-black-20:rgba(0,0,0,.2);
  --mizan-primary-100:#C7DCFE;
  --mizan-primary-200:#93C5FD;
  --mizan-primary-300:#60A5FA;
  --mizan-primary-400:#3B82F6;
  --mizan-primary-500:#2563EB;
  --mizan-primary-600:#1D4ED8;
  --mizan-primary-700:#1E40AF;
  --mizan-primary-800:#1E3A8A;
  --mizan-primary-900:#0F172A;
  --mizan-success-100:#D1FAE5;
  --mizan-success-200:#A7F3D0;
  --mizan-success-500:#10B981;
  --mizan-success-700:#047857;
  --mizan-warning-100:#FEF3C7;
  --mizan-warning-200:#FDE68A;
  --mizan-warning-500:#D97706;
  --mizan-warning-700:#B45309;
  --mizan-danger-100:#FEE2E2;
  --mizan-danger-200:#FECACA;
  --mizan-danger-500:#EF4444;
  --mizan-danger-700:#B91C1C;
  --mizan-info-100:#E0F2FE;
  --mizan-info-500:#0284C7;
  --mizan-info-700:#0369A1;
  --mizan-bg-light:#F6F8FB;
  --mizan-surface-light:#FFFFFF;
  --mizan-card-light:#FFFFFF;
  --mizan-border-light:#E4E9F0;
  --mizan-heading-light:#0D1728;
  --mizan-section-heading-light:#1B2A41;
  --mizan-text-light:#334155;
  --mizan-muted-light:#657286;
  --mizan-bg-dark:#07111F;
  --mizan-surface-dark:#0D1B2D;
  --mizan-card-dark:#101F33;
  --mizan-border-dark:#203249;
  --mizan-heading-dark:#F4F7FB;
  --mizan-section-heading-dark:#E4ECF6;
  --mizan-text-dark:#F4F7FB;
  --mizan-muted-dark:#9BAABD;
  --mizan-subtle-dark:#64748B;
  --mizan-muted-strong-light:#505E74;
  --mizan-bg:var(--mizan-bg-dark);
  --mizan-surface:var(--mizan-surface-dark);
  --mizan-card:var(--mizan-card-dark);
  --mizan-border:var(--mizan-border-dark);
  --mizan-heading:var(--mizan-heading-dark);
  --mizan-section-heading:var(--mizan-section-heading-dark);
  --mizan-text:var(--mizan-text-dark);
  --mizan-muted:var(--mizan-muted-dark);
  --mizan-navy-deep:#020617;
  --mizan-white:#FFFFFF;
  --mizan-ice:#F1F5F9;
  --mizan-blue:var(--mizan-primary-500);
  --mizan-blue-hover:var(--mizan-primary-600);
  --mizan-success:var(--mizan-success-500);
  --mizan-danger:var(--mizan-danger-500);
  --mizan-warning:var(--mizan-warning-500);
  --mizan-error:var(--mizan-danger-500);
  --mizan-gold-metal-1:#D4AF37;
  --mizan-gold-metal-2:#FFF0AA;
  --mizan-gold-metal-3:#AA820A;
  --mizan-gold-metal-gradient:linear-gradient(135deg,#BF953F,#FCF6BA,#B38728,#FBF5B7,#AA771C);
  --mizan-paper-cream:#F4EAAD;
  --mizan-paper-edge:#D8C382;
  --mizan-paper-dark:#B8A05C;
  --mizan-focus:var(--mizan-focus-ring);
  --mizan-book-blue-1:#182842;
  --mizan-book-blue-2:#0A1324;
  --mizan-book-blue-3:#040914;
  --mizan-book-blue-spine-1:#03070F;
  --mizan-book-blue-spine-2:#111E33;
  --mizan-book-blue-spine-3:#1D3254;
  --mizan-book-blue-spine-4:#0F1A2C;
  --mizan-shadow-sm:0 4px 15px rgba(0,0,0,.14);
  --mizan-shadow-md:0 12px 35px rgba(0,0,0,.16);
  /* Shared component glass surfaces — centralized from repeated component declarations. */
  --mizan-glass-white-025:color-mix(in srgb,var(--mizan-white) 2.5%,transparent);
  --mizan-glass-white-030:color-mix(in srgb,var(--mizan-white) 3%,transparent);
  --mizan-glass-white-035:color-mix(in srgb,var(--mizan-white) 3.5%,transparent);
  --mizan-glass-white-040:color-mix(in srgb,var(--mizan-white) 4%,transparent);
  --mizan-glass-white-050:color-mix(in srgb,var(--mizan-white) 5%,transparent);
  --mizan-glass-white-055:color-mix(in srgb,var(--mizan-white) 5.5%,transparent);
  --mizan-glass-white-060:color-mix(in srgb,var(--mizan-white) 6%,transparent);
  --mizan-glass-white-080:color-mix(in srgb,var(--mizan-white) 8%,transparent);
  --mizan-glass-primary-900-050:color-mix(in srgb,var(--mizan-primary-900) 5%,transparent);
  --mizan-glass-primary-900-080:color-mix(in srgb,var(--mizan-primary-900) 8%,transparent);
  --mizan-glass-primary-900-180:color-mix(in srgb,var(--mizan-primary-900) 18%,transparent);
  --mizan-glass-black-120:color-mix(in srgb,var(--mizan-black) 12%,transparent);
  --mizan-surface-glass-095:color-mix(in srgb,var(--mizan-surface) 95%,transparent);
  /* Shared semantic elevation and decorative surfaces. */
  --mizan-shadow-card:0 8px 24px var(--mizan-glass-primary-900-050);
  --mizan-shadow-surface-soft:0 8px 25px var(--mizan-glass-primary-900-050);
  --mizan-gradient-surface-light:linear-gradient(145deg,var(--mizan-surface),var(--mizan-bg-light));
  --mizan-gradient-surface-deep:linear-gradient(145deg,var(--mizan-surface),var(--mizan-primary-900));
  --mizan-shadow-card-rest:0 10px 28px rgba(0,0,0,.14);
  --mizan-shadow-card-raised:0 14px 35px rgba(0,0,0,.16);
  --mizan-shadow-card-featured:0 18px 45px rgba(0,0,0,.14);
  --mizan-gradient-glow-primary:radial-gradient(circle at 12% 20%,var(--mizan-primary-100),transparent 36%);
  --mizan-shadow-elevated-card:0 24px 70px var(--mizan-glass-primary-900-180);
  --mizan-shadow-card-hover:0 18px 50px var(--mizan-glass-primary-900-180);
  /* Shared component elevations and gradients; component styles consume these tokens. */
  --mizan-shadow-home-featured:0 18px 45px var(--mizan-glass-primary-900-080);
  --mizan-shadow-home-floating:0 14px 35px var(--mizan-glass-primary-900-080);
  --mizan-shadow-student-sidebar-profile:0 12px 35px color-mix(in srgb,var(--mizan-black) 14%,transparent);
  --mizan-shadow-student-ui-card:0 12px 30px color-mix(in srgb,var(--mizan-black) 10%,transparent);
  --mizan-shadow-student-ui-card-hover:0 14px 34px var(--mizan-glass-black-120);
  --mizan-shadow-lawyer-dialog:0 24px 70px color-mix(in srgb,var(--mizan-black) 40%,transparent);
  --mizan-shadow-pulpit-card-deep:0 24px 70px color-mix(in srgb,var(--mizan-black) 50%,transparent);
  --mizan-shadow-pulpit-card-deeper:0 24px 70px color-mix(in srgb,var(--mizan-black) 55%,transparent);
  --mizan-shadow-pulpit-card-light:0 24px 70px color-mix(in srgb,var(--mizan-black) 28%,transparent);
  --mizan-shadow-pulpit-card-primary:0 24px 70px color-mix(in srgb,var(--mizan-primary-900) 16%,transparent);
  --mizan-gradient-student-sidebar-profile:linear-gradient(135deg,var(--mizan-primary-100),color-mix(in srgb,var(--mizan-primary-900) 45%,transparent));
  --mizan-gradient-student-sidebar-identity:linear-gradient(135deg,var(--primary,var(--mizan-primary-500)),var(--mizan-primary-500-antique));
  --mizan-gradient-student-sidebar-active:linear-gradient(90deg,var(--mizan-primary-500-deep),var(--primary,var(--mizan-primary-500)));
  --mizan-gradient-student-sidebar-success:linear-gradient(135deg,color-mix(in srgb,var(--mizan-deco-green-54) 10%,transparent),color-mix(in srgb,var(--mizan-primary-900) 35%,transparent));
  --mizan-gradient-student-sidebar-surface:linear-gradient(135deg,var(--mizan-surface),var(--mizan-bg-light));
  --mizan-gradient-pulpit-hero:linear-gradient(145deg,color-mix(in srgb,var(--mizan-deco-amber-14) 92%,transparent),color-mix(in srgb,var(--mizan-deco-blue-09) 98%,transparent));
  --mizan-gradient-pulpit-highlight:linear-gradient(145deg,color-mix(in srgb,var(--mizan-deco-blue-15) 90%,transparent),color-mix(in srgb,var(--mizan-deco-blue-08a) 98%,transparent));
  --mizan-gradient-lawyer-card:linear-gradient(145deg,var(--mizan-surface),var(--mizan-ink-deep));
  --mizan-gradient-admin-warning-accent:linear-gradient(135deg,var(--mizan-warning-500),var(--mizan-primary-500));
  --mizan-gradient-home-card-shine:linear-gradient(135deg,var(--mizan-glass-white-035),transparent 45%);
  --mizan-gradient-home-hero:linear-gradient(135deg,#07182E 0%,#0C2542 57%,#16476C 100%);
  --mizan-shadow-home-hero:0 24px 70px color-mix(in srgb,var(--mizan-primary-900) 22%,transparent);
  --mizan-home-hero-border:var(--mizan-glass-white-080);
  --mizan-gradient-home-featured:linear-gradient(145deg,var(--mizan-card-dark),var(--mizan-primary-900));
  --mizan-gradient-home-featured-light:linear-gradient(145deg,color-mix(in srgb,var(--mizan-deco-blue-14a) 78%,transparent),color-mix(in srgb,var(--mizan-deco-blue-10) 94%,transparent));
  --mizan-gradient-lawyer-primary:linear-gradient(135deg,var(--mizan-primary-500),var(--mizan-primary-500-muted));
  --mizan-gradient-pulpit-card-deep:linear-gradient(145deg,var(--mizan-surface-dark),var(--mizan-primary-900));
  --mizan-gradient-pulpit-card-dark:linear-gradient(145deg,var(--mizan-surface-dark),var(--mizan-bg-dark));
  --mizan-gradient-progress-primary:linear-gradient(90deg,var(--mizan-primary-600) 0%,var(--mizan-primary-500) 48%,var(--mizan-info-500) 100%);
  --mizan-gradient-progress-light:linear-gradient(90deg,var(--mizan-primary-300) 0%,var(--mizan-primary-200) 48%,var(--mizan-info-300) 100%);
  --mizan-shadow-theme-header:0 4px 18px var(--mizan-glass-primary-900-050);
  --mizan-shadow-theme-subtle:0 6px 20px color-mix(in srgb,var(--mizan-primary-900) 4%,transparent);
  --mizan-shadow-avatar-glow:0 0 24px var(--mizan-primary-500-border);
  --mizan-shadow-profile-focus:0 0 0 3px var(--mizan-primary-100);
  --mizan-shadow-lawyer-admin-card:0 8px 24px var(--mizan-glass-black-120);
  --mizan-shadow-tone-muted:0 4px 12px color-mix(in srgb,var(--mizan-muted) 22%,transparent);
  --mizan-shadow-tone-success:0 4px 12px color-mix(in srgb,var(--mizan-success-text) 22%,transparent);
  --mizan-shadow-tone-danger:0 4px 12px color-mix(in srgb,var(--mizan-danger-text) 22%,transparent);
  --mizan-shadow-tone-warning:0 4px 12px color-mix(in srgb,var(--mizan-warning-text) 22%,transparent);
  --mizan-shadow-tone-gold:0 4px 12px color-mix(in srgb,var(--mizan-gold-text) 22%,transparent);
  --mizan-shadow-tone-info:0 4px 12px color-mix(in srgb,var(--mizan-info-text) 22%,transparent);
  --mizan-shadow-student-ui-compact:0 8px 22px var(--mizan-glass-black-120);
  --mizan-shadow-navigation-active:0 3px 12px color-mix(in srgb,var(--mizan-primary-900) 12%,transparent),inset 0 1px 0 color-mix(in srgb,var(--mizan-white) 90%,transparent);
  --mizan-shadow-focus-primary:0 0 0 3px color-mix(in srgb,var(--mizan-primary-500) 12%,transparent);
  --mizan-shadow-focus-field:0 0 0 3px var(--mizan-field-focus-ring);

 
/* V5 light-mode elevation: restrained, soft shadows on light surfaces. */
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mizan-shadow-sm:0 4px 15px rgba(14,30,52,.04);
  --mizan-shadow-md:0 12px 35px rgba(14,30,52,.07);
  --mizan-shadow-card:0 8px 24px rgba(14,30,52,.045);
  --mizan-shadow-surface-soft:0 8px 25px rgba(14,30,52,.045);
  --mizan-shadow-card-rest:0 10px 28px rgba(14,30,52,.05);
  --mizan-shadow-card-raised:0 14px 35px rgba(14,30,52,.08);
  --mizan-shadow-card-featured:0 18px 45px rgba(14,30,52,.07);
  --mizan-shadow-elevated-card:0 24px 70px rgba(14,30,52,.10);
  --mizan-shadow-card-hover:0 18px 50px rgba(14,30,52,.09);
  --mizan-shadow-home-featured:0 18px 45px rgba(14,30,52,.07);
  --mizan-shadow-home-floating:0 14px 35px rgba(14,30,52,.06);
  --mizan-shadow-student-sidebar-profile:0 12px 35px rgba(14,30,52,.07);
  --mizan-shadow-student-ui-card:0 12px 30px rgba(14,30,52,.05);
  --mizan-shadow-student-ui-card-hover:0 14px 34px rgba(14,30,52,.08);
  --mizan-shadow-lawyer-admin-card:0 8px 24px rgba(14,30,52,.05);
  --mizan-shadow-theme-header:0 4px 18px rgba(14,30,52,.05);
  --mizan-shadow-theme-subtle:0 6px 20px rgba(14,30,52,.035);
  --mizan-shadow-navigation-active:0 3px 12px rgba(14,30,52,.07),inset 0 1px 0 rgba(255,255,255,.85);
}
  --mizan-gradient-status-success:linear-gradient(145deg,var(--mizan-surface-light),var(--mizan-success-100));
  --mizan-gradient-status-info:linear-gradient(145deg,var(--mizan-surface-light),var(--mizan-info-100));
  --mizan-gradient-card-glass-primary:linear-gradient(145deg,var(--mizan-glass-white-035),var(--mizan-primary-100));
  --mizan-gradient-card-glass-subtle:linear-gradient(145deg,var(--mizan-glass-white-035),color-mix(in srgb,var(--mizan-white) 1.5%,transparent));
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mizan-bg:var(--mizan-bg-light);
  --mizan-surface:var(--mizan-surface-light);
  --mizan-card:var(--mizan-card-light);
  --mizan-border:var(--mizan-border-light);
  --mizan-heading:var(--mizan-heading-light);
  --mizan-section-heading:var(--mizan-section-heading-light);
  --mizan-text:var(--mizan-text-light);
  --mizan-muted:var(--mizan-muted-strong-light);
}
/* ===== Central legacy compatibility layer =====
   Legacy component tokens remain available, but their values are owned here.
   New code should use the --mizan-* semantic tokens directly.
*/
:root{
  --primary:var(--mizan-primary-500);
  --bg-dark:var(--mizan-bg-dark);
  --gold:var(--mizan-gold-accent);
  --card-bg:var(--mizan-card-dark);
  --text-primary:var(--mizan-heading-dark);
  --text-secondary:var(--mizan-muted-dark);
  --border:var(--mizan-border-dark);
  --success:var(--mizan-success-500);
  --green:var(--mizan-success-500);
  --error:var(--mizan-danger-500);
  --red:var(--mizan-danger-500);
  --warning:var(--mizan-warning-500);
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --primary:var(--mizan-primary-500);
  --bg-dark:var(--mizan-bg-light);
  --gold:var(--mizan-gold-accent);
  --card-bg:var(--mizan-surface-light);
  --text-primary:var(--mizan-text-light);
  --text-secondary:var(--mizan-muted-light);
  --border:var(--mizan-border-light);
  --success:var(--mizan-success-700);
  --green:var(--mizan-success-700);
  --error:var(--mizan-danger-700);
  --red:var(--mizan-danger-700);
  --warning:var(--mizan-warning-700);
}

/* Central compatibility aliases for legacy component variables. */
:root{
  --mizan-surface-2-light:#F9FAFC;
  --mizan-surface-2-dark:#101F33;
  --mizan-danger-soft:var(--mizan-danger-100);
  --mizan-success-soft:var(--mizan-success-100);
  --mizan-danger-border:var(--mizan-danger-500);
  --mizan-success-border:var(--mizan-success-500);
}
/* Final semantic aliases used by components — all resolve to the central palette. */
:root{
  --mizan-surface-soft:var(--mizan-border);
  --mizan-primary-500-border:var(--mizan-primary-200);
  --mizan-telegram:var(--mizan-info-500);
  --mizan-info-light:var(--mizan-info-500);
  --mizan-ink-soft:var(--mizan-surface-dark);
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mizan-surface-soft:var(--mizan-border-light);
  --mizan-ink-soft:var(--mizan-surface-light);
}
/* ===== Neutral ramp (theme-independent constants) ===== */
:root{
  --mizan-neutral-50:#F8FAFC;
  --mizan-neutral-100:#F1F5F9;
  --mizan-neutral-200:#E2E8F0;
  --mizan-neutral-300:#CBD5E1;
  --mizan-neutral-400:#94A3B8;
  --mizan-neutral-500:#64748B;
  --mizan-neutral-600:#475569;
  --mizan-neutral-700:#334155;
  --mizan-neutral-800:#1E293B;
  --mizan-neutral-950:#020617;
  --mizan-black:#000000;
  --mizan-overlay-danger-40:rgba(239,68,68,.4);
  --mizan-overlay-dark-20:rgba(0,0,0,.2);
  --mizan-overlay-warning-5:rgba(245,158,11,.05);
  --mizan-overlay-gold-10:rgba(194,157,95,.1);
  --mizan-header-glass-mid:rgba(16,29,45,.82);
  --mizan-header-glass-deep:rgba(25,39,57,.94);
  --mizan-header-gold-line:rgba(143,107,52,.22);
  --mizan-header-gold-glow:rgba(143,107,52,.07);
  --mizan-header-gold-accent:rgba(143,107,52,.3);
}
/* ===== Extended semantic steps (used as text on dark / soft fills) ===== */
:root{
  --mizan-info-300:#38BDF8;
  --mizan-success-50:#F0FDF4;
  --mizan-success-300:#86EFAC;
  --mizan-success-400:#34D399;
  --mizan-success-deep:#15803D;
  --mizan-danger-400:#F87171;
  --mizan-paper-ink:#151515;
}
/* ===== Third-party brand colors (fixed by the brands) ===== */
:root{
  --mizan-brand-whatsapp:#25D366;
  --mizan-brand-telegram:#2AABEE;
  --mizan-brand-instagram:#E1306C;
  --mizan-brand-facebook:#1877F2;
  --mizan-instagram:var(--mizan-brand-instagram);
  --mizan-facebook:var(--mizan-brand-facebook);
}
/* ===== Interactive-accent tokens (switch per theme; contrast-checked, WCAG AA) ===== */
:root{
  --mizan-accent-text:var(--mizan-primary-300);
  --mizan-accent-tile-bg:color-mix(in srgb,var(--mizan-primary-500) 16%,transparent);
  --mizan-accent-tile-fg:var(--mizan-primary-300);
  --mizan-accent-tile-border:color-mix(in srgb,var(--mizan-primary-300) 35%,transparent);
  --mizan-border-control:var(--mizan-subtle-dark);
  --mizan-success-text:var(--mizan-success-400);
  --mizan-danger-text:var(--mizan-danger-400);
  --mizan-on-primary:var(--mizan-white);
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mizan-accent-text:var(--mizan-primary-600);
  --mizan-accent-tile-bg:var(--mizan-primary-100);
  --mizan-accent-tile-fg:var(--mizan-primary-700);
  --mizan-accent-tile-border:var(--mizan-primary-200);
  --mizan-border-control:var(--mizan-muted-light);
  --mizan-success-text:var(--mizan-success-700);
  --mizan-danger-text:var(--mizan-danger-700);
}
/* ===== Component aliases (previously used but undefined) ===== */
:root{
  --mizan-primary-500-pale:var(--mizan-accent-tile-bg);
  --mizan-primary-500-paper:var(--mizan-primary-100);
  --mizan-primary-500-paper-light:var(--mizan-primary-100);
  --mizan-primary-500-pale-text:var(--mizan-accent-text);
  --mizan-primary-500-muted:var(--mizan-primary-600);
  --mizan-primary-500-antique:var(--mizan-primary-700);
  --mizan-primary-500-deep:var(--mizan-primary-800);
  --mizan-primary-500-border-pale:var(--mizan-primary-200);
  --mizan-primary-900-deep:var(--mizan-navy-deep);
  --mizan-ink-deep:var(--mizan-navy-deep);
  --mizan-muted-blue:var(--mizan-muted);
  --mizan-text-light-blue:var(--mizan-muted);
  --mizan-secondary-text:var(--mizan-muted);
  --mizan-paper-white:var(--mizan-surface-light);
  --mizan-info-link:var(--mizan-accent-text);
  --mizan-cyan-soft:var(--mizan-info-100);
  --mizan-purple-soft:var(--mizan-muted);
}
/* ===== Gold accent system — thin accent hints only (badges, hairlines, wordmark, focus) =====
   Contrast (WCAG AA): gold-primary #D4AF37 = 8.49:1 on #0F172A and 6.96:1 on #1E293B (dark surfaces);
   gold-light #F3E5AB = 14.1:1 / 11.6:1. On light surfaces the bright gold fails (2.1:1), so the
   theme-aware tokens below switch to deeper tones: gold-deep #7C5E00 (text, 6.07:1 on white) and
   gold-mid #9A7B12 (lines/icons/focus ring, 4.03:1 on white, 3.85:1 on #F8FAFC). */
:root{
  --mizan-gold-primary:#D4AF37;
  --mizan-gold-light:#F3E5AB;
  --mizan-gold-subtle:rgba(212,175,55,.15);
  --mizan-gold-deep:#7C5E00;
  --mizan-gold-mid:#9A7B12;
  --mizan-gold-accent:var(--mizan-gold-primary);
  --mizan-gold-text:var(--mizan-gold-light);
  --mizan-gold-line:var(--mizan-gold-primary);
  --mizan-gold-tint:var(--mizan-gold-subtle);
  --mizan-gold-tint-border:color-mix(in srgb,var(--mizan-gold-primary) 38%,transparent);
  --mizan-gold-gradient:linear-gradient(135deg,var(--mizan-gold-light) 0%,var(--mizan-gold-primary) 55%,var(--mizan-gold-light) 100%);
  --mizan-focus-ring:var(--mizan-primary-500);
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mizan-gold-accent:var(--mizan-gold-mid);
  --mizan-gold-text:var(--mizan-gold-deep);
  --mizan-gold-line:var(--mizan-gold-mid);
  --mizan-gold-tint-border:color-mix(in srgb,var(--mizan-gold-mid) 40%,transparent);
}
/* ===== Decorative tints (component gradients/glows; theme-independent) ===== */
:root{
  --mizan-deco-amber-54:#C59B4D;
  --mizan-deco-blue-04:#030811;
  --mizan-deco-blue-08:#091B22;
  --mizan-deco-blue-10:#0C1725;
  --mizan-deco-blue-10a:#0B1726;
  --mizan-deco-blue-10b:#0B1827;
  --mizan-deco-blue-11:#111827;
  --mizan-deco-blue-11a:#0F1B2A;
  --mizan-deco-blue-14a:#192330;
  --mizan-deco-blue-19:#232F3E;
  --mizan-deco-blue-20:#1C314C;
  --mizan-deco-blue-32:#26537D;
  --mizan-deco-blue-44:#3669AB;
  --mizan-deco-blue-56:#7A8FA6;
  --mizan-deco-blue-61:#6091D6;
  --mizan-deco-green-69:#8BD3A8;
  --mizan-deco-rose-73:#E98B8B;
  --mizan-deco-teal-17:#173E3F;
  --mizan-deco-teal-41:#2BA69D;
  --mizan-deco-teal-51:#43C2B8;
  --mizan-deco-violet-62:#A28FAE;
  --mizan-deco-violet-73:#B4A0D2;
}
/* ===== Theme-specific accents (dark = royal gold, light = professional blue) =====
   Light values equal the previous blue values exactly, so the light theme is visually unchanged.
   Dark: gold-light text on a soft gold tint (8.7:1) with a gold hairline border. */
:root{
  --mizan-btn-primary-bg:var(--mizan-primary-500);
  --mizan-btn-primary-bg-hover:var(--mizan-primary-600);
  --mizan-btn-primary-bg-strong:var(--mizan-primary-700);
  --mizan-btn-primary-bg-grad:linear-gradient(145deg,var(--mizan-primary-600),var(--mizan-primary-500));
  --mizan-btn-primary-fg:var(--mizan-white);
  --mizan-btn-primary-border:var(--mizan-primary-500);
  --mizan-btn-primary-border-hover:var(--mizan-primary-600);
  --mizan-btn-primary-glow:var(--mizan-primary-500);
  --mizan-section-icon-fg:var(--mizan-gold-primary);
  --mizan-section-icon-bg:var(--mizan-gold-subtle);
  --mizan-section-icon-border:var(--mizan-gold-tint-border);
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mizan-btn-primary-bg:var(--mizan-primary-500);
  --mizan-btn-primary-bg-hover:var(--mizan-primary-600);
  --mizan-btn-primary-bg-strong:var(--mizan-primary-700);
  --mizan-btn-primary-bg-grad:linear-gradient(145deg,var(--mizan-primary-600),var(--mizan-primary-500));
  --mizan-btn-primary-fg:var(--mizan-white);
  --mizan-btn-primary-border:var(--mizan-primary-500);
  --mizan-btn-primary-border-hover:var(--mizan-primary-600);
  --mizan-btn-primary-glow:var(--mizan-primary-500);
  --mizan-section-icon-fg:var(--mizan-primary-500);
  --mizan-section-icon-bg:var(--mizan-primary-100);
  --mizan-section-icon-border:var(--mizan-primary-200);
}
/* ===== Decorative tints added in batch 2 ===== */
:root{
  --mizan-deco-green-54:#42D3A1;
  --mizan-deco-rose-61:#DC5A5A;
  --mizan-deco-amber-14:#2A241B;
  --mizan-deco-blue-09:#0A1624;
  --mizan-deco-blue-15:#182534;
  --mizan-deco-blue-08a:#091421;
  --mizan-deco-blue-76:#B9C5CC;
  --mizan-deco-blue-84:#D0D7DC;
  --mizan-deco-blue-58:#8295A5;
  --mizan-deco-amber-84:#F1E2BD;
  --mizan-deco-amber-69:#D8BD86;
  --mizan-deco-blue-15a:#0A1C45;
  --mizan-deco-blue-27:#344054;
  --mizan-deco-blue-88:#D8DEE8;
  --mizan-deco-amber-96:#FFF8EB;
  --mizan-deco-amber-63:#D8B66A;
  --mizan-deco-amber-80:#E2D4B6;
  --mizan-deco-blue-17:#1F2937;
  --mizan-deco-rose-51:#DC2626;
}
/* ===== Batch 3 tokens: form fields, semantic action colors, strong secondary text ===== */
:root{
  --mizan-surface-2:var(--mizan-surface-2-dark);
  --mizan-field-bg:color-mix(in srgb,var(--mizan-black) 22%,transparent);
  --mizan-field-border:var(--mizan-neutral-500);
  --mizan-field-border-hover:var(--mizan-neutral-400);
  --mizan-field-focus:var(--mizan-primary-500);
  --mizan-field-focus-ring:color-mix(in srgb,var(--mizan-primary-500) 24%,transparent);
  --mizan-warning-text:var(--mizan-warning-200);
  --mizan-info-text:var(--mizan-info-300);
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mizan-surface-2:var(--mizan-surface-2-light);
  --mizan-field-bg:var(--mizan-white);
  --mizan-field-border:#7B8799;
  --mizan-field-border-hover:#5F6C80;
  --mizan-field-focus:var(--mizan-primary-600);
  --mizan-field-focus-ring:color-mix(in srgb,var(--mizan-primary-500) 22%,transparent);
  --mizan-warning-text:var(--mizan-warning-700);
  --mizan-info-text:var(--mizan-info-700);
}

/* ===== Central theme-aware menu trigger tokens =====
   The menu button's surface, border, icon color, and elevation are owned here.
   Component styles consume these tokens; they must not hard-code theme colors.
*/
:root{
  --mizan-menu-button-bg:linear-gradient(145deg,var(--mizan-primary-100),color-mix(in srgb,var(--mizan-white) 3.5%,transparent));
  --mizan-menu-button-fg:var(--mizan-primary-300);
  --mizan-menu-button-border:var(--mizan-primary-500-border);
  --mizan-menu-button-shadow:0 1px 3px color-mix(in srgb,var(--mizan-black) 12%,transparent);
  --mizan-menu-button-bg-hover:linear-gradient(145deg,var(--mizan-primary-500-border),color-mix(in srgb,var(--mizan-white) 5.5%,transparent));
  --mizan-menu-button-fg-hover:var(--mizan-primary-300);
  --mizan-menu-button-border-hover:var(--mizan-primary-300);
  --mizan-menu-button-shadow-hover:0 2px 5px color-mix(in srgb,var(--mizan-black) 14%,transparent);
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mizan-menu-button-bg:linear-gradient(145deg,var(--mizan-surface-light),var(--mizan-bg-light));
  --mizan-menu-button-fg:var(--mizan-primary-700);
  --mizan-menu-button-border:color-mix(in srgb,var(--mizan-primary-700) 14%,transparent);
  --mizan-menu-button-shadow:0 1px 3px color-mix(in srgb,var(--mizan-primary-900) 4%,transparent);
  --mizan-menu-button-bg-hover:linear-gradient(145deg,var(--mizan-primary-100),var(--mizan-surface-light));
  --mizan-menu-button-fg-hover:var(--mizan-primary-800);
  --mizan-menu-button-border-hover:var(--mizan-primary-500-border);
}

/* ===== Central button elevation tokens ===== */
:root{
  --mizan-btn-primary-shadow:0 7px 16px color-mix(in srgb,var(--mizan-btn-primary-glow) 18%,transparent);
}

/* Shared button visual tokens: color, gradient, border, and elevation values live here. */
:root{
  --mizan-btn-surface-shadow:0 7px 16px color-mix(in srgb,var(--mizan-primary-500) 18%,transparent),inset 0 1px 0 color-mix(in srgb,var(--mizan-white) 22%,transparent);
  --mizan-btn-surface-shadow-hover:0 10px 22px color-mix(in srgb,var(--mizan-primary-500) 24%,transparent),0 0 18px color-mix(in srgb,var(--mizan-primary-500) 14%,transparent),inset 0 1px 0 color-mix(in srgb,var(--mizan-white) 28%,transparent);
  --mizan-btn-surface-gradient:linear-gradient(135deg,var(--mizan-primary-400) 0%,var(--mizan-primary-500) 48%,var(--mizan-primary-600) 100%);
  --mizan-btn-surface-gradient-hover:linear-gradient(135deg,var(--mizan-primary-500) 0%,var(--mizan-primary-600) 50%,var(--mizan-primary-700) 100%);
  --mizan-btn-surface-shine:linear-gradient(90deg,transparent,color-mix(in srgb,var(--mizan-white) 22%,transparent),transparent);
}

/* Chapter CTA and app-install button tokens. */
:root{
  --mizan-chapter-button-shadow:0 7px 16px color-mix(in srgb,var(--mizan-black) 16%,transparent),inset 0 1px 0 color-mix(in srgb,var(--mizan-white) 20%,transparent);
  --mizan-install-button-bg:linear-gradient(135deg,color-mix(in srgb,var(--mizan-bg-dark) 96%,transparent),var(--mizan-header-glass-deep));
  --mizan-install-button-fg:var(--mizan-primary-300);
  --mizan-install-button-border:var(--mizan-primary-500-border);
  --mizan-install-button-border-hover:var(--mizan-primary-300);
  --mizan-install-button-shadow:0 5px 16px color-mix(in srgb,var(--mizan-black) 14%,transparent),inset 0 1px 0 color-mix(in srgb,var(--mizan-white) 6%,transparent);
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mizan-install-button-bg:color-mix(in srgb,var(--mizan-white) 97%,transparent);
  --mizan-install-button-fg:var(--mizan-primary-700);
  --mizan-install-button-border:var(--mizan-header-gold-accent);
  --mizan-install-button-border-hover:var(--mizan-header-gold-accent);
  --mizan-install-button-shadow:0 8px 24px color-mix(in srgb,var(--mizan-bg-dark) 14%,transparent);
}

/* Secondary, outline, and soft button variants. */
:root{
  --mizan-btn-outline-bg:transparent;
  --mizan-btn-outline-fg:var(--mizan-primary-500);
  --mizan-btn-outline-border:var(--mizan-primary-500);
  --mizan-btn-outline-bg-hover:var(--mizan-primary-500);
  --mizan-btn-outline-fg-hover:var(--mizan-primary-900);
  --mizan-btn-ghost-bg:transparent;
  --mizan-btn-ghost-fg:var(--mizan-muted);
  --mizan-btn-ghost-border:var(--mizan-border);
  --mizan-btn-ghost-bg-hover:var(--mizan-card);
  --mizan-btn-ghost-fg-hover:var(--mizan-primary-500);
  --mizan-btn-ghost-border-hover:var(--mizan-primary-500);
  --mizan-btn-soft-bg:var(--mizan-primary-100);
  --mizan-btn-soft-fg:var(--mizan-primary-500);
  --mizan-btn-soft-border:var(--mizan-primary-500);
}


/* ===== Sidebar and utility-surface semantic tokens ===== */
:root{
  --mizan-sidebar-backdrop:color-mix(in srgb,var(--mizan-primary-900) 62%,transparent);
  --mizan-sidebar-panel-bg:var(--mizan-surface-dark);
  --mizan-sidebar-panel-border:var(--mizan-primary-500-border);
  --mizan-sidebar-panel-shadow:-20px 0 60px color-mix(in srgb,var(--mizan-black) 35%,transparent);
  --mizan-sidebar-close-bg:var(--mizan-card-dark);
  --mizan-sidebar-close-fg:var(--mizan-text-dark);
  --mizan-sidebar-close-border:color-mix(in srgb,var(--mizan-white) 8%,transparent);
  --mizan-sidebar-brand-border:var(--mizan-surface-soft);
  --mizan-sidebar-account-bg:var(--mizan-surface-dark);
  --mizan-sidebar-account-border:var(--mizan-border-dark);
  --mizan-sidebar-account-shadow:0 8px 24px color-mix(in srgb,var(--mizan-navy-deep) 18%,transparent);
  --mizan-sidebar-avatar-bg:linear-gradient(135deg,var(--mizan-primary-500),var(--mizan-primary-700));
  --mizan-sidebar-divider:color-mix(in srgb,var(--mizan-white) 6%,transparent);
  --mizan-sidebar-item-active-bg:var(--mizan-primary-100);
  --mizan-sidebar-item-active-fg:var(--mizan-primary-300);
  --mizan-sidebar-item-active-border:var(--mizan-primary-500-border);
  --mizan-sidebar-sub-border:var(--mizan-primary-100);
  --mizan-sidebar-action-bg:var(--mizan-bg-dark);
  --mizan-sidebar-action-fg:var(--mizan-text-dark);
  --mizan-sidebar-action-border:var(--mizan-border-dark);
  --mizan-sidebar-action-bg-hover:var(--mizan-primary-500);
  --mizan-sidebar-action-fg-hover:var(--mizan-white);
  --mizan-sidebar-action-border-hover:var(--mizan-primary-500);
  --mizan-header-tools-bg:linear-gradient(135deg,color-mix(in srgb,var(--mizan-bg-dark) 92%,transparent),var(--mizan-header-glass-mid));
  --mizan-header-tools-border:var(--mizan-primary-500-border);
  --mizan-header-tools-shadow:0 10px 30px color-mix(in srgb,var(--mizan-black) 20%,transparent),inset 0 1px 0 color-mix(in srgb,var(--mizan-white) 4.5%,transparent);
  --mizan-header-tools-glow:linear-gradient(90deg,transparent,var(--mizan-primary-100),transparent);
  --mizan-header-tools-glow-opacity:.8;
  --mizan-install-hint-bg:color-mix(in srgb,var(--mizan-bg-dark) 96%,transparent);
  --mizan-install-hint-fg:var(--mizan-text-dark);
  --mizan-install-hint-border:var(--mizan-primary-500-border);
  --mizan-install-hint-shadow:0 8px 24px color-mix(in srgb,var(--mizan-black) 18%,transparent);
  --mizan-install-hint-heading:var(--mizan-primary-300);
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mizan-sidebar-backdrop:color-mix(in srgb,var(--mizan-bg-dark) 38%,transparent);
  --mizan-sidebar-panel-bg:linear-gradient(180deg,var(--mizan-surface),var(--mizan-bg-light) 72%,var(--mizan-bg-light));
  --mizan-sidebar-panel-border:var(--mizan-border-light);
  --mizan-sidebar-panel-shadow:-20px 0 60px color-mix(in srgb,var(--mizan-bg-dark) 16%,transparent);
  --mizan-sidebar-close-bg:var(--mizan-bg-light);
  --mizan-sidebar-close-fg:var(--mizan-muted-light);
  --mizan-sidebar-close-border:var(--mizan-border-light);
  --mizan-sidebar-brand-border:var(--mizan-border-light);
  --mizan-sidebar-account-bg:var(--mizan-surface);
  --mizan-sidebar-account-border:var(--mizan-border-light);
  --mizan-sidebar-account-shadow:0 8px 24px color-mix(in srgb,var(--mizan-bg-dark) 10%,transparent);
  --mizan-sidebar-divider:var(--mizan-border-light);
  --mizan-sidebar-item-active-bg:var(--mizan-primary-500-pale);
  --mizan-sidebar-item-active-fg:var(--mizan-primary-700);
  --mizan-sidebar-item-active-border:var(--mizan-primary-200);
  --mizan-sidebar-sub-border:var(--mizan-primary-100);
  --mizan-sidebar-action-bg:var(--mizan-bg-light);
  --mizan-sidebar-action-fg:var(--mizan-heading);
  --mizan-sidebar-action-border:var(--mizan-border-light);
  --mizan-sidebar-action-bg-hover:var(--mizan-primary-500);
  --mizan-sidebar-action-fg-hover:var(--mizan-white);
  --mizan-sidebar-action-border-hover:var(--mizan-primary-500);
  --mizan-header-tools-bg:linear-gradient(135deg,color-mix(in srgb,var(--mizan-white) 96%,transparent),color-mix(in srgb,var(--mizan-bg-light) 92%,transparent));
  --mizan-header-tools-border:var(--mizan-header-gold-line);
  --mizan-header-tools-shadow:0 10px 30px color-mix(in srgb,var(--mizan-bg-dark) 10%,transparent),inset 0 1px 0 color-mix(in srgb,var(--mizan-white) 80%,transparent);
  --mizan-header-tools-glow:linear-gradient(90deg,transparent,var(--mizan-header-gold-glow),transparent);
  --mizan-install-hint-bg:color-mix(in srgb,var(--mizan-white) 97%,transparent);
  --mizan-install-hint-fg:var(--mizan-heading);
  --mizan-install-hint-border:var(--mizan-header-gold-accent);
  --mizan-install-hint-shadow:0 8px 24px color-mix(in srgb,var(--mizan-bg-dark) 14%,transparent);
  --mizan-install-hint-heading:var(--mizan-primary-700);
}


/* Petition-specific surface, border and shadow tokens. */
:root{
  --mizan-petition-search-border:color-mix(in srgb,var(--mizan-white) 8%,transparent);
  --mizan-petition-search-bg:color-mix(in srgb,var(--mizan-white) 2.5%,transparent);
  --mizan-petition-template-border:color-mix(in srgb,var(--mizan-warning-500) 20%,transparent);
  --mizan-petition-template-border-hover:color-mix(in srgb,var(--mizan-warning-500) 52%,transparent);
  --mizan-petition-template-shadow-hover:0 14px 35px color-mix(in srgb,var(--mizan-black) 20%,transparent);
  --mizan-petition-panel-bg:color-mix(in srgb,var(--mizan-deco-blue-11a) 82%,transparent);
  --mizan-petition-document-shadow:0 10px 30px color-mix(in srgb,var(--mizan-black) 25%,transparent);
  --mizan-petition-watermark:color-mix(in srgb,var(--mizan-deco-amber-54) 4.5%,transparent);
  --mizan-petition-letterhead-rule:linear-gradient(90deg,var(--mizan-primary-800) 0%,var(--mizan-primary-500) 50%,var(--mizan-primary-800) 100%);
}


/* Petition component gradients; palette values remain centralized here. */
:root{
  --mizan-petition-hero-bg:linear-gradient(145deg,color-mix(in srgb,var(--mizan-primary-900) 88%,var(--mizan-warning-700) 12%),color-mix(in srgb,var(--mizan-deco-blue-10b) 97%,transparent));
  --mizan-petition-template-bg:linear-gradient(145deg,color-mix(in srgb,var(--mizan-deco-blue-19) 92%,transparent),color-mix(in srgb,var(--mizan-deco-blue-10) 98%,transparent));
  --mizan-petition-light-surface-gradient:linear-gradient(145deg,var(--mizan-surface),var(--mizan-bg-light));
}


/* ===== style.css semantic color/effect tokens =====
   Keep component styles free of raw color compositions. Book-cover colors remain
   owned by the dedicated 3D book design and are intentionally not changed here.
*/
:root{
  --mizan-transparent:transparent;
  --mizan-page-background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--mizan-primary-500) 7.5%,transparent),transparent 31%),radial-gradient(circle at 0% 50%,color-mix(in srgb,var(--mizan-deco-blue-32) 7.5%,transparent),transparent 28%),var(--bg-dark);
  --mizan-header-shadow:0 8px 30px color-mix(in srgb,var(--mizan-black) 18%,transparent);
  --mizan-search-border:color-mix(in srgb,var(--mizan-deco-blue-56) 25%,transparent);
  --mizan-search-shadow:0 8px 24px color-mix(in srgb,var(--mizan-black) 10%,transparent),inset 0 1px 0 color-mix(in srgb,var(--mizan-white) 2.5%,transparent);
  --mizan-search-focus-border:color-mix(in srgb,var(--mizan-primary-500) 68%,transparent);
  --mizan-search-focus-shadow:0 0 0 3px color-mix(in srgb,var(--mizan-primary-500) 8%,transparent),0 10px 28px color-mix(in srgb,var(--mizan-black) 14%,transparent);
  --mizan-question-card-border:color-mix(in srgb,var(--mizan-primary-500) 30%,transparent);
  --mizan-chapter-card-border:color-mix(in srgb,var(--mizan-deco-blue-56) 24%,transparent);
  --mizan-auth-overlay-bg:color-mix(in srgb,var(--mizan-neutral-950) 82%,transparent);
  --mizan-auth-content-bg:linear-gradient(145deg,var(--mizan-card-dark),var(--mizan-deco-blue-11));
  --mizan-auth-content-shadow:0 24px 80px color-mix(in srgb,var(--mizan-black) 55%,transparent);
  --mizan-auth-divider-line:color-mix(in srgb,var(--mizan-neutral-400) 25%,transparent);
}


/* Light-theme authentication surfaces, kept in the central palette. */
:root{
  --mizan-auth-light-overlay-bg:color-mix(in srgb,var(--mizan-primary-900) 38%,transparent);
  --mizan-auth-light-content-bg:linear-gradient(145deg,var(--mizan-surface),var(--mizan-bg-light));
  --mizan-auth-light-content-shadow:0 24px 80px color-mix(in srgb,var(--mizan-primary-900) 18%,transparent);
}


/* ===== Home test dashboard and contact section semantic tokens =====
   Shared visual values for home.css and theme-aware section styling.
   Keep component files focused on layout and behavior.
*/
:root{
  --mizan-test-dashboard-border:color-mix(in srgb,var(--mizan-deco-blue-61) 24%,transparent);
  --mizan-test-dashboard-border-hover:color-mix(in srgb,var(--mizan-deco-blue-61) 48%,transparent);
  --mizan-test-dashboard-bg:radial-gradient(circle at 88% 20%,color-mix(in srgb,var(--mizan-deco-blue-61) 12%,transparent),transparent 42%),linear-gradient(145deg,color-mix(in srgb,var(--mizan-deco-blue-20) 78%,transparent),color-mix(in srgb,var(--mizan-deco-blue-10a) 97%,transparent));
  --mizan-test-dashboard-icon-bg:color-mix(in srgb,var(--mizan-deco-blue-61) 10%,transparent);
  --mizan-test-dashboard-icon-fg:var(--mizan-primary-400);
  --mizan-test-dashboard-action-fg:var(--mizan-primary-300);
  --mizan-test-dashboard-hover-shadow:0 12px 30px color-mix(in srgb,var(--mizan-deco-blue-44) 10%,transparent);
  --mizan-contact-feature-border:color-mix(in srgb,var(--mizan-deco-teal-51) 28%,transparent);
  --mizan-contact-feature-border-hover:color-mix(in srgb,var(--mizan-deco-teal-51) 55%,transparent);
  --mizan-contact-feature-bg:radial-gradient(circle at 88% 20%,color-mix(in srgb,var(--mizan-deco-teal-51) 14%,transparent),transparent 42%),linear-gradient(145deg,color-mix(in srgb,var(--mizan-deco-teal-17) 82%,transparent),color-mix(in srgb,var(--mizan-deco-blue-08) 98%,transparent));
  --mizan-contact-feature-icon-bg:color-mix(in srgb,var(--mizan-deco-teal-51) 11%,transparent);
  --mizan-contact-feature-icon-fg:var(--mizan-cyan-soft);
  --mizan-contact-feature-glow:color-mix(in srgb,var(--mizan-deco-teal-51) 7%,transparent);
  --mizan-contact-feature-action-fg:var(--mizan-info-500);
  --mizan-contact-feature-hover-shadow:0 12px 32px color-mix(in srgb,var(--mizan-deco-teal-41) 12%,transparent);
  --mizan-contact-panel-border:var(--mizan-primary-100);
  --mizan-contact-panel-shadow:0 18px 45px var(--mizan-shadow-sm);
  --mizan-contact-card-hover-shadow:0 12px 28px color-mix(in srgb,var(--mizan-black) 18%,transparent);
  --mizan-contact-whatsapp-icon-bg:color-mix(in srgb,var(--mizan-brand-whatsapp) 12%,transparent);
  --mizan-contact-whatsapp-icon-fg:var(--mizan-brand-whatsapp);
  --mizan-contact-whatsapp-hover-shadow:0 12px 30px color-mix(in srgb,var(--mizan-brand-whatsapp) 10%,transparent);
  --mizan-contact-telegram-icon-bg:color-mix(in srgb,var(--mizan-brand-telegram) 12%,transparent);
  --mizan-contact-telegram-icon-fg:var(--mizan-brand-telegram);
  --mizan-contact-telegram-hover-shadow:0 12px 30px color-mix(in srgb,var(--mizan-brand-telegram) 10%,transparent);
  --mizan-contact-email-border:color-mix(in srgb,var(--mizan-brand-instagram) 22%,transparent);
  --mizan-contact-email-icon-bg:color-mix(in srgb,var(--mizan-brand-instagram) 10%,transparent);
  --mizan-contact-email-icon-fg:var(--mizan-brand-instagram);
  --mizan-contact-instagram-icon-bg:color-mix(in srgb,var(--mizan-brand-instagram) 11%,transparent);
  --mizan-contact-instagram-icon-fg:var(--mizan-brand-instagram);
  --mizan-contact-instagram-hover-shadow:0 12px 30px color-mix(in srgb,var(--mizan-brand-instagram) 10%,transparent);
  --mizan-contact-facebook-icon-bg:color-mix(in srgb,var(--mizan-brand-facebook) 11%,transparent);
  --mizan-contact-facebook-icon-fg:var(--mizan-brand-facebook);
  --mizan-contact-facebook-hover-shadow:0 12px 30px color-mix(in srgb,var(--mizan-brand-facebook) 10%,transparent);
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mizan-test-dashboard-border:var(--mizan-primary-200);
  --mizan-test-dashboard-border-hover:var(--mizan-primary-500);
  --mizan-test-dashboard-bg:linear-gradient(145deg,var(--mizan-surface-light),var(--mizan-primary-100));
  --mizan-test-dashboard-icon-bg:var(--mizan-primary-100);
  --mizan-test-dashboard-icon-fg:var(--mizan-primary-700);
  --mizan-test-dashboard-action-fg:var(--mizan-primary-700);
  --mizan-test-dashboard-hover-shadow:0 12px 30px color-mix(in srgb,var(--mizan-primary-900) 9%,transparent);
  --mizan-contact-feature-border:var(--mizan-info-500);
  --mizan-contact-feature-border-hover:var(--mizan-info-700);
  --mizan-contact-feature-bg:linear-gradient(145deg,var(--mizan-surface-light),var(--mizan-info-100));
  --mizan-contact-feature-icon-bg:var(--mizan-info-100);
  --mizan-contact-feature-icon-fg:var(--mizan-info-700);
  --mizan-contact-feature-glow:color-mix(in srgb,var(--mizan-info-500) 7%,transparent);
  --mizan-contact-feature-action-fg:var(--mizan-info-700);
  --mizan-contact-feature-hover-shadow:0 12px 32px color-mix(in srgb,var(--mizan-info-700) 10%,transparent);
  --mizan-contact-panel-border:var(--mizan-border-light);
  --mizan-contact-card-hover-shadow:0 12px 28px color-mix(in srgb,var(--mizan-primary-900) 10%,transparent);
  --mizan-contact-whatsapp-icon-bg:var(--mizan-success-100);
  --mizan-contact-whatsapp-icon-fg:var(--mizan-success-700);
  --mizan-contact-whatsapp-hover-shadow:0 12px 30px color-mix(in srgb,var(--mizan-success-700) 10%,transparent);
  --mizan-contact-telegram-icon-bg:var(--mizan-info-100);
  --mizan-contact-telegram-icon-fg:var(--mizan-info-700);
  --mizan-contact-telegram-hover-shadow:0 12px 30px color-mix(in srgb,var(--mizan-info-700) 10%,transparent);
  --mizan-contact-email-border:var(--mizan-border-light);
  --mizan-contact-email-icon-bg:var(--mizan-border-light);
  --mizan-contact-email-icon-fg:var(--mizan-secondary-text);
  --mizan-contact-instagram-icon-bg:var(--mizan-primary-100);
  --mizan-contact-instagram-icon-fg:var(--mizan-primary-700);
  --mizan-contact-instagram-hover-shadow:0 12px 30px color-mix(in srgb,var(--mizan-primary-700) 10%,transparent);
  --mizan-contact-facebook-icon-bg:var(--mizan-primary-100);
  --mizan-contact-facebook-icon-fg:var(--mizan-primary-700);
  --mizan-contact-facebook-hover-shadow:0 12px 30px color-mix(in srgb,var(--mizan-primary-700) 10%,transparent);
}


/* Contact channel card semantics shared by home.css and unified theme. */
:root{
  --mizan-contact-phone-border:var(--mizan-warning-200);
  --mizan-contact-phone-bg:linear-gradient(145deg,var(--mizan-surface-light),var(--mizan-warning-100));
  --mizan-contact-email-bg:linear-gradient(145deg,var(--mizan-surface-light),var(--mizan-bg-light));
  --mizan-contact-social-bg:linear-gradient(145deg,var(--mizan-surface-light),var(--mizan-primary-100));
  --mizan-contact-instagram-border:var(--mizan-primary-300);
  --mizan-contact-facebook-border:var(--mizan-primary-300);
  --mizan-contact-whatsapp-border-dark:color-mix(in srgb,var(--mizan-brand-whatsapp) 45%,transparent);
  --mizan-contact-whatsapp-icon-bg-dark:color-mix(in srgb,var(--mizan-brand-whatsapp) 16%,transparent);
  --mizan-contact-telegram-border-dark:color-mix(in srgb,var(--mizan-brand-telegram) 45%,transparent);
  --mizan-contact-telegram-icon-bg-dark:color-mix(in srgb,var(--mizan-brand-telegram) 16%,transparent);
  --mizan-contact-phone-border-dark:var(--mizan-gold-tint-border);
  --mizan-contact-phone-icon-bg-dark:var(--mizan-gold-tint);
  --mizan-contact-phone-icon-fg-dark:var(--mizan-gold-text);
  --mizan-contact-instagram-border-dark:color-mix(in srgb,var(--mizan-brand-instagram) 45%,transparent);
  --mizan-contact-instagram-icon-bg-dark:color-mix(in srgb,var(--mizan-brand-instagram) 16%,transparent);
  --mizan-contact-facebook-border-dark:color-mix(in srgb,var(--mizan-brand-facebook) 45%,transparent);
  --mizan-contact-facebook-icon-bg-dark:color-mix(in srgb,var(--mizan-brand-facebook) 18%,transparent);
  --mizan-contact-facebook-icon-fg-dark:var(--mizan-info-300);
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mizan-contact-phone-border:var(--mizan-warning-200);
  --mizan-contact-phone-bg:linear-gradient(145deg,var(--mizan-surface-light),var(--mizan-warning-100));
  --mizan-contact-email-bg:linear-gradient(145deg,var(--mizan-surface-light),var(--mizan-bg-light));
  --mizan-contact-social-bg:linear-gradient(145deg,var(--mizan-surface-light),var(--mizan-primary-100));
  --mizan-contact-instagram-border:var(--mizan-primary-300);
  --mizan-contact-facebook-border:var(--mizan-primary-300);
}


/* Responsive quick navigation inherits the upper header's theme surfaces. */
:root{
  --mizan-mobile-nav-bg:var(--mizan-header-tools-bg);
  --mizan-mobile-nav-border:var(--mizan-header-tools-border);
  --mizan-mobile-nav-text:var(--mizan-text-dark);
  --mizan-mobile-nav-active-bg:color-mix(in srgb,var(--mizan-primary-500) 16%,var(--mizan-surface-dark));
  --mizan-mobile-nav-active-text:var(--mizan-primary-200);
  --mizan-mobile-nav-shadow:var(--mizan-header-tools-shadow);
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mizan-mobile-nav-bg:var(--mizan-header-tools-bg);
  --mizan-mobile-nav-border:var(--mizan-header-tools-border);
  --mizan-mobile-nav-text:var(--mizan-heading);
  --mizan-mobile-nav-active-bg:var(--mizan-primary-100);
  --mizan-mobile-nav-active-text:var(--mizan-primary-700);
  --mizan-mobile-nav-shadow:var(--mizan-header-tools-shadow);
}

html[data-admin-theme="light"]{
  --mizan-gradient-admin-warning-accent:linear-gradient(135deg,var(--mizan-warning-700),var(--mizan-primary-700));
}

/* Home quick-training card: theme-aware surface with readable text contrast. */
:root{
  --mizan-home-random-card-bg:linear-gradient(145deg,var(--mizan-card-dark),var(--mizan-surface-dark));
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mizan-home-random-card-bg:linear-gradient(145deg,var(--mizan-surface-light),var(--mizan-primary-100));
}
