/* ════════════════════════════════════════════════════════════════════════════
   GeoBat Mesure — css/theme.css (V6.23) : « ☀️ Mode soleil »

   Thème clair à fort contraste pour lire l'écran en plein soleil sur le
   terrain. Actif quand <html data-theme="soleil"> : l'attribut est posé par
   js/config.js AVANT le premier affichage (choix mémorisé par appareil dans
   localStorage 'gb.theme'), et basculé par le bouton ☀️ ou le menu (api.js).

   Ce fichier est chargé par TOUTES les pages, APRÈS leurs styles en ligne.
   Ses règles sont préfixées par html[data-theme="soleil"] (et
   [data-page="…"] pour une page donnée, posé aussi par config.js) : elles
   l'emportent sur les styles des pages sans !important. Le thème sombre reste
   celui par défaut et ce fichier n'y touche pas, hormis le bouton ☀️.

   Objectifs, vérifiés par tests/frontend/terrain-v623-mode-soleil.test.mjs :
     • texte courant ≥ 7:1 ; tout texte ≥ 4,5:1 (couleurs d'état comprises) ;
     • aucun texte sous 13 px, données principales ≥ 15 px ;
     • cibles tactiles ≥ 44 px.
   Une couleur codée en dur ajoutée à une page doit recevoir ici sa surcharge
   (le test la signale sinon) : node tests/frontend/generer-theme-soleil.mjs
   réécrit le bloc GÉNÉRÉ (sections 4 et 5) ; le reste s'écrit à la main.

   1. Bouton ☀️ / 🌙                 5. Surcharges par page (généré)
   2. Variables du thème              6. Styles en ligne des gabarits (style="…")
   3. Base : champs, focus, cibles    7. Zones volontairement sombres (visionneuse)
   4. Composants d'api.js (généré)    8. Données principales (≥ 15 px), ajustements
   ════════════════════════════════════════════════════════════════════════════ */

