/* ═══════════════════════════════════════════════════════════════════
   donna — themes.css  (cleané v2)
   dark (deprecated/rollback) · warm=Light Margot (default) · noir=Noir Margot
   ───────────────────────────────────────────────────────────────────
   CLEANUP appliqué (one-shot) :
   ─ Aucune règle modifiée. Les 306 !important sur background/color/border-*
     sont LÉGITIMES dans un fichier de thème : ils forcent le swap de tokens
     contre les règles in-page. Garder.
   ─ Migration z-index : ce fichier ne définit qu'un seul z-index local (3),
     non concerné par le scale.
   ─ Pour la stratification globale (z-index scale), voir _z-index-scale.css
     qui doit être chargé EN PREMIER (avant ce fichier).
   ─══════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────────
   LIGHT MARGOT (thème "warm", renommé Light en UI)
   Source de vérité : /cdesign/handoff_calendar/DESIGN_TOKENS.md
   Palette : Linear/Attio style, fond blanc légèrement teinté,
   bordures fines, radius serré, pas d'ombre colorée.
   ───────────────────────────────────────────────── */
[data-theme="warm"] {
  /* Surfaces */
  /* [v967] Anthony : --bg passé de #f7f8fa (légère teinte grise) à #ffffff pur.
     Les bordures fines (#cdd2dc) restent visibles donc les cartes restent
     perceptibles. --surface reste #ffffff (cartes maintenant invisibles sans
     bordure — voulu : look ultra-clean Attio/Linear). */
  --bg:       #ffffff;
  --surface:  #ffffff;
  --s2:       #f1f3f7;
  --s3:       #e7ebf2;
  /* Bordures */
  /* [#card-borders v607] #e4e7ee → #cdd2dc : monté pour être visible sur fond
     surface=#ffffff. Avant ~7% de contraste, maintenant ~16% — encore subtil
     mais maintenant clairement perçu. */
  --border:    #cdd2dc;
  --border-hi: #b6bdcb;
  /* Texte */
  --text:      #14161f;
  --text-dim:  #4a5169;
  --muted:     #8a93ab;
  /* Accent violet (JAMAIS en bouton plein — décor uniquement) */
  --accent:     #6b5cf5;
  --accent-hi:  #564bd8;
  --accent-dim: rgba(107,92,245,.09);
  --mauve:      #8257e5;
  /* Sémantiques (statuts, températures) */
  --chaud:    #d64560;
  --tiede:    #c08a2e;
  --froid:    #3d7fc2;
  --green:    #22a06b;
  /* Radius Margot Light (carré-mais-pas-brutal) */
  --radius-sm: 3px;
  --radius:    4px;
  --radius-lg: 8px;
  /* Ombre subtile (jamais colorée) */
  --shadow-sm: 0 1px 2px rgba(20,22,31,.04);
  --shadow:    0 4px 14px rgba(20,22,31,.07);
  --shadow-lg: 0 20px 48px rgba(20,22,31,.12);
}

/* Base */
[data-theme="warm"] body        { background: var(--bg); color: var(--text); }
[data-theme="warm"] body::before { display: none; }
[data-theme="warm"] .content    { background: var(--bg); }
[data-theme="warm"] .ca-content { background: var(--bg); }

