/* ImmatSIV V2.6 — couche UI finale commune à tout le site. Chargée en dernier. */
:root{
  --font-ui:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ui-ink:#101828;--ui-text:#46556b;--ui-muted:#6b778a;--ui-blue:#003399;--ui-blue-2:#0759e8;
  --ui-line:#dce3ed;--ui-soft:#f5f8fc;--ui-white:#fff;--ui-radius:14px;--ui-radius-lg:20px;
  --ui-shadow:0 12px 36px rgba(15,27,45,.07);--ui-focus:0 0 0 4px rgba(23,105,255,.13);
}
html,body,button,input,select,textarea,table,th,td,label,summary{font-family:var(--font-ui)!important}
body{color:var(--ui-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6{font-family:var(--font-ui)!important;font-weight:850;letter-spacing:-.035em;text-wrap:balance}
p,li,dd,dt{font-family:var(--font-ui);line-height:1.58}
code,pre,kbd,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important}
button,input,select,textarea{font:inherit;color:inherit}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:12px!important;border-color:#cfd8e5!important;background:#fff!important;transition:border-color .15s,box-shadow .15s,background .15s}
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:#76a6ff!important;box-shadow:var(--ui-focus)!important;outline:0!important}
button,.btn,.btn2,.cta,.tete-cta,.nav-btn{border-radius:12px!important;font-weight:800!important;letter-spacing:-.015em}
button:focus-visible,a:focus-visible,.btn:focus-visible,.btn2:focus-visible,.cta:focus-visible{outline:3px solid rgba(23,105,255,.3)!important;outline-offset:2px!important}
.carte,.card,.panel,.metric,.carte-d,.aside-card,.encadre,.fiche,.mandat,.piece,.doc,.tunnel{border-color:var(--ui-line)!important}
.table-wrap,.tab-resp{border-radius:14px}
table{font-variant-numeric:tabular-nums}
th{font-family:var(--font-ui)!important;font-weight:850!important;letter-spacing:.065em}
td{font-family:var(--font-ui)!important}
.badge{font-family:var(--font-ui)!important}

/* En-têtes secondaires : même rythme que l'accueil. */
body.marketing-page header .wrap,body.marketing-doc header .wrap,body.marketing-service header .wrap,body.marketing-hub header .wrap{min-height:72px!important}
body.marketing-page .logo img,body.marketing-doc .logo img,body.marketing-service .logo img,body.marketing-hub .logo img{width:216px!important;height:auto!important}
body.marketing-page main,body.marketing-doc main,body.marketing-service main,body.marketing-hub main{font-family:var(--font-ui)!important}
body.marketing-hub .carte-d h2,body.marketing-service h1,body.marketing-hub h1{font-weight:900!important}
body.marketing-hub .carte-d p,body.marketing-service .chapo,body.marketing-hub .chapo{color:var(--ui-text)!important}

/* Dashboards : marque lisible, textes et composants homogènes. */
.dash-side .brand .dash-brand-logo{width:196px!important;height:auto!important;max-width:100%!important;border-radius:0!important;box-shadow:none!important}
.dash-nav button,.dash-nav a{font-family:var(--font-ui)!important;font-weight:750!important}
.dash-top h1,.hero-row h2,.panel-head h3,.metric b,.metric span{font-family:var(--font-ui)!important}
.login-card h1{font-weight:900!important;letter-spacing:-.04em!important}
.login-card p{color:var(--ui-muted)!important}
.login-card .brand .login-brand-logo{width:226px!important;height:auto!important}

/* La visibilité d'une zone d'authentification prime sur TOUT responsive. */
[hidden],.hide,.dash-shell.hide{display:none!important}

@media(max-width:760px){
  body.marketing-page .logo img,body.marketing-doc .logo img,body.marketing-service .logo img,body.marketing-hub .logo img{width:176px!important;max-width:58vw!important}
  .dash-side .brand .dash-brand-logo{width:176px!important;max-width:58vw!important}
  .login-card h1{font-size:clamp(27px,7.5vw,32px)!important}
  .panel,.metric,.carte,.card,.tunnel,.doc{border-radius:17px!important}
}