/* ── 1. Bouton ☀️ / 🌙 (les deux thèmes) ─────────────────────────────────── */
.gb-theme-btn {
  min-width: 44px; min-height: 44px; padding: 0 8px; margin: 0;
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
  background: transparent; color: #F0F0F0; border: 1px solid #2a2a2a; border-radius: 22px;
  font-family: inherit; font-size: 20px; line-height: 1; cursor: pointer;
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.gb-theme-btn:focus-visible { outline: 2px solid #CC0000; outline-offset: 2px; }
.topbar > .gb-theme-btn { margin-left: 10px; }
.page-home .topbar > .gb-theme-btn { margin-right: auto; }
/* Pages sans logo dans l'en-tête (fiche, création) ou logo dans le panneau replié (carte) */
.gb-theme-btn.gb-theme-flottant {
  position: fixed; z-index: 10000; width: 44px; height: 44px; padding: 0;
  top: calc(8px + env(safe-area-inset-top, 0px));
  right: calc(8px + env(safe-area-inset-right, 0px));
  background: rgba(10,10,10,0.88); border-color: #333333;
  box-shadow: 0 2px 10px rgba(0,0,0,0.5);
}
/* V6.23 relecture (C0) — le bouton flottant ne recouvre ni la croix « × » de la visionneuse
   photo (masqué tant qu'elle est ouverte) ni la fin des bandeaux du haut (bandeau hors ligne,
   bandeau « mode édition » de la fiche : place réservée de chaque côté, texte toujours centré) */
body:has(#lightbox.visible) > .gb-theme-btn.gb-theme-flottant { display: none; }
/* V6.23 finitions — même place pour le bandeau « 🔑 Reconnexion nécessaire » (un tap sur sa fin
   changeait le thème au lieu d'ouvrir la connexion) ; place = bouton (8 + 44 + 8 px) + zone de
   sécurité, comme la position du bouton (encoche latérale d'un téléphone en paysage) */
body:has(> .gb-theme-flottant) .gb-offline-banner,
body:has(> .gb-theme-flottant) #edit-banner,
body:has(> .gb-theme-flottant) #gb-reauth {
  padding-left: calc(60px + env(safe-area-inset-left, 0px));
  padding-right: calc(60px + env(safe-area-inset-right, 0px));
}
html[data-theme="soleil"] .gb-theme-btn { background: #FFFFFF; color: #111111; border: 2px solid #111111; }
html[data-theme="soleil"] .gb-theme-btn.gb-theme-flottant { background: #FFFFFF; box-shadow: 0 2px 8px rgba(0,0,0,0.35); }
html[data-theme="soleil"] .gb-theme-btn:focus-visible { outline-color: #0B57D0; }

/* ── 2. Variables du thème (surchargent les :root des pages) ─────────────── */
html[data-theme="soleil"] {
  color-scheme: light;
  --bg:     #FFFFFF;   /* fond de page */
  --dark:   #F2F2F2;   /* panneaux, cartes */
  --card:   #F7F7F7;
  --border: #767676;   /* bordures nettes : 4,5:1 sur blanc */
  --red:    #A30000;   /* rouge GeoBat foncé : 7,7:1 sur blanc, texte blanc dessus */
  --white:  #111111;   /* « blanc » du thème sombre = texte principal */
  --gray:   #3D3D3D;   /* texte secondaire : 10,9:1 */
  --green:  #166035;
  --orange: #754A06;
  --purple: #743D8B;
}

/* ── 3. Base : fond, champs, sélection, focus, cibles tactiles ───────────── */
html[data-theme="soleil"],
html[data-theme="soleil"] body { background: #FFFFFF; color: #111111; }
html[data-theme="soleil"] ::selection { background: #FFE08A; color: #111111; }
html[data-theme="soleil"] ::placeholder { color: #595959; opacity: 1; }
html[data-theme="soleil"] :focus-visible { outline: 3px solid #0B57D0; outline-offset: 2px; }
/* :where() = spécificité nulle : les styles de champ des pages (focus, erreur…) gardent la main */
html[data-theme="soleil"] :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]), select, textarea) {
  background-color: #FFFFFF; color: #111111; border-color: #767676;
}
html[data-theme="soleil"] select option { background: #FFFFFF; color: #111111; }
html[data-theme="soleil"] input[type="checkbox"],
html[data-theme="soleil"] input[type="radio"] { accent-color: #A30000; min-width: 20px; min-height: 20px; }
/* Cibles tactiles ≥ 44 px (boutons, listes, champs, liens habillés en boutons).
   V6.23 relecture (D0) : jamais les éléments de Leaflet (marqueurs, grappes, zoom, croix de la
   bulle portent role="button") : un min-height les déformait et agrandissait leur zone de toucher. */
html[data-theme="soleil"] button,
html[data-theme="soleil"] select,
html[data-theme="soleil"] .btn,
html[data-theme="soleil"] a[class*="btn"],
html[data-theme="soleil"] [role="button"]:not([class*="leaflet-"]),
html[data-theme="soleil"] input[type="text"],
html[data-theme="soleil"] input[type="search"],
html[data-theme="soleil"] input[type="email"],
html[data-theme="soleil"] input[type="tel"],
html[data-theme="soleil"] input[type="number"],
html[data-theme="soleil"] input[type="date"],
html[data-theme="soleil"] input[type="time"],
html[data-theme="soleil"] input:not([type]),
html[data-theme="soleil"] textarea { min-height: 44px; }
html[data-theme="soleil"] a[class*="btn"],
html[data-theme="soleil"] .card-links a,
html[data-theme="soleil"] .popup-links a,
html[data-theme="soleil"] .photos-actions a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
/* Zoom +/− de la carte au doigt : carré de 44 px (au lieu de 30), sans déformer */
html[data-theme="soleil"] .leaflet-touch .leaflet-bar a { width: 44px; height: 44px; line-height: 44px; }

/* ══ GÉNÉRÉ-DÉBUT : tests/frontend/generer-theme-soleil.mjs — ne pas éditer à la main ══ */

/* ── 4. Composants injectés par js/api.js (menu, dialogues, bandeaux, file hors ligne) ── */
html[data-theme="soleil"] #gb-reauth,
html[data-theme="soleil"] #gb-outbox-pill { background: #FBEFE0; color: #6C4405; font-size: 13px; }
html[data-theme="soleil"] .gb-offline-banner,
html[data-theme="soleil"] #gb-update-toast button,
html[data-theme="soleil"] #gb-confirm-card button,
html[data-theme="soleil"] #gb-onboarding-card button { font-size: 13px; }
html[data-theme="soleil"] #gb-update-toast { background: var(--bg); color: var(--white); font-size: 13px; }
html[data-theme="soleil"] #gb-update-toast strong,
html[data-theme="soleil"] #gb-nav-drawer .gbn-head span,
html[data-theme="soleil"] .gbn-burger { color: var(--red); }
html[data-theme="soleil"] #gb-update-toast button.gb-secondary,
html[data-theme="soleil"] #gb-confirm-card .gbc-cancel,
html[data-theme="soleil"] #gb-onboarding-card button.ob-secondary { color: var(--gray); border-color: var(--border); }
html[data-theme="soleil"] .gb-outbox-toast { background: #E0FBE8; color: #145A32; border-color: #1E864A; font-size: 13px; }
html[data-theme="soleil"] #gb-file-panneau { background: var(--bg); color: var(--white); border-top-color: #A66908; }
html[data-theme="soleil"] #gb-file-panneau .gbf-titre,
html[data-theme="soleil"] #gb-file-panneau .gbf-detail,
html[data-theme="soleil"] #gb-file-panneau .gbf-vide,
html[data-theme="soleil"] #gb-file-panneau .gbf-aide,
html[data-theme="soleil"] #gb-nav-drawer .gbn-item,
html[data-theme="soleil"] #gb-confirm-card .gbc-msg,
html[data-theme="soleil"] #gb-confirm-card .gbc-skip,
html[data-theme="soleil"] #gb-onboarding-card .ob-title,
html[data-theme="soleil"] #gb-onboarding-card .ob-body { color: var(--white); }
html[data-theme="soleil"] #gb-file-panneau .gbf-section { color: #754A06; font-size: 13px; }
html[data-theme="soleil"] #gb-file-panneau .gbf-section.gbf-refus,
html[data-theme="soleil"] #gb-file-panneau .gbf-motif { color: #A12114; }
html[data-theme="soleil"] #gb-file-panneau li,
html[data-theme="soleil"] #gb-nav-drawer .gbn-head { color: var(--white); border-bottom-color: var(--border); }
html[data-theme="soleil"] #gb-file-panneau .gbf-date,
html[data-theme="soleil"] #gb-nav-drawer .gbn-ver,
html[data-theme="soleil"] #gb-confirm-card .gbc-field label { color: var(--gray); font-size: 13px; }
html[data-theme="soleil"] #gb-file-panneau button { color: var(--white); font-size: 13px; }
html[data-theme="soleil"] #gb-file-panneau button.gbf-envoyer { color: #fff; }
html[data-theme="soleil"] #gb-nav-drawer { background: var(--bg); border-right-color: var(--border); }
html[data-theme="soleil"] #gb-nav-drawer .gbn-item:hover { background: #ECECEC; }
html[data-theme="soleil"] #gb-nav-drawer .gbn-item.active { background: #EFEFEF; }
html[data-theme="soleil"] #gb-nav-drawer button.gbn-item,
html[data-theme="soleil"] #gb-nav-drawer .gbn-foot { border-top-color: var(--border); }
html[data-theme="soleil"] #gb-nav-drawer .gbn-logout { color: var(--red); font-size: 13px; }
html[data-theme="soleil"] #gb-confirm-card,
html[data-theme="soleil"] #gb-onboarding-card { background: var(--bg); color: var(--white); }
html[data-theme="soleil"] #gb-confirm-card .gbc-field select,
html[data-theme="soleil"] #gb-confirm-card .gbc-field input,
html[data-theme="soleil"] #gb-confirm-card .gbc-check { background: #EFEFEF; color: var(--white); border-color: var(--border); }
html[data-theme="soleil"] #gb-confirm-card .gbc-field select:focus,
html[data-theme="soleil"] #gb-confirm-card .gbc-field input:focus { border-color: #CC0000; }
html[data-theme="soleil"] #gb-confirm-card .gbc-check:has(input:checked) { background: rgba(204,0,0,.12); border-color: #CC0000; }
html[data-theme="soleil"] #gb-onboarding-card .ob-dot { background: #D0D0D0; }
html[data-theme="soleil"] #gb-onboarding-card .ob-dot.active { background: #CC0000; }
@media (max-width:480px) {
  html[data-theme="soleil"] #gb-onboarding-card .ob-body { font-size: 13px; }
}

/* ── 5. Surcharges par page ── */
/* css/style.css (index, login, stats) */
html[data-theme="soleil"]:is([data-page="index"],[data-page="login"],[data-page="stats"]) .logo .version-tag,
html[data-theme="soleil"]:is([data-page="index"],[data-page="login"],[data-page="stats"]) .nav-desc,
html[data-theme="soleil"]:is([data-page="index"],[data-page="login"],[data-page="stats"]) .kpi-quick .kq-lbl,
html[data-theme="soleil"]:is([data-page="index"],[data-page="login"],[data-page="stats"]) .kpi-quick .kq-skel,
html[data-theme="soleil"]:is([data-page="index"],[data-page="login"],[data-page="stats"]) .kpi-quick .kq-error,
html[data-theme="soleil"]:is([data-page="index"],[data-page="login"],[data-page="stats"]) .btn-back,
html[data-theme="soleil"]:is([data-page="index"],[data-page="login"],[data-page="stats"]) .gb-offline-banner { font-size: 13px; }
html[data-theme="soleil"]:is([data-page="index"],[data-page="login"],[data-page="stats"]) .status-pill { background: rgba(0,0,0,0.065); font-size: 13px; }
html[data-theme="soleil"]:is([data-page="index"],[data-page="login"],[data-page="stats"]) .status-pill.ok { background: rgba(46,204,113,.08); }
html[data-theme="soleil"]:is([data-page="index"],[data-page="login"],[data-page="stats"]) .status-pill.ko { color: #960000; background: rgba(204,0,0,.1); }

/* index.html */
html[data-theme="soleil"][data-page="index"] .user-pill { background: rgba(0,0,0,0.065); font-size: 13px; }
html[data-theme="soleil"][data-page="index"] .user-pill button,
html[data-theme="soleil"][data-page="index"] .alert-banner { font-size: 13px; }
html[data-theme="soleil"][data-page="index"] .alert-banner.warn { color: #FFFFFF; }
html[data-theme="soleil"][data-page="index"] .info-banner { background: #E0FBE8; color: #145A32; font-size: 13px; }
html[data-theme="soleil"][data-page="index"] .info-banner.relance { background: #FBEFE0; color: #6C4405; }
html[data-theme="soleil"][data-page="index"] .info-banner.recouvrement { background: #FBEAE0; color: #763A00; }
@media (max-width:768px) {
  html[data-theme="soleil"][data-page="index"] .user-pill .email { font-size: 13px; }
}

/* login.html */
html[data-theme="soleil"][data-page="login"] .login-msg,
html[data-theme="soleil"][data-page="login"] .login-foot,
html[data-theme="soleil"][data-page="login"] .offline-hint { font-size: 13px; }
html[data-theme="soleil"][data-page="login"] .login-msg.error { color: #960000; }
html[data-theme="soleil"][data-page="login"] .login-msg.info { background: rgba(0,0,0,0.052); }

/* pages/carte.html */
html[data-theme="soleil"][data-page="carte"] #loader { background: rgba(255,255,255,0.95); font-size: 13px; }
html[data-theme="soleil"][data-page="carte"] #stats-label,
html[data-theme="soleil"][data-page="carte"] .filter-title,
html[data-theme="soleil"][data-page="carte"] .search-box input,
html[data-theme="soleil"][data-page="carte"] .search-box input::placeholder,
html[data-theme="soleil"][data-page="carte"] .search-icon,
html[data-theme="soleil"][data-page="carte"] .btn-reset-all,
html[data-theme="soleil"][data-page="carte"] .date-lbl,
html[data-theme="soleil"][data-page="carte"] input[type="date"],
html[data-theme="soleil"][data-page="carte"] .btn-clear,
html[data-theme="soleil"][data-page="carte"] .check-item,
html[data-theme="soleil"][data-page="carte"] .type-badge,
html[data-theme="soleil"][data-page="carte"] .check-label,
html[data-theme="soleil"][data-page="carte"] .popup-id,
html[data-theme="soleil"][data-page="carte"] .pbadge,
html[data-theme="soleil"][data-page="carte"] .popup-co,
html[data-theme="soleil"][data-page="carte"] .popup-meta,
html[data-theme="soleil"][data-page="carte"] .popup-dates,
html[data-theme="soleil"][data-page="carte"] .popup-links a,
html[data-theme="soleil"][data-page="carte"] #legend h4,
html[data-theme="soleil"][data-page="carte"] #empty-state .empty-title,
html[data-theme="soleil"][data-page="carte"] #empty-state .empty-msg,
html[data-theme="soleil"][data-page="carte"] #empty-state button,
html[data-theme="soleil"][data-page="carte"] .tournee-marker-num,
html[data-theme="soleil"][data-page="carte"] .tp-empty,
html[data-theme="soleil"][data-page="carte"] .tp-row,
html[data-theme="soleil"][data-page="carte"] .tp-num,
html[data-theme="soleil"][data-page="carte"] .tp-info .tp-meta,
html[data-theme="soleil"][data-page="carte"] .tp-actions button { font-size: 13px; }
html[data-theme="soleil"][data-page="carte"] #geocode-info { color: #754A06; font-size: 13px; }
html[data-theme="soleil"][data-page="carte"] #toggle-btn,
html[data-theme="soleil"][data-page="carte"] #toast,
html[data-theme="soleil"][data-page="carte"] .btn-tournee { color: #FFFFFF; font-size: 13px; }
html[data-theme="soleil"][data-page="carte"] #toggle-btn:hover,
html[data-theme="soleil"][data-page="carte"] .pbadge-urgent,
html[data-theme="soleil"][data-page="carte"] #empty-state button:hover,
html[data-theme="soleil"][data-page="carte"] .btn-tournee:hover,
html[data-theme="soleil"][data-page="carte"] .tp-actions .tp-btn-launch,
html[data-theme="soleil"][data-page="carte"] .tp-actions .tp-btn-launch:hover:not(:disabled) { color: #FFFFFF; }
html[data-theme="soleil"][data-page="carte"] .popup-etat { color: var(--gray); }
html[data-theme="soleil"][data-page="carte"] .d-mini { color: #166035; }
html[data-theme="soleil"][data-page="carte"] .d-fixe { color: #0053A7; }
html[data-theme="soleil"][data-page="carte"] .d-max { color: #A12114; }
html[data-theme="soleil"][data-page="carte"] .lnk-waze:hover { color: #005A78; border-color: #007EA8; }
html[data-theme="soleil"][data-page="carte"] .lnk-drive:hover { color: #166035; border-color: #1F874B; }
html[data-theme="soleil"][data-page="carte"] #legend { background: rgba(255,255,255,0.96); font-size: 13px; }
html[data-theme="soleil"][data-page="carte"] #toast.error { background: #D91C1C; color: #FFFFFF; }
html[data-theme="soleil"][data-page="carte"] #empty-state { background: rgba(255,255,255,0.96); }
html[data-theme="soleil"][data-page="carte"] .btn-tournee.active { color: var(--red); }
html[data-theme="soleil"][data-page="carte"] .tournee-hint { background: #FBE0E0; color: #910000; font-size: 13px; }
html[data-theme="soleil"][data-page="carte"] #tournee-panel { background: rgba(255,255,255,0.97); }
html[data-theme="soleil"][data-page="carte"] .tp-head { background: #D91C1C; color: #FFFFFF; font-size: 13px; }
html[data-theme="soleil"][data-page="carte"] .tp-head .tp-count { background: rgba(0,0,0,0.12); color: #8C0000; font-size: 13px; }
html[data-theme="soleil"][data-page="carte"] .tp-row.start .tp-num { background: #1D7F46; font-size: 13px; }
html[data-theme="soleil"][data-page="carte"] .tp-actions { background: #FAFAFA; }
html[data-theme="soleil"][data-page="carte"] .tp-summary { background: #FAFAFA; font-size: 13px; }
@media (max-width: 768px) {
  html[data-theme="soleil"][data-page="carte"] input[type="date"],
  html[data-theme="soleil"][data-page="carte"] #toggle-btn { font-size: 14px; }
}

/* pages/fiche-projet.html */
html[data-theme="soleil"][data-page="fiche-projet"] .header-title,
html[data-theme="soleil"][data-page="fiche-projet"] .subtitle,
html[data-theme="soleil"][data-page="fiche-projet"] .passage-attente,
html[data-theme="soleil"][data-page="fiche-projet"] .card-title,
html[data-theme="soleil"][data-page="fiche-projet"] .projet-badge,
html[data-theme="soleil"][data-page="fiche-projet"] .projet-stats,
html[data-theme="soleil"][data-page="fiche-projet"] .fact-label,
html[data-theme="soleil"][data-page="fiche-projet"] .fact-edit-btn,
html[data-theme="soleil"][data-page="fiche-projet"] select.mode-select,
html[data-theme="soleil"][data-page="fiche-projet"] .passages-table,
html[data-theme="soleil"][data-page="fiche-projet"] .passages-table th,
html[data-theme="soleil"][data-page="fiche-projet"] .passages-table .pid,
html[data-theme="soleil"][data-page="fiche-projet"] .passages-table .open-link,
html[data-theme="soleil"][data-page="fiche-projet"] .btn-add-passage { font-size: 13px; }
html[data-theme="soleil"][data-page="fiche-projet"] .projet-badge.s2 { background: #1F74AE; }
html[data-theme="soleil"][data-page="fiche-projet"] .projet-badge.s31 { background: #406ACF; }
html[data-theme="soleil"][data-page="fiche-projet"] .projet-badge.s5 { background: #1C7E46; }
html[data-theme="soleil"][data-page="fiche-projet"] .btn-action,
html[data-theme="soleil"][data-page="fiche-projet"] #toast { color: #FFFFFF; font-size: 13px; }
html[data-theme="soleil"][data-page="fiche-projet"] .btn-action:hover { color: #FFFFFF; }
html[data-theme="soleil"][data-page="fiche-projet"] .btn-action.secondary { color: var(--gray); }
html[data-theme="soleil"][data-page="fiche-projet"] .btn-action.secondary:hover { color: var(--red); }
html[data-theme="soleil"][data-page="fiche-projet"] .btn-action.danger,
html[data-theme="soleil"][data-page="fiche-projet"] .err-banner { background: #FBE0E0; color: #910000; }
html[data-theme="soleil"][data-page="fiche-projet"] .fact-value.amount,
html[data-theme="soleil"][data-page="fiche-projet"] .passages-table .pmontant { color: #166035; }
html[data-theme="soleil"][data-page="fiche-projet"] .passages-table tr:hover td { background: rgba(0,0,0,0.026); }
html[data-theme="soleil"][data-page="fiche-projet"] .passages-table .etat-badge { color: var(--white); font-size: 13px; }
html[data-theme="soleil"][data-page="fiche-projet"] .ok-banner { color: #145931; border-color: #1E864A; font-size: 13px; }
html[data-theme="soleil"][data-page="fiche-projet"] #toast.error { background: #D91C1C; color: #FFFFFF; }
html[data-theme="soleil"][data-page="fiche-projet"] #loader { background: rgba(255,255,255,0.92); font-size: 13px; }
@media (max-width: 768px) {
  html[data-theme="soleil"][data-page="fiche-projet"] .info-row,
  html[data-theme="soleil"][data-page="fiche-projet"] .fact-row { font-size: 13px; }
}

/* pages/fiche-prospect.html */
html[data-theme="soleil"][data-page="fiche-prospect"] .header-title,
html[data-theme="soleil"][data-page="fiche-prospect"] .btn-back,
html[data-theme="soleil"][data-page="fiche-prospect"] .btn-action,
html[data-theme="soleil"][data-page="fiche-prospect"] .subtitle,
html[data-theme="soleil"][data-page="fiche-prospect"] .badge,
html[data-theme="soleil"][data-page="fiche-prospect"] .field label,
html[data-theme="soleil"][data-page="fiche-prospect"] .field input,
html[data-theme="soleil"][data-page="fiche-prospect"] .field select,
html[data-theme="soleil"][data-page="fiche-prospect"] .field textarea,
html[data-theme="soleil"][data-page="fiche-prospect"] .chip,
html[data-theme="soleil"][data-page="fiche-prospect"] .timeline-empty,
html[data-theme="soleil"][data-page="fiche-prospect"] .timeline-date,
html[data-theme="soleil"][data-page="fiche-prospect"] .timeline-body,
html[data-theme="soleil"][data-page="fiche-prospect"] .timeline-dir,
html[data-theme="soleil"][data-page="fiche-prospect"] .timeline-user,
html[data-theme="soleil"][data-page="fiche-prospect"] #modal-inter label,
html[data-theme="soleil"][data-page="fiche-prospect"] #modal-inter input,
html[data-theme="soleil"][data-page="fiche-prospect"] #modal-inter select,
html[data-theme="soleil"][data-page="fiche-prospect"] #modal-inter textarea,
html[data-theme="soleil"][data-page="fiche-prospect"] .perdu-block { font-size: 13px; }
html[data-theme="soleil"][data-page="fiche-prospect"] .btn-action.primary,
html[data-theme="soleil"][data-page="fiche-prospect"] .chip[aria-pressed="true"],
html[data-theme="soleil"][data-page="fiche-prospect"] .card-actions button.success,
html[data-theme="soleil"][data-page="fiche-prospect"] .card-actions button.danger { color: #FFFFFF; }
html[data-theme="soleil"][data-page="fiche-prospect"] .btn-action.primary:hover { background: #1B7E45; color: #FFFFFF; }
html[data-theme="soleil"][data-page="fiche-prospect"] .badge.statut-0 { color: #0D5E4E; }
html[data-theme="soleil"][data-page="fiche-prospect"] .badge.statut-1,
html[data-theme="soleil"][data-page="fiche-prospect"] .timeline-type.appel { color: #175783; }
html[data-theme="soleil"][data-page="fiche-prospect"] .badge.statut-2,
html[data-theme="soleil"][data-page="fiche-prospect"] .timeline-type.mail { color: #743D8B; }
html[data-theme="soleil"][data-page="fiche-prospect"] .badge.statut-3 { color: #754A06; border-color: #A4690C; }
html[data-theme="soleil"][data-page="fiche-prospect"] .badge.statut-4,
html[data-theme="soleil"][data-page="fiche-prospect"] .timeline-type.devis { color: #166135; }
html[data-theme="soleil"][data-page="fiche-prospect"] .badge.statut-5,
html[data-theme="soleil"][data-page="fiche-prospect"] .card-actions button.secondary,
html[data-theme="soleil"][data-page="fiche-prospect"] #modal-inter button.secondary,
html[data-theme="soleil"][data-page="fiche-prospect"] .perdu-block strong { color: var(--gray); }
html[data-theme="soleil"][data-page="fiche-prospect"] .card-actions button,
html[data-theme="soleil"][data-page="fiche-prospect"] #modal-inter button,
html[data-theme="soleil"][data-page="fiche-prospect"] #toast { color: #FFFFFF; font-size: 13px; }
html[data-theme="soleil"][data-page="fiche-prospect"] .timeline-type.rdv { color: #754A06; }
html[data-theme="soleil"][data-page="fiche-prospect"] .timeline-type.relance { color: #A12114; }
html[data-theme="soleil"][data-page="fiche-prospect"] .timeline-note { color: var(--white); }
html[data-theme="soleil"][data-page="fiche-prospect"] #toast.error { background: #D91C1C; color: #FFFFFF; }
html[data-theme="soleil"][data-page="fiche-prospect"] #toast.success { background: #E0FBE8; color: #155A32; }
html[data-theme="soleil"][data-page="fiche-prospect"] #loader { background: rgba(255,255,255,0.92); font-size: 13px; }

/* pages/fiche.html */
html[data-theme="soleil"][data-page="fiche"] #edit-banner,
html[data-theme="soleil"][data-page="fiche"] #edit-banner .modif-indicator,
html[data-theme="soleil"][data-page="fiche"] .urgent-badge { color: #FFFFFF; font-size: 13px; }
html[data-theme="soleil"][data-page="fiche"] #edit-actionbar { background: rgba(255,255,255,0.96); }
html[data-theme="soleil"][data-page="fiche"] .field input.field-modifie,
html[data-theme="soleil"][data-page="fiche"] .field select.field-modifie,
html[data-theme="soleil"][data-page="fiche"] .field textarea.field-modifie { border-color: #007EA8 !important; }
html[data-theme="soleil"][data-page="fiche"] .field-erreur-msg,
html[data-theme="soleil"][data-page="fiche"] #loader,
html[data-theme="soleil"][data-page="fiche"] .badge,
html[data-theme="soleil"][data-page="fiche"] .passage-attente,
html[data-theme="soleil"][data-page="fiche"] .btn,
html[data-theme="soleil"][data-page="fiche"] .projet-label,
html[data-theme="soleil"][data-page="fiche"] .projet-badge,
html[data-theme="soleil"][data-page="fiche"] .projet-stats,
html[data-theme="soleil"][data-page="fiche"] .projet-actions button,
html[data-theme="soleil"][data-page="fiche"] .projet-facturation-title,
html[data-theme="soleil"][data-page="fiche"] .projet-facturation-row .pf-label,
html[data-theme="soleil"][data-page="fiche"] .projet-facturation-row .pf-edit,
html[data-theme="soleil"][data-page="fiche"] .projet-facturation-edit button,
html[data-theme="soleil"][data-page="fiche"] .ttc-modal .ttc-sub,
html[data-theme="soleil"][data-page="fiche"] .ttc-modal-actions button,
html[data-theme="soleil"][data-page="fiche"] .card-title,
html[data-theme="soleil"][data-page="fiche"] .field label,
html[data-theme="soleil"][data-page="fiche"] #toast,
html[data-theme="soleil"][data-page="fiche"] .ar-msg code,
html[data-theme="soleil"][data-page="fiche"] .ar-btn,
html[data-theme="soleil"][data-page="fiche"] .photos-status,
html[data-theme="soleil"][data-page="fiche"] .photos-actions a,
html[data-theme="soleil"][data-page="fiche"] .photos-actions button,
html[data-theme="soleil"][data-page="fiche"] .photos-actions .photos-count { font-size: 13px; }
html[data-theme="soleil"][data-page="fiche"] .btn-modifier,
html[data-theme="soleil"][data-page="fiche"] .btn-valider,
html[data-theme="soleil"][data-page="fiche"] .btn-modifier:hover,
html[data-theme="soleil"][data-page="fiche"] .btn-valider:hover,
html[data-theme="soleil"][data-page="fiche"] #toast.ok,
html[data-theme="soleil"][data-page="fiche"] #archive-reminder,
html[data-theme="soleil"][data-page="fiche"] .ar-btn-primary,
html[data-theme="soleil"][data-page="fiche"] .ar-btn-primary:hover,
html[data-theme="soleil"][data-page="fiche"] .photos-actions .btn-photo-take,
html[data-theme="soleil"][data-page="fiche"] .photos-actions .btn-photo-take:hover:not(:disabled) { color: #FFFFFF; }
html[data-theme="soleil"][data-page="fiche"] .btn-waze,
html[data-theme="soleil"][data-page="fiche"] .btn-drive,
html[data-theme="soleil"][data-page="fiche"] .btn-mail,
html[data-theme="soleil"][data-page="fiche"] .btn-map,
html[data-theme="soleil"][data-page="fiche"] .btn-annuler { border-color: var(--border); }
html[data-theme="soleil"][data-page="fiche"] .btn-waze:hover,
html[data-theme="soleil"][data-page="fiche"] .btn-drive:hover,
html[data-theme="soleil"][data-page="fiche"] .btn-mail:hover,
html[data-theme="soleil"][data-page="fiche"] .btn-map:hover,
html[data-theme="soleil"][data-page="fiche"] .btn-annuler:hover { border-color: var(--white); }
html[data-theme="soleil"][data-page="fiche"] .card-projet.projet-actif { border-left-color: #A66908; }
html[data-theme="soleil"][data-page="fiche"] .card-projet.projet-termine,
html[data-theme="soleil"][data-page="fiche"] .ttc-modal { border-left-color: #1F874B; }
html[data-theme="soleil"][data-page="fiche"] .card-projet.projet-archive { background: var(--bg); }
html[data-theme="soleil"][data-page="fiche"] .projet-badge.actif { color: #6C4405; border-color: #A66908; }
html[data-theme="soleil"][data-page="fiche"] .projet-badge.termine { color: #145730; border-color: #1F874B; }
html[data-theme="soleil"][data-page="fiche"] .projet-badge.archive,
html[data-theme="soleil"][data-page="fiche"] .projet-actions .btn-projet-archiver { color: var(--gray); }
html[data-theme="soleil"][data-page="fiche"] .projet-actions .btn-projet-terminer,
html[data-theme="soleil"][data-page="fiche"] .projet-facturation-edit button.pf-save,
html[data-theme="soleil"][data-page="fiche"] .ttc-modal-actions .ttc-valider { color: #166035; border-color: #1F874B; }
html[data-theme="soleil"][data-page="fiche"] .projet-actions .btn-projet-terminer:hover:not(:disabled) { background: #1D7F46; border-color: #1F874B; color: #fff; }
html[data-theme="soleil"][data-page="fiche"] .projet-actions .btn-projet-archiver:hover:not(:disabled) { color: #fff; }
html[data-theme="soleil"][data-page="fiche"] .projet-actions .btn-projet-reactiver { color: #754A06; border-color: #A66908; }
html[data-theme="soleil"][data-page="fiche"] .projet-actions .btn-projet-reactiver:hover:not(:disabled) { border-color: #A66908; color: #1a1a1a; }
html[data-theme="soleil"][data-page="fiche"] .projet-suggestion { color: #155C33; border-color: #1F874B; border-left-color: #1F874B; font-size: 13px; }
html[data-theme="soleil"][data-page="fiche"] .projet-suggestion button { background: #1D7F46; border-color: #1F874B; font-size: 13px; }
html[data-theme="soleil"][data-page="fiche"] .projet-suggestion button:hover { background: #1C7E46; color: #FFFFFF; }
html[data-theme="soleil"][data-page="fiche"] .projet-readonly-banner { color: var(--gray); font-size: 13px; }
html[data-theme="soleil"][data-page="fiche"] .projet-facturation { background: rgba(0,0,0,0.039); border-left-color: #1F874B; }
html[data-theme="soleil"][data-page="fiche"] .projet-facturation-row .pf-value.amount { color: #166035; }
html[data-theme="soleil"][data-page="fiche"] .projet-facturation-edit input:focus,
html[data-theme="soleil"][data-page="fiche"] .ttc-modal input:focus { border-color: #1F874B; }
html[data-theme="soleil"][data-page="fiche"] .projet-facturation-edit button.pf-save:hover,
html[data-theme="soleil"][data-page="fiche"] .ttc-modal-actions .ttc-valider:hover:not(:disabled) { background: #1D7F46; color: #fff; }
html[data-theme="soleil"][data-page="fiche"] .ttc-modal .ttc-preview { color: #166035; font-size: 13px; }
html[data-theme="soleil"][data-page="fiche"] .ttc-modal .ttc-preview.invalid { color: var(--red); }
html[data-theme="soleil"][data-page="fiche"] #toast.error { background: #D91C1C; color: #FFFFFF; }
html[data-theme="soleil"][data-page="fiche"] .photos-actions .btn-photo-take:disabled { background: #D0D0D0; color: var(--gray); border-color: var(--border); }
html[data-theme="soleil"][data-page="fiche"] .photo-progress { background: var(--dark); color: #145730; border-color: #1F874B; font-size: 13px; }
html[data-theme="soleil"][data-page="fiche"] .photo-progress.error { background: #FBE0E0; color: #910000; border-color: var(--red); }
html[data-theme="soleil"][data-page="fiche"] .fiche-retour { color: var(--white); border-color: var(--border); font-size: 13px; }
html[data-theme="soleil"][data-page="fiche"] .fiche-retour:hover { border-color: #CC0000; }
@media (max-width: 768px) {
  html[data-theme="soleil"][data-page="fiche"] .actions .btn,
  html[data-theme="soleil"][data-page="fiche"] .pbadge,
  html[data-theme="soleil"][data-page="fiche"] [data-fiche-footer],
  html[data-theme="soleil"][data-page="fiche"] div[style*="text-align:center"] { font-size: 13px; }
}

/* pages/kanban-projets.html */
html[data-theme="soleil"][data-page="kanban-projets"] .stats,
html[data-theme="soleil"][data-page="kanban-projets"] header input,
html[data-theme="soleil"][data-page="kanban-projets"] header select,
html[data-theme="soleil"][data-page="kanban-projets"] .header-label,
html[data-theme="soleil"][data-page="kanban-projets"] .btn-reset-filters,
html[data-theme="soleil"][data-page="kanban-projets"] .column-header,
html[data-theme="soleil"][data-page="kanban-projets"] .column-body:empty::after,
html[data-theme="soleil"][data-page="kanban-projets"] .card-id,
html[data-theme="soleil"][data-page="kanban-projets"] .badge,
html[data-theme="soleil"][data-page="kanban-projets"] .card-title,
html[data-theme="soleil"][data-page="kanban-projets"] .card-entreprise,
html[data-theme="soleil"][data-page="kanban-projets"] .card-commune,
html[data-theme="soleil"][data-page="kanban-projets"] .card-links a { font-size: 13px; }
html[data-theme="soleil"][data-page="kanban-projets"] .btn-refresh,
html[data-theme="soleil"][data-page="kanban-projets"] #toast { color: #FFFFFF; font-size: 13px; }
html[data-theme="soleil"][data-page="kanban-projets"] .btn-refresh:hover { color: #FFFFFF; }
html[data-theme="soleil"][data-page="kanban-projets"] .col-p1 .column-header { color: var(--white); }
html[data-theme="soleil"][data-page="kanban-projets"] .col-p2 .column-header { color: #175783; }
html[data-theme="soleil"][data-page="kanban-projets"] .col-p3 .column-header,
html[data-theme="soleil"][data-page="kanban-projets"] .badge.mode-projet { color: #335295; }
html[data-theme="soleil"][data-page="kanban-projets"] .col-p3_1 .column-header { color: #2A4FA9; }
html[data-theme="soleil"][data-page="kanban-projets"] .col-p4 .column-header { color: #754A06; border-top-color: #A66908; }
html[data-theme="soleil"][data-page="kanban-projets"] .col-p5 .column-header { color: #166135; border-top-color: #1E864A; }
html[data-theme="soleil"][data-page="kanban-projets"] .col-count { background: rgba(0,0,0,0.104); color: #8F0000; font-size: 13px; }
html[data-theme="soleil"][data-page="kanban-projets"] .col-total { background: rgba(0,0,0,0.052); font-size: 13px; }
html[data-theme="soleil"][data-page="kanban-projets"] .card:hover { background: #EFEFEF; }
html[data-theme="soleil"][data-page="kanban-projets"] .col-p4 .card { border-left-color: #A66908; }
html[data-theme="soleil"][data-page="kanban-projets"] .col-p5 .card { border-left-color: #1E864A; }
html[data-theme="soleil"][data-page="kanban-projets"] .badge.mode-passage { color: #166135; }
html[data-theme="soleil"][data-page="kanban-projets"] .card-fact { background: rgba(0,0,0,0.039); font-size: 13px; }
html[data-theme="soleil"][data-page="kanban-projets"] .card-fact-amount { color: #166035; }
html[data-theme="soleil"][data-page="kanban-projets"] .link-efac { background: #406ACF; }
html[data-theme="soleil"][data-page="kanban-projets"] .link-efac:hover { background: #3769D9; color: #FFFFFF; border-color: #4271DC !important; }
html[data-theme="soleil"][data-page="kanban-projets"] .link-mail { border-color: #A66908 !important; }
html[data-theme="soleil"][data-page="kanban-projets"] .link-mail:hover { background: #9A6407; color: #FFFFFF; border-color: #A26907 !important; }
html[data-theme="soleil"][data-page="kanban-projets"] #toast.error { background: #D91C1C; color: #FFFFFF; }
html[data-theme="soleil"][data-page="kanban-projets"] .err-carte { color: #A12114; font-size: 13px; }
html[data-theme="soleil"][data-page="kanban-projets"] #loader { background: rgba(255,255,255,0.92); font-size: 13px; }

/* pages/kanban.html */
html[data-theme="soleil"][data-page="kanban"] .stats,
html[data-theme="soleil"][data-page="kanban"] header input,
html[data-theme="soleil"][data-page="kanban"] header select,
html[data-theme="soleil"][data-page="kanban"] .header-label,
html[data-theme="soleil"][data-page="kanban"] .header-label input[type=date],
html[data-theme="soleil"][data-page="kanban"] .btn-shortcut,
html[data-theme="soleil"][data-page="kanban"] .btn-reset-filters,
html[data-theme="soleil"][data-page="kanban"] .column-header,
html[data-theme="soleil"][data-page="kanban"] .column-body:empty::after,
html[data-theme="soleil"][data-page="kanban"] .card-attente,
html[data-theme="soleil"][data-page="kanban"] .card-id,
html[data-theme="soleil"][data-page="kanban"] .badge,
html[data-theme="soleil"][data-page="kanban"] .card-title,
html[data-theme="soleil"][data-page="kanban"] .card-entreprise,
html[data-theme="soleil"][data-page="kanban"] .card-commune,
html[data-theme="soleil"][data-page="kanban"] .card-dates,
html[data-theme="soleil"][data-page="kanban"] .card-links a { font-size: 13px; }
html[data-theme="soleil"][data-page="kanban"] .btn-refresh,
html[data-theme="soleil"][data-page="kanban"] #toast { color: #FFFFFF; font-size: 13px; }
html[data-theme="soleil"][data-page="kanban"] .btn-refresh:hover,
html[data-theme="soleil"][data-page="kanban"] .badge-urgent-toggle.active,
html[data-theme="soleil"][data-page="kanban"] .badge-urgent-toggle:hover.active { color: #FFFFFF; }
html[data-theme="soleil"][data-page="kanban"] .col-20 .column-header { color: #754A06; border-top-color: #A66908; }
html[data-theme="soleil"][data-page="kanban"] .col-21 .column-header { color: var(--gray); }
html[data-theme="soleil"][data-page="kanban"] .col-22 .column-header { color: #7F430E; border-top-color: #B45F14; }
html[data-theme="soleil"][data-page="kanban"] .col-221 .column-header { color: #645106; border-top-color: #8D7208; }
html[data-theme="soleil"][data-page="kanban"] .col-23 .column-header,
html[data-theme="soleil"][data-page="kanban"] .date-max { color: #A12114; }
html[data-theme="soleil"][data-page="kanban"] .col-24 .column-header,
html[data-theme="soleil"][data-page="kanban"] .col-25 .column-header { color: #743D8B; }
html[data-theme="soleil"][data-page="kanban"] .col-26 .column-header { color: #335295; }
html[data-theme="soleil"][data-page="kanban"] .col-30 .column-header { color: #166035; border-top-color: #1F874B; }
html[data-theme="soleil"][data-page="kanban"] .col-count { background: rgba(0,0,0,0.104); color: #8F0000; font-size: 13px; }
html[data-theme="soleil"][data-page="kanban"] .card:hover { background: #EFEFEF; }
html[data-theme="soleil"][data-page="kanban"] .col-20 .card { border-left-color: #A66908; }
html[data-theme="soleil"][data-page="kanban"] .col-22 .card { border-left-color: #B45F14; }
html[data-theme="soleil"][data-page="kanban"] .col-221 .card { border-left-color: #8D7208; }
html[data-theme="soleil"][data-page="kanban"] .col-30 .card { border-left-color: #1F874B; }
html[data-theme="soleil"][data-page="kanban"] .badge-pas2 { color: #754A06; border-color: #A66908; }
html[data-theme="soleil"][data-page="kanban"] .badge-prest { color: #175783; }
html[data-theme="soleil"][data-page="kanban"] .badge-facture { color: #166035; border-color: #1F874B; }
html[data-theme="soleil"][data-page="kanban"] .badge-go-toggle.ghost,
html[data-theme="soleil"][data-page="kanban"] .badge-urgent-toggle.ghost { color: var(--gray); border-color: var(--border); }
html[data-theme="soleil"][data-page="kanban"] .badge-go-toggle:hover.ghost,
html[data-theme="soleil"][data-page="kanban"] .badge-urgent-toggle:hover.ghost { color: var(--red); border-color: var(--red); }
html[data-theme="soleil"][data-page="kanban"] .date-mini { color: #166035; }
html[data-theme="soleil"][data-page="kanban"] .date-fixe { color: #0053A7; }
html[data-theme="soleil"][data-page="kanban"] .link-efac { background: #406ACF; }
html[data-theme="soleil"][data-page="kanban"] .link-efac:hover { background: #3769D9; color: #FFFFFF; border-color: #4271DC !important; }
html[data-theme="soleil"][data-page="kanban"] .link-waze:hover { color: #005A78; border-color: #007EA8; }
html[data-theme="soleil"][data-page="kanban"] #toast.error { background: #D91C1C; color: #FFFFFF; }
html[data-theme="soleil"][data-page="kanban"] .err-carte { color: #A12114; font-size: 13px; }
html[data-theme="soleil"][data-page="kanban"] #loader { background: rgba(255,255,255,0.92); font-size: 13px; }
@media (max-width: 768px) {
  html[data-theme="soleil"][data-page="kanban"] .btn-filtres-toggle,
  html[data-theme="soleil"][data-page="kanban"] .badge-go-toggle,
  html[data-theme="soleil"][data-page="kanban"] .badge-urgent-toggle,
  html[data-theme="soleil"][data-page="kanban"] header input[type=date] { font-size: 13px; }
}

/* pages/prospects.html */
html[data-theme="soleil"][data-page="prospects"] .stats,
html[data-theme="soleil"][data-page="prospects"] header input,
html[data-theme="soleil"][data-page="prospects"] header select,
html[data-theme="soleil"][data-page="prospects"] .header-label,
html[data-theme="soleil"][data-page="prospects"] .btn-reset-filters,
html[data-theme="soleil"][data-page="prospects"] .column-header,
html[data-theme="soleil"][data-page="prospects"] .column-body:empty::after,
html[data-theme="soleil"][data-page="prospects"] .card-id,
html[data-theme="soleil"][data-page="prospects"] .badge,
html[data-theme="soleil"][data-page="prospects"] .card-title,
html[data-theme="soleil"][data-page="prospects"] .card-entreprise,
html[data-theme="soleil"][data-page="prospects"] .card-commune,
html[data-theme="soleil"][data-page="prospects"] .card-links a,
html[data-theme="soleil"][data-page="prospects"] #modal label,
html[data-theme="soleil"][data-page="prospects"] #modal input,
html[data-theme="soleil"][data-page="prospects"] #modal select,
html[data-theme="soleil"][data-page="prospects"] #modal textarea,
html[data-theme="soleil"][data-page="prospects"] #modal .chip { font-size: 13px; }
html[data-theme="soleil"][data-page="prospects"] .btn-refresh,
html[data-theme="soleil"][data-page="prospects"] #toast,
html[data-theme="soleil"][data-page="prospects"] #modal button { color: #FFFFFF; font-size: 13px; }
html[data-theme="soleil"][data-page="prospects"] .btn-new { background: #1C7E46; color: #FFFFFF; font-size: 13px; }
html[data-theme="soleil"][data-page="prospects"] .btn-refresh:hover,
html[data-theme="soleil"][data-page="prospects"] #modal .chip[aria-pressed="true"] { color: #FFFFFF; }
html[data-theme="soleil"][data-page="prospects"] .btn-new:hover { background: #1D7F47; color: #FFFFFF; }
html[data-theme="soleil"][data-page="prospects"] .col-s0 .column-header { color: #0D5E4E; border-top-color: #12846E; }
html[data-theme="soleil"][data-page="prospects"] .col-s1 .column-header,
html[data-theme="soleil"][data-page="prospects"] .badge.score-froid { color: #175783; }
html[data-theme="soleil"][data-page="prospects"] .col-s2 .column-header { color: #743D8B; }
html[data-theme="soleil"][data-page="prospects"] .col-s3 .column-header { color: #754A06; border-top-color: #A66908; }
html[data-theme="soleil"][data-page="prospects"] .col-s4 .column-header { color: #166135; border-top-color: #1E864A; }
html[data-theme="soleil"][data-page="prospects"] .col-s5 .column-header,
html[data-theme="soleil"][data-page="prospects"] #modal button.secondary { color: var(--gray); }
html[data-theme="soleil"][data-page="prospects"] .col-count { background: rgba(0,0,0,0.104); color: #8F0000; font-size: 13px; }
html[data-theme="soleil"][data-page="prospects"] .col-total { background: rgba(0,0,0,0.052); font-size: 13px; }
html[data-theme="soleil"][data-page="prospects"] .card:hover { background: #EFEFEF; }
html[data-theme="soleil"][data-page="prospects"] .col-s0 .card { border-left-color: #12846E; }
html[data-theme="soleil"][data-page="prospects"] .col-s3 .card { border-left-color: #A66908; }
html[data-theme="soleil"][data-page="prospects"] .col-s4 .card { border-left-color: #1E864A; }
html[data-theme="soleil"][data-page="prospects"] .badge.score-chaud,
html[data-theme="soleil"][data-page="prospects"] .badge.next-due { color: #A12114; }
html[data-theme="soleil"][data-page="prospects"] .badge.score-tiede { color: #754A06; border-color: #A4690C; }
html[data-theme="soleil"][data-page="prospects"] .card-meta { background: rgba(0,0,0,0.039); font-size: 13px; }
html[data-theme="soleil"][data-page="prospects"] .card-meta-amount { color: #166035; }
html[data-theme="soleil"][data-page="prospects"] .link-convert:hover { color: #166135; border-color: #1E864A; }
html[data-theme="soleil"][data-page="prospects"] #toast.error { background: #D91C1C; color: #FFFFFF; }
html[data-theme="soleil"][data-page="prospects"] #toast.success { background: #E0FBE8; color: #145A32; border-color: #1E864A; }
html[data-theme="soleil"][data-page="prospects"] #loader { background: rgba(255,255,255,0.92); font-size: 13px; }

/* pages/reactivation.html */
html[data-theme="soleil"][data-page="reactivation"] .header-title,
html[data-theme="soleil"][data-page="reactivation"] .btn-back,
html[data-theme="soleil"][data-page="reactivation"] .btn-export,
html[data-theme="soleil"][data-page="reactivation"] .subtitle,
html[data-theme="soleil"][data-page="reactivation"] .controls label,
html[data-theme="soleil"][data-page="reactivation"] .slider-value,
html[data-theme="soleil"][data-page="reactivation"] .controls input[type=text],
html[data-theme="soleil"][data-page="reactivation"] .controls select,
html[data-theme="soleil"][data-page="reactivation"] .kpi-lbl,
html[data-theme="soleil"][data-page="reactivation"] tbody td,
html[data-theme="soleil"][data-page="reactivation"] .relance-cell,
html[data-theme="soleil"][data-page="reactivation"] .actions-cell button,
html[data-theme="soleil"][data-page="reactivation"] .actions-cell a,
html[data-theme="soleil"][data-page="reactivation"] #modal label,
html[data-theme="soleil"][data-page="reactivation"] #modal input,
html[data-theme="soleil"][data-page="reactivation"] #modal select,
html[data-theme="soleil"][data-page="reactivation"] #modal textarea { font-size: 13px; }
html[data-theme="soleil"][data-page="reactivation"] .btn-refresh,
html[data-theme="soleil"][data-page="reactivation"] .controls .btn-save-seuil,
html[data-theme="soleil"][data-page="reactivation"] #modal button,
html[data-theme="soleil"][data-page="reactivation"] #toast { color: #FFFFFF; font-size: 13px; }
html[data-theme="soleil"][data-page="reactivation"] .btn-refresh:hover { color: #FFFFFF; }
html[data-theme="soleil"][data-page="reactivation"] thead th { background: #E5E5E5; font-size: 13px; }
html[data-theme="soleil"][data-page="reactivation"] tbody tr:hover { background: #EFEFEF; }
html[data-theme="soleil"][data-page="reactivation"] .jours-inact.crit { color: #A12114; }
html[data-theme="soleil"][data-page="reactivation"] .jours-inact.ok { color: #645106; }
html[data-theme="soleil"][data-page="reactivation"] .badge-sans-hist { color: #6E4506; font-size: 13px; }
html[data-theme="soleil"][data-page="reactivation"] .tag-chip { background: rgba(0,0,0,0.078); font-size: 13px; }
html[data-theme="soleil"][data-page="reactivation"] .actions-cell a.in-pipeline:hover { color: #155A32; }
html[data-theme="soleil"][data-page="reactivation"] #modal button.secondary { color: var(--gray); }
html[data-theme="soleil"][data-page="reactivation"] #toast.error { background: #D91C1C; color: #FFFFFF; }
html[data-theme="soleil"][data-page="reactivation"] #toast.success { background: #E0FBE8; color: #155A32; }
html[data-theme="soleil"][data-page="reactivation"] #loader { background: rgba(255,255,255,0.92); font-size: 13px; }

/* pages/sidebar.html */
html[data-theme="soleil"][data-page="sidebar"] .btn-gmail,
html[data-theme="soleil"][data-page="sidebar"] .btn-creer,
html[data-theme="soleil"][data-page="sidebar"] #sidebar-toast { color: #FFFFFF; font-size: 13px; }
html[data-theme="soleil"][data-page="sidebar"] .btn-gmail:hover,
html[data-theme="soleil"][data-page="sidebar"] .btn-creer:hover,
html[data-theme="soleil"][data-page="sidebar"] .acc-btn:hover:not(:disabled) { color: #FFFFFF; }
html[data-theme="soleil"][data-page="sidebar"] .sidebar { background: var(--dark); border-color: var(--border); }
html[data-theme="soleil"][data-page="sidebar"] .sf-topbar { background: #D91C1C; color: #FFFFFF; font-size: 13px; }
html[data-theme="soleil"][data-page="sidebar"] .sf-label,
html[data-theme="soleil"][data-page="sidebar"] .sf-input,
html[data-theme="soleil"][data-page="sidebar"] .passage-num,
html[data-theme="soleil"][data-page="sidebar"] .checkbox-card label,
html[data-theme="soleil"][data-page="sidebar"] .btn-add-passage,
html[data-theme="soleil"][data-page="sidebar"] .btn-sub,
html[data-theme="soleil"][data-page="sidebar"] #entreprise-info,
html[data-theme="soleil"][data-page="sidebar"] #entreprise-info .ei-nom,
html[data-theme="soleil"][data-page="sidebar"] #resultat,
html[data-theme="soleil"][data-page="sidebar"] .accordion-trigger,
html[data-theme="soleil"][data-page="sidebar"] .accordion-chevron,
html[data-theme="soleil"][data-page="sidebar"] .acc-label,
html[data-theme="soleil"][data-page="sidebar"] .pib-key,
html[data-theme="soleil"][data-page="sidebar"] .acc-btn,
html[data-theme="soleil"][data-page="sidebar"] .acc-note,
html[data-theme="soleil"][data-page="sidebar"] .acc-checkbox-card label,
html[data-theme="soleil"][data-page="sidebar"] .sf-retour { font-size: 13px; }
html[data-theme="soleil"][data-page="sidebar"] .sf-section-sep { background: #FAFAFA; font-size: 13px; }
html[data-theme="soleil"][data-page="sidebar"] .passage-header,
html[data-theme="soleil"][data-page="sidebar"] .accordion-body { background: #FAFAFA; }
html[data-theme="soleil"][data-page="sidebar"] .pb-label,
html[data-theme="soleil"][data-page="sidebar"] .pib-val { color: var(--gray); font-size: 13px; }
html[data-theme="soleil"][data-page="sidebar"] .pb-input,
html[data-theme="soleil"][data-page="sidebar"] .btn-add-passage .plus-icon,
html[data-theme="soleil"][data-page="sidebar"] .acc-input { border-color: var(--border); font-size: 13px; }
html[data-theme="soleil"][data-page="sidebar"] .pb-input:focus,
html[data-theme="soleil"][data-page="sidebar"] .btn-add-passage:hover .plus-icon,
html[data-theme="soleil"][data-page="sidebar"] .acc-input:focus { border-color: var(--red); }
html[data-theme="soleil"][data-page="sidebar"] .date-bloc,
html[data-theme="soleil"][data-page="sidebar"] .acc-btn:disabled,
html[data-theme="soleil"][data-page="sidebar"] .acc-checkbox-card { border-color: var(--border); }
html[data-theme="soleil"][data-page="sidebar"] .date-fixe-inner { background: #FAFAFA; border-color: var(--border); }
html[data-theme="soleil"][data-page="sidebar"] .date-label-mini { color: #166035; }
html[data-theme="soleil"][data-page="sidebar"] .date-label-fixe { color: #0053A7; }
html[data-theme="soleil"][data-page="sidebar"] .date-label-max,
html[data-theme="soleil"][data-page="sidebar"] .pib-val.danger,
html[data-theme="soleil"][data-page="sidebar"] .acc-note.danger { color: #A12114; }
html[data-theme="soleil"][data-page="sidebar"] .btn-add-passage:hover { background: #EFEFEF; }
html[data-theme="soleil"][data-page="sidebar"] .btn-creer:disabled { background: #D0D0D0; color: var(--gray); }
html[data-theme="soleil"][data-page="sidebar"] .accordion-trigger:hover,
html[data-theme="soleil"][data-page="sidebar"] .projet-info-box { background: var(--dark); }
html[data-theme="soleil"][data-page="sidebar"] .accordion-trigger.open { background: #FBE0E0; color: #910000; }
html[data-theme="soleil"][data-page="sidebar"] .trigger-dot { background: #D0D0D0; }
html[data-theme="soleil"][data-page="sidebar"] .acc-sep { border-top-color: var(--border); }
html[data-theme="soleil"][data-page="sidebar"] .pib-row { border-bottom-color: var(--border); }
html[data-theme="soleil"][data-page="sidebar"] .pib-val.highlight { color: var(--red); }
html[data-theme="soleil"][data-page="sidebar"] #gmailThreadId-wrap { background: var(--bg); border-color: var(--border); font-size: 13px; }
html[data-theme="soleil"][data-page="sidebar"] #gmailThreadId-wrap.linked { background: var(--dark); color: #145730; border-color: #1a3a1a; }
html[data-theme="soleil"][data-page="sidebar"] #sidebar-toast.erreur { background: #D91C1C; color: #FFFFFF; }

/* pages/stats.html */
html[data-theme="soleil"][data-page="stats"] .section-title,
html[data-theme="soleil"][data-page="stats"] .kpi-label,
html[data-theme="soleil"][data-page="stats"] .kpi-detail,
html[data-theme="soleil"][data-page="stats"] .chart-legend,
html[data-theme="soleil"][data-page="stats"] .prev-info,
html[data-theme="soleil"][data-page="stats"] .retards-summary,
html[data-theme="soleil"][data-page="stats"] .retard-client-meta,
html[data-theme="soleil"][data-page="stats"] .retard-facture-row .rf-meta,
html[data-theme="soleil"][data-page="stats"] .ech-summary,
html[data-theme="soleil"][data-page="stats"] .ech-toolbar button,
html[data-theme="soleil"][data-page="stats"] .ech-table,
html[data-theme="soleil"][data-page="stats"] .ech-table .ech-mode,
html[data-theme="soleil"][data-page="stats"] .chart-bar .tooltip,
html[data-theme="soleil"][data-page="stats"] .chart-month-label,
html[data-theme="soleil"][data-page="stats"] table td,
html[data-theme="soleil"][data-page="stats"] table td.col-n,
html[data-theme="soleil"][data-page="stats"] .top-title,
html[data-theme="soleil"][data-page="stats"] .top-row,
html[data-theme="soleil"][data-page="stats"] .top-rank,
html[data-theme="soleil"][data-page="stats"] .top-count,
html[data-theme="soleil"][data-page="stats"] .top-empty,
html[data-theme="soleil"][data-page="stats"] .hbar-row,
html[data-theme="soleil"][data-page="stats"] .hbar-value { font-size: 13px; }
html[data-theme="soleil"][data-page="stats"] .kpi-card.kpi-vieil-alert { background: #D91C1C; color: #FFFFFF; }
html[data-theme="soleil"][data-page="stats"] .retard-client-header:hover,
html[data-theme="soleil"][data-page="stats"] .ech-table tbody tr:hover:not(.disabled) td { background: rgba(0,0,0,0.026); }
html[data-theme="soleil"][data-page="stats"] .retard-facture-row { border-top-color: var(--border); font-size: 13px; }
html[data-theme="soleil"][data-page="stats"] .retards-empty,
html[data-theme="soleil"][data-page="stats"] .ech-empty { color: #145830; font-size: 13px; }
html[data-theme="soleil"][data-page="stats"] .ech-table th { background: rgba(0,0,0,0.026); font-size: 13px; }
html[data-theme="soleil"][data-page="stats"] .ech-table .ech-late { color: #7F430E; }
html[data-theme="soleil"][data-page="stats"] .ech-table .ech-cumul,
html[data-theme="soleil"][data-page="stats"] .ech-table tfoot .ech-cumul-total { color: #166035; }
html[data-theme="soleil"][data-page="stats"] .ech-table .ech-mode.passage { color: #166135; }
html[data-theme="soleil"][data-page="stats"] table th { background: #FAFAFA; font-size: 13px; }
html[data-theme="soleil"][data-page="stats"] .top-row + .top-row,
html[data-theme="soleil"][data-page="stats"] .hbar-row + .hbar-row { border-top-color: var(--border); }
html[data-theme="soleil"][data-page="stats"] .hbar-track { background: #ECECEC; }
html[data-theme="soleil"][data-page="stats"] #loader { background: rgba(255,255,255,0.92); font-size: 13px; }
html[data-theme="soleil"][data-page="stats"] #erreur { background: #FBE0E0; color: #910000; }
/* ══ GÉNÉRÉ-FIN ══ */

/* ── 6. Styles en ligne des gabarits (style="…" écrit dans le HTML ou le JS des pages) ──
   Un attribut style l'emporte sur toute feuille : surcharges ciblées par le texte de
   l'attribut, avec !important. « :not([style*="background"]) » : un texte clair posé
   sur un fond coloré dans le même attribut reste clair. */
/* Textes gris et clairs pensés pour le fond noir */
html[data-theme="soleil"] [style*="color:#888" i]:not([style*="background" i]),
html[data-theme="soleil"] [style*="color: #888" i]:not([style*="background" i]),
html[data-theme="soleil"] [style*="color:#999" i]:not([style*="background" i]),
html[data-theme="soleil"] [style*="color:#aaa" i]:not([style*="background" i]),
html[data-theme="soleil"] [style*="color:#666" i]:not([style*="background" i]),
html[data-theme="soleil"] [style*="color: #666" i]:not([style*="background" i]),
html[data-theme="soleil"] [style*="color:#555" i]:not([style*="background" i]),
html[data-theme="soleil"] [style*="color:#ccc" i]:not([style*="background" i]),
html[data-theme="soleil"] [style*="color:#7f8c8d" i]:not([style*="background" i]) { color: #3D3D3D !important; }
html[data-theme="soleil"] [style*="color:#F0F0F0" i]:not([style*="background" i]),
html[data-theme="soleil"] [style*="color:#fff;" i]:not([style*="background" i]),
html[data-theme="soleil"] [style*="color:white" i]:not([style*="background" i]) { color: #111111 !important; }
/* Couleurs d'état vives → même teinte foncée (≥ 7:1 sur blanc) */
html[data-theme="soleil"] [style*="color:#f39c12" i]:not([style*="background" i]) { color: #754A06 !important; }
html[data-theme="soleil"] [style*="color:#e67e22" i]:not([style*="background" i]) { color: #7F430E !important; }
html[data-theme="soleil"] [style*="color:#2ecc71" i]:not([style*="background" i]),
html[data-theme="soleil"] [style*="color:#27ae60" i]:not([style*="background" i]) { color: #166035 !important; }
html[data-theme="soleil"] [style*="color:#3498db" i]:not([style*="background" i]) { color: #175783 !important; }
html[data-theme="soleil"] [style*="color:#74b9ff" i]:not([style*="background" i]) { color: #0053A7 !important; }
html[data-theme="soleil"] [style*="color:#e74c3c" i]:not([style*="background" i]) { color: #A12114 !important; }
html[data-theme="soleil"] [style*="color:#CC0000" i]:not([style*="background" i]) { color: #A30000 !important; }
html[data-theme="soleil"] [style*="solid #f39c12" i] { border-color: #A66908 !important; }
html[data-theme="soleil"] [style*="solid #3498db" i] { border-color: #1F6FA8 !important; }
html[data-theme="soleil"] [style*="solid #2ecc71" i] { border-color: #1F874B !important; }
/* Fonds noirs (barre du haut de la fiche, champs de la fenêtre de saisie) → clairs */
html[data-theme="soleil"] [style*="background:#0A0A0A" i] { background: #FFFFFF !important; color: #111111 !important; }
html[data-theme="soleil"] [style*="solid #1E1E1E" i] { border-color: #767676 !important; }
/* Boutons verts à texte blanc : vert foncé (texte blanc ≥ 5:1) */
html[data-theme="soleil"] [style*="background:#27ae60" i] { background: #1D7F46 !important; }
/* Aucun texte sous 13 px */
html[data-theme="soleil"] [style*="font-size:8px" i],
html[data-theme="soleil"] [style*="font-size:9px" i],
html[data-theme="soleil"] [style*="font-size:10px" i],
html[data-theme="soleil"] [style*="font-size:11px" i],
html[data-theme="soleil"] [style*="font-size: 11px" i],
html[data-theme="soleil"] [style*="font-size:12px" i],
html[data-theme="soleil"] [style*="font-size: 12px" i] { font-size: 13px !important; }
/* Pastilles d'état dont le script pose la couleur (style="background:<couleur de l'état>") :
   texte blanc détouré de noir, lisible sur toutes les couleurs d'état (jaune compris). */
html[data-theme="soleil"][data-page="fiche"] .badge[style*="background"],
html[data-theme="soleil"][data-page="fiche-projet"] .etat-badge[style*="background"],
html[data-theme="soleil"] [style*="background:#"][style*="color:#fff"] {
  color: #FFFFFF !important; text-shadow: 0 0 3px rgba(0,0,0,0.9), 0 1px 1px rgba(0,0,0,0.9);
}
/* Création de chantier : encadré de résultat coloré par le script (style.background…) */
html[data-theme="soleil"][data-page="sidebar"] #resultat { background: #F2F2F2 !important; color: #111111 !important; font-size: 13px !important; }
html[data-theme="soleil"][data-page="sidebar"] #resultat [style*="color"] { color: #754A06 !important; }
/* V6.23 relecture — création : « ← Accueil » de la barre rouge, sans voile (2,9:1 sinon) */
html[data-theme="soleil"][data-page="sidebar"] .sf-topbar .sf-retour { opacity: 1; }
/* V6.23 relecture — fiche : « 💶 Saisir la facture » (fond orange en ligne) : orange foncé, texte blanc ≥ 5:1 */
html[data-theme="soleil"][data-page="fiche"] .btn-modifier[style*="background:#f39c12" i] { background: #9A6108 !important; }
/* V6.23 relecture (C3) — carte : état du passage dans la bulle en texte foncé (section 5) et
   couleur de l'état en pastille (--etat posée par le script : le jaune 2.2.1 était à 1,5:1) */
html[data-theme="soleil"][data-page="carte"] .popup-etat::before {
  content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 5px; vertical-align: -1px;
  border-radius: 50%; border: 1px solid #111111; background: var(--etat, #767676);
}

/* ── 7. Zones volontairement sombres ──────────────────────────────────────────
   La visionneuse photo de la fiche reste noire (la photo y est mise en valeur) :
   ses variables reprennent les valeurs du thème sombre pour tout son contenu. */
html[data-theme="soleil"][data-page="fiche"] #lightbox {
  --bg: #0A0A0A; --dark: #111111; --card: #161616; --border: #555555;
  --white: #F0F0F0; --gray: #BDBDBD; --red: #CC0000;
  color-scheme: dark;
}
html[data-theme="soleil"][data-page="fiche"] #lightbox-caption-edit:hover,
html[data-theme="soleil"][data-page="fiche"] #lightbox-caption-form-btns button:hover { color: #FF6B6B; }
html[data-theme="soleil"][data-page="fiche"] #lightbox-caption-form-btns .lcf-save,
html[data-theme="soleil"][data-page="fiche"] #lightbox-caption-form-btns .lcf-save:hover { color: #FFFFFF; }
/* Nom de la photo en bandeau sombre sur la vignette */
html[data-theme="soleil"][data-page="fiche"] .photo-thumb .photo-name { color: #FFFFFF; }
html[data-theme="soleil"][data-page="fiche"] .photo-thumb .photo-name,
html[data-theme="soleil"][data-page="fiche"] .photo-caption-badge,
html[data-theme="soleil"][data-page="fiche"] #lightbox-name,
html[data-theme="soleil"][data-page="fiche"] #lightbox-counter,
html[data-theme="soleil"][data-page="fiche"] #lightbox-caption,
html[data-theme="soleil"][data-page="fiche"] #lightbox-caption-edit,
html[data-theme="soleil"][data-page="fiche"] #lightbox-caption-input,
html[data-theme="soleil"][data-page="fiche"] #lightbox-caption-counter,
html[data-theme="soleil"][data-page="fiche"] #lightbox-caption-form-btns button { font-size: 13px; }

/* ── 8. Données principales (≥ 15 px) et ajustements ─────────────────────── */
/* Kanbans : cadre gris clair autour des colonnes (le gris des bordures y ferait un bandeau lourd) */
html[data-theme="soleil"]:is([data-page="kanban"],[data-page="kanban-projets"],[data-page="prospects"]) .board { background: #D9D9D9; }
/* Kanban passages : titre, dates (terrain), client */
html[data-theme="soleil"][data-page="kanban"] .card-title { font-size: 16px; }
html[data-theme="soleil"][data-page="kanban"] .card-dates { font-size: 15px; }
html[data-theme="soleil"][data-page="kanban"] .card-entreprise,
html[data-theme="soleil"][data-page="kanban"] .card-commune { font-size: 14px; opacity: 1; }
/* Kanban projets */
html[data-theme="soleil"][data-page="kanban-projets"] .card-title { font-size: 16px; }
html[data-theme="soleil"][data-page="kanban-projets"] .card-fact { font-size: 15px; }
html[data-theme="soleil"][data-page="kanban-projets"] .card-entreprise,
html[data-theme="soleil"][data-page="kanban-projets"] .card-commune { font-size: 14px; opacity: 1; }
/* Fiche passage : valeurs des champs, en-tête, montants, saisie */
html[data-theme="soleil"][data-page="fiche"] .header h1 { font-size: 22px; }
html[data-theme="soleil"][data-page="fiche"] .header .sub { font-size: 15px; }
html[data-theme="soleil"][data-page="fiche"] .field span { font-size: 16px; }
html[data-theme="soleil"][data-page="fiche"] .projet-facturation-row .pf-value { font-size: 16px; }
html[data-theme="soleil"][data-page="fiche"] .checkbox-row label { font-size: 15px; }
html[data-theme="soleil"][data-page="fiche"] .field input,
html[data-theme="soleil"][data-page="fiche"] .field select,
html[data-theme="soleil"][data-page="fiche"] .field textarea { font-size: 16px; }
/* Fiche projet */
html[data-theme="soleil"][data-page="fiche-projet"] .info-row,
html[data-theme="soleil"][data-page="fiche-projet"] .fact-row { font-size: 15px; }
html[data-theme="soleil"][data-page="fiche-projet"] .passages-table { font-size: 14px; }
/* Carte : fenêtre d'un chantier et filtres */
html[data-theme="soleil"][data-page="carte"] .popup-title { font-size: 16px; }
html[data-theme="soleil"][data-page="carte"] .popup-dates { font-size: 15px; }
html[data-theme="soleil"][data-page="carte"] .popup-co,
html[data-theme="soleil"][data-page="carte"] .popup-meta,
html[data-theme="soleil"][data-page="carte"] .check-label { font-size: 14px; }
/* Accueil */
html[data-theme="soleil"][data-page="index"] .nav-desc { font-size: 14px; }
/* V6.23 finitions (soleil-0) — prospects : les puces « Type de client » sont des <button class="chip"> ;
   la surcharge de « #modal button » (texte blanc des boutons rouges) écrasait « #modal .chip » de la
   page : blanc sur fond clair (1,12:1). Même ordre que la page (choisie après survol). */
html[data-theme="soleil"][data-page="prospects"] #modal .chip { color: var(--gray); }
html[data-theme="soleil"][data-page="prospects"] #modal .chip:hover { color: var(--white); }
html[data-theme="soleil"][data-page="prospects"] #modal .chip[aria-pressed="true"] { color: #FFFFFF; }
/* Statistiques : total du prévisionnel en 14 px (la surcharge de « table td » le ramenait à 13 px) */
html[data-theme="soleil"][data-page="stats"] .ech-table tfoot .ech-cumul-total { font-size: 14px; }
/* V6.23 finitions (soleil-1) — textes voilés (opacité 0,7 : 4,24:1) : commune des cartes prospects,
   « — plusieurs possibles » des fenêtres prospect (comme .card-commune des kanbans ci-dessus) */
html[data-theme="soleil"][data-page="prospects"] .card-commune,
html[data-theme="soleil"][data-page="prospects"] #modal label .hint,
html[data-theme="soleil"][data-page="fiche-prospect"] .field label .hint { opacity: 1; }
