/* AECQ Formation — couche d'intégration UI. Les couleurs de marque proviennent exclusivement de branding/config/brand.css. */
:root{
  --navy:var(--aecq-navy);
  --navy2:var(--aecq-ink);
  --accent:var(--aecq-blue);
  --aecq-surface:#f5f8fb;
  --aecq-soft:#eef6fa;
  --aecq-line:#d9e5ee;
  --aecq-shadow:0 8px 28px rgba(3,45,85,.08);
  --aecq-radius:14px;
}
html{background:var(--aecq-surface)}
body{background:var(--aecq-surface);color:var(--aecq-ink);font-size:15px;line-height:1.5}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--aecq-aqua);outline-offset:2px}
.topbar{height:72px;background:var(--aecq-ink);padding:0 24px;border-bottom:3px solid var(--aecq-aqua);box-shadow:0 3px 14px rgba(3,45,85,.16)}
.topbar-brand-wrap{display:flex;align-items:center;gap:10px;min-width:0}.brand{gap:14px;min-width:0}.brand-logo{display:block;height:48px;width:auto;max-width:160px;object-fit:contain}.brand-name{font-size:16px;letter-spacing:.01em;color:var(--aecq-white);white-space:nowrap}.topnav{gap:18px}.topnav a{color:var(--aecq-white)}.topnav-icon-link{display:inline-flex;align-items:center;gap:7px}.user-chip{color:#dcebf4}.sidebar-toggle{display:none;border:0;background:transparent;color:var(--aecq-white);font-size:26px;line-height:1;padding:7px;border-radius:9px;cursor:pointer}
.sidebar{top:72px;width:252px;background:linear-gradient(180deg,var(--aecq-navy),var(--aecq-ink));padding:16px 10px 12px;display:flex;flex-direction:column}.sidebar-inner{flex:1}.sidebar-link{display:flex!important;align-items:center;gap:11px;color:#edf7fb!important;padding:10px 12px!important;border-radius:10px!important;margin:3px 0!important;font-weight:600;font-size:14px;transition:background .18s ease,transform .18s ease}.sidebar-link:hover{background:rgba(255,255,255,.1)!important;transform:translateX(1px)}.sidebar-link.active{background:rgba(130,202,201,.19)!important;box-shadow:inset 3px 0 0 var(--aecq-aqua);color:var(--aecq-white)!important}.ps-nav-icon{width:20px;height:20px;display:inline-flex;flex:0 0 20px}.ps-nav-icon svg{width:20px;height:20px;display:block}.sidebar-brand-foot{border-top:1px solid rgba(255,255,255,.14);padding:15px 12px 4px;color:#cfe3ed;font-size:11px;display:grid;gap:8px}.sidebar-brand-foot img{height:34px;width:auto;max-width:90px;object-fit:contain}.sidebar-brand-foot span{overflow-wrap:anywhere}
main.with-sidebar{margin-left:252px}.container{max-width:1480px;padding:28px 30px}.card{border-color:var(--aecq-line);border-radius:var(--aecq-radius);box-shadow:var(--aecq-shadow)}.btn{background:var(--aecq-blue);border-radius:10px}.btn:hover{filter:brightness(.94)}.btn.secondary{color:var(--aecq-navy);border-color:var(--aecq-line)}.notice{border-left-color:var(--aecq-blue);background:var(--aecq-soft)}.progress>span{background:var(--aecq-blue)}
/* La marque reste constante; les thèmes ne changent que les surfaces de contenu. */
body.theme-white{--bg:#ffffff;--card:#ffffff;--text:var(--aecq-ink)}body.theme-white .topbar{background:var(--aecq-ink);color:var(--aecq-white)}body.theme-white .brand,body.theme-white .topnav a{color:var(--aecq-white)}body.theme-white .sidebar{background:linear-gradient(180deg,var(--aecq-navy),var(--aecq-ink))}body.theme-white .sidebar a{color:#edf7fb}
body.theme-beige{--bg:#fbfaf6;--card:#fffdfa;--text:var(--aecq-ink)}
/* Connexion */
.login-wrap{max-width:980px;margin:6vh auto;display:grid;grid-template-columns:minmax(300px,1fr) minmax(340px,.9fr);gap:24px;align-items:stretch}.login-wrap>.flash{grid-column:1/-1}.login-wrap>.hero{margin:0;min-height:440px}.auth-hero,.login-wrap .hero{background:linear-gradient(145deg,var(--aecq-ink),var(--aecq-navy));border-radius:22px;padding:38px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 20px 55px rgba(3,45,85,.18);position:relative;overflow:hidden}.auth-hero:after,.login-wrap .hero:after{content:"";position:absolute;right:-100px;bottom:-120px;width:290px;height:290px;border-radius:50%;background:var(--aecq-aqua);opacity:.13}.auth-logo{width:190px;max-width:70%;height:auto;margin-bottom:34px;position:relative;z-index:1}.login-wrap .hero h1{font-size:34px;line-height:1.08;margin:0 0 16px;position:relative;z-index:1}.login-wrap .hero p{font-size:16px;max-width:470px;position:relative;z-index:1}.login-wrap>form.card{margin:0;padding:34px;display:flex;flex-direction:column;justify-content:center}.login-brand-note{margin-top:24px;font-size:13px;color:#65758b}.login-brand-note a{color:var(--aecq-blue)}
.public-brand-footer{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding:18px 24px;color:#6c7f91;font-size:12px}.with-sidebar+.public-brand-footer{margin-left:252px}.public-brand-footer a{color:var(--aecq-blue)}body:has(main.with-sidebar) .public-brand-footer{margin-left:252px}
/* Paramètres de marque */
.brand-config-card{background:linear-gradient(135deg,#fff,var(--aecq-soft));border:1px solid var(--aecq-line);border-radius:14px;padding:16px;margin:12px 0 18px;display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}.brand-config-card img{width:140px;max-height:90px;object-fit:contain}.brand-config-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.brand-config-meta div{font-size:13px}.brand-config-meta b{display:block;color:var(--aecq-navy);margin-bottom:2px}
/* Documents/PDF hors modèles officiels */
.aecq-document-brand{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:3px solid var(--aecq-aqua);padding-bottom:12px;margin-bottom:20px}.aecq-document-brand img{width:150px;height:auto}.aecq-document-brand .document-contact{text-align:right;font-size:11px;color:#607489}
@media(max-width:900px){
  .topbar{height:66px;min-height:66px;padding:8px 12px;flex-wrap:nowrap}.sidebar-toggle{display:inline-flex}.brand-logo{height:40px;max-width:118px}.brand-name{display:none}.topnav{width:auto;justify-content:flex-end;gap:12px;font-size:12px}.topnav-icon-link .notification-text{display:none}.topnav-icon-link>.notification-icon-wrap{display:inline-flex!important}.notification-icon-wrap .notification-badge{display:inline-block!important}.user-chip{display:none}
  .sidebar{position:fixed!important;top:66px!important;left:0!important;bottom:0!important;width:min(82vw,290px)!important;display:flex!important;transform:translateX(-105%);transition:transform .2s ease;z-index:40;box-shadow:10px 0 35px rgba(3,45,85,.22);white-space:normal!important;overflow-y:auto!important}.sidebar.is-open{transform:translateX(0)}.sidebar a{display:flex!important}.sidebar-backdrop{display:none;position:fixed;inset:66px 0 0;background:rgba(3,45,85,.35);z-index:35}.sidebar-backdrop.is-open{display:block}
  main.with-sidebar{margin-left:0!important}.container{padding:18px 14px}.login-wrap{display:block;margin:24px auto;padding:0 14px}.login-wrap>.hero{min-height:270px;margin-bottom:16px}.login-wrap .hero{padding:28px}.login-wrap .hero h1{font-size:28px}.auth-logo{width:150px;margin-bottom:22px}.login-wrap>form.card{padding:24px}.public-brand-footer,body:has(main.with-sidebar) .public-brand-footer{margin-left:0}.brand-config-card{grid-template-columns:1fr}.brand-config-meta{grid-template-columns:1fr}
}
@media(max-width:560px){.topnav>a:last-child{font-size:0}.topnav>a:last-child:after{content:"Quitter";font-size:12px}.login-wrap .hero h1{font-size:25px}.login-wrap>.hero{min-height:230px}}
@media print{.public-brand-footer{display:none!important}.aecq-document-brand{display:flex!important}}
.login-wrap:not(:has(.hero)){display:block;max-width:620px}.login-wrap:not(:has(.hero))>.card{margin:0}

.sidebar-app-version{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.10);color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em}
/* V1.17 — aperçu fiable des logos personnalisés */
.brand-logo-current{height:92px;border:1px solid var(--aecq-line);border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:10px;margin:6px 0 9px;overflow:hidden}.brand-logo-current.dark{background:#08345d}.brand-logo-current img{display:block;max-width:100%;max-height:70px;width:auto;height:auto;object-fit:contain}.brand-logo-upload-row .checkline{font-size:12px;margin-top:8px}
