/* ═══════════════════════════════════════════════════════════════════════════
   assets/css/admov-ui.css — nouveau design du CMS ADMOV (« Night Ops »)
   Thème clair / sombre, affichage compact, menu flottant, barre du haut,
   notifications, notes d'aide, formulaires en étapes, cartes de stats animées.
   Chargé par includes/pwa_head.php sur toutes les pages du CMS.
   Les couleurs propres à chaque page sont converties en thème sombre par
   assets/js/admov-ui.js (aucune logique de page n'est modifiée).
   ═══════════════════════════════════════════════════════════════════════════ */

html.adm{
  --a-bg:#F3F5F9; --a-surface:#FFFFFF; --a-surface2:#F7F9FC; --a-surface3:#EEF2F8;
  --a-border:#E2E7EF; --a-border2:#CFD7E3;
  --a-text:#0F172A; --a-muted:#55657D; --a-faint:#7A889E;
  --a-accent:#2563EB; --a-accent-soft:rgba(37,99,235,.10);
  --a-ok:#059669; --a-ok-soft:rgba(5,150,105,.10);
  --a-warn:#B45309; --a-warn-soft:rgba(217,119,6,.12);
  --a-err:#DC2626; --a-err-soft:rgba(220,38,38,.09);
  --a-info:#0E7490; --a-info-soft:rgba(8,145,178,.10);
  --a-vio:#7C3AED; --a-vio-soft:rgba(124,58,237,.10);
  --a-side:#FFFFFF; --a-side-text:#475569; --a-side-head:#94A3B8;
  --a-shadow:0 1px 2px rgba(15,23,42,.04),0 10px 28px -20px rgba(15,23,42,.28);
  --a-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  background:var(--a-bg);
  color-scheme:light;
}
html.adm.adm-dark{
  --a-bg:#0A0F1C; --a-surface:#111A2C; --a-surface2:#16213A; --a-surface3:#1C2945;
  --a-border:rgba(148,163,184,.14); --a-border2:rgba(148,163,184,.26);
  --a-text:#E7ECF5; --a-muted:#93A1B8; --a-faint:#6B7A93;
  --a-accent:#4C84FF; --a-accent-soft:rgba(76,132,255,.16);
  --a-ok:#34D399; --a-ok-soft:rgba(52,211,153,.14);
  --a-warn:#FBBF24; --a-warn-soft:rgba(251,191,36,.14);
  --a-err:#F87171; --a-err-soft:rgba(248,113,113,.14);
  --a-info:#22D3EE; --a-info-soft:rgba(34,211,238,.14);
  --a-vio:#A78BFA; --a-vio-soft:rgba(167,139,250,.16);
  --a-side:#0D1424; --a-side-text:#93A1B8; --a-side-head:#5B6B85;
  --a-shadow:0 1px 0 rgba(255,255,255,.03) inset,0 12px 32px -18px rgba(0,0,0,.7);
  color-scheme:dark;
}
/* Page masquée le temps d'appliquer le thème (évite le flash), max 2,5 s */
html.adm-pre body{opacity:0!important;}
html.adm body{transition:opacity .18s ease;}
html.adm-switch, html.adm-switch *, html.adm-switch *::before, html.adm-switch *::after{
  transition:background-color .35s ease,color .35s ease,border-color .35s ease,fill .35s ease!important;}

/* ── Base ── */
html.adm body{background:var(--a-bg)!important;font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;}
html.adm.adm-dark body{color:var(--a-text);}
html.adm ::selection{background:var(--a-accent-soft);}
html.adm *{scrollbar-width:thin;scrollbar-color:var(--a-border2) transparent;}
html.adm ::-webkit-scrollbar{width:8px;height:8px;}
html.adm ::-webkit-scrollbar-thumb{background:var(--a-border2);border-radius:8px;}
html.adm ::-webkit-scrollbar-track{background:transparent;}
:where(html.adm.adm-dark) :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){
  background-color:var(--a-surface2);color:var(--a-text);border-color:var(--a-border2);}
:where(html.adm.adm-dark) :where(input,textarea)::placeholder{color:var(--a-faint);}
:where(html.adm.adm-dark) :where(option){background:var(--a-surface);color:var(--a-text);}
:where(html.adm.adm-dark) input[type=date]::-webkit-calendar-picker-indicator,
:where(html.adm.adm-dark) input[type=time]::-webkit-calendar-picker-indicator,
:where(html.adm.adm-dark) input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(.85);}
html.adm input:focus-visible,html.adm select:focus-visible,html.adm textarea:focus-visible{outline:2px solid var(--a-accent-soft);outline-offset:0;border-color:var(--a-accent)!important;}
html.adm .main-content{scroll-behavior:smooth;}

/* ── Menu latéral flottant (ordinateur) ── */
@media (min-width:901px){
  html.adm body{padding:12px 0 12px 12px;gap:0;}
  html.adm .sidebar{width:228px!important;height:calc(100vh - 24px)!important;max-height:calc(100vh - 24px)!important;background:var(--a-side)!important;
    border:1px solid var(--a-border)!important;border-radius:18px;box-shadow:var(--a-shadow);padding:10px 10px 0;}
  html.adm .main-content{padding:6px 20px 24px!important;}
}
html.adm .sidebar .logo-container{border-bottom:1px solid var(--a-border)!important;padding:10px 0 14px!important;margin-bottom:6px!important;}
html.adm .sidebar .logo-img{max-width:62%!important;}
html.adm .sidebar .nav-header{color:var(--a-side-head)!important;font-size:9.5px!important;font-weight:700!important;letter-spacing:.12em;padding:12px 12px 5px!important;}
html.adm .sidebar .nav-link{color:var(--a-side-text)!important;border-left:0!important;border-radius:10px;margin:1px 2px;padding:8px 10px!important;font-size:12px!important;font-weight:600;position:relative;transition:background .2s,color .2s;}
html.adm .sidebar .nav-link i{width:20px!important;margin-right:8px!important;font-size:13px!important;}
html.adm .sidebar .nav-link:hover{background:var(--a-surface3)!important;color:var(--a-text)!important;}
html.adm .sidebar .nav-link.active{background:var(--a-accent-soft)!important;color:var(--a-accent)!important;}
html.adm .sidebar .nav-link.active i{color:var(--a-accent)!important;}
html.adm .sidebar .nav-link.active::before{content:'';position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--a-accent);}
html.adm .sidebar .nav-link .adm-cnt{margin-left:auto;font:700 9.5px var(--a-mono);padding:1px 6px;border-radius:999px;background:var(--a-surface3);color:var(--a-muted);}
html.adm .sidebar .nav-link .adm-cnt.err{background:var(--a-err-soft);color:var(--a-err);}
/* Menu : tout tient sans barre de défilement, même sur un écran peu haut */
html.adm .sidebar .nav-container{scrollbar-width:none;}
html.adm .sidebar .nav-container::-webkit-scrollbar{display:none;}
@media (min-width:901px) and (max-height:780px){
  html.adm .sidebar .logo-container{padding:6px 0 10px!important;}
  html.adm .sidebar .nav-header{padding:9px 12px 3px!important;}
  html.adm .sidebar .nav-link{padding:6px 10px!important;}
}
@media (min-width:901px) and (max-height:640px){
  html.adm .sidebar .logo-img{max-width:50%!important;}
  html.adm .sidebar .nav-header{padding:6px 12px 2px!important;font-size:9px!important;}
  html.adm .sidebar .nav-link{padding:4.5px 10px!important;font-size:11.5px!important;}
}
html.adm .sidebar .sidebar-footer-actions{border-top:1px solid var(--a-border)!important;margin-top:4px;}
html.adm .sidebar .user-profile{border-top-color:var(--a-border)!important;}

