/* ITAG — Thèmes universels (10 thèmes × 4 tailles × 5 polices × 3 espacements × 13 couleurs fond) */

body.ui-themed,html.ui-themed{
  --ui-primary:#C0392B;--ui-accent:#A68A3C;
  --ui-bg:#F3F4F6;--ui-card:#FFFFFF;
  --ui-text:#1f2937;--ui-muted:#6B7280;--ui-border:#E5E7EB;
  --ui-sidebar-bg:#1a0a0a;--ui-sidebar-accent:#C0392B;--ui-sidebar-text:rgba(255,255,255,.85);
  --ui-font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  --ui-base:15px;--ui-lh:1.6;
}

/* 10 THÈMES */
body[data-ui-theme="academic"]  { --ui-primary:#C0392B; --ui-accent:#A68A3C; --ui-bg:#F3F4F6; --ui-sidebar-bg:#1a0a0a; --ui-sidebar-accent:#C0392B; }
body[data-ui-theme="premium"]   { --ui-primary:#D4AF37; --ui-accent:#0F172A; --ui-bg:#FAF7ED; --ui-border:#E8D9A5; --ui-sidebar-bg:#0F0F00; --ui-sidebar-accent:#D4AF37; }
body[data-ui-theme="solaire"]   { --ui-primary:#F59E0B; --ui-accent:#1E40AF; --ui-bg:#FFFBEB; --ui-border:#FDE68A; --ui-sidebar-bg:#1a0f00; --ui-sidebar-accent:#F59E0B; }
body[data-ui-theme="magazine"]  { --ui-primary:#334155; --ui-accent:#DC2626; --ui-bg:#F1F5F9; --ui-border:#CBD5E1; --ui-sidebar-bg:#0F172A; --ui-sidebar-accent:#DC2626; }
body[data-ui-theme="nature"]    { --ui-primary:#059669; --ui-accent:#065F46; --ui-bg:#ECFDF5; --ui-border:#A7F3D0; --ui-sidebar-bg:#064E3B; --ui-sidebar-accent:#10B981; }
body[data-ui-theme="ocean"]     { --ui-primary:#0EA5E9; --ui-accent:#1E3A8A; --ui-bg:#EFF6FF; --ui-border:#BFDBFE; --ui-sidebar-bg:#0C2447; --ui-sidebar-accent:#0EA5E9; }
body[data-ui-theme="rose"]      { --ui-primary:#EC4899; --ui-accent:#831843; --ui-bg:#FDF2F8; --ui-border:#FBCFE8; --ui-sidebar-bg:#4A1438; --ui-sidebar-accent:#EC4899; }
body[data-ui-theme="cyber"]     { --ui-primary:#A855F7; --ui-accent:#EC4899; --ui-bg:#18122B; --ui-card:#1F1A3D; --ui-text:#E0E7FF; --ui-muted:#A5B4FC; --ui-border:#3F3A67; --ui-sidebar-bg:#0B0621; --ui-sidebar-accent:#A855F7; }
body[data-ui-theme="sunset"]    { --ui-primary:#F97316; --ui-accent:#DC2626; --ui-bg:#FFF7ED; --ui-border:#FED7AA; --ui-sidebar-bg:#431407; --ui-sidebar-accent:#F97316; }
body[data-ui-theme="diamond"]   { --ui-primary:#06B6D4; --ui-accent:#3730A3; --ui-bg:#F0F9FF; --ui-border:#A5F3FC; --ui-sidebar-bg:#082F49; --ui-sidebar-accent:#06B6D4; }

/* Tailles police */
body[data-ui-font-size="small"]  { --ui-base:13px; }
body[data-ui-font-size="normal"] { --ui-base:15px; }
body[data-ui-font-size="large"]  { --ui-base:17px; }
body[data-ui-font-size="xlarge"] { --ui-base:19px; }

/* Polices */
body[data-ui-font-family="jakarta"]      { --ui-font-family:'Plus Jakarta Sans',system-ui,sans-serif; }
body[data-ui-font-family="inter"]        { --ui-font-family:'Inter',system-ui,sans-serif; }
body[data-ui-font-family="merriweather"] { --ui-font-family:'Merriweather','Georgia',serif; }
body[data-ui-font-family="lora"]         { --ui-font-family:'Lora','Georgia',serif; }
body[data-ui-font-family="mono"]         { --ui-font-family:'JetBrains Mono','Courier New',monospace; }

/* Line-height */
body[data-ui-line-height="compact"] { --ui-lh:1.4; }
body[data-ui-line-height="normal"]  { --ui-lh:1.6; }
body[data-ui-line-height="relaxed"] { --ui-lh:1.9; }

/* Couleurs de fond lecture — appliqué à .card et .ui-reading-area */
body.ui-themed[data-ui-bg-reading="sepia"]     .card,body.ui-themed[data-ui-bg-reading="sepia"]     .ui-reading-area{background:#FBF0D9!important;color:#5C4A32!important}
body.ui-themed[data-ui-bg-reading="blue"]      .card,body.ui-themed[data-ui-bg-reading="blue"]      .ui-reading-area{background:#E3F2FD!important;color:#0d3a5f!important}
body.ui-themed[data-ui-bg-reading="dark"]      .card,body.ui-themed[data-ui-bg-reading="dark"]      .ui-reading-area{background:#1F2937!important;color:#E5E7EB!important;border-color:#374151!important}
body.ui-themed[data-ui-bg-reading="dark"] .card h1,body.ui-themed[data-ui-bg-reading="dark"] .card h2,body.ui-themed[data-ui-bg-reading="dark"] .card h3,body.ui-themed[data-ui-bg-reading="dark"] .ui-reading-area h1,body.ui-themed[data-ui-bg-reading="dark"] .ui-reading-area h2,body.ui-themed[data-ui-bg-reading="dark"] .ui-reading-area h3{color:#F59E0B!important}
body.ui-themed[data-ui-bg-reading="red"]       .card,body.ui-themed[data-ui-bg-reading="red"]       .ui-reading-area{background:#FEF2F2!important;color:#7F1D1D!important}
body.ui-themed[data-ui-bg-reading="yellow"]    .card,body.ui-themed[data-ui-bg-reading="yellow"]    .ui-reading-area{background:#FEFCE8!important;color:#713F12!important}
body.ui-themed[data-ui-bg-reading="gold"]      .card,body.ui-themed[data-ui-bg-reading="gold"]      .ui-reading-area{background:#FFFBEB!important;color:#78350F!important}
body.ui-themed[data-ui-bg-reading="green"]     .card,body.ui-themed[data-ui-bg-reading="green"]     .ui-reading-area{background:#F0FDF4!important;color:#14532D!important}
body.ui-themed[data-ui-bg-reading="purple"]    .card,body.ui-themed[data-ui-bg-reading="purple"]    .ui-reading-area{background:#FAF5FF!important;color:#581C87!important}
body.ui-themed[data-ui-bg-reading="pink"]      .card,body.ui-themed[data-ui-bg-reading="pink"]      .ui-reading-area{background:#FDF2F8!important;color:#831843!important}
body.ui-themed[data-ui-bg-reading="turquoise"] .card,body.ui-themed[data-ui-bg-reading="turquoise"] .ui-reading-area{background:#ECFEFF!important;color:#155E75!important}
body.ui-themed[data-ui-bg-reading="coffee"]    .card,body.ui-themed[data-ui-bg-reading="coffee"]    .ui-reading-area{background:#EFEBE9!important;color:#3E2723!important}

/* Contraste */
body[data-ui-contrast="high"]      { --ui-text:#000000; --ui-muted:#333333; }
body[data-ui-contrast="high"] .ui-reading-area { font-weight:500; }

/* Application fluide */
html.ui-themed-root{background:var(--ui-bg,#F3F4F6)!important}
body.ui-themed,html body.ui-themed{transition:background .3s,color .3s;font-family:var(--ui-font-family)!important;font-size:var(--ui-base)!important;line-height:var(--ui-lh);background:var(--ui-bg)!important;color:var(--ui-text)}
html body.ui-themed{background:var(--ui-bg)!important}

/* Override police sur tous les éléments (bat le `*{font-family:Inter}` hardcodé) */
body.ui-themed,
body.ui-themed *:not(code):not(pre):not(.goog-te-gadget):not([class*="google"]){
  font-family:var(--ui-font-family)!important
}
/* Garder monospace si thème mono sélectionné */
body.ui-themed[data-ui-font-family="mono"] *{font-family:'JetBrains Mono','Courier New',monospace!important}

/* ═══ OVERRIDE GLOBAL : Appliquer le thème à toutes les sidebars/topbars/cards ═══ */

/* Sidebar (lms-app/admin-app/formateur-app/directeur-app/b2b-app) */
body.ui-themed .sidebar{background:var(--ui-sidebar-bg)!important;color:var(--ui-sidebar-text)!important;transition:background .3s,color .3s}
body.ui-themed .sidebar a,body.ui-themed .sidebar .sb-item,body.ui-themed .sidebar .sb-link{color:var(--ui-sidebar-text)!important}
body.ui-themed .sidebar .sb-item:hover{background:rgba(255,255,255,.08)!important}
body.ui-themed .sidebar .sb-item.active{background:rgba(255,255,255,.12)!important;border-left:3px solid var(--ui-sidebar-accent)!important}
body.ui-themed .sidebar .sb-dot{filter:brightness(1.1)}
body.ui-themed .sidebar .sb-brand,body.ui-themed .sidebar .sb-logo{color:#fff!important}
body.ui-themed .sidebar .sb-group{color:rgba(255,255,255,.5)!important}
body.ui-themed .sidebar .sb-tag{color:rgba(255,255,255,.5)!important}
body.ui-themed .sidebar .sb-name{color:#fff!important}
body.ui-themed .sidebar .sb-xp{color:rgba(255,255,255,.65)!important}
body.ui-themed .sidebar .sb-av,body.ui-themed .sidebar .sb-avatar{background:var(--ui-sidebar-accent)!important;color:#fff!important}
body.ui-themed .sidebar .sb-arrow{color:rgba(255,255,255,.6)!important}

/* Topbar */
body.ui-themed .topbar{background:var(--ui-card)!important;border-bottom:1px solid var(--ui-border)!important}
body.ui-themed .topbar .tb-title{color:var(--ui-text)!important}
body.ui-themed .topbar .tb-crumb{color:var(--ui-muted)!important}

/* Main area background — avec !important fort pour surcharger les bg:#f5f5f4 hardcodés */
body.ui-themed .main-area,
body.ui-themed .main,
body.ui-themed .main-content,
body.ui-themed .content-area,
body.ui-themed .page-wrapper,
body.ui-themed .app-container,
body.ui-themed .wrapper,
body.ui-themed .container-fluid,
body.ui-themed #app,
body.ui-themed #main{background:var(--ui-bg)!important;color:var(--ui-text)}

/* Zone contenu entre cards */
body.ui-themed .content{background:transparent!important}

/* Plus fort : targeter html+body ensemble */
html body.ui-themed,
html.ui-themed-root body{background:var(--ui-bg)!important}

/* Cards */
body.ui-themed .card{background:var(--ui-card)!important;color:var(--ui-text);border:1px solid var(--ui-border)}
body.ui-themed .card h1,body.ui-themed .card h2,body.ui-themed .card h3{color:var(--ui-text)}

/* Buttons brand color */
body.ui-themed .btn-red,body.ui-themed .btn-primary{background:var(--ui-primary)!important;border-color:var(--ui-primary)!important;color:#fff!important}
body.ui-themed .btn-dark{background:var(--ui-sidebar-bg)!important;color:#fff!important}

/* Tab active color */
body.ui-themed .tab.active,body.ui-themed .sb-item.active{color:var(--ui-primary)}

/* Mode sombre (cyberpunk) : ajustements spécifiques */
body.ui-themed[data-ui-theme="cyber"]{color-scheme:dark}
body.ui-themed[data-ui-theme="cyber"] .card,body.ui-themed[data-ui-theme="cyber"] .topbar{background:#1F1A3D!important;color:#E0E7FF!important;border-color:#3F3A67!important}
body.ui-themed[data-ui-theme="cyber"] .tb-title{color:#E0E7FF!important}
body.ui-themed[data-ui-theme="cyber"] input,body.ui-themed[data-ui-theme="cyber"] select,body.ui-themed[data-ui-theme="cyber"] textarea{background:#2A2550!important;color:#E0E7FF!important;border-color:#4A4575!important}
body.ui-themed[data-ui-theme="cyber"] table th,body.ui-themed[data-ui-theme="cyber"] table td{border-color:#3F3A67!important;color:#E0E7FF!important}

/* Container principal */
body.ui-themed .container,body.ui-themed .page-wrapper{background:var(--ui-bg)}

/* BOUTON THÈME (hyper visible) */
.itag-theme-btn-wrap{position:relative;display:inline-block}
.itag-theme-btn{padding:9px 16px;background:linear-gradient(135deg,var(--ui-primary),var(--ui-accent));color:#fff;border:0;border-radius:30px;cursor:pointer;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:7px;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:transform .2s}
.itag-theme-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.28)}
.itag-theme-btn-glow{position:absolute;inset:-3px;border-radius:34px;background:linear-gradient(135deg,var(--ui-primary),var(--ui-accent));opacity:.35;filter:blur(10px);z-index:-1;animation:itagGlow 2.5s infinite}
@keyframes itagGlow{0%,100%{opacity:.3}50%{opacity:.55}}

/* MENU THÈME */
.itag-theme-menu{position:fixed;top:70px;right:20px;background:#fff;border:1px solid #E5E7EB;border-radius:14px;box-shadow:0 15px 50px rgba(0,0,0,.2);padding:16px;width:340px;max-height:85vh;overflow-y:auto;z-index:99999;display:none;font-family:system-ui,sans-serif;color:#1f2937;font-size:14px}
.itag-theme-menu.open{display:block}
.itag-theme-menu h4{font-size:15px;font-weight:700;margin:0 0 14px;color:#1f2937}
.itag-theme-menu .itm-section{margin-bottom:14px}
.itag-theme-menu .itm-title{font-size:10px;text-transform:uppercase;color:#9CA3AF;letter-spacing:.5px;font-weight:700;margin-bottom:6px}
.itag-theme-menu .itm-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}
.itag-theme-menu .itm-grid4{display:flex;gap:4px}
.itag-theme-menu .itm-grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.itag-theme-menu .itm-opt{padding:8px 10px;border-radius:8px;cursor:pointer;font-size:12px;color:#374151;display:flex;align-items:center;gap:8px;transition:background .1s}
.itag-theme-menu .itm-opt:hover{background:#F3F4F6}
.itag-theme-menu .itm-opt.selected{background:var(--ui-primary);color:#fff;font-weight:600}
.itag-theme-menu .itm-swatch{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.1);flex-shrink:0}
.itag-theme-menu .itm-color{padding:3px;border-radius:6px;cursor:pointer;border:2px solid transparent;text-align:center}
.itag-theme-menu .itm-color:hover{border-color:#9CA3AF}
.itag-theme-menu .itm-color.selected{border-color:var(--ui-primary)}
.itag-theme-menu .itm-color .prev{height:28px;border-radius:4px;border:1px solid rgba(0,0,0,.08);margin-bottom:3px}
.itag-theme-menu .itm-color .lbl{font-size:9px;color:#374151}
.itag-theme-menu .itm-flex{display:flex;gap:4px}
.itag-theme-menu .itm-close{position:absolute;top:10px;right:10px;background:none;border:0;cursor:pointer;font-size:20px;color:#9CA3AF;line-height:1}
.itag-theme-menu .itm-status{padding:8px;background:#F0FDF4;color:#065F46;border-radius:6px;font-size:11px;text-align:center;margin-top:8px}