/* Logo */
[data-theme="warm"] .logo-area h1 {
  background: linear-gradient(135deg, #2d1fa8 0%, #7c6af7 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

/* Header */
[data-theme="warm"] header {
  background: color-mix(in srgb, var(--surface) 97%, transparent) !important;
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(8px);
}
[data-theme="warm"] .add-btn {
  background: var(--text) !important; border-color: var(--text) !important;
  color: #fff !important; border-radius: 3px !important; font-weight: 700 !important; transform: none !important;
}
[data-theme="warm"] .add-btn:hover { background: var(--text-dim) !important; }
[data-theme="warm"] .rappr-btn {
  background: var(--surface) !important; border: 1px solid var(--border) !important;
  color: var(--text) !important; border-radius: 3px !important; font-weight: 600;
}
[data-theme="warm"] .rappr-btn:hover { background: var(--s2) !important; opacity: 1 !important; transform: none !important; }
[data-theme="warm"] #header-ctx-btns button,
[data-theme="warm"] #btn-rappr,
[data-theme="warm"] #btn-add-acq,
[data-theme="warm"] #btn-add-vend,
[data-theme="warm"] #btn-add-dossier,
[data-theme="warm"] #btn-add-mandats,
[data-theme="warm"] #btn-add-biens,
[data-theme="warm"] #btn-toggle-chart,
[data-theme="warm"] #btn-import-biens,
[data-theme="warm"] #btn-import-excel {
  background: var(--surface) !important; border-color: var(--border) !important;
  color: var(--text) !important; border-radius: 3px !important;
}
[data-theme="warm"] #header-ctx-btns button:hover,
[data-theme="warm"] #btn-rappr:hover,
[data-theme="warm"] #btn-add-acq:hover,
[data-theme="warm"] #btn-add-vend:hover,
[data-theme="warm"] #btn-add-dossier:hover,
[data-theme="warm"] #btn-add-mandats:hover,
[data-theme="warm"] #btn-add-biens:hover,
[data-theme="warm"] #btn-import-biens:hover,
[data-theme="warm"] #btn-import-excel:hover { background: var(--s2) !important; transform: none !important; }
[data-theme="warm"] .notif-btn {
  background: var(--surface) !important; border: 1px solid var(--border) !important;
  border-radius: 3px !important; color: var(--muted) !important;
}
[data-theme="warm"] .notif-btn:hover { background: var(--s2) !important; color: var(--text) !important; }
[data-theme="warm"] .mobile-filter-btn {
  background: var(--surface) !important; border-color: var(--border) !important;
  color: var(--text) !important; border-radius: 3px !important;
}

/* Global search */
[data-theme="warm"] #gs-input    { background: #fff !important; border-color: var(--border) !important; color: var(--text) !important; border-radius: 3px !important; }
[data-theme="warm"] #gs-overlay  { background: #fff !important; border-color: var(--border) !important; box-shadow: 0 8px 24px color-mix(in srgb, var(--text) 12%, transparent) !important; border-radius: 4px !important; }
[data-theme="warm"] .gs-item     { color: var(--text) !important; }
[data-theme="warm"] .gs-item:hover { background: var(--s2) !important; }

/* Sidenav */
[data-theme="warm"] .sidenav          { background: var(--s2); border-right: 1px solid var(--border); }
[data-theme="warm"] .sn-btn           { color: var(--muted); border-radius: var(--radius, 4px); }
[data-theme="warm"] .sn-btn:hover     { background: color-mix(in srgb, var(--text) 6%, transparent); color: var(--text); }
[data-theme="warm"] .sn-btn.active    { background: var(--accent-dim); color: var(--accent); border-radius: var(--radius, 4px); }

/* Sidebar / Filtres */
[data-theme="warm"] .sidebar            { background: var(--s2); border-right: 1px solid var(--border); }
[data-theme="warm"] .sidebar-section h3 { color: var(--muted); border-bottom-color: var(--border); letter-spacing: .5px; }
[data-theme="warm"] .statut-item        { background: transparent; border-color: transparent; border-radius: 3px; }
[data-theme="warm"] .statut-item:hover  { background: color-mix(in srgb, var(--text) 5%, transparent); }
[data-theme="warm"] .statut-item.active { background: var(--accent-dim); border-color: color-mix(in srgb, var(--accent) 20%, transparent); }
[data-theme="warm"] .search-wrap input  { background: #fff; border-color: var(--border); color: var(--text); border-radius: 3px; }
[data-theme="warm"] .search-wrap input:focus { border-color: var(--accent); box-shadow: none; }
[data-theme="warm"] .pill               { border-color: var(--border); color: var(--muted); border-radius: 3px; }
[data-theme="warm"] .pill:hover         { background: var(--s2); color: var(--text); }
[data-theme="warm"] .pill.active        { background: var(--text); border-color: var(--text); color: #fff; border-radius: 3px; }

/* Table */
[data-theme="warm"] .table-wrap {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 4px; box-shadow: none;
}
[data-theme="warm"] thead th {
  background: var(--s2); color: var(--muted); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .6px; border-bottom: 1px solid var(--border); padding: 7px 12px;
}
[data-theme="warm"] thead th:hover   { color: var(--text); background: var(--border); }
[data-theme="warm"] tbody tr         { border-bottom: 1px solid var(--border); }
[data-theme="warm"] tbody tr:last-child { border-bottom: none; }
[data-theme="warm"] tbody tr:hover   { background: var(--s2); }
[data-theme="warm"] td               { font-size: 13px; color: var(--text); padding: 9px 12px; }
[data-theme="warm"] .name-main       { font-weight: 500; }
[data-theme="warm"] .name-sub        { color: var(--muted); font-size: 11px; }
[data-theme="warm"] .budget-cell     { font-weight: 600; }
[data-theme="warm"] .vend-table thead th   { background: var(--s2); color: var(--muted); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .6px; }
[data-theme="warm"] .vend-table tbody tr   { border-bottom: 1px solid var(--border); }
[data-theme="warm"] .vend-table tbody tr:hover { background: var(--s2); }

/* KPI cards */
[data-theme="warm"] .kpi-card         { background: var(--surface); border: 1px solid var(--border); border-radius: 4px; box-shadow: none; }
[data-theme="warm"] .kpi-card:hover   { border-color: #999; transform: none; box-shadow: none; }
[data-theme="warm"] .kpi-card::before { display: none; }
[data-theme="warm"] .kpi-lbl          { color: var(--muted); font-size: 10px; letter-spacing: .8px; }
[data-theme="warm"] .kpi-val          { color: var(--text); }

/* Modals */
[data-theme="warm"] .overlay { background: rgba(26,25,22,.55); }
[data-theme="warm"] .modal,
[data-theme="warm"] .form-modal,
[data-theme="warm"] .rappr-modal,
[data-theme="warm"] .notif-panel,
[data-theme="warm"] .import-panel {
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: 0 16px 48px rgba(26,25,22,.18);
  border-radius: 6px;
}
[data-theme="warm"] .modal-body   { background: #fff; }
[data-theme="warm"] .fm-body      { background: #fff; }
[data-theme="warm"] .custom-popup { background: #fff; border: 1px solid var(--border); box-shadow: 0 16px 48px rgba(26,25,22,.18); border-radius: 6px; }
[data-theme="warm"] .account-popup        { background: #fff; border: 1px solid var(--border); box-shadow: 0 8px 24px rgba(26,25,22,.14); border-radius: 4px; }
[data-theme="warm"] .account-popup-header { background: var(--s2); }
[data-theme="warm"] .account-stat         { background: #fff; border: 1px solid var(--border); border-radius: 3px; }
[data-theme="warm"] .close-btn      { background: var(--s2); border-color: var(--border); color: var(--muted); border-radius: 3px; }
[data-theme="warm"] .close-btn:hover { background: var(--border); color: var(--text); }

/* Buttons */
[data-theme="warm"] .mbtn         { background: var(--surface); border-color: var(--border); color: var(--text); border-radius: 3px; box-shadow: none; }
[data-theme="warm"] .mbtn:hover   { background: var(--s2); }
[data-theme="warm"] .mbtn.primary { background: var(--text); border-color: var(--text); color: #fff; border-radius: 3px; font-weight: 700; }
[data-theme="warm"] .mbtn.primary:hover { background: var(--text-dim); }

/* Form inputs */
[data-theme="warm"] .ef-input,
[data-theme="warm"] .ef-select,
[data-theme="warm"] .ef-textarea,
[data-theme="warm"] .fm-input,
[data-theme="warm"] .fm-select,
[data-theme="warm"] .fm-textarea,
[data-theme="warm"] .apt-input,
[data-theme="warm"] .vend-sel {
  background: #fff;
  border-color: var(--border);
  color: var(--text);
  border-radius: 3px;
}
[data-theme="warm"] .ef-input:focus,
[data-theme="warm"] .ef-select:focus,
[data-theme="warm"] .ef-textarea:focus,
[data-theme="warm"] .fm-input:focus,
[data-theme="warm"] .fm-select:focus,
[data-theme="warm"] .fm-textarea:focus {
  border-color: var(--accent);
  box-shadow: none;
}
[data-theme="warm"] select option { background: #fff; color: var(--text); }

/* Contact links */
[data-theme="warm"] .contact-link       { background: var(--surface); border-color: var(--border); color: var(--text); border-radius: 3px; }
[data-theme="warm"] .contact-link:hover { background: var(--s2); }

/* Tabs vendeurs */
[data-theme="warm"] .vend-tab-btn         { background: var(--surface); border-color: var(--border); color: var(--muted); border-radius: 3px; }
[data-theme="warm"] .vend-tab-btn:hover   { background: var(--s2); color: var(--text); }
[data-theme="warm"] .vend-tab-btn.active  { background: var(--text); border-color: var(--text); color: #fff; border-radius: 3px; }

/* Kanban */
[data-theme="warm"] .vk-col       { background: var(--s2); border: 1px solid var(--border); border-radius: 4px; }
[data-theme="warm"] .vk-col-hdr   { background: transparent; color: var(--muted); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .6px; }
[data-theme="warm"] .vk-col-count { background: color-mix(in srgb, var(--text) 8%, transparent); color: var(--muted); border-radius: 3px; }
[data-theme="warm"] .vk-card      { background: var(--surface); border: 1px solid var(--border); border-radius: 3px; box-shadow: none; }
[data-theme="warm"] .vk-card:hover { border-color: #999; box-shadow: none; transform: none; }

/* Match cards / Rapprochement */
[data-theme="warm"] .match-card       { background: var(--surface); border-color: var(--border); border-radius: 4px; }
[data-theme="warm"] .match-card:hover { border-color: #999; box-shadow: none; transform: none; }
[data-theme="warm"] .mc-btn           { border-color: var(--border); color: var(--muted); border-radius: 3px; }
[data-theme="warm"] .mc-btn:hover     { background: var(--s2); color: var(--text); }

/* Score badges */
[data-theme="warm"] .score-badge.hot     { background: rgba(13,122,74,.1); color: #0d7a4a; border-color: rgba(13,122,74,.25); border-radius: 3px; }
[data-theme="warm"] .score-badge.mid     { background: rgba(184,108,10,.1); color: #b86c0a; border-color: rgba(184,108,10,.25); border-radius: 3px; }
[data-theme="warm"] .score-badge.low     { background: rgba(212,57,31,.1); color: #d4391f; border-color: rgba(212,57,31,.25); border-radius: 3px; }
[data-theme="warm"] .score-analyze-btn   { background: var(--accent-dim); border-color: color-mix(in srgb, var(--accent) 20%, transparent); color: var(--accent); border-radius: 3px; }
[data-theme="warm"] .vend-instinct-badge.hot { background: rgba(13,122,74,.1); color: #0d7a4a; border-radius: 3px; }
[data-theme="warm"] .vend-instinct-badge.mid { background: rgba(184,108,10,.1); color: #b86c0a; border-radius: 3px; }
[data-theme="warm"] .vend-instinct-badge.low { background: rgba(212,57,31,.1); color: #d4391f; border-radius: 3px; }

/* Badges statut */
[data-theme="warm"] .badge-chaud { background: rgba(212,57,31,.1); color: var(--chaud); border-color: rgba(212,57,31,.2); border-radius: 3px; }
[data-theme="warm"] .badge-tiede { background: rgba(184,108,10,.1); color: var(--tiede); border-color: rgba(184,108,10,.2); border-radius: 3px; }
[data-theme="warm"] .badge-froid { background: rgba(26,111,189,.1); color: var(--froid); border-color: rgba(26,111,189,.2); border-radius: 3px; }
[data-theme="warm"] .badge-aa    { background: rgba(13,122,74,.1); color: var(--green); border-color: rgba(13,122,74,.2); border-radius: 3px; }
[data-theme="warm"] .badge-sc    { background: rgba(26,111,189,.1); color: var(--froid); border-color: rgba(26,111,189,.2); border-radius: 3px; }
[data-theme="warm"] .badge-o     { background: rgba(184,108,10,.1); color: var(--tiede); border-color: rgba(184,108,10,.2); border-radius: 3px; }
[data-theme="warm"] .fin-verif   { background: rgba(13,122,74,.08); color: var(--green); border-radius: 3px; }
[data-theme="warm"] .fin-avert   { background: rgba(184,108,10,.08); color: var(--tiede); border-radius: 3px; }
[data-theme="warm"] .chaud { color: var(--chaud); }
[data-theme="warm"] .tiede { color: var(--tiede); }
[data-theme="warm"] .froid { color: var(--froid); }

/* Notifications */
[data-theme="warm"] .notif-card       { background: var(--s2); border-color: var(--border); border-radius: 3px; }
[data-theme="warm"] .notif-card:hover { border-color: #999; }

/* Mobile tabbar */
[data-theme="warm"] .mobile-tabbar     { background: var(--surface) !important; border-top: 1px solid var(--border) !important; }
[data-theme="warm"] .mobile-tabbar-btn { color: var(--muted); }
[data-theme="warm"] .mobile-tabbar-btn.active { color: var(--accent); }

/* Misc */
[data-theme="warm"] .la-cell:hover    { background: var(--s2); border-color: var(--border); border-radius: 3px; }
[data-theme="warm"] #toast            { background: var(--text) !important; border-color: var(--text) !important; color: #fff !important; border-radius: 3px !important; }
[data-theme="warm"] .ai-chat-panel    { background: var(--surface) !important; border-color: var(--border) !important; border-radius: 4px !important; }
[data-theme="warm"] .chat-msg-ai      { background: var(--s2); color: var(--text); border-color: var(--border); border-radius: 3px; }
[data-theme="warm"] .history-card     { background: var(--surface); border-color: var(--border); border-radius: 4px; }
[data-theme="warm"] .history-card:hover { border-color: #999; transform: none; }

/* CA compta */
[data-theme="warm"] .ca-kpi-row .kpi-card { background: var(--surface); }

/* Fiche acq chips */
[data-theme="warm"] .acq-view-grid .edit-field { background: var(--s2) !important; border-radius: 3px !important; }

/* ─────────────────────────────────────────────────
   NOIR MARGOT — Pur black, contraste fort, radius minimal
   Source de vérité : /cdesign/handoff_calendar/DESIGN_TOKENS.md
   ───────────────────────────────────────────────── */
[data-theme="noir"] {
  /* [v1150 Anthony "tu as adouci le theme noir uniquement dans compte,
     faut aussi que ce soit dans toutes les autres pages"] Source root :
     ce fichier themes.css est le scope principal du thème noir desktop
     (chargé après tc.css, override tout). Avant v1150 il restait sur le
     noir pur #000/#0a0a0c/#121216 alors que tc.css avait été adouci en
     v1149. Maintenant aligné sur le focus mode (style Linear gris-bleuté). */
  /* Surfaces */
  --bg:       #0f1115;
  --surface:  #16181d;
  --s2:       #1c1e24;
  --s3:       #23262d;
  /* Bordures — passées en rgba semi-transparentes (style focus) */
  --border:    rgba(255,255,255,.07);
  --border-hi: rgba(255,255,255,.12);
  /* Texte */
  --text:      #e7e9ee;
  --text-dim:  #a8adbd;
  --muted:     #6a7080;
  /* Accent violet (version Noir, plus claire) */
  --accent:     #8b7bff;
  --accent-hi:  #a89dff;
  --accent-dim: rgba(139,123,255,.13);
  /* Sémantiques (versions Noir, plus lumineuses pour contraste) */
  --chaud:    #ff6680;
  --tiede:    #f0c050;
  --froid:    #5ca8ff;
  --green:    #4fd49a;
  /* Radius Margot Noir (plus serré que Light) */
  --radius-sm: 2px;
  --radius:    3px;
  --radius-lg: 6px;
  /* Ombre présente mais pas flashy */
  --shadow-sm: 0 1px 2px rgba(0,0,0,.5);
  --shadow:    0 4px 14px rgba(0,0,0,.5);
  --shadow-lg: 0 20px 48px rgba(0,0,0,.7);
}

/* Base — [v1150] var(--bg) au lieu de #000 hardcoded pour respecter l'adoucissement */
[data-theme="noir"] body        { background: var(--bg); color: var(--text); }
[data-theme="noir"] body::before { display: none; }
[data-theme="noir"] .content    { background: var(--bg); }
[data-theme="noir"] .ca-content { background: var(--bg); }

/* Logo */
[data-theme="noir"] .logo-area h1 {
  background: linear-gradient(135deg, #ffffff 0%, #888888 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

/* Header — [v1150] var(--bg)/var(--border) au lieu de hardcoded #000/#222 */
[data-theme="noir"] header {
  background: var(--bg) !important;
  border-bottom: 1px solid var(--border);
  backdrop-filter: none;
}
[data-theme="noir"] .add-btn {
  background: #eeeeee !important; border-color: #eeeeee !important;
  color: #000 !important; border-radius: 3px !important; font-weight: 700; transform: none !important;
}
[data-theme="noir"] .add-btn:hover { background: #cccccc !important; }
[data-theme="noir"] .rappr-btn {
  background: #111111 !important; border: 1px solid #333333 !important;
  color: #eeeeee !important; border-radius: 3px !important; font-weight: 600;
}
[data-theme="noir"] .rappr-btn:hover { background: #222222 !important; opacity: 1 !important; transform: none !important; }
[data-theme="noir"] #header-ctx-btns button,
[data-theme="noir"] .mobile-filter-btn {
  background: #111111 !important; color: #eeeeee !important;
  border: 1px solid #333333 !important; border-radius: 3px !important; font-weight: 600 !important;
}
[data-theme="noir"] #header-ctx-btns button:hover,
[data-theme="noir"] .mobile-filter-btn:hover {
  background: #222222 !important; border-color: #555555 !important; transform: none !important;
}
[data-theme="noir"] .notif-btn {
  background: #111111 !important; border: 1px solid #333333 !important;
  border-radius: 3px !important; color: #eeeeee !important;
}
[data-theme="noir"] .notif-btn svg     { stroke: #eeeeee !important; }
[data-theme="noir"] .notif-btn:hover   { background: #222222 !important; border-color: #555555 !important; }

/* Global search */
[data-theme="noir"] #gs-input   { background: #111111 !important; border-color: #333333 !important; color: #eeeeee !important; }
[data-theme="noir"] #gs-overlay { background: #0a0a0a !important; border-color: #333333 !important; box-shadow: 0 8px 24px rgba(0,0,0,.6) !important; }
[data-theme="noir"] .gs-item    { color: #eeeeee !important; }
[data-theme="noir"] .gs-item:hover { background: #1a1a1a !important; }

/* Sidenav */
[data-theme="noir"] .sidenav      { background: #000 !important; border-right: 1px solid #1a1a1a; }
[data-theme="noir"] .sn-btn       { color: #666; border-radius: 3px; }
[data-theme="noir"] .sn-btn:hover { background: #111111; color: #eeeeee; }
[data-theme="noir"] .sn-btn.active { background: rgba(124,106,247,.12); color: var(--accent); border-radius: 3px; }

/* Sidebar filtres */
[data-theme="noir"] .sidebar            { background: #000 !important; border-right: 1px solid #1a1a1a; }
[data-theme="noir"] .sidebar-section h3 { color: #444; letter-spacing: .8px; border-bottom-color: #1a1a1a; }
[data-theme="noir"] .statut-item        { background: transparent; border-color: transparent; border-radius: 3px; }
[data-theme="noir"] .statut-item:hover  { background: #111111; }
[data-theme="noir"] .statut-item.active { background: rgba(124,106,247,.1); border-color: rgba(124,106,247,.25); }
[data-theme="noir"] .search-wrap input  { background: #111111; border-color: #333; color: #eeeeee; border-radius: 3px; }
[data-theme="noir"] .search-wrap input:focus { border-color: #666; }
[data-theme="noir"] .pill               { border-color: #333333; color: #666; border-radius: 3px; }
[data-theme="noir"] .pill:hover         { background: #111111; color: #eeeeee; border-color: #555; }
[data-theme="noir"] .pill.active        { background: #eeeeee; border-color: #eeeeee; color: #000; }

/* Table */
[data-theme="noir"] .table-wrap    { background: #0a0a0a; border: 1px solid #1e1e1e; border-radius: 4px; }
[data-theme="noir"] thead th       { background: #000; color: #555; letter-spacing: .8px; border-bottom: 1px solid #1e1e1e; }
[data-theme="noir"] thead th:hover { color: #eeeeee; background: #0a0a0a; }
[data-theme="noir"] tbody tr       { border-bottom: 1px solid #141414; }
[data-theme="noir"] tbody tr:hover { background: #0d0d0d; }
[data-theme="noir"] .vend-table thead th       { background: #000; color: #555; border-bottom: 1px solid #1e1e1e; }
[data-theme="noir"] .vend-table tbody tr       { border-bottom: 1px solid #141414; }
[data-theme="noir"] .vend-table tbody tr:hover { background: #0d0d0d; }

/* KPI */
[data-theme="noir"] .kpi-card       { background: #0a0a0a; border: 1px solid #1e1e1e; border-radius: 4px; box-shadow: none; }
[data-theme="noir"] .kpi-card:hover { border-color: #444444; transform: none; box-shadow: none; }
[data-theme="noir"] .kpi-card::before { opacity: .4; }

/* Modals / Overlays */
[data-theme="noir"] .overlay { background: rgba(0,0,0,.85); }
[data-theme="noir"] .modal,
[data-theme="noir"] .form-modal,
[data-theme="noir"] .rappr-modal,
[data-theme="noir"] .notif-panel,
[data-theme="noir"] .import-panel {
  background: #0a0a0a !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 6px !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.7) !important;
}
[data-theme="noir"] .modal-body     { background: #0a0a0a !important; }
[data-theme="noir"] .fm-body        { background: #0a0a0a !important; }
[data-theme="noir"] .custom-popup   { background: #0a0a0a !important; border: 1px solid #2a2a2a !important; border-radius: 6px !important; box-shadow: 0 16px 48px rgba(0,0,0,.7) !important; }
[data-theme="noir"] .account-popup  { background: #0a0a0a !important; border: 1px solid #2a2a2a !important; box-shadow: 0 8px 32px rgba(0,0,0,.6) !important; }
[data-theme="noir"] .account-popup-header { background: #000 !important; }
[data-theme="noir"] .account-stat   { background: #111111 !important; border: 1px solid #2a2a2a !important; }
[data-theme="noir"] .close-btn      { background: #111111 !important; border-color: #333 !important; color: #888 !important; border-radius: 3px !important; }
[data-theme="noir"] .close-btn:hover { background: #1a1a1a !important; color: #eee !important; }

/* Buttons */
[data-theme="noir"] .mbtn         { background: #111111 !important; border-color: #333 !important; color: #ccc !important; border-radius: 3px !important; }
[data-theme="noir"] .mbtn:hover   { background: #1a1a1a !important; color: #eee !important; }
[data-theme="noir"] .mbtn.primary { background: #eeeeee !important; border-color: #eeeeee !important; color: #000 !important; border-radius: 3px !important; }
[data-theme="noir"] .mbtn.primary:hover { background: #cccccc !important; }

/* Form inputs */
[data-theme="noir"] .ef-input,
[data-theme="noir"] .ef-select,
[data-theme="noir"] .ef-textarea,
[data-theme="noir"] .fm-input,
[data-theme="noir"] .fm-select,
[data-theme="noir"] .fm-textarea,
[data-theme="noir"] .apt-input,
[data-theme="noir"] .vend-sel {
  background: #111111 !important;
  border-color: #333333 !important;
  color: #eeeeee !important;
  border-radius: 3px !important;
}
[data-theme="noir"] .ef-input:focus,
[data-theme="noir"] .ef-select:focus,
[data-theme="noir"] .ef-textarea:focus,
[data-theme="noir"] .fm-input:focus,
[data-theme="noir"] .fm-select:focus,
[data-theme="noir"] .fm-textarea:focus { border-color: #666666 !important; }
[data-theme="noir"] select option { background: #111111 !important; color: #eeeeee !important; }

/* Contact links */
[data-theme="noir"] .contact-link       { background: #111111; border-color: #333; color: #eeeeee; border-radius: 3px; }
[data-theme="noir"] .contact-link:hover { background: #1a1a1a; border-color: #555; }

/* Tabs vendeurs */
[data-theme="noir"] .vend-tab-btn         { background: transparent !important; border: 1px solid #333333 !important; color: #888 !important; border-radius: 3px !important; }
[data-theme="noir"] .vend-tab-btn:hover   { background: #111111 !important; color: #eeeeee !important; border-color: #555 !important; }
[data-theme="noir"] .vend-tab-btn.active  { background: #eeeeee !important; color: #000 !important; border-color: #eeeeee !important; }

/* Kanban */
[data-theme="noir"] .vk-col        { background: #060606; border: 1px solid #1a1a1a; border-radius: 4px; }
[data-theme="noir"] .vk-col-hdr    { color: #555; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .8px; }
[data-theme="noir"] .vk-col-count  { background: rgba(255,255,255,.06); color: #555; }
[data-theme="noir"] .vk-card       { background: #0a0a0a; border: 1px solid #1e1e1e; border-radius: 3px; box-shadow: none; }
[data-theme="noir"] .vk-card:hover { border-color: #444; box-shadow: none; transform: none; }

/* Match cards */
[data-theme="noir"] .match-card       { background: #0a0a0a; border-color: #1e1e1e; border-radius: 4px; }
[data-theme="noir"] .match-card:hover { border-color: #555; transform: none; }
[data-theme="noir"] .mc-btn           { border-color: #333; color: #666; border-radius: 3px; }
[data-theme="noir"] .mc-btn:hover     { background: #1a1a1a; color: #eee; border-color: #555; }

/* Notifications */
[data-theme="noir"] .notif-panel      { background: #0a0a0a !important; border-color: #2a2a2a !important; }
[data-theme="noir"] .notif-card       { background: #0d0d0d; border-color: #1e1e1e; }
[data-theme="noir"] .notif-card:hover { border-color: #444; }

/* Mobile tabbar */
[data-theme="noir"] .mobile-tabbar     { background: #000000 !important; border-top: 1px solid #1a1a1a !important; }
[data-theme="noir"] .mobile-tabbar-btn { color: #444; }
[data-theme="noir"] .mobile-tabbar-btn.active { color: var(--accent); }

/* Misc */
[data-theme="noir"] .la-cell:hover { background: #111111; border-color: #333; }
[data-theme="noir"] #toast         { background: #eeeeee !important; border-color: #eeeeee !important; color: #000 !important; border-radius: 3px !important; }
[data-theme="noir"] .ai-chat-panel { background: #0a0a0a !important; border-color: #2a2a2a !important; }
[data-theme="noir"] .chat-msg-ai   { background: #111111; color: #eeeeee; border-color: #2a2a2a; }
[data-theme="noir"] .history-card  { background: #0a0a0a; border-color: #1e1e1e; border-radius: 4px; }
[data-theme="noir"] .history-card:hover { border-color: #444; transform: none; }

/* ──────────────────────────────────────────────────
   THÈME DARK (donna) — fix backgrounds + Option A buttons + Glass effect
   ────────────────────────────────────────────────── */

/* ── Glass surfaces ── */

/* Inner bodies = transparent pour ne pas écraser le glass */

/* Search overlay */

/* Option A — Gradient Premium */

/* Header ctx buttons — IDs avec inline styles → override obligatoire */

/* Noir theme — score badges carrés comme Light */
[data-theme="noir"] .score-badge,
[data-theme="noir"] .vend-instinct-badge {
  border-radius: 6px !important;
}

/* ============================================
   Agenda — overrides par thème
   ============================================ */

/* Theme WARM (light) — angles vifs, backgrounds clairs */
[data-theme="warm"] .agenda-header { border-bottom: 1px solid var(--border); }
[data-theme="warm"] .agenda-nav-btn {
  background: var(--surface) !important; border-color: var(--border) !important;
  color: var(--text) !important; border-radius: 3px !important;
}
[data-theme="warm"] .agenda-nav-btn:hover { background: var(--s2) !important; border-color: #999 !important; }
[data-theme="warm"] .agenda-nav-btn:focus-visible { box-shadow: 0 0 0 2px rgba(124,106,247,.2) !important; }
[data-theme="warm"] .agenda-view-switch {
  background: var(--surface) !important; border-color: var(--border) !important; border-radius: 3px !important;
}
[data-theme="warm"] .agenda-view-switch button { border-radius: 2px !important; }
[data-theme="warm"] .agenda-view-switch button.active { background: var(--s2) !important; }
[data-theme="warm"] .agenda-add-btn {
  background: var(--text) !important; color: #fff !important; border-radius: 3px !important; font-weight: 700 !important;
}
[data-theme="warm"] .agenda-add-btn:hover { background: var(--text-dim) !important; filter: none !important; }
[data-theme="warm"] .agenda-day-header { background: var(--surface) !important; }
[data-theme="warm"] .agenda-day-cell { background: #fff !important; }
[data-theme="warm"] .agenda-day-cell:hover { background: var(--s2) !important; }
[data-theme="warm"] .agenda-day-cell.today { background: rgba(124,106,247,.05) !important; }
[data-theme="warm"] .agenda-month-grid { background: var(--border) !important; }

/* Theme NOIR — minimal, haute lisibilité */
[data-theme="noir"] .agenda-nav-btn {
  background: #0a0a0a !important; border-color: #333 !important; color: #fff !important; border-radius: 4px !important;
}
[data-theme="noir"] .agenda-nav-btn:hover { background: #151515 !important; border-color: #fff !important; }
[data-theme="noir"] .agenda-view-switch {
  background: #0a0a0a !important; border-color: #333 !important; border-radius: 4px !important;
}
[data-theme="noir"] .agenda-view-switch button.active { background: #1f1f1f !important; color: #fff !important; }
[data-theme="noir"] .agenda-add-btn {
  background: #fff !important; color: #000 !important; border-radius: 4px !important; font-weight: 700 !important;
}
[data-theme="noir"] .agenda-add-btn:hover { background: #e5e5e5 !important; filter: none !important; }
[data-theme="noir"] .agenda-day-cell { background: #0a0a0a !important; }
[data-theme="noir"] .agenda-day-cell:hover { background: #151515 !important; }
[data-theme="noir"] .agenda-day-cell.today { background: rgba(255,255,255,.05) !important; }
[data-theme="noir"] .agenda-day-cell.today .agenda-day-number { background: #fff !important; color: #000 !important; }
[data-theme="noir"] .agenda-day-header { background: #0a0a0a !important; }
[data-theme="noir"] .agenda-month-grid { background: #333 !important; }

/* Theme ARDOISE — doux, bleu-gris */

/* ============================================
   Agenda Semaine — overrides par thème
   ============================================ */
/* WARM (light) */
[data-theme="warm"] .agenda-week-wrap{border:1px solid var(--border);border-radius:4px}
[data-theme="warm"] .agenda-week-grid{background:var(--border) !important}
[data-theme="warm"] .agenda-week-corner,
[data-theme="warm"] .agenda-week-day-header,
[data-theme="warm"] .agenda-week-allday-label,
[data-theme="warm"] .agenda-week-time-col{background:var(--surface) !important}
[data-theme="warm"] .agenda-week-day-col,
[data-theme="warm"] .agenda-week-allday-col{background:#fff !important}
[data-theme="warm"] .agenda-week-day-col:hover,
[data-theme="warm"] .agenda-week-allday-col:hover{background:var(--s2) !important}
[data-theme="warm"] .agenda-week-day-col.today{background:rgba(124,106,247,.04) !important}
[data-theme="warm"] .agenda-week-event{border-radius:3px}

/* NOIR */
[data-theme="noir"] .agenda-week-grid{background:#333 !important}
[data-theme="noir"] .agenda-week-corner,
[data-theme="noir"] .agenda-week-day-header,
[data-theme="noir"] .agenda-week-allday-label,
[data-theme="noir"] .agenda-week-time-col{background:#0a0a0a !important}
[data-theme="noir"] .agenda-week-day-col,
[data-theme="noir"] .agenda-week-allday-col{background:#0a0a0a !important}
[data-theme="noir"] .agenda-week-day-col:hover,
[data-theme="noir"] .agenda-week-allday-col:hover{background:#151515 !important}
[data-theme="noir"] .agenda-week-day-header.today .agenda-week-day-num{background:#fff !important;color:#000 !important}

/* ============================================
   Agenda Liste — overrides par thème
   ============================================ */
/* WARM */
[data-theme="warm"] .agenda-list-item{background:#fff !important;border-radius:3px}
[data-theme="warm"] .agenda-list-item:hover{background:var(--s2) !important;border-color:#999 !important;transform:none !important}
[data-theme="warm"] .agenda-list-item-type-badge{border-radius:3px !important}

/* NOIR */
[data-theme="noir"] .agenda-list-item{background:#0a0a0a !important;border-color:#333 !important;border-radius:4px}
[data-theme="noir"] .agenda-list-item:hover{background:#151515 !important;border-color:#fff !important}

/* Agenda Filter bar — overrides */
[data-theme="warm"] .agenda-filter-bar{background:var(--surface) !important}
[data-theme="warm"] .agenda-filter-pill{border-radius:3px !important}
[data-theme="warm"] .agenda-filter-select{border-radius:3px !important;background-color:#fff !important}
[data-theme="noir"] .agenda-filter-bar{background:#0a0a0a !important}
[data-theme="noir"] .agenda-filter-select{background-color:#0a0a0a !important;border-color:#333 !important}

/* Agenda — overrides v1.1.7 polish (sticky, today cell, week lines) */
[data-theme="warm"] .agenda-top{background:var(--bg) !important}
[data-theme="warm"] .agenda-header{background:var(--bg) !important}
[data-theme="warm"] .agenda-day-cell.today{background:#fff !important}
[data-theme="warm"] .agenda-day-cell.today:hover{background:var(--s2) !important}
[data-theme="warm"] .agenda-week-day-col.today{background:#fff !important}
[data-theme="warm"] .agenda-week-day-col.today:hover{background:var(--s2) !important}
[data-theme="warm"] .agenda-month-grid{background:rgba(0,0,0,.05) !important}
[data-theme="warm"] .agenda-week-grid{background:rgba(0,0,0,.04) !important}
[data-theme="warm"] .agenda-week-hour-line{border-top-color:rgba(0,0,0,.05) !important}
[data-theme="warm"] .agenda-week-hour-label{border-top-color:rgba(0,0,0,.06) !important}
[data-theme="warm"] .ag-view-notes{background:#fff !important;border:1px solid var(--border)}

[data-theme="noir"] .agenda-top{background:#0a0a0a !important}
[data-theme="noir"] .agenda-header{background:#0a0a0a !important}
[data-theme="noir"] .agenda-day-cell.today{background:#0a0a0a !important;box-shadow:inset 0 2px 0 #fff !important}
[data-theme="noir"] .agenda-day-cell.today .agenda-day-number{background:#fff !important;color:#000 !important}
[data-theme="noir"] .agenda-week-day-col.today{background:#0a0a0a !important}
[data-theme="noir"] .agenda-week-day-header.today{box-shadow:inset 0 -3px 0 #fff !important;color:#fff !important}
[data-theme="noir"] .agenda-week-day-header.today .agenda-week-day-num{background:#fff !important;color:#000 !important}
[data-theme="noir"] .agenda-month-grid{background:rgba(255,255,255,.22) !important}
[data-theme="noir"] .agenda-week-grid{background:rgba(255,255,255,.22) !important}
[data-theme="noir"] .agenda-week-hour-line{border-top-color:rgba(255,255,255,.22) !important}
[data-theme="noir"] .ag-view-notes{background:#0a0a0a !important;border:1px solid #333}

/* ══════════════════════════════════════════════════════════════════════
   CALENDRIER — Refonte Margot (par C Design)
   Tokens isolés sur #page-agenda pour ne pas impacter les autres pages.
   3 thèmes :
   - dark (défaut donna) : tokens existants, structure Margot
   - warm (= "light" Margot) : tokens Margot Light
   - noir : tokens Margot Noir
   ══════════════════════════════════════════════════════════════════════ */

/* ── Tokens enrichis Margot — disponibles dans tous les thèmes du calendrier ── */
#page-agenda {
  /* Tokens additionnels (n'existent pas dans donna actuel) */
  --cal-text-dim:  #4a5169;       /* texte secondaire */
  --cal-s3:        #e7ebf2;       /* surface 3 (hover plus profond) */
  --cal-border-hi: #d3d8e3;       /* bordure plus contrastée */
  --cal-accent-hi: #564bd8;       /* accent hover (plus foncé) */
  --cal-accent-dim: rgba(107,92,245,.09); /* accent transparent (sélection jour) */
  --cal-mauve:     #8257e5;       /* mauve (acte/signature) */
  --cal-shadow-sm: 0 1px 2px rgba(20,22,31,.05);
  --cal-shadow:    0 4px 14px rgba(20,22,31,.07);
  --cal-radius-sm: 3px;
  --cal-radius:    4px;
  --cal-radius-lg: 8px;
}

/* ── Light (warm donna) — couleurs Margot Light ── */
[data-theme="warm"] #page-agenda {
  /* Override des tokens donna pour matcher Margot Light, mais isolé au calendrier */
  --bg:       #f7f8fa;
  --surface:  #ffffff;
  --s2:       #f1f3f7;
  --border:   #cdd2dc;
  --text:     #14161f;
  --muted:    #8a93ab;
  --accent:   #6b5cf5;
  --chaud:    #d64560;
  --tiede:    #c08a2e;
  --froid:    #3d7fc2;
  --green:    #22a06b;
  /* Tokens enrichis surchargés au cas où */
  --cal-text-dim:  #4a5169;
  --cal-s3:        #e7ebf2;
  --cal-border-hi: #d3d8e3;
  --cal-accent-hi: #564bd8;
  --cal-accent-dim: rgba(107,92,245,.09);
}

/* ── Noir — couleurs Margot Noir ── */
[data-theme="noir"] #page-agenda {
  /* [v1150] Aligné sur le scope global :root[data-theme="noir"] adouci */
  --bg:       #0f1115;
  --surface:  #16181d;
  --s2:       #1c1e24;
  --border:   rgba(255,255,255,.07);
  --text:     #e7e9ee;
  --muted:    #6a7080;
  --accent:   #8b7bff;
  --chaud:    #ff6680;
  --tiede:    #f0c050;
  --froid:    #5ca8ff;
  --green:    #4fd49a;
  /* Tokens enrichis Noir */
  --cal-text-dim:  #a8adbd;
  --cal-s3:        #23262d;
  --cal-border-hi: rgba(255,255,255,.12);
  --cal-accent-hi: #a89dff;
  --cal-accent-dim: rgba(139,123,255,.13);
  --cal-shadow-sm: 0 1px 2px rgba(0,0,0,.5);
  --cal-shadow:    0 4px 14px rgba(0,0,0,.5);
  --cal-radius-sm: 2px;
  --cal-radius:    3px;
  --cal-radius-lg: 6px;
}

/* ── Dark (défaut donna) — tokens donna existants restent inchangés ── 
   Le dark se base sur :root déclaré dans style.css. On ajoute juste les tokens
   --cal-* enrichis sans toucher aux variables principales. */

/* ══════════════════════════════════════════════════════════════════════
   CALENDRIER MARGOT — Composants partagés (3 thèmes)
   Le DOM est généré identique pour les 3 thèmes (dark / warm / noir).
   - Dark : on n'override quasi rien → habillage donna actuel via les classes legacy
     (agenda-day-cell, agenda-event-pill etc) + couleurs --accent --bg de :root
   - Warm : tokens Margot Light, structure Margot
   - Noir : tokens Margot Noir, structure Margot
   
   Stratégie : les nouvelles classes (.cal-day, .evt, .side, etc) reçoivent leur style
   UNIQUEMENT via le scope #page-agenda + thème (warm/noir). En dark, c'est l'ancien
   CSS .agenda-* qui s'applique car les divs ont les deux jeux de classes.
   ══════════════════════════════════════════════════════════════════════ */

/* ── Vue Mois Margot — appliquée aux 3 thèmes via scope #page-agenda ── */

/* Wrap mois : 1fr + 340px desktop */
#page-agenda .mois-wrap{
  display:grid; grid-template-columns:1fr 340px; min-height:640px;
}
#page-agenda .mois-main{ min-width:0; }

/* Side panel — visible 3 thèmes mais habillage spécifique light/noir */
#page-agenda .side{
  padding:20px 22px;
  display:flex; flex-direction:column;
  overflow-y:auto;
  border-left:1px solid var(--border);
}
#page-agenda .sp-head{ margin-bottom:18px; }
#page-agenda .sp-date{
  display:flex; align-items:baseline; gap:10px;
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:700;
  letter-spacing:-.5px; line-height:1;
}
#page-agenda .sp-date .d{ font-size:40px; font-weight:800; }
#page-agenda .sp-date .m{
  display:block; font-size:14px; font-weight:500; color:var(--cal-text-dim, var(--muted));
}
#page-agenda .sp-date .sub{
  display:block; font-size:11px; color:var(--muted); margin-top:5px;
  font-weight:500; letter-spacing:.4px;
}
#page-agenda .sp-counts{
  margin-top:14px; display:flex; gap:6px; flex-wrap:wrap;
}
#page-agenda .sp-count{
  font-size:11px; padding:3px 8px;
  background:color-mix(in srgb, var(--c, var(--accent)) 13%, transparent);
  color:var(--c, var(--accent));
  border-radius:3px;
  display:inline-flex; align-items:center; gap:4px; font-weight:500;
}
#page-agenda .sp-count .dot{
  width:5px; height:5px; border-radius:50%; background:var(--c, var(--accent));
}
#page-agenda .sp-section{
  font-size:10px; font-weight:700; letter-spacing:1.2px;
  color:var(--muted); text-transform:uppercase;
  margin:16px 0 8px;
  display:flex; align-items:center; gap:8px;
}
#page-agenda .sp-section::after{
  content:''; flex:1; height:1px; background:var(--border);
}
#page-agenda .sp-evt{
  display:flex; gap:12px; padding:10px 0; cursor:pointer;
  border-top:1px solid var(--border);
}
#page-agenda .sp-evt:first-of-type{ border-top:none; }
#page-agenda .sp-evt:hover{
  background:var(--s2);
  margin:0 -10px; padding:10px 10px;
  border-radius:var(--cal-radius, 4px);
  border-top-color:transparent;
}
#page-agenda .sp-evt .spt{
  font-variant-numeric:tabular-nums; font-size:12px;
  color:var(--text); font-weight:600;
  padding-top:1px; min-width:54px;
}
#page-agenda .sp-evt .spt.allday{
  color:var(--muted); font-size:11px; font-weight:500; letter-spacing:.6px;
}
#page-agenda .sp-evt .spt .end{
  font-weight:400; color:var(--muted); font-size:11px; display:block;
}
#page-agenda .sp-evt .spb{ flex:1; min-width:0; }
#page-agenda .sp-evt .spn{
  font-size:13px; font-weight:600; color:var(--text);
  display:flex; align-items:center; gap:8px;
}
#page-agenda .sp-evt .spn .dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--c, var(--accent));
  flex-shrink:0;
}
#page-agenda .sp-evt .spa{
  font-size:11px; color:var(--cal-text-dim, var(--muted));
  margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
#page-agenda .sp-evt .sp-tags{ display:flex; gap:4px; margin-top:5px; }
#page-agenda .sp-tag{
  font-size:10px; padding:2px 7px; border-radius:2px;
  background:var(--s2); color:var(--muted);
  border:1px solid var(--border);
}

/* ── Tokens Margot vue mois (warm + noir uniquement) ── */
[data-theme="warm"] #page-agenda .cal-day,
[data-theme="noir"] #page-agenda .cal-day{
  background:var(--surface);
  min-height:120px; padding:8px 8px 6px;
  display:flex; flex-direction:column; gap:3px;
  position:relative; overflow:hidden; cursor:pointer;
  transition:background .12s;
}
[data-theme="warm"] #page-agenda .cal-day:hover,
[data-theme="noir"] #page-agenda .cal-day:hover{ background:var(--s2); }
[data-theme="warm"] #page-agenda .cal-day.outside,
[data-theme="noir"] #page-agenda .cal-day.outside{ background:var(--s2); opacity:1; }
[data-theme="warm"] #page-agenda .cal-day.outside .dnum,
[data-theme="noir"] #page-agenda .cal-day.outside .dnum{ color:var(--muted); }
[data-theme="warm"] #page-agenda .cal-day.outside:hover,
[data-theme="noir"] #page-agenda .cal-day.outside:hover{ background:var(--cal-s3, var(--s2)); }
[data-theme="warm"] #page-agenda .cal-day .dnum,
[data-theme="noir"] #page-agenda .cal-day .dnum{
  font-size:12px; font-weight:600; color:var(--cal-text-dim, var(--text));
  font-variant-numeric:tabular-nums; padding:2px 0 4px;
}
[data-theme="warm"] #page-agenda .cal-day.today .dnum,
[data-theme="noir"] #page-agenda .cal-day.today .dnum{
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; border-radius:50%;
  background:var(--text); color:var(--bg); padding:0; margin-bottom:2px;
}
[data-theme="warm"] #page-agenda .cal-day.today::before,
[data-theme="noir"] #page-agenda .cal-day.today::before{ display:none; }
[data-theme="warm"] #page-agenda .cal-day.selected,
[data-theme="noir"] #page-agenda .cal-day.selected{
  background:var(--cal-accent-dim, rgba(124,106,247,.09));
  box-shadow:inset 0 0 0 1px var(--accent);
}

/* Events dans cellule mois — light + noir */
[data-theme="warm"] #page-agenda .cal-day .evt,
[data-theme="noir"] #page-agenda .cal-day .evt{
  display:flex; align-items:center; gap:5px;
  font-size:11px; line-height:1.25; padding:1px 0;
  color:var(--text); cursor:pointer;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  background:transparent !important; border:none !important;
}
[data-theme="warm"] #page-agenda .cal-day .evt .dot,
[data-theme="noir"] #page-agenda .cal-day .evt .dot{
  width:5px; height:5px; border-radius:50%;
  background:var(--c, var(--accent));
  flex-shrink:0;
}
[data-theme="warm"] #page-agenda .cal-day .evt .t,
[data-theme="noir"] #page-agenda .cal-day .evt .t{
  color:var(--muted); font-variant-numeric:tabular-nums;
  font-size:10px; flex-shrink:0;
}
[data-theme="warm"] #page-agenda .cal-day .evt .n,
[data-theme="noir"] #page-agenda .cal-day .evt .n{
  overflow:hidden; text-overflow:ellipsis;
}
[data-theme="warm"] #page-agenda .more,
[data-theme="noir"] #page-agenda .more{
  font-size:10px; font-weight:500; color:var(--muted);
  margin-top:auto; padding-top:2px; cursor:pointer;
}
[data-theme="warm"] #page-agenda .more:hover,
[data-theme="noir"] #page-agenda .more:hover{ color:var(--text); }

/* Grille mois — light + noir : gap révèle border */
[data-theme="warm"] #page-agenda .cal-grid,
[data-theme="noir"] #page-agenda .cal-grid{
  display:grid; grid-template-columns:repeat(7, 1fr);
  background:var(--border); gap:1px;
  margin:0; padding:0;
}
[data-theme="warm"] #page-agenda .cal-head,
[data-theme="noir"] #page-agenda .cal-head{
  background:var(--bg);
  padding:10px 12px; font-size:11px; font-weight:600;
  letter-spacing:1px; color:var(--muted); text-transform:uppercase;
  position:sticky; top:0; z-index:3;
}

/* Pas de border-radius sur la wrap globale (calendrier embarqué dans la page) */
[data-theme="warm"] #page-agenda .mois-wrap,
[data-theme="noir"] #page-agenda .mois-wrap{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--cal-radius-lg, 8px);
  overflow:hidden;
  box-shadow:var(--cal-shadow, 0 4px 14px rgba(20,22,31,.07));
  margin:12px 24px 24px;
}

/* Mobile : side panel passe en bottom sheet (sous la grille) */
@media (max-width:900px){
  #page-agenda .mois-wrap{
    grid-template-columns:1fr;
  }
  #page-agenda .side{
    border-left:none;
    border-top:1px solid var(--border);
    max-height:280px;
  }
  [data-theme="warm"] #page-agenda .cal-day,
  [data-theme="noir"] #page-agenda .cal-day{
    min-height:54px; padding:4px 4px 3px;
  }
  [data-theme="warm"] #page-agenda .cal-day .dnum,
  [data-theme="noir"] #page-agenda .cal-day .dnum{ font-size:11px; padding:0 0 2px; }
  [data-theme="warm"] #page-agenda .cal-day.today .dnum,
  [data-theme="noir"] #page-agenda .cal-day.today .dnum{ width:18px; height:18px; font-size:10px; }
  /* Mobile : events affichés en dots seulement (pas de titre/heure) */
  [data-theme="warm"] #page-agenda .cal-day .evt,
  [data-theme="noir"] #page-agenda .cal-day .evt{
    display:inline-flex; vertical-align:top; height:auto; line-height:0;
    font-size:0; gap:0; padding:0;
  }
  [data-theme="warm"] #page-agenda .cal-day .evt .t,
  [data-theme="warm"] #page-agenda .cal-day .evt .n,
  [data-theme="noir"] #page-agenda .cal-day .evt .t,
  [data-theme="noir"] #page-agenda .cal-day .evt .n{ display:none; }
  [data-theme="warm"] #page-agenda .cal-day .evt .dot,
  [data-theme="noir"] #page-agenda .cal-day .evt .dot{
    margin:0 1px 1px 0; display:inline-block;
  }
  [data-theme="warm"] #page-agenda .cal-day .more,
  [data-theme="noir"] #page-agenda .cal-day .more{ display:none; }
}
