/* =====================================================================
   CASES À COCHER ET BOUTONS RADIO DU DESK, VERSION 2 (30/10/2026)
   Florian : « la case à cocher on dirait une case de Windows 98 » ; captures
   validées le 30/10 (« Ok pour les cases à cocher »).

   Interrupteur : drapeau « cases_v2 » (Administration > Fonctionnalités,
   groupe Affichage) ; allumé, boites_v2.js pose html.cb2. Éteint : les cases
   d'avant, au rechargement. Séparé du drapeau « boites_v2 » (les fenêtres),
   qui reste à retravailler.

   Sélecteurs html.cb2 input[...] : plus forts qu'une règle de conteneur d'un
   écran, plus faibles qu'une règle d'écran à identifiant, qui garde la main.
   Aucune propriété display : une case cachée par un écran reste cachée ; les
   interrupteurs qui cachent leur case (.fsw, .psb-chk) gardent leur taille.
   ===================================================================== */

html.cb2{--cb-on:#143240;--cb-bord:#9fb1bb;--cb-ring:0 0 0 3px rgba(20,50,64,.18)}
html.cb2.theme-dark{--cb-on:#8fc3df;--cb-bord:#5d7684;--cb-ring:0 0 0 3px rgba(143,195,223,.28)}

html.cb2 input[type=checkbox],html.cb2 input[type=radio]{
  -webkit-appearance:none;appearance:none;width:18px;height:18px;margin:0;box-sizing:border-box;
  border:1.5px solid var(--cb-bord);border-radius:5px;background-color:var(--card);
  background-position:center;background-repeat:no-repeat;background-size:12px 12px;
  vertical-align:-4px;cursor:pointer;flex:0 0 auto;
  transition:background-color .12s,border-color .12s,box-shadow .12s}
html.cb2 input[type=radio]{border-radius:50%}
html.cb2 input[type=checkbox]:hover,html.cb2 input[type=radio]:hover{border-color:var(--cb-on)}
html.cb2 input[type=checkbox]:checked{background-color:var(--cb-on);border-color:var(--cb-on);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.3 4.9 8.7 9.6 3.6' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
html.cb2.theme-dark input[type=checkbox]:checked{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.3 4.9 8.7 9.6 3.6' fill='none' stroke='%230d1f29' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
html.cb2 input[type=checkbox]:indeterminate{background-color:var(--cb-on);border-color:var(--cb-on);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6h6' stroke='%23fff' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E")}
html.cb2.theme-dark input[type=checkbox]:indeterminate{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6h6' stroke='%230d1f29' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E")}
html.cb2 input[type=radio]:checked{border-color:var(--cb-on);border-width:5px}
html.cb2 input[type=checkbox]:focus-visible,html.cb2 input[type=radio]:focus-visible{outline:none;box-shadow:var(--cb-ring)}
html.cb2 input[type=checkbox]:disabled,html.cb2 input[type=radio]:disabled{opacity:.45;cursor:not-allowed}

/* interrupteurs qui cachent leur case : on leur rend leur taille d'origine */
html.cb2 .fsw input[type=checkbox]{width:0;height:0;border:0}
html.cb2 .psb-chk input[type=checkbox]{width:1px;height:1px;border:0}