/* ── Barre du haut ── */
/* Barre opaque et floutée sur toute la largeur : le contenu passe dessous sans se mélanger */
.adm-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:46px;margin:-6px -20px 14px;padding:8px 20px;position:sticky;top:-6px;z-index:1100;
  background:var(--a-bg);background:color-mix(in srgb,var(--a-bg) 80%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);
  border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s;}
.adm-top.scrolled{border-bottom-color:var(--a-border);box-shadow:0 12px 28px -20px rgba(0,0,0,.55);}
.adm-crumb{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--a-faint);min-width:0;}
.adm-crumb b{color:var(--a-text);font-weight:700;}
.adm-crumb i{font-size:8px;opacity:.6;}
.adm-search{flex:0 1 300px;margin-left:auto;display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border-radius:10px;background:var(--a-surface);
  border:1px solid var(--a-border);color:var(--a-faint);font-size:11.5px;cursor:pointer;transition:border-color .2s;}
.adm-search:hover{border-color:var(--a-border2);}
.adm-search span{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.adm-kbd{font:700 9.5px var(--a-mono);padding:2px 5px;border-radius:5px;border:1px solid var(--a-border2);color:var(--a-muted);}
.adm-ib{position:relative;width:34px;height:34px;border-radius:10px;border:1px solid var(--a-border);background:var(--a-surface);color:var(--a-muted);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;font-size:13px;transition:.2s;flex-shrink:0;}
.adm-ib:hover{color:var(--a-text);border-color:var(--a-border2);transform:translateY(-1px);}
.adm-ib.theme{color:var(--a-accent);background:var(--a-accent-soft);border-color:transparent;}
.adm-ib .adm-badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--a-err);color:#fff;
  font:800 9.5px/17px 'Inter',sans-serif;text-align:center;box-shadow:0 0 0 2px var(--a-bg);animation:admPop .35s cubic-bezier(.2,1.6,.4,1);}
.adm-ib .adm-badge[hidden]{display:none;}
.adm-ib.ring i{animation:admRing 1.2s ease 2;}
@keyframes admPop{from{transform:scale(0);}to{transform:none;}}
@keyframes admRing{0%,100%{transform:rotate(0);}15%{transform:rotate(14deg);}30%{transform:rotate(-12deg);}45%{transform:rotate(8deg);}60%{transform:rotate(-5deg);}}
.adm-net{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;font-size:10.5px;font-weight:700;background:var(--a-ok-soft);color:var(--a-ok);white-space:nowrap;}
.adm-net.bad{background:var(--a-err-soft);color:var(--a-err);}
.adm-net i{width:6px;height:6px;border-radius:50%;background:currentColor;animation:admPulse 1.8s infinite;}
@keyframes admPulse{0%{box-shadow:0 0 0 0 currentColor;}70%{box-shadow:0 0 0 6px transparent;}100%{box-shadow:0 0 0 0 transparent;}}
@media (max-width:900px){.adm-top{display:none!important;}}

/* Boutons ajoutés à la barre mobile */
.m-appbar .adm-mbtns{display:flex;gap:6px;margin-left:4px;}
.m-appbar .adm-ib{width:36px;height:36px;background:rgba(255,255,255,.06);border-color:transparent;color:#e2e8f0;}

/* ── Panneau des notifications ── */
.adm-pop{position:fixed;z-index:100050;width:min(380px,calc(100vw - 20px));max-height:min(560px,calc(100vh - 80px));display:flex;flex-direction:column;
  background:var(--a-surface);color:var(--a-text);border:1px solid var(--a-border2);border-radius:16px;box-shadow:0 24px 60px -20px rgba(0,0,0,.55);
  opacity:0;transform:translateY(-6px) scale(.98);transform-origin:top right;pointer-events:none;transition:opacity .18s,transform .2s cubic-bezier(.2,.9,.3,1.2);
  font-family:'Inter',system-ui,sans-serif;}
.adm-pop.on{opacity:1;transform:none;pointer-events:auto;}
.adm-pop-h{display:flex;align-items:center;gap:8px;padding:13px 14px;border-bottom:1px solid var(--a-border);}
.adm-pop-h b{font-size:13px;}
.adm-pop-h button{margin-left:auto;border:none;background:none;color:var(--a-accent);font:600 11px 'Inter',sans-serif;cursor:pointer;}
.adm-pop-tabs{display:flex;gap:4px;padding:8px 10px 0;}
.adm-pop-tabs button{height:26px;padding:0 10px;border-radius:8px;border:none;background:transparent;color:var(--a-muted);font:600 11px 'Inter',sans-serif;cursor:pointer;}
.adm-pop-tabs button.on{background:var(--a-surface3);color:var(--a-text);}
.adm-pop-list{overflow-y:auto;padding:6px;}
.adm-ni{display:flex;gap:10px;padding:10px;border-radius:12px;text-decoration:none;color:inherit;position:relative;transition:background .15s;}
.adm-ni:hover{background:var(--a-surface2);}
.adm-ni.new::after{content:'';position:absolute;top:14px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--a-accent);}
.adm-ni-ic{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;}
.adm-ni-ic.err{background:var(--a-err-soft);color:var(--a-err);} .adm-ni-ic.warn{background:var(--a-warn-soft);color:var(--a-warn);}
.adm-ni-ic.info{background:var(--a-accent-soft);color:var(--a-accent);} .adm-ni-ic.ok{background:var(--a-ok-soft);color:var(--a-ok);}
.adm-ni-t{font-size:12px;font-weight:700;padding-right:14px;}
.adm-ni-s{font-size:11px;color:var(--a-muted);line-height:1.45;margin-top:1px;}
.adm-ni-d{font:600 10px var(--a-mono);color:var(--a-faint);margin-top:4px;}
.adm-pop-empty{padding:34px 16px;text-align:center;color:var(--a-muted);font-size:12px;}
.adm-pop-empty i{display:block;font-size:22px;color:var(--a-ok);margin-bottom:8px;}
.adm-pop-f{padding:9px 14px;border-top:1px solid var(--a-border);font-size:10.5px;color:var(--a-faint);display:flex;align-items:center;gap:6px;}
@media (max-width:600px){.adm-pop{left:10px!important;right:10px!important;width:auto;top:64px!important;}}

/* ── Palette de recherche (Ctrl K) ── */
.adm-pal-ov{position:fixed;inset:0;z-index:100080;background:rgba(2,6,23,.5);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:flex-start;padding:12vh 12px 12px;
  opacity:0;pointer-events:none;transition:opacity .15s;}
.adm-pal-ov.on{opacity:1;pointer-events:auto;}
.adm-pal{width:min(560px,100%);background:var(--a-surface);border:1px solid var(--a-border2);border-radius:16px;box-shadow:0 30px 70px -20px rgba(0,0,0,.6);overflow:hidden;
  transform:translateY(-8px);transition:transform .2s;font-family:'Inter',system-ui,sans-serif;color:var(--a-text);}
.adm-pal-ov.on .adm-pal{transform:none;}
.adm-pal input{width:100%;height:50px;border:none!important;border-bottom:1px solid var(--a-border)!important;background:transparent!important;color:var(--a-text);
  padding:0 16px 0 44px!important;font:500 14px 'Inter',sans-serif!important;outline:none!important;margin:0!important;border-radius:0!important;box-shadow:none!important;}
.adm-pal-in{position:relative;}
.adm-pal-in i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--a-faint);}
.adm-pal-list{max-height:50vh;overflow-y:auto;padding:6px;}
.adm-pal-it{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:var(--a-text);text-decoration:none;font-size:12.5px;font-weight:600;cursor:pointer;}
.adm-pal-it i{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--a-surface3);color:var(--a-muted);font-size:12px;}
.adm-pal-it small{margin-left:auto;font-size:10.5px;color:var(--a-faint);font-weight:500;}
.adm-pal-it.on,.adm-pal-it:hover{background:var(--a-accent-soft);}
.adm-pal-it.on i{color:var(--a-accent);}

