/* Point 433 — menus SLS, correctif de l'habillage 405.
   Charger apres atelier-sls.css. Couleurs seulement : aucun changement de disposition.
   Les variables bleues du dessin ne sont PAS remplacees sur body ou sur le viewport. */

body.mode-atelier {
  --oss-ui-shell: var(--oss-sls-shell);
  --oss-ui-panel: #f7f7f7;
  --oss-ui-line: var(--oss-sls-line);
  --oss-ui-line-strong: var(--oss-sls-line-strong);
  --oss-ui-text: var(--oss-sls-ink);
  --oss-ui-muted: var(--oss-sls-muted);
}

/* Alias locaux de compatibilite avec les etats du point 405.
   L'inventaire n'est pas recolore en bloc : seul son en-tete de famille est un menu.
   Les lignes d'elements selectionnes et les couleurs techniques restent independantes. */
body.mode-atelier :is(
  .oss-appbar, .oss-menu-principal, .oss-commandes, .oss-globales, .oss-vue-bascule,
  .oss-niveaux-repli, .oss-vues-navigateur, .oss-calques-navigateur,
  .oss-projet-racine, .oss-palette-bouton, .oss-inspecteur, .oss-panneau-titre,
  .oss-console, .at-droite, .at-barre, .at-outils-plan,
  .outils-3d, .orientation-3d, .coupe-3d
),
body.mode-atelier #oss-inventaire > details > summary {
  --oss-ui-blue: var(--oss-sls-red);
  --oss-ui-blue-dark: var(--oss-sls-red-dark);
  --oss-ui-blue-soft: var(--oss-sls-red-soft);
  --oss-ui-blue-line: var(--oss-sls-red);
  accent-color: var(--oss-sls-red);
}

/* Fonds neutres : ne pas reprendre les gris bleutes de la maquette 405.
   464 : le fond de la rangee d'onglets et de la barre d'etat appartient a
   atelier-poste.css (cadre de la coquille). */
body.mode-atelier .oss-panneau-titre,
body.mode-atelier .oss-commandes .cmd-instruction,
body.mode-atelier #oss-inspecteur .oss-section h3,
body.mode-atelier #oss-inspecteur details > summary,
body.mode-atelier .at-droite .at-panneau-entete {
  background: var(--oss-ui-panel);
  color: var(--oss-sls-ink);
}

body.mode-atelier .oss-appbar .oss-menu-principal > details > summary,
body.mode-atelier .oss-appbar .oss-menu-principal > .oss-menu-direct,
body.mode-atelier .oss-appbar .oss-identite strong,
body.mode-atelier .oss-appbar .oss-navigation-basculer,
body.mode-atelier .oss-appbar-phases button,
body.mode-atelier .oss-commandes .cmd-picto,
body.mode-atelier .oss-panneau-titre b,
body.mode-atelier .oss-projet-racine b,
body.mode-atelier .oss-pilote .oss-repli > summary,
body.mode-atelier .oss-pilote .oss-repli[open] > summary,
body.mode-atelier .oss-niveau,
body.mode-atelier .oss-vues-navigateur button,
body.mode-atelier #oss-inventaire > details > summary,
body.mode-atelier .oss-vue-bascule .oss-vue-2d,
body.mode-atelier .oss-vue-bascule #oss-3d {
  color: var(--oss-sls-ink);
}

body.mode-atelier .oss-appbar .oss-menu-principal details > div {
  border-color: var(--oss-sls-line-strong);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
}

body.mode-atelier #oss-inventaire > details {
  border-bottom-color: var(--oss-sls-line);
}

body.mode-atelier .oss-niveau:hover {
  background: var(--oss-sls-red-wash);
}

/* Les etats ouverts/actifs existants lisent les alias locaux ci-dessus. */
body.mode-atelier .oss-appbar .oss-menu-principal > details[open] > summary,
body.mode-atelier .oss-appbar .oss-menu-principal > details > summary:hover,
body.mode-atelier .oss-appbar .oss-menu-principal > .oss-menu-direct:hover,
body.mode-atelier .oss-commandes :is(button, summary):hover:not(:disabled):not([aria-disabled="true"]) {
  background: var(--oss-sls-red-soft);
  color: var(--oss-sls-red-dark);
}

/* Action principale : rouge SLS et texte blanc, y compris au survol. */
body.mode-atelier .ossature .oss-outils-shell .oss-calculer {
  border-color: var(--oss-sls-red);
  background: var(--oss-sls-red);
  color: #ffffff;
}

body.mode-atelier .ossature .oss-outils-shell .oss-calculer:hover:not(:disabled),
body.mode-atelier .ossature .oss-outils-shell .oss-calculer:focus-visible {
  border-color: var(--oss-sls-red-dark);
  background: var(--oss-sls-red-dark);
  color: #ffffff;
}

body.mode-atelier .ossature .oss-outils-shell .oss-calculer > span {
  color: #ffffff;
}

/* Focus clavier visible dans les menus ; aucun halo de selection du dessin modifie. */
body.mode-atelier :is(
  .oss-appbar, .oss-commandes, .oss-globales, .oss-vue-bascule,
  .oss-niveaux-repli, .oss-vues-navigateur, .oss-calques-navigateur,
  .at-outils-plan, .outils-3d, .orientation-3d, .coupe-3d
) :is(button, summary, a, input, select):focus-visible {
  outline: 2px solid var(--oss-sls-red);
  outline-offset: 2px;
}

body.mode-atelier #oss-inspecteur input:focus,
body.mode-atelier #oss-inspecteur select:focus {
  border-color: var(--oss-sls-red);
  box-shadow: 0 0 0 2px rgba(192, 0, 0, 0.1);
}

/* Un controle desactive ne doit pas paraitre actif au survol. */
body.mode-atelier .ossature :is(
  .oss-appbar, .oss-commandes, .oss-globales, .oss-vue-bascule,
  .oss-niveaux-repli, .oss-vues-navigateur, .at-outils-plan,
  .outils-3d, .orientation-3d, .coupe-3d
) :is(button:disabled, [aria-disabled="true"]) {
  border-color: var(--oss-sls-line) !important;
  background: var(--oss-ui-panel) !important;
  color: var(--oss-sls-muted) !important;
  box-shadow: none !important;
}
