/* SOR-PB V37 · Mode jour / nuit — palette centralisée, contrastes contrôlés. */
.sor-theme-toggle{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--text-main,#ededed);cursor:pointer;transition:background .14s,border-color .14s}
.sor-theme-toggle:hover{border-color:var(--red);background:var(--panel)}
.sor-theme-toggle:focus-visible,.sor-theme-select:focus-visible{outline:2px solid #a94b55;outline-offset:2px}
.sor-theme-toggle i{font-size:17px}
.sor-theme-sun{display:none!important}
html[data-sor-theme="light"] .sor-theme-sun{display:inline-block!important}
html[data-sor-theme="light"] .sor-theme-moon{display:none!important}
.sor-theme-settings{display:flex;flex-direction:column;gap:7px;margin:0 0 13px;padding:10px 11px;border-radius:9px;background:var(--panel2);border:1px solid var(--line)}
.sor-theme-label{display:flex;align-items:center;gap:9px;color:var(--text-main,#eee);font-size:12px;font-weight:700}
.sor-theme-label i{color:var(--red,#9b3038)}
.sor-theme-select{min-height:38px;width:100%;border-radius:7px;border:1px solid var(--line);background:var(--bg);color:var(--text-main,#eee);padding:6px 9px;font-size:12px;cursor:pointer}
.sor-login-theme{display:flex;justify-content:flex-end;margin:-15px -10px 14px 0}
@media(max-width:800px){.sor-theme-toggle{width:42px;height:44px;min-width:42px}.mobile-sidebar .sor-theme-settings{margin:0 0 7px}}
@media(max-width:390px){.sor-theme-toggle{width:35px;min-width:35px;height:40px}.sor-top-actions{gap:4px!important}}

/* Le thème sombre de la V36 reste inchangé. Le thème clair agit uniquement
   sur l'interface : jamais sur les tuiles et les couleurs géographiques. */
html[data-sor-theme="light"]{
  color-scheme:light;
  --bg:#f6f4f1;--panel:#ffffff;--panel2:#f1efec;--line:#d9d3d0;
  --silver:#5d5858;--muted:#645e60;--red:#81252e;--red2:#f6e6e7;
  --text-main:#282529;
}
html[data-sor-theme="light"] body{
  background-color:var(--bg);color:var(--text-main);
  background-image:radial-gradient(ellipse at 52% -15%,rgba(125,49,55,.055),transparent 45%),radial-gradient(ellipse at 98% 90%,rgba(70,60,65,.035),transparent 35%);
}
html[data-sor-theme="light"] .grain{background-image:linear-gradient(115deg,rgba(80,51,55,.025),transparent 28%,rgba(80,51,55,.018) 51%,transparent 72%)}
html[data-sor-theme="light"] .metal{color:#432f33;text-shadow:none}
html[data-sor-theme="light"] .brand-kicker{color:#69575c}
html[data-sor-theme="light"] .panel{background:linear-gradient(145deg,#fff,#faf9f8);border-color:var(--line);box-shadow:0 5px 18px #45353b13}
html[data-sor-theme="light"] .panel-inset{background:#f5f3f1;border-color:#ded9d5}
html[data-sor-theme="light"] .sidebar{background:linear-gradient(180deg,#fff,#f5f2f0);border-right:1px solid #ded6d3}
html[data-sor-theme="light"] .sidebar-nav-scroll{scrollbar-color:#c6bebc transparent}
html[data-sor-theme="light"] .divider{background:linear-gradient(90deg,transparent,#d9d1cf 15%,#d9d1cf 85%,transparent)}
html[data-sor-theme="light"] .nav-item{color:#5c5357}
html[data-sor-theme="light"] .nav-item i{color:#74686c}
html[data-sor-theme="light"] .nav-item:hover{background:#f1e9e8;color:#34262a}
html[data-sor-theme="light"] .nav-item.active{background:linear-gradient(90deg,#f5dfe2,#fff5f4);color:#5d1721;border-color:#d2aeb3;box-shadow:inset 3px 0 #902f39}
html[data-sor-theme="light"] .nav-item.active i{color:#802832}
html[data-sor-theme="light"] .nav-item.stock-nav.active{background:#ebe8e6;border-color:#c8c2bf;color:#31292c;box-shadow:inset 3px 0 #807b78}
html[data-sor-theme="light"] .nav-item.stock-nav.active i{color:#544e4c}
html[data-sor-theme="light"] .sor-nav-heading{color:#66595d}
html[data-sor-theme="light"] .sor-nav-group{border-color:#e2dcda}
html[data-sor-theme="light"] .btn-secondary{background:linear-gradient(180deg,#fff,#f2efed);color:#382f33;border-color:#c8bebc}
html[data-sor-theme="light"] .btn-secondary:hover{background:#f4eae9;border-color:#8c6a6c}
html[data-sor-theme="light"] .btn-danger{background:#fbe9ea;color:#8d232e;border-color:#dfa9ae}
html[data-sor-theme="light"] .btn-danger:hover{background:#f5d8db;border-color:#a5505b}
html[data-sor-theme="light"] .field{background:#fff;border-color:#bfb5b4;color:#252126}
html[data-sor-theme="light"] .field::placeholder{color:#767074}
html[data-sor-theme="light"] .field:focus{border-color:#902d37;box-shadow:0 0 0 3px rgba(133,38,48,.12)}
html[data-sor-theme="light"] .label{color:#5e5156}
html[data-sor-theme="light"] .eyebrow{color:#655961}
html[data-sor-theme="light"] .table-wrap{border-color:#dcd4d3}
html[data-sor-theme="light"] th{background:#f0ecea;color:#564b50;border-color:#d9d1d0}
html[data-sor-theme="light"] td{color:#352c30;border-color:#e7e0de}
html[data-sor-theme="light"] tbody tr:hover{background:#f9f1f1}
html[data-sor-theme="light"] .badge{background:#f0eded;color:#564d50;border-color:#d8cecb}
html[data-sor-theme="light"] .badge.red{background:#fae3e5;color:#8b2632;border-color:#daacb1}
html[data-sor-theme="light"] .badge.green{background:#e6f3e9;color:#205d3a;border-color:#a7cbb4}
html[data-sor-theme="light"] .badge.gold{background:#f9f0d8;color:#765515;border-color:#dfc88a}
html[data-sor-theme="light"] .badge.amber{background:#fff0d9;color:#85501c;border-color:#e7c89c}
html[data-sor-theme="light"] .modal-backdrop{background:rgba(35,29,31,.62)}
html[data-sor-theme="light"] .modal-card{background:linear-gradient(155deg,#fff,#f7f4f2);border-color:#cfc4c0;box-shadow:0 24px 65px #20161c45}
html[data-sor-theme="light"] .login-backdrop{background:radial-gradient(ellipse at 50% 40%,rgba(130,45,50,.08),transparent 55%),#f3f1ee}
html[data-sor-theme="light"] .login-card{background:#fff;border-color:#d2c9c5;box-shadow:0 19px 70px #28202426}
html[data-sor-theme="light"] .login-art{background:#0b0a0b}
html[data-sor-theme="light"] .login-art .metal{color:#fff;text-shadow:0 2px 13px #000}
html[data-sor-theme="light"] .login-art .brand-kicker{color:#ccc}
html[data-sor-theme="light"] .progress-track{background:#e8e0df}
html[data-sor-theme="light"] .empty{color:#686065}
html[data-sor-theme="light"] .empty i{color:#877a7d}
html[data-sor-theme="light"] .checkline{color:#494045}
html[data-sor-theme="light"] .toast{background:#fff;color:#332c30;border-color:#c8beb9;box-shadow:0 9px 30px #25161d33}
html[data-sor-theme="light"] .sor-mode-switch{background:#f0ecea;border-color:#c5b9b7;color:#382d32}
html[data-sor-theme="light"] .sor-mode-switch.mode-admin{background:#f9e4e5;border-color:#d2a0a8;color:#78232d}
html[data-sor-theme="light"] .sor-mode-switch.mode-standard{background:#eae7e4;border-color:#bdb5b0;color:#383339}
html[data-sor-theme="light"] .sor-install-entry{background:#f9f7f5;border-color:#d4cbc6;color:#393137}
html[data-sor-theme="light"] .sor-install-entry i{color:#8b323d}
html[data-sor-theme="light"] .sor-pwa-guide{background:#fff;color:#292329;border-color:#d0c5c0;box-shadow:0 18px 50px #21172242}
html[data-sor-theme="light"] .sor-pwa-guide p{color:#52474b}
html[data-sor-theme="light"] .sor-pwa-guide button{background:#f5eeeb;border-color:#aaa0a0;color:#302729}
html[data-sor-theme="light"] .sor-bottom-nav button{color:#5d5559}
html[data-sor-theme="light"] .sor-bottom-nav button.active{background:#f5e2e5;color:#70212b;box-shadow:inset 0 2px #8a2834}
html[data-sor-theme="light"] .sor-dialog-card{background:#fff;color:#2c252a;border-color:#cfc3c0;box-shadow:0 15px 50px #2b1d2344}
html[data-sor-theme="light"] .sor-dialog-message{color:#433b3e}
html[data-sor-theme="light"] .sor-contact-avatar{background:#f6f1ef;color:#5a5055;border-color:#ccc3c0}
html[data-sor-theme="light"] .sor-theme-toggle{background:#fff;border-color:#c6b9b9;color:#71242f}
html[data-sor-theme="light"] .sor-theme-toggle:hover{background:#f9e9ea}
html[data-sor-theme="light"] .sor-theme-select{background:#fff;color:#302529;border-color:#b9aba9}
html[data-sor-theme="light"] .sor-theme-settings{background:#f7f4f2;border-color:#ded3d1}
html[data-sor-theme="light"] .sor-theme-label{color:#4a343b}
html[data-sor-theme="light"] .sor-theme-label i{color:#923541}
@media(max-width:800px){html[data-sor-theme="light"] .sor-bottom-nav{background:#faf8f6;border-color:#d5c9c5;box-shadow:0 -7px 25px #261a2020}}

/* Utilitaires Tailwind gris utilisés dans les vues métiers : remettre
   des textes foncés, y compris lorsque le composant est injecté en JS. */
html[data-sor-theme="light"] .text-zinc-100,html[data-sor-theme="light"] .text-zinc-200{color:#332a30!important}
html[data-sor-theme="light"] .text-zinc-300{color:#4c4247!important}
html[data-sor-theme="light"] .text-zinc-400{color:#5a5157!important}
html[data-sor-theme="light"] .text-zinc-500{color:#62595e!important}
html[data-sor-theme="light"] .text-zinc-600,html[data-sor-theme="light"] .text-zinc-700{color:#6e6469!important}
html[data-sor-theme="light"] .text-red-200,html[data-sor-theme="light"] .text-red-300{color:#8d2835!important}
html[data-sor-theme="light"] .text-amber-200,html[data-sor-theme="light"] .text-amber-300{color:#815012!important}
html[data-sor-theme="light"] .text-emerald-300,html[data-sor-theme="light"] .text-emerald-400{color:#21613f!important}
html[data-sor-theme="light"] .bg-zinc-950{background-color:#f7f4f2!important}
html[data-sor-theme="light"] .bg-zinc-900{background-color:#f2efed!important}
html[data-sor-theme="light"] .bg-zinc-800,html[data-sor-theme="light"] .bg-zinc-800\/60{background-color:#eae3e0!important}
html[data-sor-theme="light"] .bg-red-950\/20,html[data-sor-theme="light"] .bg-red-950\/30{background-color:#f9e7e8!important}
html[data-sor-theme="light"] .bg-amber-950\/20{background-color:#fff2df!important}
html[data-sor-theme="light"] .border-zinc-900,html[data-sor-theme="light"] .border-zinc-800,html[data-sor-theme="light"] .border-zinc-800\/90,html[data-sor-theme="light"] .border-zinc-800\/80{border-color:#dbd2cf!important}
html[data-sor-theme="light"] .border-zinc-700,html[data-sor-theme="light"] .border-zinc-700\/70,html[data-sor-theme="light"] .border-zinc-600,html[data-sor-theme="light"] .border-zinc-500{border-color:#c9bdba!important}
html[data-sor-theme="light"] .border-red-900\/60,html[data-sor-theme="light"] .border-red-900{border-color:#dca9af!important}
html[data-sor-theme="light"] .border-amber-900\/60,html[data-sor-theme="light"] .border-amber-900\/50{border-color:#dbba88!important}
html[data-sor-theme="light"] .sor-profile-avatar{background:linear-gradient(145deg,#777079,#29252a)!important;border-color:#6e6269!important;color:#fff}
html[data-sor-theme="light"] .sor-profile-avatar.text-white,html[data-sor-theme="light"] .btn-primary.text-white{color:#fff!important}
/* La barre haute a une couleur codée en classe arbitraire de Tailwind. */
html[data-sor-theme="light"] .main-content>header{background:rgba(250,248,246,.94)!important;border-bottom-color:#d9cdca!important}

/* Couleurs des composants propres à la carte : panneau clair et fond
   cartographique volontairement sombre pour conserver ses repères. */
html[data-sor-theme="light"] .sor-map-widget{color:#312a2e}
html[data-sor-theme="light"] .sor-map-widget .sor-map-stage{color:#f1f1f1}
html[data-sor-theme="light"] .sor-map-frame{border-color:#c8bdb9}
html[data-sor-theme="light"] .sor-map-side{background:#fff;border-color:#d6cac7;color:#30282d}
html[data-sor-theme="light"] .sor-map-side h3,html[data-sor-theme="light"] .sor-map-side h4{color:#382a31}
html[data-sor-theme="light"] .sor-map-side .map-small{color:#5f5259}
html[data-sor-theme="light"] .sor-map-side label{color:#5a4c52}
html[data-sor-theme="light"] .sor-map-row{background:#faf8f6;border-color:#d8cfca}
html[data-sor-theme="light"] .sor-map-side .sor-map-row.active{background:#f7e9ea;border-color:#aa6672}
html[data-sor-theme="light"] .sor-map-side .map-btn{background:#f5f0ed;color:#443438;border-color:#cbbeba}
html[data-sor-theme="light"] .sor-map-side .map-btn-red{background:#822b35;border-color:#a74f58;color:#fff}
html[data-sor-theme="light"] .sor-map-side .map-field{background:#fff;color:#33282e;border-color:#beb2b1}
html[data-sor-theme="light"] .sor-map-side .map-check{color:#493b40}
html[data-sor-theme="light"] .sor-map-side .map-layers{border-color:#d6c8c5;background:#faf8f6}
html[data-sor-theme="light"] .sor-map-side .map-layers summary{color:#46383e}
html[data-sor-theme="light"] .sor-map-side .map-count{background:#f2ebe8;color:#584d53;border-color:#d4c9c5}
html[data-sor-theme="light"] .sor-map-side .map-editor-tip{background:#fcf1f0;border-color:#d2adae;color:#4d3d43}
html[data-sor-theme="light"] .sor-map-side .map-editor-tip p{color:#65565c}
html[data-sor-theme="light"] .sor-map-side .map-point-detail{background:#faf2f2;border-color:#cfaab0}
html[data-sor-theme="light"] .sor-map-side .map-point-detail strong{color:#3c3034}
html[data-sor-theme="light"] .sor-map-side .map-visibility-box{background:#f9f4f2;border-color:#d9c8c7}
html[data-sor-theme="light"] .sor-map-side .sor-map-divider{border-color:#e1d4d0}
html[data-sor-theme="light"] .sor-map-side .sor-map-status{background:#fcf0f0;color:#7a2732;border-color:#d3aeb2}
html[data-sor-theme="light"] .map-territory-entry{border-color:#e6ddda}
html[data-sor-theme="light"] .map-territory-entry .map-check strong{color:#2d272b}
html[data-sor-theme="light"] .map-territory-form{background:#faf4f2!important;border-color:#d5afa9!important}
html[data-sor-theme="light"] .map-hq-tools{background:#faf4f2;border-color:#ddc6c8}

/* V38 : commutateur explicitement nommé, utilisable au toucher et au clavier. */
.sor-theme-toggle{width:auto;min-width:91px;padding:0 11px;gap:8px;white-space:nowrap;font-size:12px;font-weight:750;line-height:1.2;min-height:42px}
.sor-theme-current{display:inline-block;min-width:28px;text-align:left}
.sor-theme-toggle[aria-pressed="true"]{border-color:#a94b55}
.sor-theme-toggle:focus-visible{outline:3px solid #d07079;outline-offset:2px}
@media(max-width:800px){.sor-theme-toggle{min-width:75px;height:42px;padding:0 9px;gap:6px}.sor-theme-current{font-size:11px}}
@media(max-width:390px){.sor-theme-toggle{width:auto;min-width:72px;height:40px;padding:0 7px}}

/* V38 : priorité d'affichage au thème sur petits écrans.
   Déconnexion accessible dans le tiroir, commutateur Admin déplacé dans le tiroir mobile. */
@media(max-width:650px){
  .main-content>header>div>div:first-child{min-width:0;flex:1 1 auto}
  .main-content>header .sor-header-title{min-width:0;flex:1 1 auto;overflow:hidden}
  .main-content>header .sor-header-title .text-sm{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .main-content>header .sor-top-actions{flex:0 0 auto;gap:5px!important}
  .main-content>header .sor-top-actions [data-action="toggle-admin-mode"],
  .main-content>header .sor-profile-avatar,
  .main-content>header .sor-header-logout{display:none!important}
  .main-content>header .sor-top-actions [data-action="notifications-open"]{min-width:38px;padding:8px 7px}
  .sor-theme-toggle{min-width:75px}
}
@media(min-width:651px){.sor-mobile-admin-control{display:none!important}}