/* ── Notes d'aide et d'avertissement ── */
.adm-guide{position:relative;display:flex;gap:12px;align-items:flex-start;padding:13px 40px 13px 14px;margin:0 0 14px;border-radius:14px;
  background:var(--a-accent-soft);border:1px solid color-mix(in srgb,var(--a-accent) 26%,transparent);color:var(--a-text);font-size:12px;line-height:1.55;animation:admRise .4s ease both;}
.adm-guide-ic{width:30px;height:30px;border-radius:9px;background:var(--a-accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;}
.adm-guide b.t{display:block;font-size:12.5px;margin-bottom:3px;}
.adm-guide ol{margin:4px 0 0;padding-left:18px;} .adm-guide li{margin:2px 0;}
.adm-guide-x{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:8px;border:none;background:transparent;color:var(--a-muted);cursor:pointer;}
.adm-guide-x:hover{background:var(--a-surface);color:var(--a-text);}
.adm-note{display:flex;gap:9px;align-items:flex-start;padding:9px 11px;border-radius:11px;font-size:11.5px;line-height:1.5;margin:8px 0;
  background:var(--a-accent-soft);color:var(--a-text);border:1px solid transparent;}
.adm-note>i{margin-top:2px;color:var(--a-accent);flex-shrink:0;}
.adm-note.warn{background:var(--a-warn-soft);border-color:color-mix(in srgb,var(--a-warn) 30%,transparent);}
.adm-note.warn>i{color:var(--a-warn);}
.adm-note.danger{background:var(--a-err-soft);border-color:color-mix(in srgb,var(--a-err) 30%,transparent);}
.adm-note.danger>i{color:var(--a-err);}
.adm-i{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:5px;border-radius:50%;border:1px solid currentColor;
  font:800 9px/1 Georgia,serif;font-style:italic;opacity:.55;cursor:help;vertical-align:middle;background:none;color:inherit;padding:0;flex-shrink:0;transition:opacity .15s;text-transform:none;letter-spacing:0;}
.adm-i:hover,.adm-i:focus-visible{opacity:1;}
html.adm .adm-i{min-height:0!important;min-width:0!important;height:15px!important;width:15px!important;line-height:1!important;}
.adm-tip{position:fixed;z-index:100090;max-width:270px;padding:9px 11px;border-radius:11px;background:var(--a-surface);color:var(--a-text);border:1px solid var(--a-border2);
  box-shadow:0 16px 36px -14px rgba(0,0,0,.55);font:500 11.5px/1.5 'Inter',sans-serif;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;}
.adm-tip.on{opacity:1;transform:none;}
.adm-tip b{display:block;font-size:12px;margin-bottom:2px;}
.adm-help-on .adm-guide{box-shadow:0 0 0 3px var(--a-accent-soft);}

/* ── Formulaires en étapes (petits écrans) ── */
.adm-steps{display:flex;align-items:center;gap:8px;margin:0 0 12px;}
.adm-steps .lbl{font-size:11px;font-weight:700;color:var(--a-muted);white-space:nowrap;}
.adm-steps .dots{display:flex;gap:5px;flex:1;}
.adm-steps .dots i{flex:1;height:4px;border-radius:9px;background:var(--a-border2);transition:background .3s;}
.adm-steps .dots i.on{background:var(--a-accent);}
.adm-step-hide{display:none!important;}
.adm-step-anim{animation:admStepIn .28s ease both;}
@keyframes admStepIn{from{opacity:0;transform:translateX(14px);}to{opacity:1;transform:none;}}
.adm-step-nav{display:flex;gap:8px;margin-top:12px;}
.adm-step-nav button{flex:1;height:42px;border-radius:11px;font:700 12.5px 'Inter',sans-serif;cursor:pointer;border:1px solid var(--a-border2);background:var(--a-surface2);color:var(--a-text);}
.adm-step-nav button.nx{background:var(--a-accent);border-color:var(--a-accent);color:#fff;}
.adm-step-nav button[disabled]{opacity:.4;cursor:default;}

/* ── Cartes de statistiques (toutes les pages) ── */
html.adm .stat-card{border-radius:14px!important;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s!important;}
html.adm .stat-card:hover{transform:translateY(-3px)!important;}
html.adm .sc-val,html.adm .stat-value{font-family:var(--a-mono)!important;letter-spacing:-.02em;}
@keyframes admRise{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

/* Cartes vives, animées (toutes les pages) */
html.adm.adm-vivid .stat-card{--c1:#2563EB;--c2:#4F46E5;position:relative;overflow:hidden!important;border:none!important;color:#fff!important;
  background:linear-gradient(135deg,var(--c1),var(--c2))!important;box-shadow:0 14px 30px -16px var(--c1)!important;animation:admRise .5s cubic-bezier(.2,.8,.2,1) both;}
html.adm.adm-vivid .stat-card:nth-child(1){--c1:#2563EB;--c2:#6366F1;}
html.adm.adm-vivid .stat-card:nth-child(2){--c1:#059669;--c2:#10B981;animation-delay:.06s;}
html.adm.adm-vivid .stat-card:nth-child(3){--c1:#0891B2;--c2:#22D3EE;animation-delay:.12s;}
html.adm.adm-vivid .stat-card:nth-child(4){--c1:#DC2626;--c2:#F97316;animation-delay:.18s;}
html.adm.adm-vivid .stat-card:nth-child(5){--c1:#7C3AED;--c2:#C026D3;animation-delay:.24s;}
html.adm.adm-vivid .stat-card:nth-child(6){--c1:#D97706;--c2:#F59E0B;animation-delay:.3s;}
html.adm.adm-vivid .stats-grid-5 .stat-card:nth-child(1){--c1:#D97706;--c2:#F59E0B;}
html.adm.adm-vivid .stats-grid-5 .stat-card:nth-child(2){--c1:#059669;--c2:#34D399;}
html.adm.adm-vivid .stats-grid-5 .stat-card:nth-child(3){--c1:#4F46E5;--c2:#818CF8;}
html.adm.adm-vivid .stats-grid-5 .stat-card:nth-child(4){--c1:#475569;--c2:#64748B;}
html.adm.adm-vivid .stats-grid-5 .stat-card:nth-child(5){--c1:#DB2777;--c2:#F472B6;}
html.adm.adm-vivid .stat-card.adm-c-blue{--c1:#2563EB!important;--c2:#6366F1!important;}
html.adm.adm-vivid .stat-card.adm-c-green{--c1:#059669!important;--c2:#10B981!important;}
html.adm.adm-vivid .stat-card.adm-c-red{--c1:#DC2626!important;--c2:#F97316!important;}
html.adm.adm-vivid .stat-card.adm-c-amber{--c1:#D97706!important;--c2:#F59E0B!important;}
html.adm.adm-vivid .stat-card.adm-c-violet{--c1:#7C3AED!important;--c2:#C026D3!important;}
html.adm.adm-vivid .stat-card.adm-c-indigo{--c1:#4F46E5!important;--c2:#818CF8!important;}
html.adm.adm-vivid .stat-card.adm-c-slate{--c1:#475569!important;--c2:#64748B!important;}
html.adm.adm-vivid .stat-card.adm-c-pink{--c1:#DB2777!important;--c2:#F472B6!important;}
html.adm.adm-vivid .stat-card.adm-c-cyan{--c1:#0891B2!important;--c2:#22D3EE!important;}
html.adm.adm-vivid .stat-card .sc-lbl,html.adm.adm-vivid .stat-card .sc-sub,html.adm.adm-vivid .stat-card .sc-val,html.adm.adm-vivid .stat-card .sc-val *{color:#fff!important;}
html.adm.adm-vivid .stat-card .sc-lbl{opacity:.88;}
html.adm.adm-vivid .stat-card .sc-sub{opacity:.82;}
html.adm.adm-vivid .stat-card .sc-icon{opacity:.22!important;color:#fff!important;font-size:38px!important;right:12px!important;bottom:8px!important;animation:admFloat 4s ease-in-out infinite;}
html.adm.adm-vivid .stat-card::before{content:'';position:absolute;width:140px;height:140px;border-radius:50%;right:-50px;top:-60px;background:rgba(255,255,255,.14);pointer-events:none;animation:admBlob 7s ease-in-out infinite;}
html.adm.adm-vivid .stat-card::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%)!important;
  transform:translateX(-120%)!important;animation:admShine 5.5s ease-in-out infinite!important;transition:none!important;}
html.adm.adm-vivid .stat-card:nth-child(2)::after{animation-delay:.7s!important;} html.adm.adm-vivid .stat-card:nth-child(3)::after{animation-delay:1.4s!important;}
html.adm.adm-vivid .stat-card:nth-child(4)::after{animation-delay:2.1s!important;} html.adm.adm-vivid .stat-card:nth-child(5)::after{animation-delay:2.8s!important;}
html.adm.adm-vivid .stat-card:hover{transform:translateY(-4px) scale(1.015)!important;box-shadow:0 20px 38px -16px var(--c1)!important;}
/* Variante « Campagnes » (icône + valeur + libellé) */
html.adm.adm-vivid .stats-row .stat-card{align-items:flex-start!important;justify-content:flex-end!important;text-align:left!important;gap:4px!important;padding:16px 64px 16px 16px!important;min-height:94px;}
html.adm.adm-vivid .stat-card .stat-icon{position:absolute!important;right:14px;top:50%;margin-top:-20px;width:40px!important;height:40px!important;border-radius:12px!important;font-size:17px!important;color:#fff!important;
  background:rgba(255,255,255,.2)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)!important;z-index:1;animation:admFloat 4s ease-in-out infinite;}
html.adm.adm-vivid .stat-card .stat-label{order:-1;color:#fff!important;opacity:.9;font-weight:700;font-size:10.5px!important;}
html.adm.adm-vivid .stat-card .stat-value{color:#fff!important;font-size:24px!important;font-weight:800!important;position:relative;z-index:1;}
html.adm.adm-vivid .stat-card.camp-active,html.adm.adm-vivid .stat-card.camp-done,html.adm.adm-vivid .stat-card.expired{border:none!important;}
/* Compteurs de la carte (Carte des écrans) */
html.adm .pstat{border-radius:999px!important;color:#fff!important;font-weight:700!important;box-shadow:0 6px 14px -8px currentColor;}
html.adm .pstat-total{background:linear-gradient(135deg,#4F46E5,#818CF8)!important;}
html.adm .pstat-online{background:linear-gradient(135deg,#059669,#34D399)!important;}
html.adm .pstat-offline{background:linear-gradient(135deg,#DC2626,#F97316)!important;}
@keyframes admFloat{0%,100%{transform:translateY(0) rotate(0);}50%{transform:translateY(-5px) rotate(-6deg);}}
@keyframes admBlob{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-14px,10px) scale(1.12);}}
@keyframes admShine{0%,70%{transform:translateX(-120%);}100%{transform:translateX(120%);}}
.adm-bump{animation:admBump .5s ease;}
@keyframes admBump{40%{transform:scale(1.12);}}

/* ── Couleur propre à chaque page (en-tête, filets, boutons) ── */
html.adm{--pg1:#2563EB;--pg2:#6366F1;}
html.adm-page-dashboard{--pg1:#2563EB;--pg2:#6366F1;} html.adm-page-screens{--pg1:#0891B2;--pg2:#2563EB;}
html.adm-page-media{--pg1:#D97706;--pg2:#F43F5E;} html.adm-page-playlists{--pg1:#DB2777;--pg2:#A855F7;}
html.adm-page-campaigns{--pg1:#7C3AED;--pg2:#4F46E5;} html.adm-page-schedules{--pg1:#0D9488;--pg2:#10B981;}
html.adm-page-planning{--pg1:#4F46E5;--pg2:#C026D3;} html.adm-page-map{--pg1:#059669;--pg2:#0891B2;}
html.adm-page-reports{--pg1:#2563EB;--pg2:#06B6D4;} html.adm-page-commandes{--pg1:#EA580C;--pg2:#DC2626;}
html.adm-page-admin{--pg1:#475569;--pg2:#2563EB;}

/* ── En-tête de page ── */
html.adm .main-content > .header-flex.adm-hero{position:relative;overflow:hidden;gap:14px;padding:16px 18px!important;margin-bottom:16px!important;border-radius:18px;
  background:var(--a-surface);border:1px solid var(--a-border);box-shadow:var(--a-shadow);isolation:isolate;}
.adm-hero::before{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;
  background:linear-gradient(100deg,color-mix(in srgb,var(--pg1) 13%,transparent) 0%,color-mix(in srgb,var(--pg2) 6%,transparent) 45%,transparent 75%);}
html.adm-dark .adm-hero::before{background:linear-gradient(100deg,color-mix(in srgb,var(--pg1) 26%,transparent) 0%,color-mix(in srgb,var(--pg2) 12%,transparent) 50%,transparent 80%);}
/* Grande icône de la rubrique en filigrane */
.adm-hero-wm{position:absolute;z-index:-1;right:26px;top:50%;font-size:62px;line-height:1;margin-top:-31px;color:var(--pg1);opacity:.08;pointer-events:none;animation:admFloat 6s ease-in-out infinite;}
html.adm-dark .adm-hero-wm{opacity:.16;color:var(--pg2);}
.adm-hero-l{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto;}
.adm-hero-ic{width:42px;height:42px;flex-shrink:0;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:17px;
  background:linear-gradient(135deg,var(--pg1),var(--pg2));box-shadow:0 10px 22px -10px var(--pg1);animation:admRise .5s cubic-bezier(.2,.8,.2,1) both;}
.adm-hero-t{min-width:0;}
html.adm .adm-hero h2{margin:0!important;font-size:18px!important;font-weight:800!important;letter-spacing:-.02em;line-height:1.2;color:var(--a-text)!important;}
.adm-hero-sub{margin-top:3px;font-size:11.5px;color:var(--a-muted);font-weight:500;line-height:1.4;}

/* Carte des écrans : la carte garde toute la hauteur de l'écran */
html.adm-page-map .main-content > .header-flex.adm-hero{padding:10px 16px!important;margin-bottom:12px!important;}
html.adm-page-map .adm-hero-wm{font-size:44px;margin-top:-22px;}
@media (max-height:760px){html.adm-page-map .adm-hero-sub{display:none;}}
/* Menu : ADtracks (épingle animée + badge LIVE) */
html.adm .nav-link i.adm-nav-live{position:relative;}
html.adm .nav-link i.adm-nav-live::after{content:'';position:absolute;left:50%;bottom:-4px;width:14px;height:5px;margin-left:-7px;border-radius:50%;border:1.5px solid currentColor;animation:admNavPin 1.7s ease-out infinite;}
@keyframes admNavPin{0%{transform:scale(.3);opacity:.9;}100%{transform:scale(1.7);opacity:0;}}
html.adm .nav-link .adm-live-tag{margin-left:auto;font:800 8.5px 'Inter',sans-serif;letter-spacing:.04em;color:#fff;background:#EF4444;border-radius:999px;padding:2px 6px;line-height:1.2;}
@media (prefers-reduced-motion:reduce){html.adm .nav-link i.adm-nav-live::after{animation:none;opacity:0;}}

/* ── Apparition douce des blocs ── */
html.adm .main-content > :is(.header-flex,.stat-grid,.stats-grid,.stats-grid-5,.stats-row,.card,.adm-guide,.dash-panel,.devices-panel,.form-panel,.hist-panel,.chart-panel,.journal-card,.form-card,.media-selector-card){animation:admRise .5s cubic-bezier(.2,.8,.2,1) both;}
html.adm .main-content > :nth-child(3){animation-delay:.05s;} html.adm .main-content > :nth-child(4){animation-delay:.1s;}
html.adm .main-content > :nth-child(5){animation-delay:.15s;} html.adm .main-content > :nth-child(6){animation-delay:.2s;}
html.adm .main-content > :nth-child(n+7){animation-delay:.25s;}

/* ── Panneaux : même style partout ── */
html.adm :is(.card,.dash-panel,.devices-panel,.form-panel,.hist-panel,.chart-panel,.journal-card,.side-card,.calendar-wrap,.form-card,.media-selector-card,.col-library,.col-selected,.qr-card,.welcome-card):not(.stat-card){
  border-radius:16px!important;border-color:var(--a-border)!important;box-shadow:inset 0 2px 0 0 color-mix(in srgb,var(--pg1) 70%,transparent),var(--a-shadow)!important;transition:box-shadow .25s,border-color .25s;}
html.adm :is(.card,.dash-panel,.devices-panel,.form-panel,.hist-panel,.chart-panel,.journal-card,.side-card,.form-card,.media-selector-card):not(.stat-card):hover{border-color:var(--a-border2)!important;}
html.adm :is(.dp-header,.hp-header,.side-card-header,.journal-header,.asc-head){background-image:linear-gradient(90deg,color-mix(in srgb,var(--pg1) 9%,transparent),transparent 70%)!important;}
html.adm :is(.card,.dash-panel,.devices-panel,.chart-panel,.side-card,.form-card,.journal-card) h3 > i:first-child{color:var(--pg1);}

/* ── Cartes, tableaux, boutons : finitions communes ── */
html.adm .card{border-radius:14px!important;box-shadow:var(--a-shadow);}
html.adm table th{letter-spacing:.06em;}
html.adm tbody tr{transition:background-color .15s;}
html.adm .btn-primary,html.adm .tb-btn,html.adm .submit-btn,html.adm .send-btn{border-radius:10px!important;transition:transform .15s,filter .2s,box-shadow .2s!important;}
html.adm .btn-primary{background-image:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,0));}
html.adm .btn-primary:hover{box-shadow:0 10px 22px -12px var(--a-accent);transform:translateY(-1px);}
html.adm table thead tr{background:var(--a-surface2)!important;}
html.adm table th{color:var(--a-muted)!important;font-size:10px!important;font-weight:700!important;}
html.adm table tbody tr:hover{background-color:var(--a-accent-soft)!important;}
html.adm .btn-primary:active,html.adm .tb-btn:active,html.adm .submit-btn:active,html.adm .send-btn:active{transform:scale(.97);}
html.adm .modal-box,html.adm .modal-content{border-radius:18px!important;}
html.adm .modal-overlay,html.adm .modal{backdrop-filter:blur(3px);}

/* ── Thème sombre : éléments externes (calendrier, cartes, dialogues) ── */
html.adm.adm-dark .fc{--fc-border-color:var(--a-border);--fc-page-bg-color:var(--a-surface);--fc-neutral-bg-color:var(--a-surface2);--fc-list-event-hover-bg-color:var(--a-surface2);
  --fc-today-bg-color:var(--a-accent-soft);--fc-button-bg-color:var(--a-surface3);--fc-button-border-color:var(--a-border2);--fc-button-hover-bg-color:var(--a-surface2);
  --fc-button-active-bg-color:var(--a-accent);--fc-button-text-color:var(--a-text);color:var(--a-text);}
html.adm.adm-dark .fc .fc-col-header-cell,html.adm.adm-dark .fc-theme-standard .fc-scrollgrid{background:var(--a-surface2);}
html.adm.adm-dark .fc a{color:inherit;}
html.adm.adm-dark .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.88) saturate(.55);}
html.adm.adm-dark .leaflet-control-zoom a,html.adm.adm-dark .leaflet-bar a{background:var(--a-surface)!important;color:var(--a-text)!important;border-color:var(--a-border)!important;}
html.adm.adm-dark .leaflet-popup-content-wrapper,html.adm.adm-dark .leaflet-popup-tip{background:var(--a-surface)!important;color:var(--a-text)!important;}
html.adm.adm-dark .leaflet-tooltip{background:var(--a-surface);color:var(--a-text);border-color:var(--a-border2);}
html.adm.adm-dark .leaflet-container{background:#0E1626;}
html.adm.adm-dark .adlg{background:var(--a-surface)!important;}
html.adm.adm-dark .adlg-title{color:var(--a-text)!important;}
html.adm.adm-dark .adlg-msg{color:var(--a-muted)!important;}
html.adm.adm-dark .adlg-cancel{background:var(--a-surface2)!important;color:var(--a-text)!important;border-color:var(--a-border2)!important;}
html.adm.adm-dark .adlg-ic.info{background:var(--a-accent-soft)!important;} html.adm.adm-dark .adlg-ic.warn{background:var(--a-warn-soft)!important;}
html.adm.adm-dark .adlg-ic.danger{background:var(--a-err-soft)!important;}
html.adm.adm-dark .m-tabbar{background:rgba(13,20,36,.96)!important;border-top-color:var(--a-border)!important;}
html.adm.adm-dark .m-tabbar a,html.adm.adm-dark .m-tabbar button{color:var(--a-muted)!important;}
html.adm.adm-dark .m-tabbar .on{color:var(--a-accent)!important;}
html.adm.adm-dark .m-tabbar a:active,html.adm.adm-dark .m-tabbar button:active{background:var(--a-surface3)!important;}
html.adm:not(.adm-dark) .m-appbar{background:rgba(255,255,255,.95)!important;color:var(--a-text)!important;border-bottom-color:var(--a-border)!important;}
html.adm:not(.adm-dark) .m-appbar .m-icon-btn,html.adm:not(.adm-dark) .m-appbar .adm-ib{background:var(--a-surface3)!important;color:var(--a-text)!important;}
html.adm:not(.adm-dark) .m-appbar .m-title{color:var(--a-muted)!important;}


/* ══ Planification : calendrier (avec assets/js/admov-planning.js) ══ */
html.adm .agenda-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:14px!important;}
html.adm .agenda-layout > *{min-width:0;}
html.adm .calendar-wrap.adm-cal{padding:0!important;overflow:hidden;}
.adm-cal-tb{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--a-border);flex-wrap:wrap;}
.adm-cal-nav{display:flex;gap:4px;}
.adm-cal-ib,.adm-cal-today{height:32px;border-radius:10px;border:1px solid var(--a-border);background:var(--a-surface2);color:var(--a-text);font:700 12px 'Inter',sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s,transform .15s;min-height:0!important;}
.adm-cal-ib{width:32px;color:var(--a-muted);} .adm-cal-today{padding:0 12px;}
.adm-cal-ib:hover,.adm-cal-today:hover{border-color:var(--a-border2);color:var(--a-text);}
.adm-cal-ib:active,.adm-cal-today:active{transform:scale(.95);}
html.adm .adm-cal-title{margin:0 6px!important;font-size:16px!important;font-weight:800!important;letter-spacing:-.02em;text-transform:capitalize;color:var(--a-text)!important;}
.adm-cal-seg{margin-left:auto;display:flex;gap:2px;background:var(--a-surface2);border:1px solid var(--a-border);border-radius:11px;padding:3px;}
.adm-cal-seg button{border:0;background:transparent;padding:6px 12px;border-radius:8px;font:700 12px 'Inter',sans-serif;color:var(--a-muted);cursor:pointer;min-height:0!important;transition:color .15s;}
.adm-cal-seg button:hover{color:var(--a-text);}
.adm-cal-seg button.on{background:linear-gradient(135deg,var(--pg1),var(--pg2));color:#fff;box-shadow:0 6px 14px -8px var(--pg1);}
.adm-cal-chips{display:flex;gap:6px;padding:10px 14px;border-bottom:1px solid var(--a-border);flex-wrap:wrap;align-items:center;}
.adm-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:999px;border:1px solid var(--a-border);background:var(--a-surface);color:var(--a-muted);font:700 11.5px 'Inter',sans-serif;cursor:pointer;white-space:nowrap;min-height:0!important;transition:background .15s,color .15s;}
.adm-chip:hover{color:var(--a-text);border-color:var(--a-border2);}
.adm-chip .d{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.adm-chip b{font-family:var(--a-mono);font-size:10.5px;}
.adm-chip.on{background:var(--a-text);color:var(--a-surface);border-color:var(--a-text);}
.adm-sw{flex-shrink:0;margin-left:auto;display:inline-flex;align-items:center;gap:8px;font:700 11.5px 'Inter',sans-serif;color:var(--a-muted);cursor:pointer;user-select:none;white-space:nowrap;position:relative;}
.adm-sw input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}
.adm-sw .tg{width:30px;height:17px;border-radius:9px;background:var(--a-border2);position:relative;transition:background .2s;flex-shrink:0;}
.adm-sw .tg::after{content:'';position:absolute;left:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.3);}
.adm-sw input:checked + .tg{background:var(--pg1);} .adm-sw input:checked + .tg::after{left:15px;}
.adm-sw input:focus-visible + .tg{outline:2px solid var(--a-accent-soft);outline-offset:2px;}
.adm-cal-strip{margin:10px 14px 0;padding:8px 12px;border-radius:12px;background:linear-gradient(90deg,rgba(16,185,129,.14),rgba(16,185,129,.03));border:1px dashed rgba(16,185,129,.5);
  display:flex;align-items:center;gap:8px;font-weight:600;font-size:12px;color:var(--a-text);flex-wrap:wrap;}
.adm-cal-strip[hidden]{display:none;}
.adm-cal-strip > i{color:#10B981;}
.adm-cal-strip a{color:#059669;font-weight:800;text-decoration:none;} .adm-cal-strip a:hover{text-decoration:underline;}
html.adm-dark .adm-cal-strip a{color:#34D399;}
.adm-cal-strip small{color:var(--a-muted);font-weight:500;font-size:11px;}
html.adm .adm-cal #calendar{padding:10px 14px 14px;min-height:0!important;}
html.adm .adm-cal #calendar.adm-hidefc{display:none;}
/* Grille du mois */
.adm-cal .fc-theme-standard .fc-scrollgrid,.adm-cal .fc-theme-standard .fc-list{border-radius:14px;overflow:hidden;border-color:var(--a-border)!important;}
.adm-cal .fc-theme-standard td,.adm-cal .fc-theme-standard th{border-color:var(--a-border)!important;}
.adm-cal .fc-col-header-cell{background:var(--a-surface2)!important;padding:6px 0!important;}
.adm-cal .fc-col-header-cell-cushion{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--a-faint)!important;text-transform:uppercase;text-decoration:none!important;}
.adm-cal .fc-daygrid-day{cursor:pointer;transition:background .15s;}
.adm-cal .fc-daygrid-day:hover{background:var(--a-accent-soft);}
.adm-cal td.fc-daygrid-day.fc-day-sat,.adm-cal td.fc-daygrid-day.fc-day-sun{background:var(--a-surface2);}
.adm-cal .fc-daygrid-day-frame{min-height:96px;}
.adm-cal .fc-daygrid-day-top{flex-direction:row!important;justify-content:space-between;align-items:center;padding:5px 6px 3px;}
.adm-cal .fc-daygrid-day-number{font-weight:700;font-size:12px;color:var(--a-muted)!important;text-decoration:none!important;padding:1px 7px!important;border-radius:8px;}
html.adm .adm-cal .fc-day-today{background:transparent!important;}
.adm-cal .fc-day-today .fc-daygrid-day-number{background:linear-gradient(135deg,var(--pg1),var(--pg2));color:#fff!important;}
.adm-cal .fc-dayGridMonth-view td.fc-daygrid-day.adm-sel{box-shadow:inset 0 0 0 2px var(--pg1);}
.adm-cal .fc-day-other .fc-daygrid-day-top{opacity:.4;}
.adm-load{display:block;width:34px;height:4px;border-radius:3px;background:var(--a-border);overflow:hidden;}
.adm-load i{display:block;height:100%;width:0;background:linear-gradient(90deg,#F59E0B,#EF4444);border-radius:3px;transition:width .5s ease;}
.adm-cal .fc-day-other .adm-load{visibility:hidden;}
/* Pastilles */
html.adm .adm-cal .fc .adm-ev{border:0!important;border-radius:7px!important;margin:0 4px 3px!important;padding:0!important;box-shadow:none!important;cursor:pointer;}
html.adm .adm-cal .fc .adm-ev-camp{background:rgba(245,158,11,.16)!important;color:#B45309!important;border-left:3px solid #F59E0B!important;}
html.adm .adm-cal .fc .adm-ev-pl{background:rgba(59,130,246,.14)!important;color:#1D4ED8!important;border-left:3px solid #3B82F6!important;}
html.adm .adm-cal .fc .adm-ev-done{background:rgba(148,163,184,.16)!important;color:#64748B!important;border-left:3px solid #94A3B8!important;}
html.adm .adm-cal .fc .adm-ev-always{background:rgba(16,185,129,.14)!important;color:#047857!important;border-left:3px solid #10B981!important;}
html.adm-dark .adm-cal .fc .adm-ev-camp{color:#FBBF24!important;} html.adm-dark .adm-cal .fc .adm-ev-pl{color:#93C5FD!important;}
html.adm-dark .adm-cal .fc .adm-ev-done{color:#94A3B8!important;} html.adm-dark .adm-cal .fc .adm-ev-always{color:#34D399!important;}
html.adm .adm-cal .fc .adm-ev:hover{filter:brightness(.97) saturate(1.2);}
.adm-cal .adm-ev .fc-event-main,.adm-cal .adm-ev .fc-event-main-frame{color:inherit!important;}
.adm-ev-in{display:flex;align-items:center;gap:5px;padding:3px 6px;font-size:10.5px;font-weight:700;overflow:hidden;white-space:nowrap;color:inherit;line-height:1.3;}
.adm-ev-in .t{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;}
.adm-ev-in small{font:600 9.5px var(--a-mono);opacity:.8;flex-shrink:0;}
.adm-ev-in i{font-size:9.5px;flex-shrink:0;}
.adm-ev-in.tg{display:block;white-space:normal;padding:4px 6px;}
.adm-ev-in.tg b{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.adm-ev-in.tg small{display:block;margin-top:1px;}
.adm-cal .fc-daygrid-more-link{font-size:10px!important;font-weight:800;color:var(--a-accent)!important;margin-left:6px;}
.adm-cal .fc-popover{background:var(--a-surface)!important;border-color:var(--a-border2)!important;border-radius:12px;overflow:hidden;box-shadow:0 18px 40px -18px rgba(0,0,0,.5);}
.adm-cal .fc-popover-header{background:var(--a-surface2)!important;color:var(--a-text);font-weight:700;}
/* Semaine / jour */
.adm-cal .fc-timegrid-slot{height:28px!important;}
.adm-cal .fc-timegrid-slot-label-cushion,.adm-cal .fc-timegrid-axis-cushion{font:600 10px var(--a-mono);color:var(--a-faint);}
.adm-cal .fc-timegrid-now-indicator-line{border-color:#EF4444!important;border-width:2px 0 0!important;}
.adm-cal .fc-timegrid-now-indicator-arrow{border-color:#EF4444!important;border-bottom-color:transparent!important;border-top-color:transparent!important;}
html.adm .adm-cal .fc-timegrid .adm-ev{margin:0 1px!important;}
/* Liste */
.adm-cal .fc-list-day-cushion{background:var(--a-surface2)!important;}
.adm-cal .fc-list-day-text,.adm-cal .fc-list-day-side-text{color:var(--a-text)!important;text-decoration:none!important;font-weight:800;}
.adm-cal .fc-list-event td{font-size:12px;}
.adm-cal .fc-list-event:hover td{background:var(--a-accent-soft)!important;}
.adm-cal .fc-list-event-time{font-family:var(--a-mono);color:var(--a-muted);}
.adm-ev-lt small{color:var(--a-muted);font-weight:500;}
html.adm .adm-cal .fc .fc-list-event.adm-ev{background:transparent!important;border-left:0!important;color:var(--a-text)!important;border-radius:0!important;margin:0!important;}
.adm-cal .fc-list-event-title a{color:var(--a-text)!important;text-decoration:none!important;}
.adm-cal .fc-list-empty{background:var(--a-surface)!important;color:var(--a-muted);}
/* Bande de la semaine (smartphone) */
.adm-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px;padding:10px 12px 12px;}
.adm-week[hidden]{display:none;}
.adm-week button{border:1px solid var(--a-border);background:var(--a-surface2);border-radius:12px;padding:6px 0 5px;text-align:center;color:var(--a-text);cursor:pointer;font-family:'Inter',sans-serif;min-height:0!important;}
.adm-week small{display:block;font-size:9px;font-weight:800;color:var(--a-faint);text-transform:uppercase;letter-spacing:.04em;}
.adm-week b{display:block;font-size:14px;font-weight:800;line-height:1.3;}
.adm-week button.today:not(.on){border-color:var(--pg1);}
.adm-week button.on{background:linear-gradient(135deg,var(--pg1),var(--pg2));color:#fff;border-color:transparent;box-shadow:0 8px 16px -10px var(--pg1);}
.adm-week button.on small{color:rgba(255,255,255,.8);}
.adm-week .dots{display:flex;gap:2px;justify-content:center;height:5px;margin-top:2px;}
.adm-week .dots i{width:5px;height:5px;border-radius:50%;}
.adm-week button.on .dots i{box-shadow:0 0 0 1px rgba(255,255,255,.7);}
/* Carte « jour sélectionné » */
html.adm .side-card.adm-day{overflow:hidden;}
.adm-day-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:14px 16px;border-bottom:1px solid var(--a-border);}
.adm-day-h b{font-size:14px;font-weight:800;color:var(--a-text);}
.adm-day-h b::first-letter{text-transform:uppercase;}
.adm-day-h span{color:var(--a-muted);font-size:11.5px;font-weight:600;white-space:nowrap;}
.adm-day-add{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 16px;width:calc(100% - 32px);height:38px;border:0;border-radius:11px;
  background:linear-gradient(135deg,var(--pg1),var(--pg2));color:#fff;font:800 12.5px 'Inter',sans-serif;cursor:pointer;box-shadow:0 10px 20px -12px var(--pg1);transition:transform .15s,filter .2s;}
.adm-day-add:hover{transform:translateY(-1px);filter:brightness(1.06);} .adm-day-add:active{transform:scale(.98);}
.adm-day-lbl{padding:8px 16px 5px;font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--a-faint);}
.adm-occ{display:flex;flex-wrap:wrap;gap:2px;padding:2px 16px 10px;}
.adm-occ i{flex:1 0 0;min-width:0;height:16px;border-radius:4px;background:var(--a-surface3);}
.adm-occ i.c{background:#F59E0B;} .adm-occ i.p{background:#3B82F6;} .adm-occ i.a{background:#10B981;} .adm-occ i.x{background:#94A3B8;opacity:.55;}
.adm-occ-h{flex:0 0 100%;display:flex;justify-content:space-between;margin-top:3px;}
.adm-occ-h em{font:600 9px var(--a-mono);font-style:normal;color:var(--a-faint);}
.adm-dit{display:flex;gap:10px;align-items:center;padding:10px 16px;border-top:1px solid var(--a-border);cursor:pointer;transition:background .15s;}
.adm-dit:hover{background:var(--a-accent-soft);}
.adm-dit .bar,.adm-up-bar{width:4px;align-self:stretch;border-radius:3px;flex-shrink:0;min-height:30px;}
.adm-dit .tx{min-width:0;flex:1;}
.adm-dit .t{font-weight:800;font-size:12px;color:var(--a-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.adm-dit .s{color:var(--a-muted);font-size:10.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.adm-dit.done .t{color:var(--a-muted);}
.adm-pill{margin-left:auto;font:700 9.5px var(--a-mono);padding:4px 7px;border-radius:999px;background:var(--a-surface2);color:var(--a-muted);white-space:nowrap;flex-shrink:0;border:1px solid var(--a-border);}
.adm-pill.run{background:var(--a-ok-soft);color:var(--a-ok);border-color:transparent;}
.adm-day-empty{padding:16px;text-align:center;color:var(--a-faint);font-size:11.5px;border-top:1px solid var(--a-border);}
html.adm .upcoming-item.adm-up{gap:10px!important;padding:10px 14px!important;}
html.adm .adm-up .up-name{font-size:12px!important;font-weight:800!important;color:var(--a-text)!important;}
html.adm .adm-up .up-date{font-size:10.5px!important;color:var(--a-muted)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (max-width:1100px){html.adm .agenda-layout{grid-template-columns:minmax(0,1fr) 260px!important;} .adm-cal-seg button{padding:6px 9px;}}
@media (max-width:900px){html.adm .agenda-layout{grid-template-columns:minmax(0,1fr)!important;}}
@media (max-width:700px){
  .adm-cal-tb{padding:10px 12px;gap:6px;}
  html.adm .adm-cal-title{font-size:14px!important;margin:0 2px!important;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .adm-cal-today{display:none;}
  .adm-cal-seg{margin-left:0;} .adm-cal-seg button{padding:5px 9px;font-size:11.5px;}
  .adm-cal-seg button[data-v="day"]{display:none;}
  .adm-cal-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:8px 12px;}
  .adm-cal-chips::-webkit-scrollbar{display:none;}
  .adm-sw{margin-left:6px;}
  .adm-cal-strip{margin:10px 12px 0;}
  html.adm .adm-cal #calendar{padding:8px;}
  .adm-cal-narrow .fc-daygrid-day-frame{min-height:58px;}
  .adm-cal-narrow .fc-daygrid-day-top{padding:3px 2px;flex-direction:column-reverse!important;align-items:center;gap:2px;}
  .adm-cal-narrow .adm-load{width:20px;height:3px;}
  .adm-cal-narrow .adm-ev-in{justify-content:center;padding:2px;}
  .adm-cal-narrow .adm-ev-in .t,.adm-cal-narrow .adm-ev-in small{display:none;}
  html.adm .adm-cal-narrow .fc .adm-ev{margin:0 2px 2px!important;}
  .adm-cal-narrow .fc-daygrid-more-link{margin-left:2px;font-size:9px!important;}
}

/* Fenêtres au-dessus de la barre d'onglets mobile */
html.adm .modal-overlay.open,html.adm .modal[style*="block"],html.adm .modal[style*="flex"],html.adm .modal.show,html.adm .modal.open,html.adm .modal.active{z-index:2000!important;}
/* ── Smartphone et tablette ── */
@media (max-width:900px){
  html.adm .sidebar{background:var(--a-side)!important;border-right:1px solid var(--a-border)!important;}
  html.adm .stat-card{padding:12px!important;}
  html.adm.adm-vivid .stat-card .sc-icon{font-size:30px!important;}
  .adm-guide{padding:11px 36px 11px 11px;font-size:11.5px;}
  html.adm .main-content > .header-flex.adm-hero{padding:12px 14px!important;border-radius:16px;gap:10px;}
  .adm-hero-ic{width:36px;height:36px;font-size:15px;border-radius:11px;}
  html.adm .adm-hero h2{font-size:16px!important;}
  .adm-hero-sub{font-size:11px;}
  html.adm.adm-vivid .stats-row{gap:10px!important;}
  html.adm.adm-vivid .stats-row .stat-card{min-width:calc(50% - 5px)!important;padding:12px 54px 12px 12px!important;min-height:80px;}
  html.adm.adm-vivid .stat-card .stat-icon{width:34px!important;height:34px!important;margin-top:-17px;font-size:14px!important;right:10px;}
  html.adm.adm-vivid .stat-card .stat-value{font-size:20px!important;}
  .adm-guide-ic{display:none;}
}
@media (max-width:420px){.m-appbar .m-title{display:none!important;} .m-appbar .adm-mbtns{margin-left:auto;}}
/* Écran carré ou peu haut (ex. 720×720) : on gagne de la hauteur */
@media (max-width:900px) and (min-aspect-ratio:4/5){
  .adm-guide ol{display:none;}
  .adm-hero-sub{display:none;}
  html.adm .stat-card .sc-sub{display:none;}
}


/* ══ Tableaux → cartes sur smartphone (classes posées par admov-ui.js) ══ */
@media (max-width:700px){
  html.adm table.adm-stack{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;border:0!important;background:transparent!important;box-shadow:none!important;}
  html.adm table.adm-stack thead{display:none!important;}
  html.adm table.adm-stack tbody{display:flex!important;flex-direction:column;gap:8px;width:100%!important;}
  html.adm table.adm-stack tbody tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;align-items:start;padding:12px!important;height:auto!important;
    border:1px solid var(--a-border)!important;border-radius:14px!important;box-shadow:0 6px 16px -14px rgba(0,0,0,.5);}
  :where(html.adm table.adm-stack tbody tr){background:var(--a-surface);}
  html.adm table.adm-stack tbody td{display:block!important;padding:0!important;border:0!important;min-width:0!important;width:auto!important;max-width:none!important;height:auto!important;
    text-align:left!important;white-space:normal!important;font-size:12px;overflow-wrap:anywhere;position:static!important;}
  html.adm table.adm-stack tbody td::before{content:attr(data-label);display:block;font:800 9px/1.2 'Inter',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--a-faint);margin-bottom:4px;}
  html.adm table.adm-stack tbody td[data-label=""]::before,html.adm table.adm-stack tbody td.adm-td-main::before,html.adm table.adm-stack tbody td.adm-td-act::before{display:none;}
  html.adm table.adm-stack tbody td.adm-td-main{grid-column:1 / -1;order:-1;font-size:13px;font-weight:700;padding-bottom:9px!important;border-bottom:1px solid var(--a-border)!important;}
  html.adm table.adm-stack tbody td.adm-td-act{grid-column:1 / -1;order:99;display:flex!important;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap;padding-top:9px!important;border-top:1px dashed var(--a-border)!important;}
  html.adm table.adm-stack tbody td.adm-td-act > *{margin:0!important;}
  html.adm table.adm-stack tbody td.adm-td-empty{display:none!important;}
  html.adm table.adm-stack tbody td img{max-width:100%;height:auto;}
  html.adm table.adm-stack tbody tr.adm-st-full{display:block!important;border:0!important;padding:0!important;box-shadow:none;background:transparent!important;}
  html.adm table.adm-stack tbody tr.adm-st-full td{display:block!important;}
  html.adm table.adm-stack tbody tr.adm-st-full td::before{display:none;}
  html.adm table.adm-stack tbody tr:hover{background-color:inherit;}
  /* Les conteneurs n'ont plus besoin de défilement horizontal */
  html.adm .table-responsive,html.adm [class*="table-wrap"],html.adm [class*="tbl-wrap"]{overflow-x:visible!important;}

  /* Playlists : veille paysage / portrait l'une sous l'autre, aperçu à côté du choix */
  html.adm-page-playlists form > div:has(> .welcome-card){grid-template-columns:minmax(0,1fr)!important;gap:12px!important;}
  html.adm-page-playlists .welcome-card{flex-direction:row!important;align-items:stretch!important;}
  html.adm-page-playlists .welcome-form-side{padding:12px 14px!important;gap:8px!important;min-width:0;}
  html.adm-page-playlists .welcome-preview-side{width:36%!important;min-height:120px;max-height:190px;flex-shrink:0;position:relative;overflow:hidden;}
  html.adm-page-playlists .welcome-preview-side img{width:100%!important;height:100%!important;object-fit:cover!important;}
  html.adm-page-playlists .asc-footer{flex-direction:column!important;align-items:stretch!important;gap:10px;padding:12px 14px!important;}
  html.adm-page-playlists .asc-footer .asc-submit{width:100%;justify-content:center;}
  html.adm-page-playlists .asc-cols{grid-template-columns:minmax(0,1fr)!important;}
}

/* ══ Smartphones (tous formats) : blocs côte à côte → l'un sous l'autre ══ */
@media (max-width:700px){
  html.adm .dash-grid,html.adm .settings-grid,html.adm .cmd-grid{grid-template-columns:minmax(0,1fr)!important;}
  html.adm .dash-grid > *,html.adm .settings-grid > *{min-width:0;}
}
/* ══ Écrans peu hauts (smartphone carré type Unihertz Titan, petits téléphones) : plus de place pour le contenu ══ */
@media (max-width:900px) and (max-height:680px){
  :root{--m-bar:46px!important;--m-tab:50px!important;}
  .m-appbar .m-icon-btn,.m-appbar .adm-ib{width:34px!important;height:34px!important;border-radius:10px!important;font-size:14px!important;min-height:0!important;}
  .m-brand img{height:19px!important;}
  .m-appbar .m-title{font-size:13px!important;}
  .m-tabbar{padding-top:4px!important;}
  .m-tabbar a,.m-tabbar button{gap:2px!important;font-size:9.5px!important;min-height:0!important;}
  .m-tabbar i{font-size:15px!important;}
  html.adm .main-content > .header-flex.adm-hero{padding:9px 12px!important;margin-bottom:10px!important;}
  .adm-hero-ic{width:32px!important;height:32px!important;font-size:14px!important;border-radius:10px!important;}
  html.adm .adm-hero h2{font-size:15px!important;}
  .adm-hero-wm{font-size:40px!important;margin-top:-20px!important;}
  .adm-hero-sub{display:none;}
  .adm-guide{padding:8px 34px 8px 10px!important;margin-bottom:10px!important;}
  .adm-guide ol,.adm-guide p{display:none;}
  html.adm.adm-vivid .stat-card{min-height:0!important;padding:10px 12px!important;}
  html.adm.adm-vivid .stat-card .sc-val,html.adm.adm-vivid .stat-card .stat-value{font-size:19px!important;}
  html.adm .stat-card .sc-sub{display:none;}
  html.adm .stat-grid,html.adm .stats-grid,html.adm .stats-grid-5,html.adm .stats-row{gap:8px!important;}
}
@media (max-height:560px){
  .adm-pop{max-height:calc(100vh - 40px);}
  .adm-pal-ov{padding-top:4vh;}
}
@media (prefers-reduced-motion:reduce){
  html.adm *,html.adm *::before,html.adm *::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important;}
}
