/* EMSS 14.5 — référence visuelle du tableau de bord.
   Fichier volontairement séparé pour éviter les conflits avec les anciennes règles CSS.
*/
:root{
  --ref-blue:#0b57b7;
  --ref-navy:#0c3470;
  --ref-text:#14284a;
  --ref-muted:#607596;
  --ref-bg:#f5f8fc;
  --ref-line:#e1e8f1;
  --ref-shadow:0 7px 22px rgba(20,55,100,.055);
}
html,body{min-width:320px}
body{background:var(--ref-bg)!important;color:var(--ref-text)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important}

/* Header horizontal : une seule barre, proportions proches de la maquette */
.topbar-v14{
  position:sticky!important;top:0!important;z-index:100!important;
  display:grid!important;grid-template-columns:220px minmax(0,1fr) auto!important;
  align-items:center!important;gap:18px!important;
  min-height:104px!important;padding:10px 28px!important;
  background:#fff!important;border-bottom:1px solid var(--ref-line)!important;
  box-shadow:0 2px 10px rgba(15,50,100,.045)!important;
}
.topbar-brand{height:82px!important;display:flex!important;align-items:center!important}
.topbar-brand img{display:block!important;width:195px!important;height:76px!important;object-fit:contain!important;object-position:left center!important}
.topnav-v14{display:flex!important;align-items:stretch!important;justify-content:center!important;gap:2px!important;min-width:0!important;height:84px!important}
.topnav-item,.more-nav summary{
  min-width:72px!important;height:76px!important;padding:7px 8px!important;
  border-radius:13px!important;display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;gap:6px!important;
  color:#12294e!important;text-decoration:none!important;font-size:12px!important;
  font-weight:700!important;white-space:nowrap!important;background:transparent!important;
}
.topnav-item span{font-size:20px!important;line-height:1!important;color:#0d438e!important}
.topnav-item:hover,.more-nav summary:hover{background:#f4f7fb!important}
.topnav-item.is-active{color:var(--ref-blue)!important;background:#f6f9fd!important;box-shadow:inset 0 -3px 0 var(--ref-blue)!important}
.more-nav{position:relative!important;display:flex!important;align-items:center!important}
.more-menu{top:80px!important;right:0!important;min-width:230px!important;background:#fff!important;border:1px solid var(--ref-line)!important;border-radius:14px!important;padding:8px!important;box-shadow:0 16px 40px rgba(20,55,100,.14)!important}
.account-v14{display:flex!important;align-items:center!important;gap:10px!important;white-space:nowrap!important;padding-left:18px!important;border-left:1px solid #edf1f6!important}
.account-v14>span:nth-child(2){display:flex!important;flex-direction:column!important}
.avatar-v14{width:40px!important;height:40px!important;border-radius:50%!important;background:#1155ad!important;color:#fff!important;display:grid!important;place-items:center!important;font-weight:800!important}

/* Conteneur : largeur fixe visuelle de la maquette sur desktop */
.main-v14{
  width:calc(100% - 82px)!important;max-width:1444px!important;margin:0 auto!important;
  padding:18px 0 56px!important;display:block!important;
}
.global-search-v14{
  width:100%!important;box-sizing:border-box!important;margin:0 0 24px!important;
  padding:13px 18px 11px!important;background:#fff!important;
  border:1px solid var(--ref-line)!important;border-radius:15px!important;
  box-shadow:var(--ref-shadow)!important;
}
.global-search-v14 form{display:flex!important;gap:12px!important;align-items:center!important;width:100%!important}
.global-search-v14 form>span{font-size:26px!important;color:#0e4b9f!important;flex:0 0 auto!important}
.global-search-v14 input{flex:1 1 auto!important;min-width:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:16px!important;padding:10px 4px!important}
.global-search-v14 button{min-width:140px!important;border-radius:10px!important}
.search-examples{display:flex!important;gap:9px!important;align-items:center!important;padding-left:31px!important;margin-top:5px!important;font-size:12px!important;color:var(--ref-muted)!important;flex-wrap:wrap!important}
.search-examples a{padding:5px 12px!important;border:1px solid #dfe7f0!important;border-radius:999px!important;background:#f8fafc!important;color:#173d70!important;text-decoration:none!important}

.hero-v14{width:100%!important;display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:25px!important;margin:8px 0 20px!important}
.hero-v14 h1{font-size:34px!important;margin:2px 0 7px!important;color:var(--ref-navy)!important;letter-spacing:-.03em!important}
.hero-v14 p{font-size:15px!important;color:#617797!important;margin:0!important}
.eyebrow{font-size:12px!important;color:#6983a6!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.hero-actions{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important}
.btn{border-radius:10px!important;padding:11px 16px!important}
.btn.secondary{background:#fff!important;color:#173a70!important;border:1px solid #dbe5ef!important;box-shadow:none!important}

/* KPI : impérativement 4 colonnes sur desktop */
.kpi-grid-v14{
  display:grid!important;width:100%!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;margin:0 0 18px!important;align-items:stretch!important;
}
.kpi-v14{
  min-width:0!important;width:auto!important;min-height:120px!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;
  gap:15px!important;padding:18px!important;box-sizing:border-box!important;
  background:#fff!important;border:1px solid var(--ref-line)!important;
  border-radius:15px!important;box-shadow:var(--ref-shadow)!important;
  text-decoration:none!important;color:inherit!important;
}
.kpi-icon{width:58px!important;height:58px!important;flex:0 0 58px!important;border-radius:15px!important;display:grid!important;place-items:center!important;font-size:25px!important}
.kpi-v14>span:last-child{display:flex!important;flex-direction:column!important;min-width:0!important}
.kpi-v14 small{font-size:13px!important;color:#274875!important}
.kpi-v14 b{font-size:30px!important;line-height:1.15!important;color:#0d3e80!important}
.kpi-v14 em{font-size:12px!important;color:#0e56b8!important;font-style:normal!important;margin-top:5px!important}

/* 3 colonnes : prochaines sessions / activités / alertes */
.dashboard-triple-v14{
  display:grid!important;width:100%!important;
  grid-template-columns:minmax(0,1.30fr) minmax(0,1fr) minmax(280px,.78fr)!important;
  gap:16px!important;margin:0 0 18px!important;align-items:stretch!important;
}
.panel-v14{
  min-width:0!important;width:auto!important;box-sizing:border-box!important;
  background:#fff!important;border:1px solid var(--ref-line)!important;
  border-radius:15px!important;box-shadow:var(--ref-shadow)!important;
  padding:20px!important;overflow:hidden!important;
}
.panel-head{display:flex!important;justify-content:space-between!important;gap:15px!important;align-items:flex-start!important;border-bottom:1px solid #edf1f5!important;padding-bottom:13px!important;margin-bottom:9px!important}
.panel-head h2{margin:0!important;color:var(--ref-navy)!important;font-size:17px!important}
.panel-head p{margin:4px 0 0!important;color:#7a8aa1!important;font-size:13px!important}
.panel-head>a{color:#1454aa!important;text-decoration:none!important;font-weight:700!important;font-size:13px!important}
.session-row-v14{display:grid!important;grid-template-columns:68px minmax(0,1fr) 80px!important;gap:14px!important;align-items:center!important;padding:11px 0!important;border-bottom:1px solid #edf1f5!important;text-decoration:none!important;color:inherit!important}
.session-row-v14:last-child{border-bottom:0!important}
.date-box{width:58px!important;height:58px!important;border:1px solid #dce6f2!important;border-radius:12px!important;display:grid!important;place-items:center!important;background:#fbfcfe!important}
.session-info{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important}
.session-info strong{color:#15396f!important;font-size:13px!important}
.session-info small{color:#75869d!important;font-size:12px!important}
.session-side{display:flex!important;flex-direction:column!important;align-items:flex-end!important}
.session-side b{color:#123e7d!important;font-size:15px!important}.session-side small{color:#8090a5!important;font-size:11px!important}
.activity-list-v14{display:grid!important}.activity-row-v14{display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;gap:10px!important;align-items:start!important;padding:10px 0!important;border-bottom:1px solid #edf1f5!important}.activity-row-v14:last-child{border-bottom:0!important}
.activity-dot-v14{width:30px!important;height:30px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#eef5ff!important;color:#0d56b7!important;font-size:14px!important}
.activity-row-v14 b{display:block!important;color:#183c70!important;font-size:12.5px!important}.activity-row-v14 span{display:block!important;color:#7a8ba1!important;font-size:11px!important;margin-top:2px!important}.activity-row-v14 time{font-size:10px!important;color:#687d9a!important;white-space:nowrap!important}
.dashboard-alert-v14{padding:12px 11px!important;border-radius:11px!important;margin:7px 0!important;background:#fff7f3!important;border:1px solid #f6e4dc!important;display:grid!important;grid-template-columns:8px minmax(0,1fr) 16px!important;gap:10px!important;align-items:center!important;text-decoration:none!important}
.dashboard-alert-v14 .dot{width:8px!important;height:8px!important;border-radius:50%!important;background:#ef6a3b!important}.dashboard-alert-v14 b{display:block!important;color:#7a2f20!important;font-size:12.5px!important}.dashboard-alert-v14 span{display:block!important;color:#8d716b!important;font-size:11px!important;margin-top:2px!important}.dashboard-alert-v14 i{font-style:normal!important;font-size:19px!important;color:#284c73!important}
.empty-v14{padding:34px 10px!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important;color:#74859c!important}.empty-v14 strong{color:#193c6f!important}

/* Bas de page : statistiques + raccourcis côte à côte, comme la capture */
.dashboard-month-shortcuts-v14{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(360px,1fr)!important;gap:16px!important;margin-bottom:18px!important;align-items:stretch!important}
.dashboard-month-shortcuts-v14>.panel-v14{height:100%!important}
.dashboard-stats-v14{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.dashboard-stat-v14{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;padding:14px 10px!important;border:1px solid #edf1f5!important;border-radius:12px!important;background:#fff!important}
.dashboard-stat-v14 .ico{width:48px!important;height:48px!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:20px!important;background:#edf4ff!important;color:#0d56b7!important}
.dashboard-stat-v14 small{display:block!important;color:#637895!important;font-size:11px!important}.dashboard-stat-v14 b{display:block!important;color:#103b78!important;font-size:20px!important;line-height:1.15!important}.dashboard-stat-v14 em{font-style:normal!important;color:#159553!important;font-size:10px!important}
.shortcut-grid-v14{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.shortcut-grid-v14 a{border:1px solid #e0e7ef!important;border-radius:12px!important;padding:13px!important;text-decoration:none!important;color:#183d70!important;background:#fbfcfe!important;display:flex!important;flex-direction:column!important;gap:4px!important}
.shortcut-grid-v14 a:hover{border-color:#b9cce4!important;background:#f5f9ff!important}.shortcut-grid-v14 small{color:#7a8ba1!important}
.bottom-dashboard-v14{display:none!important}

/* Empêche les vieilles règles de réduire le contenu */
.main-v14>*{max-width:none!important}

@media(max-width:1250px){
  .topbar-v14{grid-template-columns:190px minmax(0,1fr) auto!important;padding-left:18px!important;padding-right:18px!important}
  .topbar-brand img{width:175px!important}
  .topnav-item,.more-nav summary{min-width:60px!important;padding-left:5px!important;padding-right:5px!important}
  .main-v14{width:calc(100% - 48px)!important;max-width:1200px!important}
  .kpi-grid-v14{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-triple-v14{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)!important}
  .dashboard-triple-v14 .alerts-panel{grid-column:1/-1!important}
}
@media(max-width:900px){
  .topbar-v14{grid-template-columns:1fr auto!important;grid-template-areas:"brand account" "nav nav"!important}
  .topbar-brand{grid-area:brand!important}.topnav-v14{grid-area:nav!important;overflow-x:auto!important;justify-content:flex-start!important}.account-v14{grid-area:account!important}
  .dashboard-triple-v14{grid-template-columns:1fr!important}.dashboard-triple-v14 .alerts-panel{grid-column:auto!important}
  .dashboard-month-shortcuts-v14{grid-template-columns:1fr!important}
}
@media(max-width:650px){
  .topbar-v14{position:relative!important;padding:8px 12px!important}.main-v14{width:calc(100% - 24px)!important;padding-top:12px!important}
  .kpi-grid-v14{grid-template-columns:1fr!important}.hero-v14{flex-direction:column!important;align-items:flex-start!important}.hero-v14 h1{font-size:29px!important}
  .global-search-v14 form{flex-wrap:wrap!important}.global-search-v14 button{width:100%!important}.search-examples{padding-left:0!important;overflow:auto!important;flex-wrap:nowrap!important}
  .dashboard-stats-v14{grid-template-columns:1fr!important}.shortcut-grid-v14{grid-template-columns:1fr 1fr!important}.account-v14>span:nth-child(2){display:none!important}
}

/* EMSS V14.6 — correctif esthétique final
   Les cartes du tableau de bord restent en grille sur les écrans desktop.
   Les anciennes règles globales de style.css ne doivent pas pouvoir les empiler. */
.topbar-v14,
.topbar-v14 *{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important}

@media (min-width:1251px){
  .main-v14{width:calc(100% - 80px)!important;max-width:1456px!important}
  .kpi-grid-v14{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .dashboard-triple-v14{display:grid!important;grid-template-columns:minmax(0,1.30fr) minmax(0,1fr) minmax(280px,.78fr)!important}
  .dashboard-month-shortcuts-v14{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(360px,1fr)!important}
  .dashboard-stats-v14{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media (min-width:1000px) and (max-width:1250px){
  .main-v14{width:calc(100% - 48px)!important;max-width:1200px!important}
  .kpi-grid-v14{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-triple-v14{display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)!important}
  .dashboard-triple-v14 .alerts-panel{grid-column:1/-1!important}
}
@media (max-width:999px){
  .main-v14{width:calc(100% - 36px)!important}
  .kpi-grid-v14{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-triple-v14{display:grid!important;grid-template-columns:1fr!important}
  .dashboard-triple-v14 .alerts-panel{grid-column:auto!important}
}
@media (max-width:650px){
  .main-v14{width:calc(100% - 24px)!important}
  .kpi-grid-v14{grid-template-columns:1fr!important}
}


/* V14.8 — finition visuelle : menu compact + raccourcis raisonnés */
.topnav-v14{gap:3px!important;height:76px!important;align-items:center!important}
.topnav-item,.more-nav summary{min-width:70px!important;height:68px!important;padding:7px 7px!important;border-radius:12px!important;gap:5px!important;font-size:11.5px!important}
.nav-svg{width:21px!important;height:21px!important;display:block!important;flex:0 0 21px!important;color:#123f7d!important}
.topnav-item.is-active .nav-svg,.topnav-item:hover .nav-svg,.more-nav summary:hover .nav-svg{color:#0b57b7!important}
.topnav-item>span:last-child,.more-nav summary>span:last-child{line-height:1!important}
.more-nav{height:68px!important}
.more-nav summary{list-style:none!important}
.more-menu{top:66px!important;right:-4px!important;min-width:240px!important;padding:7px!important}
.more-menu a{display:block!important;padding:10px 12px!important;border-radius:9px!important;color:#17365f!important;text-decoration:none!important;font-size:13px!important;font-weight:650!important}
.more-menu a:hover{background:#f3f7fc!important;color:#0b57b7!important}

/* Raccourcis : cartes compactes, icônes 34px au lieu d'icônes géantes */
.shortcut-grid-v14{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.shortcut-grid-v14 a{min-height:92px!important;height:92px!important;padding:11px 12px!important;border-radius:11px!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:10px!important;row-gap:2px!important;align-content:center!important}
.shortcut-grid-v14 a>.dash-svg{width:34px!important;height:34px!important;grid-row:1 / span 2!important;margin:0!important;align-self:center!important;color:#183f78!important}
.shortcut-grid-v14 a>b{font-size:13px!important;line-height:1.2!important;align-self:end!important}
.shortcut-grid-v14 a>small{font-size:10.5px!important;line-height:1.25!important;margin:0!important;align-self:start!important}

/* Statistiques du mois : plus aérées mais compactes */
.dashboard-stats-v14{gap:9px!important}
.dashboard-stat-v14{min-height:82px!important;padding:11px 9px!important;grid-template-columns:42px minmax(0,1fr)!important;gap:9px!important}
.dashboard-stat-v14 .ico{width:42px!important;height:42px!important}
.dashboard-stat-v14 .ico .dash-svg{width:21px!important;height:21px!important}
.dashboard-stat-v14 small{font-size:10.5px!important}.dashboard-stat-v14 b{font-size:19px!important}.dashboard-stat-v14 em{font-size:9.5px!important}

@media(min-width:1251px){
  .topbar-v14{grid-template-columns:205px minmax(0,1fr) 205px!important;gap:10px!important;padding-left:22px!important;padding-right:22px!important}
  .topbar-brand img{width:180px!important;height:72px!important}
  .topnav-v14{justify-content:center!important}
}
@media(max-width:1250px){
  .topnav-item,.more-nav summary{min-width:62px!important;padding-left:5px!important;padding-right:5px!important}
  .nav-svg{width:20px!important;height:20px!important}
  .shortcut-grid-v14 a{min-height:88px!important;height:88px!important}
}
@media(max-width:900px){
  .topnav-v14{justify-content:flex-start!important;gap:2px!important}
  .shortcut-grid-v14{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
  .shortcut-grid-v14{grid-template-columns:1fr 1fr!important}
  .shortcut-grid-v14 a{height:82px!important;min-height:82px!important}
}

/* EMSS V14.9 — correction du menu supérieur
   Les SVG et les libellés étaient ciblés par la même règle : les textes
   héritaient de 20px et faisaient exploser la hauteur du menu. */
.topnav-v14 .topnav-item > span,
.more-nav summary > span:last-child{
  font-size:12px!important;
  line-height:1.1!important;
  color:#12294e!important;
  font-weight:700!important;
}
.topnav-v14 .topnav-item.is-active > span,
.topnav-v14 .topnav-item:hover > span,
.more-nav summary:hover > span:last-child{color:#0b57b7!important}
.topnav-v14 .nav-svg{
  width:21px!important;height:21px!important;
  flex:0 0 21px!important;
  font-size:initial!important;
}
.topnav-item,.more-nav summary{
  min-width:68px!important;
  height:68px!important;
  padding:7px 6px!important;
  gap:5px!important;
}
.topnav-v14{height:76px!important;overflow:visible!important}
.more-nav{height:68px!important}
@media (min-width:1251px){
  .topbar-v14{grid-template-columns:195px minmax(0,1fr) 205px!important;gap:8px!important;padding-left:22px!important;padding-right:22px!important}
  .topbar-brand img{width:180px!important;height:72px!important}
  .topnav-v14{justify-content:center!important}
}
@media (max-width:1250px){
  .topbar-v14{grid-template-columns:185px minmax(0,1fr) auto!important}
  .topnav-item,.more-nav summary{min-width:62px!important;height:66px!important;padding:6px 5px!important}
  .topnav-v14{height:72px!important}
  .topnav-v14 .topnav-item > span,.more-nav summary > span:last-child{font-size:11px!important}
}
