/* ═══════════════════════════════════════════════════════════════════════════
   astra.css — gabarit « WordPress / Astra » commun à tout SI-Governance
   (connexion, tableau de bord, tous les modules). Chargé avec un numéro de version
   (date du fichier) : le navigateur recharge la feuille dès qu'elle est modifiée.
   Le thème clair / sombre du bouton de la barre latérale n'est PAS modifié.
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  --ast-font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;
  --ast-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;
  --ast-radius:8px;
  --ast-accent:#2563eb;
}
/* ── Typographie (système, comme Astra) : remplace Syne / Instrument Sans / JetBrains Mono ── */
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body :where(*:not(code,pre,kbd,samp,svg,svg *,.material-icons,[class*="fa-"])),
body,button,input,select,textarea,optgroup,table{font-family:var(--ast-font)!important}
code,pre,kbd,samp{font-family:var(--ast-mono)!important}
body{line-height:1.6;font-weight:400;letter-spacing:0}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25;letter-spacing:-.01em}
h1{letter-spacing:-.02em}
strong,b{font-weight:700}
a{text-decoration-thickness:1px;text-underline-offset:2px}

/* ── Composants façon Astra : coins arrondis réguliers, focus bleu lisible ── */
button,.btn,[class*="btn-"],input[type=submit],input[type=button]{border-radius:var(--ast-radius);font-weight:600;letter-spacing:.01em}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{border-radius:var(--ast-radius);font-size:14.5px}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--ast-accent);outline-offset:2px}
::selection{background:rgba(37,99,235,.28)}

/* ── En-tête (barre latérale) : logo SI-Governance ── */
.nav-brand .brand-logo{display:block;height:40px;width:auto;max-width:100%;background:#fff;border-radius:8px;padding:3px 8px;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.nav-brand .brand-logo.brand-icon{display:none;height:36px;padding:2px}
[data-theme="light"] .nav-brand .brand-logo{background:transparent;box-shadow:none;padding:0}
body.sig-sidebar-collapsed .nav-brand .brand-logo.brand-full{display:none}
body.sig-sidebar-collapsed .nav-brand .brand-logo.brand-icon{display:block}
.nav-brand .brand-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav-brand.nologo .brand-txt{position:static;width:auto;height:auto;clip:auto;overflow:visible}
.sig-top-brand .brand-logo{height:34px;width:auto;background:#fff;border-radius:7px;padding:2px 7px}
[data-theme="light"] .sig-top-brand .brand-logo{background:transparent;padding:0}
.nav-item,.nav-label{font-weight:600;letter-spacing:0}

/* ── Pied de page commun (style « footer Astra » : barre de crédits) ── */
.ast-footer{margin-top:48px;border-top:1px solid var(--nav-border,rgba(128,128,128,.25));padding:22px 24px 26px;font-size:13px;color:var(--nav-text-muted,#7a84a0);
  display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between;pointer-events:auto}
.ast-footer .ast-f-brand{display:flex;align-items:center;gap:12px}
.ast-footer .ast-f-brand img{height:30px;width:auto;background:#fff;border-radius:7px;padding:2px 8px}
[data-theme="light"] .ast-footer .ast-f-brand img{background:transparent;padding:0}
.ast-footer a{color:inherit;text-decoration:none;font-weight:600}.ast-footer a:hover{color:var(--ast-accent);text-decoration:underline}
.ast-footer .ast-f-links{display:flex;gap:18px;flex-wrap:wrap}
@media(max-width:700px){.ast-footer{justify-content:center;text-align:center}.ast-footer .ast-f-brand{flex-direction:column;gap:6px}}
@media print{.ast-footer{display:none}}

/* ── Anti-débordement : une grille ne doit jamais dépasser la largeur de l'écran ── */
[style*="grid-template-columns"] > *,main,aside,.card,.kpi-card,.panel{min-width:0}
canvas{max-width:100%}
img,video{max-width:100%;height:auto}
.ast-tscroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
