/* X EDUC — couche de cohérence des cinq interfaces prioritaires.
   Palette de travail proposée, non définitivement validée.
   Scope strict par data-ui-role; ne modifie pas les parcours ni les autres profils. */
:root {
  --xeduc-navy:#043465;
  --xeduc-orange:#FC980B;
  --xeduc-white:#FFFFFF;
  --xeduc-canvas:#F5F7FA;
  --xeduc-ink:#182B43;
  --xeduc-line:#DFE6EE;
  --xeduc-success:#16803C;
  --xeduc-danger:#B42318;
  --xeduc-focus:#FC980B;
}
html:not([data-theme="dark"]) body[data-ui-role="public"] {
  --primary:var(--xeduc-navy);
  --primary-dark:#03274d;
  --ink:var(--xeduc-ink);
  --line:var(--xeduc-line);
  --panel:var(--xeduc-white);
  --panel-soft:var(--xeduc-canvas);
}
html:not([data-theme="dark"]) body[data-ui-role="admin"] {
  --admin-primary:var(--xeduc-navy);
  --admin-secondary:var(--xeduc-orange);
  --admin-ink:var(--xeduc-ink);
  --admin-bg:var(--xeduc-canvas);
  --admin-border:var(--xeduc-line);
  --admin-panel:var(--xeduc-white);
}
html:not([data-theme="dark"]) body[data-ui-role="secretary-general"],
html:not([data-theme="dark"]) body[data-ui-role="school-manager-technical"],
html:not([data-theme="dark"]) body[data-ui-role="school-manager-general"] {
  --resp-navy:var(--xeduc-navy);
  --resp-navy-2:#063f7a;
  --resp-blue:var(--xeduc-navy);
  --resp-bg:var(--xeduc-canvas);
  --resp-card:var(--xeduc-white);
  --resp-text:var(--xeduc-ink);
  --resp-soft:#edf2f7;
  --resp-orange:var(--xeduc-orange);
  --resp-yellow:var(--xeduc-orange);
}
/* Focus accessible sans masquer les états existants. */
body[data-ui-role="public"] :is(a,button,input,select,textarea,summary):focus-visible,
body[data-ui-role="admin"] :is(a,button,input,select,textarea,summary):focus-visible,
body[data-ui-role="secretary-general"] :is(a,button,input,select,textarea,summary):focus-visible,
body[data-ui-role="school-manager-technical"] :is(a,button,input,select,textarea,summary):focus-visible,
body[data-ui-role="school-manager-general"] :is(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid var(--xeduc-focus);
  outline-offset:3px;
}
/* Les libellés longs ne doivent pas provoquer de débordements sur téléphone. */
body[data-ui-role="public"] :is(.btn,.nav-link),
body[data-ui-role="admin"] :is(.btn,.admin-nav-link),
body[data-ui-role="secretary-general"] :is(.resp-nav__item,.resp-btn),
body[data-ui-role="school-manager-technical"] :is(.resp-nav__item,.resp-btn),
body[data-ui-role="school-manager-general"] :is(.resp-nav__item,.resp-btn) {
  overflow-wrap:anywhere;
}
@media(prefers-reduced-motion:reduce){
 body[data-ui-role="public"] *,body[data-ui-role="admin"] *,
 body[data-ui-role="secretary-general"] *,
 body[data-ui-role="school-manager-technical"] *,
 body[data-ui-role="school-manager-general"] * {
   scroll-behavior:auto !important;
 }
}
/* En thème sombre, conserver les surfaces configurées par chaque espace.
   Seul le focus reste défini; les tokens lumineux ne doivent pas les écraser. */

/* X EDUC #26 — entete public : navigation sans debordement horizontal. */
body[data-ui-role="public"] .public-header__inner {
  grid-template-columns:minmax(175px,235px) minmax(0,1fr) auto;
  gap:clamp(8px,1vw,15px);
  min-width:0;
}
body[data-ui-role="public"] .brand,
body[data-ui-role="public"] .brand__text,
body[data-ui-role="public"] .public-nav,
body[data-ui-role="public"] .header-tools {min-width:0;}
body[data-ui-role="public"] .brand__title {
  font-size:clamp(1.15rem,1.45vw,1.5rem);
  letter-spacing:-.035em;
  line-height:1.05;
  font-weight:900;
}
html:not([data-theme="dark"]) body[data-ui-role="public"] .brand__title {color:var(--xeduc-navy);}
body[data-ui-role="public"] .brand__subtitle {
  font-size:.71rem;
  font-style:normal;
  line-height:1.25;
  max-width:225px;
}
body[data-ui-role="public"] .brand__logo--xeduc {
  width:auto;
  height:auto;
  max-height:68px;
  max-width:90px;
  object-fit:contain;
}
body[data-ui-role="public"] .public-nav {gap:clamp(6px,.85vw,12px);}
body[data-ui-role="public"] .nav-link {
  font-size:clamp(.76rem,.86vw,.86rem);
  overflow-wrap:normal;
  white-space:nowrap;
}
body[data-ui-role="public"] .header-tools {gap:6px;}
body[data-ui-role="public"] .header-tools .btn {padding-inline:clamp(10px,1vw,14px);}
body[data-ui-role="public"] .header-tools .btn--primary {
  background:var(--xeduc-orange);
  border-color:var(--xeduc-orange);
  color:var(--xeduc-navy);
  box-shadow:none;
}
body[data-ui-role="public"] .public-footer {background:var(--xeduc-navy);}
body[data-ui-role="public"] .public-header__right {min-width:0;}
/* A 1520px, menu adaptatif au lieu de tronquer le bouton de connexion. */
@media(max-width:1520px){
  body[data-ui-role="public"] .public-header__inner {
    grid-template-columns:minmax(0,1fr) auto;
    min-height:72px;
  }
  body[data-ui-role="public"] .mobile-toggle {display:grid;place-items:center;}
  body[data-ui-role="public"] .public-header__right {
    display:none;
    grid-column:1 / -1;
    padding:0 0 16px;
    min-width:0;
  }
  body[data-ui-role="public"] .public-header.is-open .public-header__right {
    display:grid;
    gap:12px;
  }
  body[data-ui-role="public"] .public-nav {
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:4px 16px;
  }
  body[data-ui-role="public"] .nav-link {padding:8px 2px;}
  body[data-ui-role="public"] .nav-link:after {bottom:2px;}
  body[data-ui-role="public"] .header-tools {
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}
@media(max-width:430px){
  body[data-ui-role="public"] .brand__title {font-size:1.2rem;}
  body[data-ui-role="public"] .brand__subtitle {max-width:230px;font-size:.67rem;}
  body[data-ui-role="public"] .brand__logo--xeduc {max-width:65px;max-height:56px;}
}
