/* Pasivite 2.8.31.0 — PWA native-first : largeur stable, écrans compacts, 3 clics max. */
body.mobile-mode{
  width:100%;max-width:100%;margin:0!important;overflow-x:hidden!important;
  padding-bottom:calc(76px + env(safe-area-inset-bottom));
  -webkit-text-size-adjust:100%;
}
body.mobile-mode *,body.mobile-mode *::before,body.mobile-mode *::after{box-sizing:border-box}
body.mobile-mode .site-header{width:100%;max-width:100%;left:0;right:0}
body.mobile-mode .site-header .header-inner{
  width:100%!important;max-width:none!important;margin:0!important;
  padding-left:max(12px,env(safe-area-inset-left));
  padding-right:max(12px,env(safe-area-inset-right));
}
body.mobile-mode .main-content,
body.mobile-mode .mobile-app-main{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
  overflow-x:clip!important;min-width:0;
}
body.mobile-mode .main-content>*,body.mobile-mode .mobile-app-main>*{min-width:0;max-width:100%}
body.mobile-mode img,body.mobile-mode video,body.mobile-mode iframe,body.mobile-mode canvas{max-width:100%;height:auto}
body.mobile-mode table{max-width:100%}
body.mobile-mode input,body.mobile-mode select,body.mobile-mode textarea,body.mobile-mode button{max-width:100%}
body.mobile-mode .sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}

/* Dock : ancré au viewport, sans décalage ni débordement. */
body.mobile-mode .mobile-bottom-nav{
  width:100%!important;max-width:none!important;margin:0!important;left:0!important;right:0!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  padding:4px max(4px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))!important;
  box-sizing:border-box!important;overflow:hidden!important;
  box-shadow:0 -8px 24px rgba(14,43,74,.08);
}
body.mobile-mode .mobile-bottom-nav a{
  min-width:0!important;width:auto!important;min-height:58px!important;padding:4px 1px!important;gap:2px!important;
  font-size:10.5px!important;line-height:1!important;white-space:nowrap!important;overflow:visible!important;
}
body.mobile-mode .mobile-bottom-nav a>span:not(.alert-count-badge){display:block;max-width:100%;overflow:hidden;text-overflow:clip}
body.mobile-mode .mobile-bottom-nav a>svg{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important}
body.mobile-mode .mobile-bottom-nav .mobile-alert-badge{top:2px!important;right:calc(50% - 23px)!important}

/* Assistant flottant : n'empiète jamais sur le dock ou le contenu. */
body.mobile-mode .psv-chatbot{z-index:850!important}
body.mobile-mode .psv-chatbot-launcher{
  width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;
  right:max(12px,env(safe-area-inset-right))!important;left:auto!important;
  bottom:calc(78px + env(safe-area-inset-bottom))!important;padding:0!important;border-radius:50%!important;
}
body.mobile-mode .psv-chatbot-launcher-label{display:none!important}
body.mobile-mode .psv-chatbot-panel{max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 150px)!important}

/* Squelette visuel commun : une application, pas une landing page. */
body.mobile-mode .senior-shell,
body.mobile-mode .narrow-shell,
body.mobile-mode .form-shell,
body.mobile-mode .result-shell,
body.mobile-mode .alerts-page,
body.mobile-mode .reflex-hub,
body.mobile-mode .emergency-shell,
body.mobile-mode .alert-subscriptions-page,
body.mobile-mode .audience-hub,
body.mobile-mode .install-pwa-page,
body.mobile-mode .pro-observatory-shell,
body.mobile-mode .kit-detail-shell,
body.mobile-mode .contact-modern-page,
body.mobile-mode .content-shell,
body.mobile-mode .page-hero{
  width:100%!important;max-width:720px!important;margin:0 auto!important;padding:14px 14px 24px!important;
  background:var(--app-bg)!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
body.mobile-mode .senior-shell>h1,
body.mobile-mode .form-shell>h1,
body.mobile-mode .result-shell>h1,
body.mobile-mode .alerts-page>h1,
body.mobile-mode .emergency-shell>h1,
body.mobile-mode .pro-observatory-shell h1,
body.mobile-mode .contact-modern-page h1,
body.mobile-mode .page-hero h1{
  font-size:clamp(24px,7vw,31px)!important;line-height:1.08!important;letter-spacing:-.025em!important;
  margin:4px 0 7px!important;color:var(--app-text)!important;
}
body.mobile-mode .lead,body.mobile-mode .page-intro,body.mobile-mode .hero-lead{
  margin:0 0 12px!important;font-size:14px!important;line-height:1.4!important;color:var(--app-muted)!important;
}
body.mobile-mode .eyebrow{margin:0 0 5px!important;font-size:10.5px!important;line-height:1.2!important}
body.mobile-mode .card,body.mobile-mode .action-panel,body.mobile-mode .notice,body.mobile-mode .notice-panel,
body.mobile-mode .risk-panel,body.mobile-mode .step-card,body.mobile-mode .official-card{
  border-radius:16px!important;box-shadow:0 5px 16px rgba(17,49,83,.04)!important;
}
body.mobile-mode .card-grid,body.mobile-mode .assistance-grid,body.mobile-mode .emergency-grid,body.mobile-mode .step-cards{
  gap:9px!important;
}
body.mobile-mode .primary-button,body.mobile-mode .secondary-button,body.mobile-mode .big-submit,
body.mobile-mode a.primary-button,body.mobile-mode a.secondary-button{
  min-height:46px!important;border-radius:13px!important;font-size:15px!important;padding:10px 14px!important;
}
body.mobile-mode .senior-form{gap:11px!important}
body.mobile-mode .field-label{font-size:13px!important;margin-bottom:4px!important}
body.mobile-mode input:not([type=checkbox]):not([type=radio]),body.mobile-mode select,body.mobile-mode textarea{
  min-height:46px!important;border-radius:12px!important;font-size:16px!important;padding:10px 12px!important;
}

/* Héros publics en PWA : réduits à un en-tête fonctionnel. */
body.mobile-mode .observatory-public,
body.mobile-mode .observatory-hero,
body.mobile-mode .contact-modern-hero,
body.mobile-mode .audience-hero,
body.mobile-mode .kit-detail-hero{
  width:100%!important;max-width:720px!important;margin:0 auto!important;padding:14px!important;border-radius:0!important;
  box-shadow:none!important;background:var(--app-bg)!important;color:var(--app-text)!important;
}
body.mobile-mode .observatory-hero h1,body.mobile-mode .contact-modern-hero h1,body.mobile-mode .audience-hero h1,body.mobile-mode .kit-detail-hero h1{
  font-size:clamp(24px,7vw,31px)!important;line-height:1.08!important;color:var(--app-text)!important;margin:4px 0 8px!important;
}
body.mobile-mode .observatory-hero p,body.mobile-mode .contact-modern-hero p,body.mobile-mode .audience-hero p,body.mobile-mode .kit-detail-hero p{
  font-size:14px!important;line-height:1.4!important;color:var(--app-muted)!important;
}

/* Centre de notifications : la pastille mène d'abord aux messages, le réglage reste secondaire. */
body.mobile-mode .notification-app-screen{width:100%!important;max-width:720px!important;margin:0 auto!important;padding:12px 12px 24px!important}
body.mobile-mode .notification-app-head{
  position:sticky;top:64px;z-index:20;display:grid;grid-template-columns:42px minmax(0,1fr) 52px;align-items:center;
  gap:10px;margin:0 -12px 8px!important;padding:8px 12px;background:rgba(246,248,251,.96);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--app-line);
}
body.mobile-mode .notification-app-title{min-width:0}
body.mobile-mode .notification-app-head h1{font-size:22px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.mobile-mode .notification-app-head p{margin:2px 0 0!important;font-size:12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.mobile-mode .notification-switch--compact{justify-self:end;width:48px!important;height:30px!important;flex-basis:48px!important}
body.mobile-mode .notification-switch--compact .notification-switch-thumb{width:24px!important;height:24px!important}
body.mobile-mode .notification-switch--compact.is-on .notification-switch-thumb{transform:translateX(18px)!important}
body.mobile-mode .notification-compact-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px;margin:6px 0 8px!important}
body.mobile-mode .notification-compact-actions[hidden]{display:none!important}
body.mobile-mode .notification-compact-actions button{min-width:0!important;width:100%!important}
body.mobile-mode .notification-app-list{margin-top:4px!important;gap:8px!important}
body.mobile-mode .notification-app-list .notification-center-item{padding:13px!important;border-radius:16px!important}
body.mobile-mode .notification-app-list .notification-center-item.is-opened{outline:3px solid rgba(8,170,152,.20);outline-offset:2px}
body.mobile-mode .notification-app-list .notification-item-actions{display:grid!important;grid-template-columns:1fr auto;gap:7px!important}
body.mobile-mode .notification-app-list .notification-item-actions .primary-button{grid-column:1/-1;width:100%!important}
body.mobile-mode .notification-settings-row{
  margin-top:14px;padding:12px 13px;border-top:1px solid var(--app-line);color:var(--app-muted);
}
body.mobile-mode .notification-settings-row strong{font-size:13px;color:var(--app-text)}
body.mobile-mode .notification-settings-row small{display:block;margin-top:2px;font-size:12px}

/* Listes et contenus : hauteur et densité de vraie app. */
body.mobile-mode .mobile-library-screen{width:100%!important;max-width:720px!important;margin:0 auto!important;padding:12px 12px 24px!important}
body.mobile-mode .mobile-library-row{min-height:62px!important;border-radius:14px!important;padding:10px 12px!important}
body.mobile-mode .mobile-library-row strong{font-size:14px!important}
body.mobile-mode .mobile-segmented-tabs{position:sticky;top:65px;z-index:15;margin:0 0 10px!important;background:#edf2f6}

@media(max-width:390px){
  body.mobile-mode .brand-wordmark{font-size:19px!important}
  body.mobile-mode .mobile-appbar-actions{gap:1px!important}
  body.mobile-mode .mobile-appbar-button{width:40px!important;height:40px!important}
  body.mobile-mode .mobile-bottom-nav a{font-size:9.5px!important}
  body.mobile-mode .mobile-bottom-nav a>svg{width:21px!important;height:21px!important}
}


/* Pasivite 2.8.31.1 — P0 affichage Alertes PWA : aucune largeur desktop ne doit déborder. */
body.mobile-mode .alerts-page,
body.mobile-mode .alerts-page .stack-list,
body.mobile-mode .alerts-page .alert-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body.mobile-mode .alerts-page .stack-list{
  overflow:visible!important;
}
body.mobile-mode .alerts-page .alert-card{
  padding:13px!important;
  overflow:hidden!important;
  border-radius:17px!important;
}
body.mobile-mode .alerts-page .alert-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
}
body.mobile-mode .alerts-page .alert-meta .tag,
body.mobile-mode .alerts-page .alert-meta .status,
body.mobile-mode .alerts-page .alert-meta .alert-new-badge{
  flex:0 1 auto!important;
  max-width:100%!important;
  white-space:normal!important;
}
body.mobile-mode .alerts-page .alert-meta time{
  flex:1 0 100%!important;
  width:100%!important;
  margin:1px 0 0!important;
  font-size:12px!important;
  line-height:1.25!important;
  text-align:left!important;
  white-space:normal!important;
}
body.mobile-mode .alerts-page .source-line{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:9px 0!important;
  overflow:hidden!important;
}
body.mobile-mode .alerts-page .source-line strong{
  display:inline!important;
}
body.mobile-mode .alerts-page .source-line > a,
body.mobile-mode .alerts-page .source-line > a.psv-action-button{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:9px 11px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-align:center!important;
}
body.mobile-mode .alerts-page .alert-card h2,
body.mobile-mode .alerts-page .alert-card h3,
body.mobile-mode .alerts-page .alert-card p,
body.mobile-mode .alerts-page .alert-card details,
body.mobile-mode .alerts-page .alert-card summary,
body.mobile-mode .alerts-page .alert-card .card-action{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
body.mobile-mode .alerts-page .alert-card h2{
  margin:12px 0 7px!important;
  font-size:22px!important;
  line-height:1.12!important;
}
body.mobile-mode .alerts-page .alert-card > p:not(.source-line):not(.card-action){
  font-size:15px!important;
  line-height:1.48!important;
}
body.mobile-mode .alerts-page .alert-card details{
  overflow:hidden!important;
}
body.mobile-mode .alerts-page .alert-card summary{
  min-height:44px!important;
}
body.mobile-mode .alerts-page .alert-card .notice-box,
body.mobile-mode .alerts-page .alert-card .card-action{
  margin:10px 0!important;
  padding:11px!important;
  border-radius:13px!important;
}
@media(max-width:420px){
  body.mobile-mode .alerts-page{padding-left:10px!important;padding-right:10px!important}
  body.mobile-mode .alerts-page .alert-card{padding:12px!important}
  body.mobile-mode .alerts-page .source-line > a.psv-action-button{font-size:14px!important}
}

/* Pasivite 2.8.32.1 — PWA full-width cards
   En mode PWA, les contenus d'aide/lecture utilisent toute la largeur utile.
   Aucun impact sur le site classique ni sur les moteurs métier. */
body.mobile-mode{
  --pwa-edge:10px;
  --pwa-card-radius:16px;
}

/* Conteneurs fonctionnels : une seule colonne, aucune largeur desktop résiduelle. */
body.mobile-mode .reflex-hub,
body.mobile-mode .reflex-card-grid,
body.mobile-mode .reflex-card-grid.is-single,
body.mobile-mode .reflex-card,
body.mobile-mode .reflex-detail-layout,
body.mobile-mode .reflex-now,
body.mobile-mode .reflex-avoid-block,
body.mobile-mode .reflex-after-block,
body.mobile-mode .reflex-side-panel,
body.mobile-mode .emergency-shell,
body.mobile-mode .emergency-grid,
body.mobile-mode .result-shell,
body.mobile-mode .result-shell .card,
body.mobile-mode .assistance-grid,
body.mobile-mode .action-panel,
body.mobile-mode .risk-panel,
body.mobile-mode .notice-panel,
body.mobile-mode .step-cards,
body.mobile-mode .step-card,
body.mobile-mode .kit-detail-shell,
body.mobile-mode .content-shell,
body.mobile-mode .notification-app-screen,
body.mobile-mode .notification-app-list,
body.mobile-mode .notification-center-item,
body.mobile-mode .alerts-page,
body.mobile-mode .alerts-page .stack-list,
body.mobile-mode .alerts-page .alert-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

body.mobile-mode .reflex-card-grid,
body.mobile-mode .reflex-detail-layout,
body.mobile-mode .emergency-grid,
body.mobile-mode .assistance-grid,
body.mobile-mode .step-cards{
  grid-template-columns:minmax(0,1fr)!important;
}

/* Fiche réflexe : plein écran utile, sans colonne latérale ni retrait hérité du web. */
body.mobile-mode .reflex-hub{
  padding-left:var(--pwa-edge)!important;
  padding-right:var(--pwa-edge)!important;
}
body.mobile-mode .reflex-card-grid{
  margin:0!important;
  gap:10px!important;
}
body.mobile-mode .reflex-card{
  margin:0!important;
  border-radius:var(--pwa-card-radius)!important;
  overflow:hidden!important;
}
body.mobile-mode .reflex-card-header{
  padding:16px!important;
}
body.mobile-mode .reflex-detail-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
}
body.mobile-mode .reflex-now,
body.mobile-mode .reflex-avoid-block,
body.mobile-mode .reflex-after-block,
body.mobile-mode .reflex-side-panel{
  grid-column:1/-1!important;
  grid-row:auto!important;
  margin:0!important;
  padding:15px!important;
  border-left:0!important;
  min-width:0!important;
}
body.mobile-mode .reflex-avoid-block,
body.mobile-mode .reflex-after-block{
  padding-top:6px!important;
}
body.mobile-mode .reflex-side-panel{
  border-top:1px solid var(--app-line)!important;
}
body.mobile-mode .reflex-action-steps,
body.mobile-mode .reflex-avoid-block ul,
body.mobile-mode .reflex-after-block ul{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  gap:8px!important;
}
body.mobile-mode .reflex-action-steps li,
body.mobile-mode .reflex-avoid-block li,
body.mobile-mode .reflex-after-block li{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
body.mobile-mode .reflex-action-steps li{
  grid-template-columns:30px minmax(0,1fr)!important;
  gap:10px!important;
  padding:12px!important;
}
body.mobile-mode .reflex-avoid-block li,
body.mobile-mode .reflex-after-block li{
  padding:12px 12px 12px 40px!important;
  border-radius:14px!important;
}
body.mobile-mode .reflex-avoid-block h3,
body.mobile-mode .reflex-after-block h3,
body.mobile-mode .reflex-now h3{
  width:100%!important;
  max-width:100%!important;
  margin:0 0 10px!important;
  font-size:20px!important;
  line-height:1.15!important;
}

/* Cartes d'aide / urgence / résultat / notifications : même largeur visuelle. */
body.mobile-mode .emergency-shell,
body.mobile-mode .result-shell,
body.mobile-mode .content-shell,
body.mobile-mode .kit-detail-shell,
body.mobile-mode .notification-app-screen{
  padding-left:var(--pwa-edge)!important;
  padding-right:var(--pwa-edge)!important;
}
body.mobile-mode .emergency-grid > *,
body.mobile-mode .assistance-grid > *,
body.mobile-mode .step-cards > *,
body.mobile-mode .result-shell .card,
body.mobile-mode .content-shell .card,
body.mobile-mode .notification-center-item{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

/* Tout texte/action longue doit rester dans le viewport. */
body.mobile-mode .reflex-card *,
body.mobile-mode .emergency-shell *,
body.mobile-mode .result-shell *,
body.mobile-mode .notification-app-screen *,
body.mobile-mode .kit-detail-shell *{
  min-width:0;
}
body.mobile-mode .reflex-card p,
body.mobile-mode .reflex-card li,
body.mobile-mode .emergency-shell p,
body.mobile-mode .emergency-shell li,
body.mobile-mode .result-shell p,
body.mobile-mode .result-shell li,
body.mobile-mode .notification-app-screen p,
body.mobile-mode .notification-app-screen li{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
body.mobile-mode .reflex-card a.primary-button,
body.mobile-mode .reflex-card a.secondary-button,
body.mobile-mode .reflex-card button,
body.mobile-mode .emergency-shell a.primary-button,
body.mobile-mode .emergency-shell a.secondary-button,
body.mobile-mode .result-shell a.primary-button,
body.mobile-mode .result-shell a.secondary-button{
  max-width:100%!important;
}

@media(max-width:420px){
  body.mobile-mode{--pwa-edge:8px}
  body.mobile-mode .reflex-card-header,
  body.mobile-mode .reflex-now,
  body.mobile-mode .reflex-avoid-block,
  body.mobile-mode .reflex-after-block,
  body.mobile-mode .reflex-side-panel{padding-left:13px!important;padding-right:13px!important}
}


/* Pasivite 2.8.32.3 — PWA : tiroir mobile plein écran utile, fin de menu toujours accessible. */
body.mobile-mode .mobile-app-drawer{
  top:0!important;
  right:0!important;
  bottom:auto!important;
  height:100dvh!important;
  max-height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
}
body.mobile-mode .mobile-drawer-head{
  flex:0 0 auto!important;
  padding-top:calc(12px + env(safe-area-inset-top))!important;
  padding-right:max(14px,env(safe-area-inset-right))!important;
  padding-left:max(14px,env(safe-area-inset-left))!important;
}
body.mobile-mode .mobile-drawer-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain!important;
  padding-bottom:calc(28px + env(safe-area-inset-bottom))!important;
  scroll-padding-bottom:calc(28px + env(safe-area-inset-bottom))!important;
}
body.mobile-mode .mobile-drawer-scroll::after{
  content:"";
  display:block;
  height:calc(18px + env(safe-area-inset-bottom));
}
/* Un tiroir ouvert devient la seule couche de navigation : aucun dock ne le recouvre. */
body.mobile-drawer-open .mobile-bottom-nav{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.mobile-drawer-open .psv-chatbot-launcher{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
@media(max-width:520px){
  body.mobile-mode .mobile-app-drawer{
    width:100vw!important;
    max-width:none!important;
    border-radius:0!important;
  }
  body.mobile-mode .mobile-drawer-backdrop{display:none!important}
  body.mobile-mode .mobile-drawer-group a,
  body.mobile-mode .mobile-drawer-group button,
  body.mobile-mode .mobile-drawer-submenu>summary{
    min-height:44px!important;
  }
}

/* Pasivite 2.8.33.0 — garde-fous transversaux de recette PWA.
   Une seule colonne, largeur utile complète, aucun héritage desktop résiduel. */
body.mobile-mode .choice-grid,
body.mobile-mode .form-row,
body.mobile-mode .stats-grid,
body.mobile-mode .dashboard-grid,
body.mobile-mode .friend-verdict-grid,
body.mobile-mode .admin-two-columns{
  grid-template-columns:minmax(0,1fr)!important;
}
body.mobile-mode .auth-shell,
body.mobile-mode .wide-auth,
body.mobile-mode .empty-state,
body.mobile-mode .error-page,
body.mobile-mode .prose-page,
body.mobile-mode .assistant-shell,
body.mobile-mode .assistant-form,
body.mobile-mode .friend-photo-panel,
body.mobile-mode .friend-opinion-form{
  width:100%!important;
  max-width:720px!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.mobile-mode .auth-shell,
body.mobile-mode .wide-auth,
body.mobile-mode .empty-state,
body.mobile-mode .error-page,
body.mobile-mode .prose-page{
  padding:14px!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.mobile-mode .card-grid,
body.mobile-mode .choice-grid,
body.mobile-mode .form-row,
body.mobile-mode .stats-grid,
body.mobile-mode .dashboard-grid{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body.mobile-mode .card-grid>* ,
body.mobile-mode .choice-grid>* ,
body.mobile-mode .form-row>* ,
body.mobile-mode .stats-grid>* ,
body.mobile-mode .dashboard-grid>*{
  min-width:0!important;
  max-width:100%!important;
}
body.mobile-mode table{
  display:block;
  width:100%!important;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
body.mobile-mode pre,
body.mobile-mode code{
  max-width:100%!important;
  overflow-wrap:anywhere;
  white-space:pre-wrap;
}
body.mobile-mode main a,
body.mobile-mode main button,
body.mobile-mode main input,
body.mobile-mode main select,
body.mobile-mode main textarea{
  min-width:0;
}

/* Pasivite 2.8.33.3 — P0 tiroir PWA : respecter réellement l'attribut HTML hidden.
   Le 2.8.32.3 forçait display:flex!important sur le tiroir, ce qui annulait visuellement
   drawer.hidden=true après clic sur × / lien / Échap. */
body.mobile-mode .mobile-app-drawer[hidden],
body.mobile-mode .mobile-drawer-backdrop[hidden]{
  display:none!important;
}
body.mobile-mode .mobile-app-drawer:not([hidden]){
  display:flex!important;
}


/* Pasivite 2.8.35.0 — séparation d'expérience PWA Personnel / Pro, sans toucher au moteur Push. */
body.mobile-mode.mobile-profile-pro .mobile-drawer-prevention,
body.mobile-mode.mobile-profile-pro .mobile-drawer-audiences{display:none!important}
body.mobile-mode .mobile-drawer-mode{padding-top:8px!important}

body.mobile-mode .mobile-pro-home{display:grid;gap:14px;width:100%;max-width:680px;margin:0 auto;padding:4px 0 22px;box-sizing:border-box}
body.mobile-mode .mobile-pro-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px;border:1px solid #d9e6ec;border-radius:18px;background:#fff;box-shadow:0 6px 18px rgba(16,42,77,.06)}
body.mobile-mode .mobile-pro-kicker{margin:0 0 3px;color:#087d75;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
body.mobile-mode .mobile-pro-hero h1{margin:0;color:#102a4d;font-size:1.55rem;line-height:1.1}
body.mobile-mode .mobile-pro-hero p:not(.mobile-pro-kicker){margin:6px 0 0;color:#607285;font-size:.91rem;line-height:1.35}
body.mobile-mode .mobile-pro-switch{flex:0 0 auto;padding:8px 10px;border:1px solid #cbdbe3;border-radius:11px;background:#f8fbfc;color:#28445f;text-decoration:none;font-size:.78rem;font-weight:800}
body.mobile-mode .mobile-pro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.mobile-mode .mobile-pro-card{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:10px;min-width:0;padding:14px;border:1px solid #dce7ed;border-radius:16px;background:#fff;color:#17324f;text-decoration:none;box-shadow:0 5px 16px rgba(6,34,70,.05)}
body.mobile-mode .mobile-pro-card .mobile-pro-icon{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eaf8f5;color:#087d75;font-weight:900;font-size:1.05rem}
body.mobile-mode .mobile-pro-card strong{min-width:0;color:#102a4d;font-size:.95rem;line-height:1.2;overflow-wrap:anywhere}
body.mobile-mode .mobile-pro-card small{min-width:0;margin-top:3px;color:#6a7989;font-size:.77rem;line-height:1.28;overflow-wrap:anywhere}
body.mobile-mode .mobile-pro-card-accent{border-color:#b9ddd7;background:#f5fbf9}
body.mobile-mode .mobile-pro-callout{padding:15px;border:1px solid #cfe5df;border-radius:16px;background:#f0faf7}
body.mobile-mode .mobile-pro-callout strong{display:block;color:#0d5e59;font-size:.95rem;line-height:1.3}
body.mobile-mode .mobile-pro-callout p{margin:5px 0 10px;color:#526d72;font-size:.84rem;line-height:1.35}
body.mobile-mode .mobile-pro-callout a{display:inline-flex;padding:9px 12px;border-radius:10px;background:#12355b;color:#fff;text-decoration:none;font-size:.82rem;font-weight:900}

/* Correctif GSM Kits : aucun texte ne doit se juxtaposer ou forcer la largeur. */
body.mobile-mode .kit-detail-shell,
body.mobile-mode .kit-detail-shell *{min-width:0;max-width:100%;box-sizing:border-box}
body.mobile-mode .kit-detail-shell{overflow-x:hidden!important}
body.mobile-mode .kit-safety-banner{display:block!important;padding:13px 14px!important;overflow-wrap:anywhere;word-break:normal}
body.mobile-mode .kit-safety-banner strong{display:block!important;margin-bottom:4px!important;white-space:normal!important}
body.mobile-mode .kit-safety-banner span{display:block!important;line-height:1.4!important;overflow-wrap:anywhere}
body.mobile-mode .kit-sheet-content h2,
body.mobile-mode .kit-sheet-content p,
body.mobile-mode .kit-sheet-content li{overflow-wrap:anywhere;word-break:normal}

/* Observatoire mobile : l'indice reste informatif mais ne monopolise plus l'écran. */
body.mobile-mode .observatory-index-panel{display:block!important;margin-top:12px!important;padding:14px 15px!important;border-radius:15px!important}
body.mobile-mode .observatory-index-panel>div span{font-size:.76rem!important;line-height:1.25!important}
body.mobile-mode .observatory-index-panel>div strong{display:block!important;margin-top:5px!important;font-size:1.45rem!important;line-height:1.12!important;white-space:normal!important;overflow-wrap:anywhere}
body.mobile-mode .observatory-index-panel>div small{display:inline!important;font-size:.82rem!important;margin:0!important}
body.mobile-mode .observatory-index-panel p{margin-top:7px!important;font-size:.82rem!important;line-height:1.35!important}
body.mobile-mode .observatory-index-panel>small{margin-top:6px!important;font-size:.75rem!important;line-height:1.3!important}

/* Observatoire Pro : densité mobile de type application. */
body.mobile-mode .pro-observatory-shell{padding-top:0!important}
body.mobile-mode .pro-observatory-hero{padding:15px!important;border-radius:16px!important}
body.mobile-mode .pro-observatory-hero h1{font-size:1.35rem!important;line-height:1.15!important}
body.mobile-mode .pro-observatory-hero .lead{font-size:.86rem!important;line-height:1.35!important}
body.mobile-mode .pro-sector-picker,
body.mobile-mode .pro-observatory-card,
body.mobile-mode .pro-barometer-quality{padding:14px!important;border-radius:15px!important;margin-top:12px!important;margin-bottom:12px!important}
body.mobile-mode .pro-sector-tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:4px!important;scrollbar-width:none}
body.mobile-mode .pro-sector-tabs::-webkit-scrollbar{display:none}
body.mobile-mode .pro-sector-tabs a{flex:0 0 auto!important;min-height:36px!important;padding:6px 10px!important;font-size:.78rem!important}
body.mobile-mode .pro-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
body.mobile-mode .pro-quality-grid article{padding:10px!important}
body.mobile-mode .pro-quality-grid strong{font-size:1.05rem!important}
body.mobile-mode .pro-quality-grid span{font-size:.74rem!important;line-height:1.2!important}
body.mobile-mode .pro-quality-note{padding:11px 12px!important}
body.mobile-mode .pro-quality-note strong{font-size:.9rem!important;line-height:1.25!important}
body.mobile-mode .pro-quality-note p{font-size:.78rem!important;line-height:1.3!important}

/* 2.8.35.1 — P0 lisibilité accueil Pro sur téléphones, y compris iPhone 430 CSS px.
   Une seule colonne sur téléphone : aucune césure lettre par lettre, cartes pleine largeur. */
@media(max-width:560px){
 body.mobile-mode .mobile-pro-grid{grid-template-columns:minmax(0,1fr)!important}
 body.mobile-mode .mobile-pro-card{grid-template-columns:40px minmax(0,1fr)!important;column-gap:11px!important;padding:13px 14px!important}
 body.mobile-mode .mobile-pro-card strong,
 body.mobile-mode .mobile-pro-card small{overflow-wrap:normal!important;word-break:normal!important;white-space:normal!important}
 body.mobile-mode .mobile-pro-hero{display:block}
 body.mobile-mode .mobile-pro-switch{display:inline-flex;margin-top:10px}
}

/* Pasivite 2.8.36.0 — densité PWA de type application.
   Objectif : fonctions clés visibles sans longs scrolls, détails en second niveau. */
body.mobile-mode .mobile-home-v360,
body.mobile-mode .mobile-pro-home-v360,
body.mobile-mode .mobile-pro-observatory,
body.mobile-mode .mobile-kit-detail{
  width:100%;max-width:680px;margin:0 auto;box-sizing:border-box;
}

/* Accueil personnel compact */
body.mobile-mode .mobile-home-v360{display:grid;gap:10px;padding:3px 0 18px}
body.mobile-mode .mobile-home-compact-head{position:relative;padding:14px 14px 12px;border:1px solid #dce7ed;border-radius:17px;background:#fff}
body.mobile-mode .mobile-home-compact-head h1{margin:0!important;padding-right:0;color:#102a4d!important;font-size:1.42rem!important;line-height:1.12!important;letter-spacing:-.02em!important}
body.mobile-mode .mobile-home-compact-head>a{display:inline-flex;margin-top:8px;color:#087d75;font-size:.82rem;font-weight:850;text-decoration:none}
body.mobile-mode .mobile-home-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.mobile-mode .mobile-home-action-card{position:relative;display:grid;grid-template-columns:8px minmax(0,1fr) 14px;align-items:center;gap:8px;min-height:76px;padding:10px 10px;border:1px solid #dce7ed;border-radius:15px;background:#fff;color:#17324f;text-decoration:none;box-sizing:border-box}
body.mobile-mode .mobile-home-action-dot{width:6px;height:28px;border-radius:99px;background:#0aa997}
body.mobile-mode .mobile-home-action-card.urgency-urgent .mobile-home-action-dot{background:#c72b3d}
body.mobile-mode .mobile-home-action-card.urgency-important .mobile-home-action-dot,
body.mobile-mode .mobile-home-action-card.urgency-high .mobile-home-action-dot{background:#e18528}
body.mobile-mode .mobile-home-action-card strong{min-width:0;font-size:.88rem;line-height:1.18;overflow-wrap:normal!important;word-break:normal!important;hyphens:auto}
body.mobile-mode .mobile-home-action-card b{color:#8090a0;font-size:1.15rem;font-weight:600}
body.mobile-mode .mobile-home-more{display:flex;justify-content:space-between;align-items:center;margin-top:-2px;padding:3px 4px;color:#496477;text-decoration:none;font-size:.8rem;font-weight:800}
body.mobile-mode .mobile-home-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.mobile-mode .mobile-home-primary-actions>a{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;min-height:64px;padding:10px 11px;border:1px solid #d9e5eb;border-radius:15px;background:#f6fbfa;color:#133a52;text-decoration:none}
body.mobile-mode .mobile-home-primary-actions>a>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#e4f7f3;color:#087b70;font-weight:950}
body.mobile-mode .mobile-home-primary-actions>a.is-urgent{background:#fff8f8}
body.mobile-mode .mobile-home-primary-actions>a.is-urgent>span{background:#fdebed;color:#be2a3d}
body.mobile-mode .mobile-home-primary-actions strong{font-size:.88rem;line-height:1.15}
body.mobile-mode .mobile-home-primary-actions small{margin-top:2px;color:#6b7b8b;font-size:.7rem;line-height:1.18}
body.mobile-mode .mobile-home-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.mobile-mode .mobile-home-mini-card{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr) 12px;align-items:center;gap:8px;min-height:62px;padding:9px 10px;border:1px solid #dce7ed;border-radius:14px;background:#fff;color:#17324f;text-decoration:none}
body.mobile-mode .mobile-home-mini-card>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eaf7f4;color:#087d75;font-weight:950}
body.mobile-mode .mobile-home-mini-card.is-alert>span{background:#fdeff1;color:#bf2d40}
body.mobile-mode .mobile-home-mini-card strong{display:block;font-size:.83rem;line-height:1.12}
body.mobile-mode .mobile-home-mini-card small{display:block;margin-top:2px;color:#71808e;font-size:.67rem;line-height:1.15}
body.mobile-mode .mobile-home-mini-card b{color:#8795a3;font-size:1.05rem}
body.mobile-mode .mobile-home-mini-card .mobile-context-badge{top:3px;right:3px;font-style:normal}
body.mobile-mode .mobile-home-organisation-row{display:grid;grid-template-columns:30px minmax(0,1fr) 12px;align-items:center;gap:8px;padding:9px 10px;border:1px solid #d8e8e4;border-radius:14px;background:#f4fbf9;color:#17324f;text-decoration:none}
body.mobile-mode .mobile-home-organisation-row>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#dff4ef;color:#087d75}
body.mobile-mode .mobile-home-organisation-row strong{display:block;font-size:.82rem}.mobile-home-organisation-row small{display:block;color:#6d7c88;font-size:.68rem}.mobile-home-organisation-row b{color:#8795a3}

/* État notifications au lancement, sans modifier le moteur Push existant. */
body.mobile-mode .mobile-push-status{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:56px;padding:8px 9px;border:1px solid #dce7ed;border-radius:14px;background:#fff}
body.mobile-mode .mobile-push-status[hidden]{display:none!important}
body.mobile-mode .mobile-push-status-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#edf6f5;font-size:16px}
body.mobile-mode .mobile-push-status-copy{min-width:0}
body.mobile-mode .mobile-push-status-copy strong{display:block;color:#17324f;font-size:.8rem;line-height:1.1}
body.mobile-mode .mobile-push-status-copy small{display:block;margin-top:2px;color:#6b7c8b;font-size:.67rem;line-height:1.16;white-space:normal;overflow-wrap:normal}
body.mobile-mode .mobile-push-status-copy .mobile-push-help{margin-top:4px;color:#526b77}
body.mobile-mode .mobile-push-status-actions{display:flex;align-items:center;gap:5px}
body.mobile-mode .mobile-push-status-actions button,
body.mobile-mode .mobile-push-status-actions a{min-height:32px!important;border-radius:10px;border:1px solid #bfded8;background:#f0faf7;color:#096f66;font-size:.72rem;font-weight:900;text-decoration:none;padding:6px 8px;box-sizing:border-box}
body.mobile-mode .mobile-push-status-actions a{display:grid;place-items:center;width:32px;padding:0;font-size:1.15rem}
body.mobile-mode .mobile-push-status-actions button[hidden]{display:none!important}

/* Accueil Pro : 6 lanceurs courts, 3 lignes seulement sur téléphone. */
body.mobile-mode .mobile-pro-home-v360{display:grid;gap:10px;padding:3px 0 18px}
body.mobile-mode .mobile-pro-compact-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border:1px solid #dce7ed;border-radius:17px;background:#fff}
body.mobile-mode .mobile-pro-compact-head h1{margin:0!important;color:#102a4d!important;font-size:1.35rem!important;line-height:1.08!important}
body.mobile-mode .mobile-pro-compact-head .mobile-pro-switch{margin:0!important}
body.mobile-mode .mobile-pro-launch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
body.mobile-mode .mobile-pro-launch-grid>a{display:flex;align-items:center;gap:8px;min-height:60px;padding:9px 10px;border:1px solid #dce7ed;border-radius:14px;background:#fff;color:#17324f;text-decoration:none;box-sizing:border-box}
body.mobile-mode .mobile-pro-launch-grid>a>span{flex:0 0 30px;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e8f7f4;color:#087b70;font-size:.88rem;font-weight:950}
body.mobile-mode .mobile-pro-launch-grid>a strong{min-width:0;font-size:.82rem;line-height:1.12;overflow-wrap:normal!important;word-break:normal!important}
body.mobile-mode .mobile-pro-launch-grid>a.is-accent{border-color:#baddd6;background:#f4fbf9}
body.mobile-mode .mobile-pro-value-card{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:8px;padding:11px 12px;border:1px solid #bddfd7;border-radius:15px;background:#f0faf7;color:#143b4e;text-decoration:none}
body.mobile-mode .mobile-pro-value-card p{margin:0 0 2px!important;color:#087b70!important;font-size:.67rem!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.05em}
body.mobile-mode .mobile-pro-value-card strong{display:block;font-size:.86rem;line-height:1.15}.mobile-pro-value-card small{display:block;margin-top:3px;color:#60767d;font-size:.69rem;line-height:1.2}.mobile-pro-value-card b{font-size:1.2rem;color:#6f8791}
/* Neutralise le correctif 2.8.35.1 devenu inutile : les cartes n'ont plus de descriptions longues. */
@media(max-width:560px){body.mobile-mode .mobile-pro-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Kits PWA : progression repliable = plus de page interminable. */
body.mobile-mode .mobile-kit-detail{padding:4px 0 20px}
body.mobile-mode .mobile-kit-head{margin:0 0 9px!important;padding:0 1px}
body.mobile-mode .mobile-kit-head h1{font-size:1.08rem!important;line-height:1.15!important}
body.mobile-mode .mobile-kit-intro{padding:11px 12px;border:1px solid #dce7ed;border-radius:15px;background:#fff}
body.mobile-mode .mobile-kit-intro>p{margin:0!important;color:#5f7181!important;font-size:.78rem!important;line-height:1.32!important}
body.mobile-mode .mobile-kit-intro-actions{display:flex;gap:7px;margin-top:9px}
body.mobile-mode .mobile-kit-intro-actions button{min-height:34px!important;padding:7px 10px!important;border:1px solid #c6dbdf;border-radius:10px;background:#f6fafb;color:#173a55;font-size:.74rem;font-weight:850}
body.mobile-mode .mobile-kit-principle{display:grid;grid-template-columns:auto 1fr;gap:8px;margin-top:8px;padding:9px 10px;border-radius:13px;background:#eef8f5;color:#31565b}
body.mobile-mode .mobile-kit-principle strong{font-size:.74rem}.mobile-kit-principle span{font-size:.72rem;line-height:1.24}
body.mobile-mode .mobile-kit-steps{display:grid;gap:7px;margin-top:8px}
body.mobile-mode .mobile-kit-step{border:1px solid #dce7ed;border-radius:14px;background:#fff;overflow:hidden}
body.mobile-mode .mobile-kit-step>summary{list-style:none;display:grid;grid-template-columns:30px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:9px 10px;cursor:pointer}
body.mobile-mode .mobile-kit-step>summary::-webkit-details-marker{display:none}
body.mobile-mode .mobile-kit-step-number{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e8f7f4;color:#087b70;font-size:.75rem;font-weight:950}
body.mobile-mode .mobile-kit-step summary small{display:block;color:#78909b;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em}
body.mobile-mode .mobile-kit-step summary strong{display:block;margin-top:2px;color:#17324f;font-size:.8rem;line-height:1.15;overflow-wrap:normal!important;word-break:normal!important}
body.mobile-mode .mobile-kit-step summary b{color:#81909d;font-size:.95rem;transition:transform .15s ease}
body.mobile-mode .mobile-kit-step[open] summary b{transform:rotate(180deg)}
body.mobile-mode .mobile-kit-step-body{padding:0 11px 11px 48px;border-top:1px solid #edf1f3}
body.mobile-mode .mobile-kit-step-body>p{margin:9px 0 7px!important;color:#5f7080!important;font-size:.74rem!important;line-height:1.3!important}
body.mobile-mode .mobile-kit-step-body ol{margin:0 0 8px;padding-left:18px}.mobile-kit-step-body li{margin:0 0 5px;font-size:.74rem;line-height:1.28}
body.mobile-mode .mobile-kit-step-actions{display:flex;flex-wrap:wrap;gap:6px}
body.mobile-mode .mobile-kit-step-actions a{display:inline-flex;align-items:center;min-height:32px;padding:6px 9px;border:1px solid #c7dce1;border-radius:9px;color:#15425e;text-decoration:none;font-size:.69rem;font-weight:850}
body.mobile-mode .mobile-kit-note{margin:9px 3px 0!important;color:#7b8994!important;font-size:.66rem!important;line-height:1.25!important}

/* Observatoire Pro PWA : synthèse d'abord, données détaillées repliées. */
body.mobile-mode .mobile-pro-observatory{display:grid;gap:9px;padding:3px 0 20px}
body.mobile-mode .mobile-pro-obs-head{margin:0!important;padding:0 1px}
body.mobile-mode .mobile-pro-obs-head h1{font-size:1.18rem!important}
body.mobile-mode .mobile-pro-sector-strip{display:flex;gap:6px;overflow-x:auto;padding:0 0 2px;scrollbar-width:none;scroll-snap-type:x proximity}
body.mobile-mode .mobile-pro-sector-strip::-webkit-scrollbar{display:none}
body.mobile-mode .mobile-pro-sector-strip a{flex:0 0 auto;scroll-snap-align:start;display:inline-flex;align-items:center;min-height:32px;padding:5px 9px;border:1px solid #d5e2e7;border-radius:999px;background:#fff;color:#496476;text-decoration:none;font-size:.68rem;font-weight:800}
body.mobile-mode .mobile-pro-sector-strip a.is-active{border-color:#91d6cc;background:#eaf8f5;color:#076e65}
body.mobile-mode .mobile-pro-priority-card{padding:11px 12px;border:1px solid #d3e7e2;border-radius:15px;background:#f4fbf9}
body.mobile-mode .mobile-pro-priority-card h2{margin:0 0 7px!important;color:#123b4c!important;font-size:.93rem!important;line-height:1.15!important}
body.mobile-mode .mobile-pro-priority-card ol{display:grid;gap:5px;margin:0;padding-left:19px}.mobile-pro-priority-card li{font-size:.73rem;line-height:1.25;color:#415e67}
body.mobile-mode .mobile-pro-obs-snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
body.mobile-mode .mobile-pro-obs-snapshot article{min-width:0;padding:8px 7px;border:1px solid #dce7ed;border-radius:13px;background:#fff;text-align:center}
body.mobile-mode .mobile-pro-obs-snapshot span{display:block;color:#71808d;font-size:.6rem;text-transform:uppercase;letter-spacing:.04em}
body.mobile-mode .mobile-pro-obs-snapshot strong{display:block;margin-top:3px;color:#12395a;font-size:.92rem;line-height:1.05;overflow-wrap:normal!important;word-break:normal!important}
body.mobile-mode .mobile-pro-obs-snapshot strong.is-text{font-size:.7rem}
body.mobile-mode .mobile-pro-obs-snapshot small{display:block;margin-top:3px;color:#778692;font-size:.58rem;line-height:1.1}
body.mobile-mode .mobile-pro-watch-card{padding:10px 11px;border:1px solid #dce7ed;border-radius:14px;background:#fff}
body.mobile-mode .mobile-pro-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.mobile-pro-section-head h2{margin:0!important;font-size:.9rem!important}.mobile-pro-section-head>a{color:#087b70;text-decoration:none;font-size:.68rem;font-weight:850}
body.mobile-mode .mobile-pro-watch-card ol{display:grid;gap:4px;margin:7px 0 0;padding:0;list-style:none}.mobile-pro-watch-card li{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-top:1px solid #edf1f3;font-size:.72rem}.mobile-pro-watch-card li:first-child{border-top:0}.mobile-pro-watch-card li strong{color:#12395a}
body.mobile-mode .mobile-pro-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
body.mobile-mode .mobile-pro-resource-grid>a{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;column-gap:7px;padding:8px 9px;border:1px solid #dce7ed;border-radius:13px;background:#fff;color:#17324f;text-decoration:none}
body.mobile-mode .mobile-pro-resource-grid>a>span{grid-row:1/3;display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#e8f7f4;color:#087b70;font-size:.7rem;font-weight:950}.mobile-pro-resource-grid strong{font-size:.74rem;line-height:1.12}.mobile-pro-resource-grid small{margin-top:2px;color:#74828e;font-size:.6rem;line-height:1.1}
body.mobile-mode .mobile-pro-more{border:1px solid #dce7ed;border-radius:13px;background:#fff;overflow:hidden}.mobile-pro-more>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:9px 10px;color:#39596b;font-size:.7rem;font-weight:850;cursor:pointer}.mobile-pro-more>summary::-webkit-details-marker{display:none}.mobile-pro-more-body{padding:0 10px 10px;border-top:1px solid #edf1f3}.mobile-pro-more-body p{font-size:.68rem!important;line-height:1.25!important}.mobile-pro-more-body h3{margin:8px 0 4px!important;font-size:.72rem!important}.mobile-pro-more-body ul{list-style:none;margin:0;padding:0}.mobile-pro-more-body li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-top:1px solid #f0f2f3;font-size:.67rem}

@media(max-width:340px){
  body.mobile-mode .mobile-home-action-grid,
  body.mobile-mode .mobile-home-primary-actions,
  body.mobile-mode .mobile-home-mini-grid,
  body.mobile-mode .mobile-pro-launch-grid,
  body.mobile-mode .mobile-pro-resource-grid{grid-template-columns:minmax(0,1fr)!important}
  body.mobile-mode .mobile-pro-obs-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Pasivite 2.8.36.1 — hotfix UI : cartes de nouveau clairement délimitées
   et typographie Pro allégée, sans modifier l'architecture Personnel / Pro. */

/* Cartes Personnel : entourage plus lisible, sans revenir aux gros blocs. */
body.mobile-mode .mobile-home-action-card,
body.mobile-mode .mobile-home-primary-actions>a,
body.mobile-mode .mobile-home-mini-card,
body.mobile-mode .mobile-home-organisation-row,
body.mobile-mode .mobile-push-status{
  border-color:#c8d8e1!important;
  box-shadow:0 3px 10px rgba(16,42,77,.055)!important;
}

/* Accueil Pro : conserver la grille compacte mais retrouver de vraies cartes. */
body.mobile-mode .mobile-pro-compact-head{
  border-color:#c8d8e1!important;
  box-shadow:0 3px 10px rgba(16,42,77,.05)!important;
}
body.mobile-mode .mobile-pro-compact-head h1{
  font-size:1.16rem!important;
  line-height:1.12!important;
  font-weight:800!important;
}
body.mobile-mode .mobile-pro-kicker{
  font-size:.66rem!important;
  font-weight:800!important;
  letter-spacing:.045em!important;
}
body.mobile-mode .mobile-pro-switch{
  padding:6px 8px!important;
  font-size:.70rem!important;
  font-weight:750!important;
}
body.mobile-mode .mobile-pro-launch-grid>a{
  min-height:56px!important;
  padding:8px 9px!important;
  border:1px solid #c5d7e0!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 4px 12px rgba(16,42,77,.065)!important;
}
body.mobile-mode .mobile-pro-launch-grid>a.is-accent{
  border-color:#afd7ce!important;
  background:#f4fbf9!important;
}
body.mobile-mode .mobile-pro-launch-grid>a>span{
  flex-basis:28px!important;
  width:28px!important;
  height:28px!important;
  font-size:.76rem!important;
  font-weight:850!important;
}
body.mobile-mode .mobile-pro-launch-grid>a strong{
  font-size:.74rem!important;
  line-height:1.12!important;
  font-weight:780!important;
  letter-spacing:0!important;
}
body.mobile-mode .mobile-pro-value-card{
  padding:9px 10px!important;
  border-color:#b9d8d1!important;
  border-radius:14px!important;
  box-shadow:0 3px 10px rgba(16,42,77,.05)!important;
}
body.mobile-mode .mobile-pro-value-card p{
  font-size:.60rem!important;
  font-weight:800!important;
  letter-spacing:.035em!important;
}
body.mobile-mode .mobile-pro-value-card strong{
  font-size:.76rem!important;
  line-height:1.16!important;
  font-weight:800!important;
}
body.mobile-mode .mobile-pro-value-card small{
  font-size:.63rem!important;
  line-height:1.18!important;
}
body.mobile-mode .mobile-pro-value-card b{font-size:1rem!important}

/* Observatoire Pro : réduire la sensation de titres / chiffres surdimensionnés. */
body.mobile-mode .mobile-pro-obs-head h1{font-size:1.02rem!important;line-height:1.14!important;font-weight:800!important}
body.mobile-mode .mobile-pro-sector-strip a{font-size:.62rem!important;font-weight:750!important}
body.mobile-mode .mobile-pro-priority-card,
body.mobile-mode .mobile-pro-watch-card,
body.mobile-mode .mobile-pro-obs-snapshot article,
body.mobile-mode .mobile-pro-resource-grid>a,
body.mobile-mode .mobile-pro-more{
  border-color:#c8d8e1!important;
  box-shadow:0 3px 10px rgba(16,42,77,.045)!important;
}
body.mobile-mode .mobile-pro-priority-card h2{font-size:.82rem!important;font-weight:800!important}
body.mobile-mode .mobile-pro-priority-card li{font-size:.68rem!important}
body.mobile-mode .mobile-pro-obs-snapshot span{font-size:.55rem!important}
body.mobile-mode .mobile-pro-obs-snapshot strong{font-size:.80rem!important;font-weight:800!important}
body.mobile-mode .mobile-pro-obs-snapshot strong.is-text{font-size:.64rem!important}
body.mobile-mode .mobile-pro-obs-snapshot small{font-size:.54rem!important}
body.mobile-mode .mobile-pro-section-head h2{font-size:.79rem!important;font-weight:800!important}
body.mobile-mode .mobile-pro-section-head>a{font-size:.62rem!important}
body.mobile-mode .mobile-pro-watch-card li{font-size:.66rem!important}
body.mobile-mode .mobile-pro-resource-grid strong{font-size:.68rem!important;font-weight:780!important}
body.mobile-mode .mobile-pro-resource-grid small{font-size:.56rem!important}
body.mobile-mode .mobile-pro-more>summary{font-size:.64rem!important;font-weight:780!important}
body.mobile-mode .mobile-pro-more-body p{font-size:.63rem!important}
body.mobile-mode .mobile-pro-more-body h3{font-size:.67rem!important}
body.mobile-mode .mobile-pro-more-body li{font-size:.62rem!important}

/* Kits / fiches de parcours : restaurer une séparation visuelle nette entre les étapes. */
body.mobile-mode .mobile-kit-intro,
body.mobile-mode .mobile-kit-step{
  border-color:#c7d7e0!important;
  box-shadow:0 3px 10px rgba(16,42,77,.055)!important;
}

/* Pasivite 2.8.37.0 — refonte UX PWA Personnel / Pro.
   Direction : vraie application mobile, hiérarchie compacte, cartes lisibles,
   informations utiles au premier niveau, textes secondaires en retrait. */
body.mobile-mode{
  --app-bg:#f5f7fb;
  --app-surface:#ffffff;
  --app-surface-soft:#f8fafc;
  --app-text:#17233f;
  --app-muted:#667085;
  --app-line:#dfe5ec;
  --app-line-strong:#ccd6e0;
  --app-teal:#0b8f83;
  --app-teal-soft:#e8f7f4;
  --app-pro-accent:#082653;
  --app-pro-soft:#e7f6f2;
  --app-danger:#c83447;
  --app-danger-soft:#fff0f2;
  background:var(--app-bg)!important;
  color:var(--app-text)!important;
  font-size:15px!important;
  line-height:1.45!important;
}

/* Barre haute plus proche d'une application native. */
body.mobile-mode .site-header{box-shadow:0 1px 0 rgba(15,23,42,.06)!important;border-bottom:1px solid #e4e9ef!important}
body.mobile-mode .site-header .header-inner{min-height:62px!important;padding-top:6px!important;padding-bottom:6px!important}
body.mobile-mode .brand{gap:8px!important}
body.mobile-mode .brand-modern-logo,body.mobile-mode .tenant-logo{width:38px!important;height:42px!important;object-fit:contain!important}
body.mobile-mode .brand-wordmark{font-size:21px!important;letter-spacing:-.035em!important}
body.mobile-mode .brand-copy small{display:none!important}
body.mobile-mode .mobile-appbar-actions{gap:3px!important}
body.mobile-mode .mobile-appbar-button{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;border-radius:12px!important}
body.mobile-mode .mobile-appbar-button svg{width:21px!important;height:21px!important}

/* Typographie globale PWA : fin des titres de landing page surdimensionnés. */
body.mobile-mode .mobile-app-main h1{font-size:clamp(1.4rem,5.8vw,1.72rem)!important;line-height:1.14!important;letter-spacing:-.025em!important}
body.mobile-mode .mobile-app-main h2{font-size:1.08rem!important;line-height:1.22!important;letter-spacing:-.012em!important}
body.mobile-mode .mobile-app-main h3{font-size:.96rem!important;line-height:1.25!important}
body.mobile-mode .mobile-app-main p,body.mobile-mode .mobile-app-main li{font-size:.88rem!important;line-height:1.48!important}
body.mobile-mode .mobile-app-main .lead{font-size:.88rem!important;line-height:1.45!important;color:var(--app-muted)!important}
body.mobile-mode .mobile-app-main .eyebrow{font-size:.68rem!important;letter-spacing:.08em!important;font-weight:850!important}
body.mobile-mode .mobile-app-main .muted,body.mobile-mode .mobile-app-main small{color:var(--app-muted)}

/* Contrôles : compacts, respirants et cohérents. */
body.mobile-mode .primary-button,body.mobile-mode .secondary-button,body.mobile-mode .big-submit,
body.mobile-mode a.primary-button,body.mobile-mode a.secondary-button{
  min-height:42px!important;padding:8px 12px!important;border-width:1px!important;border-radius:12px!important;font-size:.84rem!important;font-weight:800!important;
}
body.mobile-mode input:not([type=checkbox]):not([type=radio]),body.mobile-mode select,body.mobile-mode textarea{
  width:100%!important;min-height:44px!important;padding:9px 11px!important;border:1px solid #b9c5d2!important;border-radius:12px!important;background:#fff!important;color:var(--app-text)!important;font-size:15px!important;line-height:1.35!important;box-shadow:none!important;
}
body.mobile-mode textarea{min-height:118px!important;resize:vertical!important}
body.mobile-mode input:focus,body.mobile-mode select:focus,body.mobile-mode textarea:focus{outline:3px solid rgba(11,143,131,.14)!important;border-color:#62b9b0!important}

/* Socle de cartes commun. */
body.mobile-mode .card,body.mobile-mode .info-card,body.mobile-mode .notice-panel,
body.mobile-mode .audience-action,body.mobile-mode .audience-help-nearby,body.mobile-mode .audience-tip,
body.mobile-mode .audience-p2-panel,body.mobile-mode .audience-reflex-card,body.mobile-mode .audience-trust-panel,
body.mobile-mode .audience-official,body.mobile-mode .reflex-card,body.mobile-mode .urgent-steps{
  border:1px solid var(--app-line)!important;border-radius:17px!important;background:var(--app-surface)!important;box-shadow:0 5px 16px rgba(31,41,55,.045)!important;
}

/* Accueil Personnel / Pro : même langage d'application. */
body.mobile-mode .mobile-home-v370,body.mobile-mode .mobile-pro-home-v370{width:100%;max-width:680px;margin:0 auto;padding:10px 12px 22px;display:grid;gap:10px}
body.mobile-mode .mobile-dashboard-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px 14px 13px;border:1px solid var(--app-line);border-radius:19px;background:linear-gradient(145deg,#fff,#fafbfd);box-shadow:0 6px 18px rgba(31,41,55,.045)}
body.mobile-mode .mobile-dashboard-head h1{margin:3px 0 3px!important;font-size:1.44rem!important;color:var(--app-text)!important}
body.mobile-mode .mobile-dashboard-head p:not(.mobile-mode-pill){margin:0!important;max-width:470px;color:var(--app-muted)!important;font-size:.78rem!important;line-height:1.35!important}
body.mobile-mode .mobile-mode-pill{display:inline-flex;width:max-content;margin:0!important;padding:4px 8px;border-radius:999px;background:var(--app-teal-soft);color:#08766d!important;font-size:.62rem!important;line-height:1!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.08em}
body.mobile-mode .mobile-dashboard-head-pro .mobile-mode-pill{background:var(--app-pro-soft);color:var(--app-pro-accent)!important}
body.mobile-mode .mobile-profile-switch{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 9px;border:1px solid var(--app-line-strong);border-radius:10px;background:#fff;color:#344054;text-decoration:none;font-size:.71rem;font-weight:800;white-space:nowrap}
body.mobile-mode .mobile-assist-shortcut{display:grid;grid-template-columns:30px minmax(0,1fr) 12px;align-items:center;gap:9px;padding:9px 11px;border:1px solid #d8e7e4;border-radius:14px;background:#f5fbf9;color:#23435a;text-decoration:none}
body.mobile-mode .mobile-assist-shortcut>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e3f5f1;color:#08766d;font-size:.83rem;font-weight:900}
body.mobile-mode .mobile-assist-shortcut strong{font-size:.81rem;line-height:1.2}.mobile-assist-shortcut b{color:#8a97a6}

body.mobile-mode .mobile-situation-list{display:grid;grid-template-columns:1fr;gap:7px}
body.mobile-mode .mobile-situation-card{display:grid;grid-template-columns:6px minmax(0,1fr) 12px;align-items:center;gap:10px;min-height:54px;padding:9px 11px;border:1px solid var(--app-line);border-radius:15px;background:#fff;color:var(--app-text)!important;text-decoration:none;box-shadow:0 3px 10px rgba(31,41,55,.035)}
body.mobile-mode .mobile-situation-mark{width:5px;height:28px;border-radius:99px;background:#15a394}
body.mobile-mode .mobile-situation-card.urgency-important .mobile-situation-mark,body.mobile-mode .mobile-situation-card.urgency-high .mobile-situation-mark{background:#dc8c20}
body.mobile-mode .mobile-situation-card.urgency-urgent .mobile-situation-mark{background:var(--app-danger)}
body.mobile-mode .mobile-situation-card strong{font-size:.84rem!important;line-height:1.22!important;font-weight:800!important;letter-spacing:0!important;word-break:normal!important;overflow-wrap:normal!important}
body.mobile-mode .mobile-situation-card b{color:#98a2b3;font-size:1.05rem}
body.mobile-mode .mobile-inline-link{display:flex;align-items:center;justify-content:space-between;padding:2px 3px;color:#4a6074;text-decoration:none;font-size:.76rem;font-weight:800}

body.mobile-mode .mobile-action-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.mobile-mode .mobile-action-pair>a{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-height:62px;padding:10px 11px;border:1px solid #d6e7e3;border-radius:16px;background:#f7fbfa;color:var(--app-text);text-decoration:none}
body.mobile-mode .mobile-action-pair>a.is-urgent{border-color:#efd5da;background:#fff8f9}
body.mobile-mode .mobile-action-pair>a>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#def4ef;color:#08766d;font-size:1rem;font-weight:950}
body.mobile-mode .mobile-action-pair>a.is-urgent>span{background:#fde6e9;color:#b42336}
body.mobile-mode .mobile-action-pair strong{display:block;font-size:.82rem!important;line-height:1.16}.mobile-action-pair small{display:block;margin-top:2px;font-size:.68rem!important;line-height:1.2!important}

body.mobile-mode .mobile-push-status-v370{min-height:54px!important;padding:8px 9px!important;border-color:var(--app-line)!important;border-radius:15px!important;box-shadow:none!important}
body.mobile-mode .mobile-push-status-v370 .mobile-push-status-copy strong{font-size:.78rem!important}
body.mobile-mode .mobile-push-status-v370 .mobile-push-status-copy small{font-size:.65rem!important;line-height:1.2!important}
body.mobile-mode .mobile-push-status-v370 .mobile-push-status-actions button,body.mobile-mode .mobile-push-status-v370 .mobile-push-status-actions a{min-height:30px!important;font-size:.68rem!important}

body.mobile-mode .mobile-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
body.mobile-mode .mobile-quick-grid>a{position:relative;display:grid;grid-template-columns:27px minmax(0,1fr);grid-template-rows:auto auto;column-gap:7px;min-height:64px;padding:9px;border:1px solid var(--app-line);border-radius:15px;background:#fff;color:var(--app-text);text-decoration:none}
body.mobile-mode .mobile-quick-grid>a>span{grid-row:1/3;display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#e9f6f3;color:#08766d;font-size:.75rem;font-weight:900}
body.mobile-mode .mobile-quick-grid>a.is-alert>span{background:#fdebed;color:#b42336}
body.mobile-mode .mobile-quick-grid strong{font-size:.75rem!important;line-height:1.12!important}.mobile-quick-grid small{font-size:.61rem!important;line-height:1.12!important}.mobile-quick-grid b{display:none}.mobile-quick-grid .mobile-context-badge{top:3px;right:3px}

/* Accueil Pro : cartes à deux niveaux, jamais de texte géant. */
body.mobile-mode .mobile-pro-launch-grid-v370{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
body.mobile-mode .mobile-pro-launch-grid-v370>a{display:grid;grid-template-columns:32px minmax(0,1fr) 12px;grid-template-rows:auto auto;align-items:center;column-gap:8px;min-height:66px;padding:9px 10px!important;border:1px solid var(--app-line)!important;border-radius:16px!important;background:#fff!important;color:var(--app-text)!important;box-shadow:0 4px 12px rgba(31,41,55,.04)!important;text-decoration:none}
body.mobile-mode .mobile-pro-launch-grid-v370>a.is-accent{border-color:#b8dcd5!important;background:#f0faf7!important}
body.mobile-mode .mobile-pro-launch-grid-v370>a>span{grid-row:1/3;display:grid;place-items:center!important;width:30px!important;height:30px!important;flex-basis:30px!important;border-radius:10px!important;background:#e9f6f3!important;color:#08766d!important;font-size:.76rem!important;font-weight:900!important}
body.mobile-mode .mobile-pro-launch-grid-v370>a.is-accent>span{background:#ddf5ef!important;color:#087b70!important}
body.mobile-mode .mobile-pro-launch-grid-v370 div{min-width:0}
body.mobile-mode .mobile-pro-launch-grid-v370 strong{display:block;font-size:.79rem!important;line-height:1.12!important;font-weight:820!important;color:var(--app-text)!important}
body.mobile-mode .mobile-pro-launch-grid-v370 small{display:block;margin-top:2px;font-size:.62rem!important;line-height:1.15!important;color:var(--app-muted)!important}
body.mobile-mode .mobile-pro-launch-grid-v370 b{grid-column:3;grid-row:1/3;color:#98a2b3;font-size:1rem;font-weight:500}
body.mobile-mode .mobile-pro-partner-card{padding:13px;border:1px solid #b8dcd5;border-radius:18px;background:linear-gradient(145deg,#fff,#f6fbfa);box-shadow:0 5px 16px rgba(8,38,83,.045)}
body.mobile-mode .mobile-card-kicker{margin:0 0 3px!important;color:#087b70!important;font-size:.61rem!important;line-height:1!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.075em}
body.mobile-mode .mobile-pro-partner-card h2{margin:0 0 4px!important;font-size:.95rem!important;color:#102b4c!important}
body.mobile-mode .mobile-pro-partner-card>div>p:not(.mobile-card-kicker){margin:0!important;color:#667085!important;font-size:.72rem!important;line-height:1.35!important}
body.mobile-mode .mobile-pro-benefits{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
body.mobile-mode .mobile-pro-benefits span{display:inline-flex;padding:4px 7px;border-radius:999px;background:#ddf5ef;color:#087b70;font-size:.61rem;font-weight:800}
body.mobile-mode .mobile-pro-partner-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
body.mobile-mode .mobile-pro-partner-actions a{display:flex;align-items:center;justify-content:center;min-height:36px;padding:7px 9px;border:1px solid #b8dcd5;border-radius:11px;background:#fff;color:#12355b;text-decoration:none;font-size:.7rem;font-weight:820;text-align:center}
body.mobile-mode .mobile-pro-partner-actions a:last-child{background:#082653;border-color:#082653;color:#fff}
body.mobile-mode .mobile-pro-contribute-link{display:flex;justify-content:space-between;align-items:center;margin-top:9px;padding-top:9px;border-top:1px solid #ebe5f2;color:#526473;text-decoration:none;font-size:.68rem;font-weight:780}

/* Navigation basse : 5 onglets maximum, plus lisible. */
body.mobile-mode .mobile-bottom-nav-v370{grid-template-columns:repeat(5,minmax(0,1fr))!important;height:auto!important;padding-top:5px!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(16px)!important;border-top:1px solid #e3e8ef!important;box-shadow:0 -4px 18px rgba(15,23,42,.06)!important}
body.mobile-mode .mobile-bottom-nav-v370 a{min-height:56px!important;padding:4px 2px!important;border-radius:11px!important;color:#667085!important;font-size:9.8px!important;font-weight:750!important}
body.mobile-mode .mobile-bottom-nav-v370 a svg{width:21px!important;height:21px!important;stroke-width:1.8!important}
body.mobile-mode .mobile-bottom-nav-v370 a.is-current{color:#082653!important;background:#e9f7f4!important}
body.mobile-mode .mobile-bottom-nav-v370 .nav-emergency.is-current{color:#b42336!important;background:#fff0f2!important}
body.mobile-mode .mobile-bottom-nav-v370 .mobile-alert-badge{top:1px!important;right:calc(50% - 21px)!important}

/* Alertes : la liste d'abord, information de fraîcheur discrète, aucun détour e-mail. */
body.mobile-mode .alerts-app-page{padding:10px 12px 24px!important}
body.mobile-mode .alerts-app-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin-bottom:9px}
body.mobile-mode .alerts-app-title h1{margin:1px 0 2px!important;font-size:1.48rem!important;color:var(--app-text)!important}
body.mobile-mode .alerts-app-title .lead{margin:0!important;font-size:.75rem!important;line-height:1.32!important}
body.mobile-mode .alerts-app-head .eyebrow{color:#08766d!important}
body.mobile-mode .alert-filter-panel{width:auto!important;min-width:0!important}
body.mobile-mode .alert-filter-panel[open]{grid-column:1/-1;width:100%!important}
body.mobile-mode .alert-filter-toggle{min-height:36px!important;padding:6px 9px!important;border-color:#aab9c8!important;border-radius:11px!important;font-size:.72rem!important;white-space:nowrap}
body.mobile-mode .alert-filter-panel[open] .alert-filter-toggle{width:auto!important;margin-left:auto!important}
body.mobile-mode .alert-search-collapsed{gap:8px!important;margin-top:6px!important;padding:10px!important;border:1px solid var(--app-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:0 5px 16px rgba(31,41,55,.04)!important}
body.mobile-mode .alert-search-collapsed label{font-size:.75rem!important;color:#475467}
body.mobile-mode .alert-search-collapsed .search-row{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;gap:6px!important}
body.mobile-mode .alert-search-collapsed .search-row button{min-width:44px!important;padding:6px!important}
body.mobile-mode .alert-search-collapsed .filter-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
body.mobile-mode .alert-filter-actions{display:flex!important;gap:7px!important;margin:0!important}

body.mobile-mode .alert-freshness-strip{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:center;gap:8px;margin:0 0 10px;padding:7px 9px;border:1px solid #d6e6e2;border-radius:12px;background:#f7fbfa}
body.mobile-mode .alert-freshness-strip.is-warning{border-color:#efd7a7;background:#fffaf0}
body.mobile-mode .alert-freshness-dot{width:7px;height:7px;border-radius:50%;background:#0b9a87;box-shadow:0 0 0 4px rgba(11,154,135,.1)}
body.mobile-mode .alert-freshness-strip.is-warning .alert-freshness-dot{background:#d18b13;box-shadow:0 0 0 4px rgba(209,139,19,.1)}
body.mobile-mode .alert-freshness-strip strong{display:block;color:#344054;font-size:.71rem!important;line-height:1.15!important}
body.mobile-mode .alert-freshness-strip small{display:block;margin-top:1px;color:#7a8795;font-size:.61rem!important;line-height:1.15!important}
body.mobile-mode .alerts-list-heading-v370{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:8px!important;margin:8px 1px 7px!important}
body.mobile-mode .alerts-list-heading-v370 h2{margin:0!important;font-size:.91rem!important}
body.mobile-mode .alerts-list-heading-v370 p{margin:1px 0 0!important;font-size:.63rem!important}
body.mobile-mode .alerts-list-heading-v370>a{color:#08766d;text-decoration:none;font-size:.68rem;font-weight:820;white-space:nowrap}
body.mobile-mode .alerts-app-page .stack-list{gap:9px!important}
body.mobile-mode .alerts-app-page .alert-card-v370{padding:12px!important;border:1px solid var(--app-line)!important;border-radius:17px!important;background:#fff!important;box-shadow:0 5px 16px rgba(31,41,55,.04)!important}
body.mobile-mode .alert-card-v370 .alert-meta{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:7px!important;margin-bottom:7px!important}
body.mobile-mode .alert-meta-tags{display:flex;flex-wrap:wrap;gap:4px;min-width:0}
body.mobile-mode .alert-card-v370 .tag,body.mobile-mode .alert-card-v370 .alert-new-badge{min-height:22px!important;padding:3px 6px!important;border-radius:999px!important;font-size:.58rem!important;line-height:1!important;font-weight:850!important}
body.mobile-mode .alert-card-v370 time{flex:0 0 auto;color:#7b8794!important;font-size:.6rem!important;line-height:1.2!important}
body.mobile-mode .alert-card-v370 h2{margin:0 0 6px!important;color:var(--app-text)!important;font-size:.98rem!important;line-height:1.23!important;letter-spacing:-.01em!important}
body.mobile-mode .alert-card-v370 .alert-description{margin:0 0 7px!important;color:#536273!important;font-size:.76rem!important;line-height:1.42!important}
body.mobile-mode .alert-card-v370 .source-line{display:block!important;margin:4px 0!important;padding:0!important;border:0!important;background:none!important;color:#6c7988!important;font-size:.65rem!important;line-height:1.3!important}
body.mobile-mode .alert-card-v370 .source-line strong{font-size:inherit!important;color:#475467!important}
body.mobile-mode .alert-card-v370 .source-line a{display:inline!important;min-height:0!important;padding:0!important;border:0!important;background:none!important;color:#08766d!important;font-size:inherit!important;text-decoration:underline!important;box-shadow:none!important}
body.mobile-mode .alert-status-note{display:grid;gap:2px;margin:7px 0;padding:7px 8px;border-radius:10px;background:#f4f6f8;color:#536273}
body.mobile-mode .alert-status-note strong{font-size:.67rem!important;color:#344054}.alert-status-note span{font-size:.63rem;line-height:1.3}
body.mobile-mode .alert-card-v370 .card-action{margin:8px 0!important;padding:8px 9px!important;border:0!important;border-left:3px solid #16a394!important;border-radius:9px!important;background:#f0f8f6!important;color:#3d555f!important;font-size:.72rem!important;line-height:1.38!important}
body.mobile-mode .alert-context-details{margin:6px 0!important;border-top:1px solid #edf0f3!important;border-bottom:1px solid #edf0f3!important}
body.mobile-mode .alert-context-details summary{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:36px!important;color:#475467!important;font-size:.69rem!important;font-weight:800!important}
body.mobile-mode .alert-context-details>p{margin:0 0 8px!important;color:#667085!important;font-size:.69rem!important;line-height:1.4!important}
body.mobile-mode .alert-card-v370 .alert-concern-check{margin-top:8px!important;padding-top:0!important}
body.mobile-mode .alert-card-v370 .alert-concern-open{width:100%!important;min-height:38px!important;font-size:.73rem!important}
body.mobile-mode .alert-concern-panel{margin-top:7px!important;padding:10px!important;border-radius:13px!important}
body.mobile-mode .alert-concern-panel p{font-size:.72rem!important}
body.mobile-mode .alert-concern-choices{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:5px!important}
body.mobile-mode .alert-concern-choices button{min-height:36px!important;padding:6px!important;font-size:.68rem!important;border-radius:10px!important}
body.mobile-mode .alerts-more-row{margin:10px 0 0!important}.alerts-more-row a{width:100%}

/* Contact : correction structurelle du formulaire PWA + hiérarchie moderne. */
body.mobile-mode .contact-app-page{padding:10px 12px 24px!important}
body.mobile-mode .contact-app-head{padding:4px 1px 8px!important;margin:0!important;background:transparent!important}
body.mobile-mode .contact-app-head .contact-kicker{display:block;margin-bottom:2px;color:#08766d!important;font-size:.66rem!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.08em}
body.mobile-mode .contact-app-head h1{margin:0 0 3px!important;font-size:1.48rem!important;color:var(--app-text)!important}
body.mobile-mode .contact-app-head p{margin:0!important;max-width:560px;color:var(--app-muted)!important;font-size:.77rem!important;line-height:1.35!important}
body.mobile-mode .contact-quick-routes{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px}
body.mobile-mode .contact-quick-routes>a{display:grid;grid-template-columns:30px minmax(0,1fr) 10px;align-items:center;gap:7px;min-height:58px;padding:8px 9px;border:1px solid #d7e7e3;border-radius:15px;background:#f7fbfa;color:var(--app-text);text-decoration:none}
body.mobile-mode .contact-quick-routes>a.is-urgent{border-color:#efd7dc;background:#fff8f9}
body.mobile-mode .contact-quick-routes>a>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e4f5f1;color:#08766d;font-size:.8rem;font-weight:900}
body.mobile-mode .contact-quick-routes>a.is-urgent>span{background:#fde7ea;color:#b42336}
body.mobile-mode .contact-quick-routes strong{display:block;font-size:.72rem!important;line-height:1.15!important}.contact-quick-routes small{display:block;margin-top:2px;font-size:.6rem!important;line-height:1.12!important}.contact-quick-routes b{color:#98a2b3}
body.mobile-mode .contact-partnership-card{display:grid;gap:9px;margin-bottom:9px;padding:12px;border:1px solid #b8dcd5;border-radius:17px;background:#f0faf7;box-shadow:0 4px 12px rgba(8,38,83,.035)}
body.mobile-mode .contact-partnership-kicker{margin:0 0 2px!important;color:#087b70!important;font-size:.6rem!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.08em}
body.mobile-mode .contact-partnership-card h2{margin:0 0 4px!important;font-size:.94rem!important;color:#102b4c!important}
body.mobile-mode .contact-partnership-card p:not(.contact-partnership-kicker){margin:0!important;color:#667085!important;font-size:.7rem!important;line-height:1.35!important}
body.mobile-mode .contact-partnership-benefits{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
body.mobile-mode .contact-partnership-benefits span{padding:4px 7px;border-radius:999px;background:#ddf5ef;color:#082653;font-size:.59rem;font-weight:800}
body.mobile-mode .contact-partnership-card>a{display:flex;justify-content:space-between;align-items:center;min-height:36px;padding:7px 9px;border:1px solid #b8dcd5;border-radius:11px;background:#fff;color:#12355b;text-decoration:none;font-size:.7rem;font-weight:820}
body.mobile-mode .contact-modern-grid{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
body.mobile-mode .contact-form-card{padding:13px!important;border:1px solid var(--app-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 5px 16px rgba(31,41,55,.04)!important}
body.mobile-mode .contact-form-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px}
body.mobile-mode .contact-form-heading h2{margin:1px 0 0!important;font-size:.98rem!important;color:var(--app-text)!important}
body.mobile-mode .contact-form-kicker{margin:0!important;color:#08766d!important;font-size:.6rem!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.07em}
body.mobile-mode .contact-form-heading>small{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#f1f4f7;color:#667085;font-size:.58rem!important;font-weight:750}
body.mobile-mode .contact-intro{margin:0 0 10px!important;padding:7px 8px;border-radius:10px;background:#fff7ed;color:#7a4c15!important;font-size:.68rem!important;line-height:1.35!important}
body.mobile-mode .contact-modern-form{display:grid!important;gap:10px!important}
body.mobile-mode .contact-modern-form label{display:grid!important;gap:4px!important;min-width:0!important;margin:0!important}
body.mobile-mode .contact-modern-form label>span{display:block!important;margin:0!important;color:#344054!important;font-size:.72rem!important;line-height:1.15!important;font-weight:780!important}
body.mobile-mode .contact-field-grid{display:grid;grid-template-columns:1fr;gap:10px}
body.mobile-mode .contact-modern-form small{display:block;margin-top:0!important;font-size:.61rem!important;line-height:1.25!important}
body.mobile-mode .contact-modern-form .hp-field,body.mobile-mode .contact-modern-form .honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:.001!important;pointer-events:none!important}
body.mobile-mode .contact-captcha{padding:9px!important;border:1px solid var(--app-line)!important;border-radius:12px!important;background:#f8fafc!important}
body.mobile-mode .contact-captcha>strong{font-size:.7rem!important}
body.mobile-mode .contact-send-button{width:100%!important;min-height:44px!important;padding:9px 12px!important;border:0!important;border-radius:12px!important;background:#082653!important;color:#fff!important;font-size:.82rem!important;font-weight:850!important;box-shadow:none!important}
body.mobile-mode .contact-send-button:disabled{opacity:.45!important}
body.mobile-mode .contact-privacy-note{margin:0!important;color:#7b8794!important;font-size:.6rem!important;line-height:1.3!important}
body.mobile-mode .contact-side-column{display:grid!important;gap:7px!important}
body.mobile-mode .contact-route-card{display:grid!important;grid-template-columns:31px minmax(0,1fr)!important;gap:9px!important;padding:10px!important;border:1px solid var(--app-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:none!important}
body.mobile-mode .contact-route-icon{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:9px!important;background:#eef3f7!important;color:#536273!important;font-size:.72rem!important;font-weight:900!important}
body.mobile-mode .contact-route-card h2{margin:0 0 2px!important;font-size:.78rem!important;color:var(--app-text)!important}
body.mobile-mode .contact-route-card p{margin:0 0 3px!important;color:#667085!important;font-size:.65rem!important;line-height:1.28!important}
body.mobile-mode .contact-route-card a{color:#08766d!important;text-decoration:none!important;font-size:.66rem!important;font-weight:800!important;overflow-wrap:anywhere!important}
body.mobile-mode .contact-email-link{display:inline!important;min-height:0!important;padding:0!important;border:0!important;background:none!important}
body.mobile-mode .contact-contribute-link{display:flex;justify-content:space-between;align-items:center;min-height:40px;padding:8px 10px;border:1px solid #b8dcd5;border-radius:13px;background:#f0faf7;color:#087b70;text-decoration:none;font-size:.7rem;font-weight:820}

/* Pages audience / fiches / urgence : mêmes proportions d'application. */
body.mobile-mode .audience-hero{padding:4px 1px 9px!important;background:transparent!important}
body.mobile-mode .audience-hero-mark{display:none!important}
body.mobile-mode .audience-hero h1{margin:2px 0 4px!important;font-size:1.38rem!important}
body.mobile-mode .audience-hero .lead{margin:0!important;font-size:.78rem!important}
body.mobile-mode .audience-choice-heading{margin:7px 1px!important}.audience-choice-heading h2{margin:0 0 2px!important;font-size:.94rem!important}.audience-choice-heading p{margin:0!important;font-size:.67rem!important;color:var(--app-muted)!important}
body.mobile-mode .audience-first-actions{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
body.mobile-mode .audience-action{display:grid!important;grid-template-columns:34px minmax(0,1fr) 12px!important;gap:9px!important;align-items:center!important;min-height:60px!important;padding:9px 10px!important}
body.mobile-mode .audience-action-icon{width:32px!important;height:32px!important}.audience-action-icon svg{width:19px!important;height:19px!important}
body.mobile-mode .audience-action-copy strong{font-size:.77rem!important;line-height:1.15!important}.audience-action-copy small{font-size:.62rem!important;line-height:1.18!important}
body.mobile-mode .audience-help-nearby,body.mobile-mode .audience-tip,body.mobile-mode .audience-p2-panel,body.mobile-mode .audience-trust-panel,body.mobile-mode .audience-official{margin-top:9px!important;padding:11px!important}
body.mobile-mode .audience-help-nearby h2,body.mobile-mode .audience-p2-panel h2,body.mobile-mode .audience-trust-panel h2,body.mobile-mode .audience-official h2{font-size:.88rem!important}
body.mobile-mode .audience-reflex-grid{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
body.mobile-mode .audience-reflex-card{padding:10px!important}.audience-reflex-card h3{font-size:.82rem!important}.audience-reflex-card p{font-size:.68rem!important}
body.mobile-mode .audience-bottom-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:10px!important}
body.mobile-mode .reflex-hub{padding:10px 12px 24px!important}
body.mobile-mode .reflex-hub>h1{font-size:1.38rem!important}
body.mobile-mode .reflex-audience-tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:5px!important;padding-bottom:2px!important;scrollbar-width:none}
body.mobile-mode .reflex-audience-tabs::-webkit-scrollbar{display:none}
body.mobile-mode .reflex-audience-tabs a{flex:0 0 auto!important;min-height:34px!important;padding:6px 9px!important;font-size:.68rem!important;border-radius:999px!important}
body.mobile-mode .reflex-situation-filter summary{min-height:36px!important;padding:7px 9px!important;font-size:.7rem!important}
body.mobile-mode .reflex-results-head h2{font-size:.9rem!important}.reflex-results-head span{font-size:.65rem!important}
body.mobile-mode .reflex-card-grid{gap:8px!important}.reflex-card{padding:11px!important}.reflex-card h2{font-size:.9rem!important}.reflex-summary{font-size:.7rem!important}
body.mobile-mode .reflex-action-steps li,body.mobile-mode .reflex-avoid-block li,body.mobile-mode .reflex-after-block li{font-size:.72rem!important}
body.mobile-mode .emergency-shell{padding:10px 12px 24px!important}.emergency-shell>h1{font-size:1.35rem!important}.emergency-shell .lead{font-size:.77rem!important}
body.mobile-mode .emergency-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
body.mobile-mode .emergency-choice{min-height:52px!important;padding:8px 9px!important;border-width:1px!important;border-radius:13px!important;font-size:.72rem!important;line-height:1.18!important}
body.mobile-mode .urgent-steps{margin:9px 0!important;padding:11px!important;border-width:1px!important}.urgent-steps h2{font-size:.9rem!important}.urgent-steps li{font-size:.72rem!important}
body.mobile-mode .emergency-help-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
body.mobile-mode .emergency-help-actions .big-button{min-height:58px!important;padding:9px 10px!important;border-width:1px!important;border-radius:14px!important;box-shadow:none!important}
body.mobile-mode .emergency-help-actions .big-button strong{font-size:.75rem!important}.emergency-help-actions .big-button small{font-size:.6rem!important;line-height:1.15!important}

/* Les anciennes cartes Pro 2.8.36.1 ne doivent plus réduire le texte en micro-typographie. */
body.mobile-mode .mobile-pro-obs-head h1{font-size:1.25rem!important}
body.mobile-mode .mobile-pro-priority-card h2,body.mobile-mode .mobile-pro-section-head h2{font-size:.86rem!important}
body.mobile-mode .mobile-pro-priority-card li,body.mobile-mode .mobile-pro-watch-card li{font-size:.7rem!important}
body.mobile-mode .mobile-pro-obs-snapshot strong{font-size:.82rem!important}.mobile-pro-obs-snapshot strong.is-text{font-size:.68rem!important}
body.mobile-mode .mobile-pro-resource-grid strong{font-size:.7rem!important}.mobile-pro-resource-grid small{font-size:.6rem!important}

@media(min-width:430px){
  body.mobile-mode .mobile-situation-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.mobile-mode .contact-field-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:370px){
  body.mobile-mode .mobile-action-pair,body.mobile-mode .mobile-pro-launch-grid-v370,body.mobile-mode .contact-quick-routes,body.mobile-mode .emergency-grid,body.mobile-mode .emergency-help-actions{grid-template-columns:1fr!important}
  body.mobile-mode .mobile-quick-grid{grid-template-columns:1fr!important}
  body.mobile-mode .mobile-dashboard-head{grid-template-columns:1fr!important}
  body.mobile-mode .mobile-profile-switch{justify-self:start}
  body.mobile-mode .alert-search-collapsed .filter-grid{grid-template-columns:1fr!important}
}

/* 2.8.37.0 — derniers garde-fous de densité sur les composants historiques. */
body.mobile-mode .mobile-quick-grid div{min-width:0!important}
body.mobile-mode .mobile-quick-grid strong,body.mobile-mode .mobile-quick-grid small{display:block!important}
body.mobile-mode .alerts-list-heading-v370{flex-direction:row!important;align-items:flex-end!important}
body.mobile-mode .alerts-list-heading-v370>div{min-width:0!important;margin:0!important}

body.mobile-mode .mobile-app-main .big-button{min-height:58px!important;padding:9px 10px!important;border-width:1px!important;border-radius:14px!important;box-shadow:none!important;gap:8px!important}
body.mobile-mode .mobile-app-main .big-button strong{font-size:.78rem!important;line-height:1.18!important}
body.mobile-mode .mobile-app-main .big-button small{font-size:.62rem!important;line-height:1.18!important}
body.mobile-mode .mobile-app-main .button-icon{flex-basis:34px!important;width:34px!important;height:34px!important;font-size:.9rem!important}
body.mobile-mode .mobile-app-main .choice-grid{gap:7px!important}
body.mobile-mode .mobile-app-main .choice-card{min-height:54px!important;padding:8px 9px!important;border-width:1px!important;border-radius:13px!important}
body.mobile-mode .mobile-app-main .choice-card span{font-size:.75rem!important;line-height:1.2!important}
body.mobile-mode .mobile-app-main .choice-card input{width:22px!important;height:22px!important;margin-right:7px!important}
body.mobile-mode .mobile-app-main .senior-form{gap:9px!important}
body.mobile-mode .mobile-app-main .senior-form fieldset{padding:11px!important;border-width:1px!important;border-radius:15px!important}
body.mobile-mode .mobile-app-main .senior-form legend{font-size:.82rem!important}
body.mobile-mode .mobile-app-main .field-label{font-size:.72rem!important;font-weight:780!important}
body.mobile-mode .mobile-app-main .field-help,body.mobile-mode .mobile-app-main .optional,body.mobile-mode .mobile-app-main .file-status{font-size:.62rem!important;line-height:1.3!important}
body.mobile-mode .mobile-app-main .notice,body.mobile-mode .mobile-app-main .flash{margin:8px 0!important;padding:9px 10px!important;border-left-width:3px!important;border-radius:11px!important;font-size:.72rem!important;line-height:1.35!important}
body.mobile-mode .mobile-app-main .action-panel{padding:11px!important;border-radius:16px!important;box-shadow:0 5px 16px rgba(31,41,55,.04)!important}
body.mobile-mode .mobile-app-main .action-list{gap:7px!important}
body.mobile-mode .mobile-app-main .action-list li{padding:8px!important;border-radius:12px!important;font-size:.72rem!important}
body.mobile-mode .mobile-app-main .action-list li>span{flex-basis:30px!important;width:30px!important;height:30px!important;font-size:.72rem!important}
body.mobile-mode .mobile-app-main .risk-panel{gap:9px!important;margin:9px 0!important;padding:10px!important;border-width:1px!important;border-radius:15px!important}
body.mobile-mode .mobile-app-main .risk-symbol{flex-basis:42px!important;width:42px!important;height:42px!important;font-size:1rem!important}
body.mobile-mode .mobile-app-main .risk-kicker{font-size:.6rem!important}

/* ============================================================
   Pasivite 2.8.37.1 — UI COHERENTE MARQUE + UX PWA NATIVE
   Palette historique : navy / teal / mint. Aucun violet d'UI.
   ============================================================ */
body.mobile-mode{
  --psv-brand-navy:#082653;
  --psv-brand-navy-2:#12355b;
  --psv-brand-teal:#0aa99a;
  --psv-brand-teal-2:#087b70;
  --psv-brand-mint:#55c2a3;
  --psv-brand-bg:#f4f7f9;
  --psv-brand-soft:#eef9f6;
  --psv-brand-line:#d6e2e8;
  --psv-brand-text:#102b4c;
  --psv-brand-muted:#607286;
  --app-bg:var(--psv-brand-bg)!important;
  --app-text:var(--psv-brand-text)!important;
  --app-muted:var(--psv-brand-muted)!important;
  --app-line:var(--psv-brand-line)!important;
  --app-teal:var(--psv-brand-teal)!important;
  --app-teal-soft:#e7f6f2!important;
  --app-pro-accent:var(--psv-brand-teal)!important;
  --app-pro-soft:#e7f6f2!important;
  background:var(--psv-brand-bg)!important;
}

/* Identité : une seule couleur d'action = navy / teal. */
body.mobile-mode .primary-button,
body.mobile-mode .big-submit,
body.mobile-mode a.primary-button,
body.mobile-mode .contact-send-button{
  background:var(--psv-brand-navy)!important;
  border-color:var(--psv-brand-navy)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.mobile-mode .primary-button:hover,
body.mobile-mode a.primary-button:hover,
body.mobile-mode .contact-send-button:hover{background:#061c3d!important;border-color:#061c3d!important}
body.mobile-mode .secondary-button,
body.mobile-mode a.secondary-button{
  background:#fff!important;
  border-color:#b8cbd5!important;
  color:var(--psv-brand-navy-2)!important;
}
body.mobile-mode a{accent-color:var(--psv-brand-teal)}
body.mobile-mode .eyebrow,
body.mobile-mode .mobile-home-eyebrow,
body.mobile-mode .mobile-card-kicker,
body.mobile-mode .contact-form-kicker,
body.mobile-mode .contact-partnership-kicker{color:var(--psv-brand-teal-2)!important}

/* App bar / dock : cohérence native, actif turquoise et non violet. */
body.mobile-mode .site-header{border-bottom-color:#dbe5eb!important;box-shadow:0 1px 0 rgba(8,38,83,.045)!important}
body.mobile-mode .mobile-appbar-button{color:var(--psv-brand-navy)!important}
body.mobile-mode .mobile-bottom-nav-v370{
  border-top:1px solid #dbe5eb!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 -6px 22px rgba(8,38,83,.055)!important;
}
body.mobile-mode .mobile-bottom-nav-v370 a{color:#66788b!important}
body.mobile-mode .mobile-bottom-nav-v370 a.is-current{color:var(--psv-brand-teal-2)!important;background:#e9f7f4!important}
body.mobile-mode .mobile-bottom-nav-v370 a.nav-emergency{color:#a52a38!important}
body.mobile-mode .mobile-bottom-nav-v370 a.nav-emergency.is-current{background:#fff0f2!important;color:#b42336!important}
body.mobile-mode .mobile-context-badge,
body.mobile-mode .observatory-count-badge{background:var(--psv-brand-teal)!important;color:#fff!important}

/* Accueils : blocs plus courts, relief plus subtil, aucune carte violette. */
body.mobile-mode .mobile-home-v370,
body.mobile-mode .mobile-pro-home-v370{max-width:680px!important;gap:9px!important;padding:9px 11px 22px!important}
body.mobile-mode .mobile-dashboard-head{
  padding:12px 13px!important;
  border-color:#d3e2e7!important;
  background:linear-gradient(145deg,#fff 0%,#f0faf7 100%)!important;
  box-shadow:0 7px 22px rgba(8,38,83,.055)!important;
}
body.mobile-mode .mobile-dashboard-head h1{color:var(--psv-brand-navy)!important;font-size:1.36rem!important}
body.mobile-mode .mobile-dashboard-head p:not(.mobile-mode-pill){font-size:.74rem!important;color:#65778a!important}
body.mobile-mode .mobile-mode-pill,
body.mobile-mode .mobile-dashboard-head-pro .mobile-mode-pill{
  background:#ddf7f1!important;
  color:#087b70!important;
  border:1px solid #c7ece4!important;
}
body.mobile-mode .mobile-profile-switch{
  border-color:#a8d8cf!important;
  background:#fff!important;
  color:#0a6f67!important;
  box-shadow:0 4px 12px rgba(8,38,83,.045)!important;
}
body.mobile-mode .mobile-assist-shortcut{
  border-color:#c8dedb!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(8,38,83,.035)!important;
}
body.mobile-mode .mobile-assist-shortcut>span{background:#e2f7f2!important;color:#087b70!important}
body.mobile-mode .mobile-situation-card{
  border-color:#d4e0e6!important;
  border-left:3px solid #17a594!important;
  border-radius:13px!important;
  box-shadow:none!important;
  min-height:50px!important;
  padding:8px 10px!important;
  grid-template-columns:minmax(0,1fr) 12px!important;
}
body.mobile-mode .mobile-situation-card .mobile-situation-mark{display:none!important}
body.mobile-mode .mobile-situation-card.urgency-important,
body.mobile-mode .mobile-situation-card.urgency-high{border-left-color:#d38b00!important}
body.mobile-mode .mobile-situation-card.urgency-urgent{border-left-color:#b42336!important}
body.mobile-mode .mobile-situation-card strong{color:var(--psv-brand-navy)!important;font-size:.79rem!important;font-weight:820!important}
body.mobile-mode .mobile-inline-link{
  min-height:38px!important;
  padding:7px 10px!important;
  border-radius:11px!important;
  background:var(--psv-brand-navy)!important;
  color:#fff!important;
  font-size:.72rem!important;
}
body.mobile-mode .mobile-action-pair>a{border-color:#d3e3df!important;background:#fff!important;min-height:56px!important;border-radius:14px!important}
body.mobile-mode .mobile-action-pair>a>span{background:#def5ef!important;color:#087b70!important}
body.mobile-mode .mobile-action-pair>a.is-urgent{border-color:#edd1d6!important;background:#fffafa!important}
body.mobile-mode .mobile-quick-grid>a{border-color:#d7e2e8!important;box-shadow:none!important;border-radius:13px!important}
body.mobile-mode .mobile-quick-grid>a>span{background:#e8f7f4!important;color:#087b70!important}

/* Pro : organisation mise en avant par turquoise, jamais violet. */
body.mobile-mode .mobile-pro-launch-grid-v370>a{
  border-color:#d4e0e6!important;
  background:#fff!important;
  box-shadow:none!important;
  min-height:56px!important;
  border-radius:13px!important;
}
body.mobile-mode .mobile-pro-launch-grid-v370>a>span{background:#e7f6f2!important;color:#087b70!important}
body.mobile-mode .mobile-pro-launch-grid-v370>a.is-accent{
  border-color:#9fd8ce!important;
  background:#effaf7!important;
}
body.mobile-mode .mobile-pro-launch-grid-v370>a.is-accent>span{background:#d8f3ed!important;color:#087b70!important}
body.mobile-mode .mobile-pro-launch-grid-v370 strong{color:var(--psv-brand-navy)!important;font-size:.77rem!important}
body.mobile-mode .mobile-pro-launch-grid-v370 small{color:#66788a!important;font-size:.62rem!important}
body.mobile-mode .mobile-pro-partner-card{
  border-color:#b8dcd5!important;
  background:linear-gradient(145deg,#fff,#f0faf7)!important;
  box-shadow:0 6px 18px rgba(8,38,83,.045)!important;
  padding:12px!important;
}
body.mobile-mode .mobile-pro-partner-card h2{color:var(--psv-brand-navy)!important;font-size:.9rem!important}
body.mobile-mode .mobile-pro-benefits span{background:#ddf5ef!important;color:#087b70!important}
body.mobile-mode .mobile-pro-partner-actions a{
  border-color:#b7d9d2!important;
  color:var(--psv-brand-navy-2)!important;
  background:#fff!important;
}
body.mobile-mode .mobile-pro-partner-actions a:last-child{background:var(--psv-brand-navy)!important;border-color:var(--psv-brand-navy)!important;color:#fff!important}
body.mobile-mode .mobile-pro-contribute-link{border-top-color:#d8e7e3!important;color:#087b70!important}

/* Notifications : devient un état système discret, pas un bloc éditorial. */
body.mobile-mode .mobile-push-status-v370{
  min-height:48px!important;
  padding:6px 8px!important;
  border-radius:13px!important;
  border-color:#d8e3e8!important;
  background:#fff!important;
}
body.mobile-mode .mobile-push-status-v370 .mobile-push-status-icon{width:28px!important;height:28px!important;border-radius:9px!important;background:#eef7f5!important;font-size:14px!important}
body.mobile-mode .mobile-push-status-v370 .mobile-push-status-copy strong{font-size:.72rem!important;color:#17324f!important}
body.mobile-mode .mobile-push-status-v370 .mobile-push-status-copy small{font-size:.59rem!important;line-height:1.15!important}

/* ALERTES : l'alerte est le contenu principal. En-tête et collecte sont secondaires. */
body.mobile-mode .alerts-app-page{max-width:680px!important;padding:9px 11px 22px!important;gap:0!important}
body.mobile-mode .alerts-app-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:9px!important;
  margin:0 0 6px!important;
  padding:2px 1px 5px!important;
  border:0!important;
  background:transparent!important;
}
body.mobile-mode .alerts-app-title .eyebrow{margin:0 0 2px!important;font-size:.59rem!important}
body.mobile-mode .alerts-app-title h1{margin:0!important;font-size:1.28rem!important;color:var(--psv-brand-navy)!important}
body.mobile-mode .alerts-app-title .lead{margin:2px 0 0!important;font-size:.67rem!important;color:#6b7b8d!important}
body.mobile-mode .alert-filter-toggle{min-height:32px!important;padding:5px 8px!important;border-radius:10px!important;border-color:#b7c9d3!important;color:#173b5e!important;background:#fff!important;font-size:.66rem!important}
body.mobile-mode .alert-filter-panel[open]{grid-column:1/-1!important;width:100%!important}
body.mobile-mode .alert-search-collapsed{margin:6px 0 0!important;padding:9px!important;gap:7px!important;border-radius:13px!important;box-shadow:none!important}
body.mobile-mode .alert-freshness-strip{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 9px!important;
  padding:4px 8px!important;
  border:0!important;
  border-radius:999px!important;
  background:#eaf8f5!important;
}
body.mobile-mode .alert-freshness-strip .alert-freshness-dot{width:6px!important;height:6px!important;flex:0 0 6px!important;background:#0aa99a!important;box-shadow:none!important}
body.mobile-mode .alert-freshness-strip strong{font-size:.62rem!important;color:#31576a!important;font-weight:780!important}
body.mobile-mode .alert-freshness-strip small{display:none!important}
body.mobile-mode .alerts-list-heading-v370{margin:4px 0 6px!important;align-items:center!important}
body.mobile-mode .alerts-list-heading-v370 h2{font-size:.82rem!important;color:#17324f!important}
body.mobile-mode .alerts-list-heading-v370 p{display:none!important}
body.mobile-mode .alerts-list-heading-v370>a{min-height:30px!important;padding:5px 8px!important;border:1px solid #b8cbd5!important;border-radius:9px!important;background:#fff!important;color:#12355b!important;font-size:.64rem!important}
body.mobile-mode .stack-list{gap:8px!important}
body.mobile-mode .alert-card-v370{
  padding:10px 11px!important;
  border:1px solid #d5e1e7!important;
  border-left:3px solid #0aa99a!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(8,38,83,.035)!important;
}
body.mobile-mode .alert-card-v370 .alert-meta{margin-bottom:5px!important;align-items:center!important}
body.mobile-mode .alert-card-v370 .tag,
body.mobile-mode .alert-card-v370 .alert-new-badge{font-size:.55rem!important;padding:2px 5px!important;min-height:0!important}
body.mobile-mode .alert-card-v370 time{font-size:.56rem!important;color:#748396!important}
body.mobile-mode .alert-card-v370 h2{margin:0 0 4px!important;font-size:.93rem!important;color:var(--psv-brand-navy)!important;line-height:1.15!important}
body.mobile-mode .alert-card-v370>.source-line:not(.alert-source-line){margin:0 0 4px!important;font-size:.61rem!important}
body.mobile-mode .alert-card-v370 .alert-description{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  margin:0 0 6px!important;
  color:#536679!important;
  font-size:.68rem!important;
  line-height:1.35!important;
}
body.mobile-mode .alert-card-v370 .card-action{
  margin:0 0 6px!important;
  padding:6px 8px!important;
  border:0!important;
  border-left:3px solid #0aa99a!important;
  border-radius:8px!important;
  background:#eff9f7!important;
  color:#334f5f!important;
  font-size:.64rem!important;
  line-height:1.3!important;
}
body.mobile-mode .alert-more-details{margin:0 0 6px!important;border-top:1px solid #e8eef1!important}
body.mobile-mode .alert-more-details>summary{
  display:flex!important;justify-content:space-between!important;align-items:center!important;
  list-style:none!important;padding:6px 1px 2px!important;color:#35566b!important;font-size:.62rem!important;font-weight:800!important;cursor:pointer!important
}
body.mobile-mode .alert-more-details>summary::-webkit-details-marker{display:none!important}
body.mobile-mode .alert-more-details-body{display:grid!important;gap:5px!important;padding:5px 0 2px!important}
body.mobile-mode .alert-more-details .alert-source-line{margin:0!important;font-size:.6rem!important}
body.mobile-mode .alert-more-details .alert-status-note{margin:0!important;padding:6px 7px!important;font-size:.61rem!important}
body.mobile-mode .alert-context-copy{padding:6px 7px!important;border-radius:8px!important;background:#f6f8fa!important}
body.mobile-mode .alert-context-copy>strong{font-size:.61rem!important;color:#344f63!important}
body.mobile-mode .alert-context-copy p{margin:2px 0 0!important;font-size:.61rem!important;line-height:1.32!important;color:#637487!important}
body.mobile-mode .alert-concern-check{margin-top:0!important}
body.mobile-mode .alert-concern-open{width:auto!important;min-height:32px!important;padding:5px 9px!important;font-size:.63rem!important;border-color:#a8cbc5!important;color:#087b70!important}
body.mobile-mode .alerts-more-row a{background:var(--psv-brand-navy)!important}

/* FICHES REFLEXES : catalogue = liste native, pas une succession de grosses cartes web. */
body.mobile-mode .reflex-hub{max-width:680px!important;padding:9px 11px 22px!important;gap:8px!important}
body.mobile-mode .reflex-hub>.eyebrow{margin:0!important;font-size:.59rem!important}
body.mobile-mode .reflex-hub>h1{margin:0!important;font-size:1.24rem!important;color:var(--psv-brand-navy)!important}
body.mobile-mode .reflex-hub>.lead{margin:0 0 3px!important;font-size:.67rem!important;line-height:1.35!important}
body.mobile-mode .reflex-audience-tabs{margin:2px 0!important;gap:5px!important}
body.mobile-mode .reflex-audience-tabs a{min-height:31px!important;padding:5px 8px!important;border-radius:999px!important;font-size:.62rem!important;border-color:#c7d5dd!important}
body.mobile-mode .reflex-audience-tabs a.is-active{background:var(--psv-brand-teal)!important;border-color:var(--psv-brand-teal)!important;color:#fff!important}
body.mobile-mode .reflex-situation-filter{border-color:#d6e2e8!important;border-radius:11px!important;box-shadow:none!important}
body.mobile-mode .reflex-situation-filter summary{min-height:34px!important;padding:6px 9px!important;font-size:.64rem!important;color:#294c63!important}
body.mobile-mode .reflex-results-head{margin:2px 0 0!important;align-items:center!important}
body.mobile-mode .reflex-results-head h2{font-size:.78rem!important;color:#17324f!important}
body.mobile-mode .reflex-results-head span{font-size:.58rem!important}
body.mobile-mode .reflex-card-grid-compact{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
body.mobile-mode .reflex-row-card{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) 12px!important;
  align-items:center!important;
  gap:8px!important;
  min-height:64px!important;
  padding:8px 9px!important;
  border:1px solid #d6e2e8!important;
  border-left:3px solid #0aa99a!important;
  border-radius:13px!important;
  background:#fff!important;
  color:inherit!important;
  text-decoration:none!important;
  box-shadow:0 3px 10px rgba(8,38,83,.03)!important;
}
body.mobile-mode .reflex-row-card.urgency-important{border-left-color:#d38b00!important}
body.mobile-mode .reflex-row-card.urgency-urgent{border-left-color:#b42336!important}
body.mobile-mode .reflex-row-signal{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;border-radius:9px!important;background:#e6f6f2!important;color:#087b70!important;font-size:.75rem!important;font-weight:900!important}
body.mobile-mode .reflex-row-card.urgency-important .reflex-row-signal{background:#fff4df!important;color:#8a4b00!important}
body.mobile-mode .reflex-row-card.urgency-urgent .reflex-row-signal{background:#fff0ee!important;color:#b42318!important}
body.mobile-mode .reflex-row-main{min-width:0!important;display:block!important}
body.mobile-mode .reflex-row-meta{display:flex!important;gap:4px!important;align-items:center!important;margin-bottom:2px!important}
body.mobile-mode .reflex-row-meta .tag,body.mobile-mode .reflex-row-meta .reflex-audience-badge{min-height:0!important;padding:2px 5px!important;font-size:.5rem!important;line-height:1.1!important}
body.mobile-mode .reflex-row-main>strong{display:block!important;color:var(--psv-brand-navy)!important;font-size:.75rem!important;line-height:1.17!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.mobile-mode .reflex-row-main>small{display:-webkit-box!important;-webkit-line-clamp:1!important;-webkit-box-orient:vertical!important;overflow:hidden!important;margin-top:2px!important;color:#68798b!important;font-size:.57rem!important;line-height:1.2!important}
body.mobile-mode .reflex-row-arrow{color:#8a99a8!important;font-size:1rem!important;font-weight:700!important}

/* OBSERVATOIRE PRO : lecture tableau de bord, compacte et cohérente. */
body.mobile-mode .mobile-pro-observatory{max-width:680px!important;margin:0 auto!important;padding:9px 11px 22px!important;display:grid!important;gap:8px!important}
body.mobile-mode .mobile-pro-obs-head{margin:0!important;padding:2px 0 3px!important;grid-template-columns:34px minmax(0,1fr)!important}
body.mobile-mode .mobile-pro-obs-head>a{width:32px!important;height:32px!important;border-color:#bfd0d8!important;color:#12355b!important;background:#fff!important}
body.mobile-mode .mobile-pro-obs-head h1{font-size:1.17rem!important;color:var(--psv-brand-navy)!important}
body.mobile-mode .mobile-pro-sector-strip{gap:5px!important;margin:0!important;padding-bottom:2px!important}
body.mobile-mode .mobile-pro-sector-strip a{min-height:29px!important;padding:4px 8px!important;font-size:.59rem!important;border-color:#cbd8df!important}
body.mobile-mode .mobile-pro-sector-strip a.is-active{background:#e4f7f2!important;border-color:#84cfc3!important;color:#08766d!important}
body.mobile-mode .mobile-pro-priority-card{padding:9px 10px!important;border-radius:13px!important;border-color:#c7e2dc!important;background:#f0faf7!important}
body.mobile-mode .mobile-pro-priority-card h2{font-size:.8rem!important;color:#17324f!important}
body.mobile-mode .mobile-pro-priority-card ol{margin:4px 0 0!important;padding-left:18px!important}.mobile-pro-priority-card li{font-size:.63rem!important;line-height:1.35!important;margin:2px 0!important}
body.mobile-mode .mobile-pro-obs-snapshot{gap:6px!important}
body.mobile-mode .mobile-pro-obs-snapshot article{padding:6px 5px!important;border-radius:11px!important;border-color:#d7e2e8!important}
body.mobile-mode .mobile-pro-obs-snapshot span{font-size:.49rem!important}.mobile-pro-obs-snapshot strong{font-size:.78rem!important;color:#12355b!important}.mobile-pro-obs-snapshot small{font-size:.48rem!important}
body.mobile-mode .mobile-pro-watch-card{padding:8px 9px!important;border-radius:12px!important}
body.mobile-mode .mobile-pro-watch-card li{font-size:.62rem!important;padding:4px 0!important}
body.mobile-mode .mobile-pro-resource-grid{gap:6px!important}
body.mobile-mode .mobile-pro-resource-grid>a{padding:7px 8px!important;border-radius:11px!important;border-color:#d5e2e7!important;background:#fff!important}
body.mobile-mode .mobile-pro-resource-grid>a>span{background:#e8f7f4!important;color:#087b70!important}
body.mobile-mode .mobile-pro-resource-grid strong{font-size:.66rem!important;color:#12355b!important}.mobile-pro-resource-grid small{font-size:.52rem!important}
body.mobile-mode .mobile-pro-more{border-radius:11px!important;border-color:#d7e2e8!important}

/* CONTACT : trois entrées utiles, formulaire natif et contacts secondaires repliés. */
body.mobile-mode .contact-app-page{max-width:680px!important;padding:9px 11px 22px!important}
body.mobile-mode .contact-app-head{padding:2px 0 6px!important}
body.mobile-mode .contact-app-head h1{font-size:1.24rem!important;color:var(--psv-brand-navy)!important}
body.mobile-mode .contact-app-head p{font-size:.66rem!important;line-height:1.3!important}
body.mobile-mode .contact-quick-routes{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin-bottom:8px!important}
body.mobile-mode .contact-quick-routes>a{
  grid-template-columns:27px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  min-height:58px!important;
  padding:7px!important;
  border-color:#d4e1e6!important;
  border-radius:12px!important;
  background:#fff!important;
}
body.mobile-mode .contact-quick-routes>a>b{display:none!important}
body.mobile-mode .contact-quick-routes>a>span{grid-row:1/3!important;width:26px!important;height:26px!important;background:#e5f6f2!important;color:#087b70!important}
body.mobile-mode .contact-quick-routes>a.is-urgent{border-color:#ecd2d7!important;background:#fffafa!important}
body.mobile-mode .contact-quick-routes>a.is-urgent>span{background:#fdebed!important;color:#b42336!important}
body.mobile-mode .contact-quick-routes>a.is-partner{border-color:#b8dcd5!important;background:#effaf7!important}
body.mobile-mode .contact-quick-routes strong{font-size:.61rem!important;line-height:1.12!important;color:#17324f!important}
body.mobile-mode .contact-quick-routes small{font-size:.51rem!important;line-height:1.15!important;color:#748497!important}
body.mobile-mode .contact-partnership-card{border-color:#b8dcd5!important;background:#effaf7!important;box-shadow:none!important}
body.mobile-mode .contact-partnership-card h2{color:var(--psv-brand-navy)!important}
body.mobile-mode .contact-partnership-benefits span{background:#dbf4ee!important;color:#087b70!important}
body.mobile-mode .contact-partnership-card>a{border-color:#a9d5cc!important;color:#0a6f67!important;background:#fff!important}
body.mobile-mode .contact-form-card{padding:11px!important;border-radius:15px!important;border-color:#d5e1e7!important;box-shadow:0 4px 14px rgba(8,38,83,.035)!important}
body.mobile-mode .contact-form-heading{margin-bottom:3px!important}
body.mobile-mode .contact-form-heading h2{font-size:.86rem!important;color:#17324f!important}
body.mobile-mode .contact-form-heading>small{background:#eaf8f5!important;color:#087b70!important}
body.mobile-mode .contact-intro{padding:6px 7px!important;margin:0 0 8px!important;font-size:.6rem!important}
body.mobile-mode .contact-modern-form{gap:8px!important}
body.mobile-mode .contact-modern-form label>span{font-size:.64rem!important}
body.mobile-mode .contact-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
body.mobile-mode .contact-modern-form input,body.mobile-mode .contact-modern-form select,body.mobile-mode .contact-modern-form textarea{min-height:40px!important;padding:8px 9px!important;border-radius:10px!important;font-size:14px!important}
body.mobile-mode .contact-modern-form textarea{min-height:92px!important}
body.mobile-mode .contact-other-details{margin-top:0!important;border:1px solid #d6e2e8!important;border-radius:13px!important;background:#fff!important;overflow:hidden!important}
body.mobile-mode .contact-other-details>summary{list-style:none!important;display:flex!important;justify-content:space-between!important;align-items:center!important;min-height:38px!important;padding:7px 9px!important;color:#34576b!important;font-size:.63rem!important;font-weight:820!important;cursor:pointer!important}
body.mobile-mode .contact-other-details>summary::-webkit-details-marker{display:none!important}
body.mobile-mode .contact-other-details .contact-side-column{padding:0 8px 8px!important;gap:6px!important}
body.mobile-mode .contact-route-card{padding:8px!important;border-radius:11px!important}
body.mobile-mode .contact-contribute-link{border-color:#b8dcd5!important;background:#effaf7!important;color:#087b70!important}

/* Les anciens accents violets de la 2.8.37.0 sont neutralisés explicitement. */
body.mobile-mode .mobile-dashboard-head-pro .mobile-mode-pill,
body.mobile-mode .mobile-pro-launch-grid-v370>a.is-accent>span,
body.mobile-mode .mobile-pro-benefits span,
body.mobile-mode .contact-partnership-benefits span{color:#087b70!important}
body.mobile-mode .mobile-pro-partner-card,
body.mobile-mode .contact-partnership-card,
body.mobile-mode .contact-contribute-link{background-color:#f0faf7!important}

@media(max-width:520px){
  body.mobile-mode .mobile-home-v370,body.mobile-mode .mobile-pro-home-v370,
  body.mobile-mode .alerts-app-page,body.mobile-mode .reflex-hub,
  body.mobile-mode .mobile-pro-observatory,body.mobile-mode .contact-app-page{padding-left:9px!important;padding-right:9px!important}
  body.mobile-mode .mobile-action-pair{grid-template-columns:1fr 1fr!important}
  body.mobile-mode .mobile-pro-launch-grid-v370{grid-template-columns:1fr 1fr!important}
  body.mobile-mode .contact-quick-routes{grid-template-columns:1fr 1fr!important}
  body.mobile-mode .contact-quick-routes>a.is-partner{grid-column:1/-1!important;min-height:48px!important}
  body.mobile-mode .contact-field-grid{grid-template-columns:1fr!important}
}
@media(max-width:360px){
  body.mobile-mode .mobile-action-pair,body.mobile-mode .mobile-pro-launch-grid-v370{grid-template-columns:1fr!important}
  body.mobile-mode .mobile-quick-grid{grid-template-columns:1fr!important}
}

/* ======================================================================
   Pasivite 2.8.38.0 — DESIGN SYSTEM PWA CANONIQUE
   Une seule identité : bleu nuit + turquoise Pasivite.
   Cette couche finale remplace visuellement les héritages violet/indigo
   des anciennes feuilles sans modifier le site classique.
   ====================================================================== */
body.mobile-mode{
  --pwa-primary:var(--navy,#12355b);
  --pwa-primary-dark:#09233f;
  --pwa-accent:var(--turquoise,#28b8b2);
  --pwa-accent-dark:#087b70;
  --pwa-accent-soft:#e9f8f5;
  --pwa-bg:var(--page-bg,#f5f8fa);
  --pwa-surface:#ffffff;
  --pwa-surface-soft:#f7fafb;
  --pwa-text:#17324f;
  --pwa-muted:#607386;
  --pwa-line:#d7e2e8;
  --pwa-line-strong:#bfd0da;
  --pwa-danger:#b42336;
  --pwa-danger-soft:#fff0f2;
  --pwa-warning:#a96500;
  --pwa-warning-soft:#fff5df;
  --pwa-radius:15px;
  --pwa-shadow:0 5px 16px rgba(8,38,83,.045);
  background:var(--pwa-bg)!important;
  color:var(--pwa-text)!important;
}
body.mobile-mode .mobile-app-main{background:var(--pwa-bg)!important;color:var(--pwa-text)!important}
body.mobile-mode .mobile-app-main h1,
body.mobile-mode .mobile-app-main h2,
body.mobile-mode .mobile-app-main h3{color:var(--pwa-primary)!important}
body.mobile-mode .mobile-app-main a:not(.primary-button):not(.secondary-button):not(.big-submit){color:inherit}
body.mobile-mode .mobile-app-main .eyebrow,
body.mobile-mode .mobile-dashboard-kicker,
body.mobile-mode .mobile-card-kicker,
body.mobile-mode .contact-kicker,
body.mobile-mode .contact-form-kicker,
body.mobile-mode .contact-partnership-kicker{color:var(--pwa-accent-dark)!important}

/* Neutralisation explicite des anciens accents violets/indigo chargés avant. */
body.mobile-mode .main-content a.info-card::after,
body.mobile-mode .main-content a.assistance-card::after,
body.mobile-mode .main-content a.psv-modern-card::after{color:var(--pwa-accent-dark)!important;background:var(--pwa-accent-soft)!important}
body.mobile-mode .main-content a.info-card:hover,
body.mobile-mode .main-content a.assistance-card:hover,
body.mobile-mode .main-content a.psv-modern-card:hover{border-color:#8ed4ca!important;box-shadow:var(--pwa-shadow)!important}
body.mobile-mode .main-content a.psv-action-button{
  --psv-action-bg:#fff!important;
  --psv-action-fg:var(--pwa-primary)!important;
  --psv-action-border:var(--pwa-line-strong)!important;
  --psv-action-shadow:none!important;
}
body.mobile-mode .main-content a.psv-action-button--primary,
body.mobile-mode .main-content a.psv-action-button--service{
  --psv-action-bg:var(--pwa-primary)!important;
  --psv-action-fg:#fff!important;
  --psv-action-border:var(--pwa-primary)!important;
}
body.mobile-mode .main-content a.psv-action-button--source{--psv-action-bg:#f4faf9!important;--psv-action-fg:var(--pwa-accent-dark)!important;--psv-action-border:#b7dcd5!important}
body.mobile-mode .audience-help-family{border-color:#cfe5df!important;background:#f5fbf9!important}
body.mobile-mode .audience-family .audience-action-icon{background:#e7f6f2!important;color:var(--pwa-accent-dark)!important}
body.mobile-mode .audience-family .audience-action:hover,
body.mobile-mode .audience-family .audience-action:focus-visible{border-color:#9fd7ce!important}
body.mobile-mode .pro-barometer-quality{background:#f5fbf9!important;border-color:#cfe4df!important}
body.mobile-mode .pro-quality-grid strong,
body.mobile-mode .obs-mobile-actions strong{color:var(--pwa-primary)!important}
body.mobile-mode .psv-chatbot-options{color:var(--pwa-primary)!important;background:#f4fbfa!important;border-color:#b8ded8!important;box-shadow:var(--pwa-shadow)!important}
body.mobile-mode .psv-chatbot-options-actions button{color:var(--pwa-primary)!important;border-color:#9fd8d1!important}
body.mobile-mode .observatory-count-badge,
body.mobile-mode .alert-count-badge,
body.mobile-mode .mobile-context-badge{background:var(--pwa-accent)!important;color:#fff!important}
body.mobile-mode .mobile-bottom-nav a.nav-kits{color:#607386!important}
body.mobile-mode .mobile-bottom-nav a.nav-kits.is-current{color:var(--pwa-accent-dark)!important}

/* En-tête d'application. */
body.mobile-mode .site-header{background:rgba(255,255,255,.98)!important;border-bottom:1px solid #e0e7ec!important;box-shadow:none!important;backdrop-filter:saturate(130%) blur(12px)}
body.mobile-mode .site-header .header-inner{min-height:58px!important;padding:5px 14px!important}
body.mobile-mode .brand-modern-logo,body.mobile-mode .tenant-logo{width:34px!important;height:38px!important}
body.mobile-mode .brand-wordmark{font-size:20px!important;color:var(--pwa-primary)!important}
body.mobile-mode .brand-wordmark em{color:var(--pwa-accent)!important}
body.mobile-mode .mobile-appbar-button{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;color:var(--pwa-primary)!important;border-radius:11px!important}
body.mobile-mode .mobile-appbar-button:hover,body.mobile-mode .mobile-appbar-button:focus-visible{background:var(--pwa-accent-soft)!important}

/* Socle typographique : dense mais lisible, sans titres de landing page. */
body.mobile-mode .mobile-app-main h1{font-size:1.34rem!important;line-height:1.14!important;letter-spacing:-.018em!important}
body.mobile-mode .mobile-app-main h2{font-size:1rem!important;line-height:1.2!important;letter-spacing:-.008em!important}
body.mobile-mode .mobile-app-main h3{font-size:.88rem!important;line-height:1.22!important}
body.mobile-mode .mobile-app-main p,body.mobile-mode .mobile-app-main li{font-size:.78rem!important;line-height:1.42!important}
body.mobile-mode .mobile-app-main .lead{font-size:.76rem!important;line-height:1.4!important;color:var(--pwa-muted)!important}
body.mobile-mode .mobile-app-main small,body.mobile-mode .mobile-app-main .muted{color:var(--pwa-muted)!important}

/* Contrôles communs. */
body.mobile-mode .primary-button,body.mobile-mode .big-submit,body.mobile-mode a.primary-button,
body.mobile-mode .contact-send-button{min-height:40px!important;padding:8px 11px!important;border:1px solid var(--pwa-primary)!important;border-radius:11px!important;background:var(--pwa-primary)!important;color:#fff!important;font-size:.76rem!important;font-weight:820!important;box-shadow:none!important}
body.mobile-mode .secondary-button,body.mobile-mode a.secondary-button{min-height:38px!important;padding:7px 10px!important;border:1px solid var(--pwa-line-strong)!important;border-radius:11px!important;background:#fff!important;color:var(--pwa-primary)!important;font-size:.73rem!important;font-weight:800!important;box-shadow:none!important}
body.mobile-mode .primary-button:hover,body.mobile-mode .big-submit:hover,body.mobile-mode .contact-send-button:hover{background:var(--pwa-primary-dark)!important;border-color:var(--pwa-primary-dark)!important}
body.mobile-mode input:not([type=checkbox]):not([type=radio]),body.mobile-mode select,body.mobile-mode textarea{min-height:42px!important;padding:8px 10px!important;border:1px solid #b8c8d3!important;border-radius:10px!important;background:#fff!important;color:var(--pwa-text)!important;font-size:14px!important;box-shadow:none!important}
body.mobile-mode textarea{min-height:96px!important}
body.mobile-mode input:focus,body.mobile-mode select:focus,body.mobile-mode textarea:focus{outline:3px solid rgba(40,184,178,.16)!important;border-color:var(--pwa-accent)!important}
body.mobile-mode :focus-visible{outline-color:rgba(40,184,178,.42)!important}

/* Accueils Personnel / Pro. */
body.mobile-mode .mobile-home-v370,body.mobile-mode .mobile-pro-home-v370{width:100%!important;max-width:720px!important;margin:0 auto!important;padding:10px 12px 20px!important;display:grid!important;gap:9px!important}
body.mobile-mode .mobile-dashboard-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:12px!important;padding:13px 14px!important;border:1px solid var(--pwa-line)!important;border-radius:17px!important;background:#fff!important;box-shadow:var(--pwa-shadow)!important}
body.mobile-mode .mobile-dashboard-kicker{margin:0 0 3px!important;font-size:.57rem!important;line-height:1!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body.mobile-mode .mobile-dashboard-head h1{margin:0 0 3px!important;font-size:1.28rem!important;color:var(--pwa-primary)!important}
body.mobile-mode .mobile-dashboard-head p:not(.mobile-dashboard-kicker){margin:0!important;max-width:430px!important;color:var(--pwa-muted)!important;font-size:.69rem!important;line-height:1.3!important}
body.mobile-mode .mobile-mode-pill,body.mobile-mode .mobile-profile-switch{display:none!important}
body.mobile-mode .mobile-mode-switcher{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2px!important;min-width:142px!important;padding:3px!important;border:1px solid #c8d7df!important;border-radius:12px!important;background:#f5f8fa!important}
body.mobile-mode .mobile-mode-switcher a,body.mobile-mode .mobile-mode-switcher span{display:flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;padding:5px 9px!important;border-radius:9px!important;text-decoration:none!important;font-size:.64rem!important;font-weight:850!important;color:#5e7285!important;white-space:nowrap!important}
body.mobile-mode .mobile-mode-switcher span[aria-current=page]{background:var(--pwa-accent)!important;color:#fff!important;box-shadow:0 2px 6px rgba(8,38,83,.08)!important}
body.mobile-mode .mobile-mode-switcher a:hover,body.mobile-mode .mobile-mode-switcher a:focus-visible{background:#e8f7f4!important;color:var(--pwa-accent-dark)!important}

body.mobile-mode .mobile-assist-shortcut{display:grid!important;grid-template-columns:30px minmax(0,1fr) 12px!important;align-items:center!important;gap:8px!important;min-height:48px!important;padding:8px 10px!important;border:1px solid #c9dfda!important;border-radius:13px!important;background:#f5fbf9!important;color:var(--pwa-primary)!important;text-decoration:none!important;box-shadow:none!important}
body.mobile-mode .mobile-assist-shortcut>span{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;border-radius:9px!important;background:#dff4ef!important;color:var(--pwa-accent-dark)!important;font-weight:900!important}
body.mobile-mode .mobile-assist-shortcut strong{font-size:.75rem!important;line-height:1.15!important}
body.mobile-mode .mobile-assist-shortcut b{color:#8a98a7!important}

body.mobile-mode .mobile-situation-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
body.mobile-mode .mobile-situation-card{display:grid!important;grid-template-columns:minmax(0,1fr) 12px!important;align-items:center!important;gap:7px!important;min-height:54px!important;padding:9px 10px!important;border:1px solid var(--pwa-line)!important;border-left:3px solid var(--pwa-accent)!important;border-radius:13px!important;background:#fff!important;color:var(--pwa-primary)!important;text-decoration:none!important;box-shadow:none!important}
body.mobile-mode .mobile-situation-card .mobile-situation-mark{display:none!important}
body.mobile-mode .mobile-situation-card.urgency-important,body.mobile-mode .mobile-situation-card.urgency-high{border-left-color:#d38b00!important}
body.mobile-mode .mobile-situation-card.urgency-urgent{border-left-color:var(--pwa-danger)!important}
body.mobile-mode .mobile-situation-card strong{font-size:.74rem!important;line-height:1.18!important;font-weight:820!important;letter-spacing:0!important;word-break:normal!important;overflow-wrap:normal!important}
body.mobile-mode .mobile-situation-card b{color:#8e9baa!important;font-size:1rem!important}
body.mobile-mode .mobile-inline-link{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:38px!important;padding:7px 10px!important;border:1px solid var(--pwa-line)!important;border-radius:11px!important;background:#fff!important;color:var(--pwa-primary)!important;text-decoration:none!important;font-size:.69rem!important;font-weight:800!important}
body.mobile-mode .mobile-inline-link span{color:var(--pwa-accent-dark)!important}

body.mobile-mode .mobile-action-pair{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
body.mobile-mode .mobile-action-pair>a{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;align-items:center!important;gap:8px!important;min-height:57px!important;padding:8px 10px!important;border:1px solid var(--pwa-line)!important;border-radius:13px!important;background:#fff!important;color:var(--pwa-primary)!important;text-decoration:none!important}
body.mobile-mode .mobile-action-pair>a>span{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:9px!important;background:var(--pwa-accent-soft)!important;color:var(--pwa-accent-dark)!important;font-size:.86rem!important;font-weight:950!important}
body.mobile-mode .mobile-action-pair>a.is-urgent{border-color:#ebd1d6!important;background:#fffafa!important}
body.mobile-mode .mobile-action-pair>a.is-urgent>span{background:#fdebed!important;color:var(--pwa-danger)!important}
body.mobile-mode .mobile-action-pair strong{display:block!important;font-size:.74rem!important;line-height:1.12!important}
body.mobile-mode .mobile-action-pair small{display:block!important;margin-top:2px!important;font-size:.58rem!important;line-height:1.16!important}

body.mobile-mode .mobile-quick-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
body.mobile-mode .mobile-quick-grid>a{position:relative!important;display:grid!important;grid-template-columns:28px minmax(0,1fr) 10px!important;align-items:center!important;gap:6px!important;min-height:52px!important;padding:8px!important;border:1px solid var(--pwa-line)!important;border-radius:13px!important;background:#fff!important;color:var(--pwa-primary)!important;text-decoration:none!important;box-shadow:none!important}
body.mobile-mode .mobile-quick-grid>a>span{display:grid!important;place-items:center!important;width:27px!important;height:27px!important;border-radius:8px!important;background:var(--pwa-accent-soft)!important;color:var(--pwa-accent-dark)!important;font-size:.7rem!important;font-weight:900!important}
body.mobile-mode .mobile-quick-grid>a.is-alert>span{background:#fdebed!important;color:var(--pwa-danger)!important}
body.mobile-mode .mobile-quick-grid strong{display:block!important;font-size:.68rem!important;line-height:1.1!important}
body.mobile-mode .mobile-quick-grid small{display:block!important;margin-top:2px!important;font-size:.53rem!important;line-height:1.1!important}
body.mobile-mode .mobile-quick-grid b{color:#91a0ae!important}

/* Pro : modules sobres, hiérarchie de tableau de bord. */
body.mobile-mode .mobile-pro-launch-grid-v370{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
body.mobile-mode .mobile-pro-launch-grid-v370>a{display:grid!important;grid-template-columns:30px minmax(0,1fr) 10px!important;align-items:center!important;gap:7px!important;min-height:58px!important;padding:9px!important;border:1px solid var(--pwa-line)!important;border-radius:13px!important;background:#fff!important;color:var(--pwa-primary)!important;text-decoration:none!important;box-shadow:none!important}
body.mobile-mode .mobile-pro-launch-grid-v370>a>span{display:grid!important;place-items:center!important;width:29px!important;height:29px!important;border-radius:9px!important;background:var(--pwa-accent-soft)!important;color:var(--pwa-accent-dark)!important;font-size:.72rem!important;font-weight:950!important}
body.mobile-mode .mobile-pro-launch-grid-v370>a.is-accent{border-color:#a9d9d1!important;background:#f4fbf9!important}
body.mobile-mode .mobile-pro-launch-grid-v370 strong{display:block!important;color:var(--pwa-primary)!important;font-size:.72rem!important;line-height:1.12!important}
body.mobile-mode .mobile-pro-launch-grid-v370 small{display:block!important;margin-top:2px!important;color:var(--pwa-muted)!important;font-size:.57rem!important;line-height:1.12!important}
body.mobile-mode .mobile-pro-launch-grid-v370 b{color:#8d9caa!important}
body.mobile-mode .mobile-pro-partner-card{padding:12px!important;border:1px solid #b9dbd5!important;border-top:3px solid var(--pwa-accent)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important}
body.mobile-mode .mobile-pro-partner-card h2{margin:2px 0 3px!important;color:var(--pwa-primary)!important;font-size:.82rem!important}
body.mobile-mode .mobile-pro-partner-card p:not(.mobile-card-kicker){margin:0!important;color:var(--pwa-muted)!important;font-size:.64rem!important;line-height:1.28!important}
body.mobile-mode .mobile-pro-benefits{display:flex!important;flex-wrap:wrap!important;gap:4px!important;margin-top:7px!important}
body.mobile-mode .mobile-pro-benefits span{padding:3px 6px!important;border-radius:999px!important;background:var(--pwa-accent-soft)!important;color:var(--pwa-accent-dark)!important;font-size:.52rem!important;font-weight:800!important}
body.mobile-mode .mobile-pro-partner-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin-top:8px!important}
body.mobile-mode .mobile-pro-partner-actions a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;padding:6px 8px!important;border:1px solid #b8cbd4!important;border-radius:10px!important;background:#fff!important;color:var(--pwa-primary)!important;text-decoration:none!important;font-size:.61rem!important;font-weight:820!important}
body.mobile-mode .mobile-pro-partner-actions a:first-child{background:var(--pwa-primary)!important;border-color:var(--pwa-primary)!important;color:#fff!important}
body.mobile-mode .mobile-pro-contribute-link{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-top:8px!important;padding-top:8px!important;border-top:1px solid #e0e8ec!important;color:var(--pwa-accent-dark)!important;text-decoration:none!important;font-size:.6rem!important;font-weight:820!important}

/* Notifications : simple état, jamais un bloc dominant. */
body.mobile-mode .mobile-push-status-v370{display:grid!important;grid-template-columns:30px minmax(0,1fr) auto!important;align-items:center!important;gap:7px!important;min-height:46px!important;padding:6px 8px!important;border:1px solid var(--pwa-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
body.mobile-mode .mobile-push-status-v370 .mobile-push-status-icon{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;border-radius:8px!important;background:#eef7f5!important;font-size:13px!important}
body.mobile-mode .mobile-push-status-v370 .mobile-push-status-copy strong{display:block!important;color:var(--pwa-primary)!important;font-size:.65rem!important;line-height:1.1!important}
body.mobile-mode .mobile-push-status-v370 .mobile-push-status-copy small{display:block!important;margin-top:1px!important;color:#718295!important;font-size:.54rem!important;line-height:1.15!important}
body.mobile-mode .mobile-push-status-v370 .mobile-push-status-actions{display:flex!important;align-items:center!important;gap:4px!important}
body.mobile-mode .mobile-push-status-v370 .mobile-push-status-actions button,
body.mobile-mode .mobile-push-status-v370 .mobile-push-status-actions a{min-height:28px!important;padding:4px 7px!important;border:1px solid #add8d0!important;border-radius:8px!important;background:#f2faf8!important;color:var(--pwa-accent-dark)!important;font-size:.58rem!important;font-weight:850!important;text-decoration:none!important}

/* Alertes : flux d'information, pas landing page. */
body.mobile-mode .alerts-app-page{width:100%!important;max-width:720px!important;margin:0 auto!important;padding:10px 12px 20px!important}
body.mobile-mode .alerts-app-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;margin:0 0 6px!important;padding:0!important;border:0!important;background:transparent!important}
body.mobile-mode .alerts-app-title .eyebrow{margin:0 0 2px!important;padding:0!important;background:none!important;color:var(--pwa-accent-dark)!important;font-size:.55rem!important}
body.mobile-mode .alerts-app-title h1{margin:0!important;font-size:1.25rem!important;color:var(--pwa-primary)!important}
body.mobile-mode .alerts-app-title .lead{margin:2px 0 0!important;font-size:.64rem!important;color:var(--pwa-muted)!important}
body.mobile-mode .alert-filter-toggle{min-height:32px!important;padding:5px 8px!important;border:1px solid var(--pwa-line-strong)!important;border-radius:10px!important;background:#fff!important;color:var(--pwa-primary)!important;font-size:.62rem!important}
body.mobile-mode .alert-filter-panel[open]{grid-column:1/-1!important}
body.mobile-mode .alert-search-collapsed{margin:6px 0 0!important;padding:9px!important;border:1px solid var(--pwa-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
body.mobile-mode .alert-freshness-strip{display:inline-flex!important;align-items:center!important;gap:5px!important;width:auto!important;max-width:100%!important;margin:0 0 8px!important;padding:4px 7px!important;border:0!important;border-radius:999px!important;background:var(--pwa-accent-soft)!important}
body.mobile-mode .alert-freshness-strip .alert-freshness-dot{width:6px!important;height:6px!important;background:var(--pwa-accent)!important;box-shadow:none!important}
body.mobile-mode .alert-freshness-strip strong{font-size:.58rem!important;color:#36586a!important}
body.mobile-mode .alert-freshness-strip small{display:none!important}
body.mobile-mode .alerts-list-heading-v370{margin:2px 0 5px!important;align-items:center!important}
body.mobile-mode .alerts-list-heading-v370 h2{margin:0!important;font-size:.76rem!important;color:var(--pwa-primary)!important}
body.mobile-mode .alerts-list-heading-v370 p{display:none!important}
body.mobile-mode .alerts-list-heading-v370>a{min-height:29px!important;padding:5px 8px!important;border:1px solid var(--pwa-line-strong)!important;border-radius:9px!important;background:#fff!important;color:var(--pwa-primary)!important;font-size:.59rem!important;text-decoration:none!important}
body.mobile-mode .stack-list{display:grid!important;gap:7px!important}
body.mobile-mode .alert-card-v370{padding:10px!important;border:1px solid var(--pwa-line)!important;border-left:3px solid var(--pwa-accent)!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important}
body.mobile-mode .alert-card-v370 .alert-meta{margin-bottom:4px!important}
body.mobile-mode .alert-card-v370 .tag,body.mobile-mode .alert-card-v370 .alert-new-badge{min-height:0!important;padding:2px 5px!important;border-radius:999px!important;font-size:.5rem!important}
body.mobile-mode .alert-card-v370 time{font-size:.52rem!important;color:#788899!important}
body.mobile-mode .alert-card-v370 h2{margin:0 0 3px!important;font-size:.88rem!important;line-height:1.14!important;color:var(--pwa-primary)!important}
body.mobile-mode .alert-card-v370>.source-line:not(.alert-source-line){margin:0 0 3px!important;font-size:.57rem!important}
body.mobile-mode .alert-card-v370 .alert-description{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;margin:0 0 5px!important;color:#53677a!important;font-size:.63rem!important;line-height:1.3!important}
body.mobile-mode .alert-card-v370 .card-action{margin:0 0 5px!important;padding:6px 7px!important;border:0!important;border-left:3px solid var(--pwa-accent)!important;border-radius:8px!important;background:#f1faf8!important;color:#365264!important;font-size:.59rem!important;line-height:1.28!important}
body.mobile-mode .alert-more-details{margin:0 0 5px!important;border-top:1px solid #e8eef1!important}
body.mobile-mode .alert-more-details>summary{padding:5px 1px 2px!important;color:#456174!important;font-size:.57rem!important;font-weight:800!important}
body.mobile-mode .alert-concern-open{width:auto!important;min-height:30px!important;padding:5px 8px!important;border-color:#a9d2cb!important;color:var(--pwa-accent-dark)!important;font-size:.59rem!important}

/* Fiches : catalogue en liste d'application, détail compact. */
body.mobile-mode .reflex-hub{width:100%!important;max-width:720px!important;margin:0 auto!important;padding:10px 12px 20px!important;gap:7px!important}
body.mobile-mode .reflex-hub>.eyebrow{margin:0!important;padding:0!important;background:none!important;font-size:.55rem!important}
body.mobile-mode .reflex-hub>h1{margin:0!important;font-size:1.22rem!important;color:var(--pwa-primary)!important}
body.mobile-mode .reflex-hub>.lead{margin:0 0 3px!important;font-size:.64rem!important;line-height:1.32!important}
body.mobile-mode .reflex-audience-tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:5px!important;margin:2px 0!important;padding-bottom:2px!important;scrollbar-width:none!important}
body.mobile-mode .reflex-audience-tabs::-webkit-scrollbar{display:none!important}
body.mobile-mode .reflex-audience-tabs a{flex:0 0 auto!important;min-height:30px!important;padding:5px 8px!important;border:1px solid #c8d7df!important;border-radius:999px!important;background:#fff!important;color:var(--pwa-primary)!important;font-size:.59rem!important;text-decoration:none!important}
body.mobile-mode .reflex-audience-tabs a.is-active{background:var(--pwa-accent)!important;border-color:var(--pwa-accent)!important;color:#fff!important}
body.mobile-mode .reflex-situation-filter{border:1px solid var(--pwa-line)!important;border-radius:11px!important;background:#fff!important;box-shadow:none!important}
body.mobile-mode .reflex-situation-filter summary{min-height:34px!important;padding:6px 9px!important;color:#365568!important;font-size:.61rem!important}
body.mobile-mode .reflex-results-head{margin:2px 0 0!important;align-items:center!important}
body.mobile-mode .reflex-results-head h2{margin:0!important;font-size:.74rem!important;color:var(--pwa-primary)!important}
body.mobile-mode .reflex-results-head span{font-size:.55rem!important}
body.mobile-mode .reflex-card-grid-compact{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
body.mobile-mode .reflex-row-card{display:grid!important;grid-template-columns:28px minmax(0,1fr) 10px!important;align-items:center!important;gap:7px!important;min-height:60px!important;padding:8px 9px!important;border:1px solid var(--pwa-line)!important;border-left:3px solid var(--pwa-accent)!important;border-radius:12px!important;background:#fff!important;color:inherit!important;text-decoration:none!important;box-shadow:none!important}
body.mobile-mode .reflex-row-card.urgency-important{border-left-color:#d38b00!important}
body.mobile-mode .reflex-row-card.urgency-urgent{border-left-color:var(--pwa-danger)!important}
body.mobile-mode .reflex-row-signal{display:grid!important;place-items:center!important;width:27px!important;height:27px!important;border-radius:8px!important;background:var(--pwa-accent-soft)!important;color:var(--pwa-accent-dark)!important;font-size:.68rem!important;font-weight:900!important}
body.mobile-mode .reflex-row-main>strong{display:block!important;color:var(--pwa-primary)!important;font-size:.7rem!important;line-height:1.14!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.mobile-mode .reflex-row-main>small{display:-webkit-box!important;-webkit-line-clamp:1!important;-webkit-box-orient:vertical!important;overflow:hidden!important;margin-top:2px!important;color:#697a8b!important;font-size:.54rem!important;line-height:1.15!important}
body.mobile-mode .reflex-row-meta .tag,body.mobile-mode .reflex-row-meta .reflex-audience-badge{min-height:0!important;padding:2px 5px!important;font-size:.47rem!important}
body.mobile-mode .reflex-card:not(.reflex-row-card){padding:0!important;border:1px solid var(--pwa-line)!important;border-radius:14px!important;box-shadow:none!important;overflow:hidden!important}
body.mobile-mode .reflex-card-header{padding:12px 13px 10px!important;background:#f8fbfc!important;border-bottom:1px solid #e4ebef!important}
body.mobile-mode .reflex-card-header h2{margin:6px 0 4px!important;font-size:.94rem!important;color:var(--pwa-primary)!important}
body.mobile-mode .reflex-summary{font-size:.64rem!important;line-height:1.34!important}
body.mobile-mode .reflex-now,body.mobile-mode .reflex-side-panel,body.mobile-mode .reflex-avoid-block,body.mobile-mode .reflex-after-block{padding:11px 12px!important}
body.mobile-mode .reflex-action-steps{gap:6px!important}
body.mobile-mode .reflex-action-steps li{grid-template-columns:28px minmax(0,1fr)!important;gap:8px!important;padding:8px 9px!important;border:1px solid #e1e9ed!important;border-radius:10px!important;background:#fbfdfe!important;font-size:.64rem!important}
body.mobile-mode .reflex-action-steps li::before{width:26px!important;height:26px!important;border-radius:8px!important;background:var(--pwa-accent-soft)!important;color:var(--pwa-accent-dark)!important}

/* Observatoire Pro : tableau de bord avec mêmes codes visuels. */
body.mobile-mode .mobile-pro-observatory{width:100%!important;max-width:720px!important;margin:0 auto!important;padding:10px 12px 20px!important;display:grid!important;gap:7px!important}
body.mobile-mode .mobile-pro-obs-head{padding:0!important;grid-template-columns:32px minmax(0,1fr)!important}
body.mobile-mode .mobile-pro-obs-head>a{width:30px!important;height:30px!important;border:1px solid var(--pwa-line-strong)!important;border-radius:10px!important;background:#fff!important;color:var(--pwa-primary)!important}
body.mobile-mode .mobile-pro-obs-head h1{font-size:1.12rem!important;color:var(--pwa-primary)!important}
body.mobile-mode .mobile-pro-sector-strip{gap:5px!important;margin:0!important;padding-bottom:2px!important}
body.mobile-mode .mobile-pro-sector-strip a{min-height:29px!important;padding:4px 8px!important;border:1px solid #cbd8df!important;border-radius:999px!important;background:#fff!important;color:#4d6578!important;font-size:.56rem!important}
body.mobile-mode .mobile-pro-sector-strip a.is-active{background:var(--pwa-accent-soft)!important;border-color:#86cec3!important;color:var(--pwa-accent-dark)!important}
body.mobile-mode .mobile-pro-priority-card{padding:9px 10px!important;border:1px solid #c7e1dc!important;border-radius:12px!important;background:#f3fbf9!important}
body.mobile-mode .mobile-pro-priority-card h2{font-size:.76rem!important;color:var(--pwa-primary)!important}
body.mobile-mode .mobile-pro-priority-card li{font-size:.59rem!important;line-height:1.3!important}
body.mobile-mode .mobile-pro-obs-snapshot{gap:5px!important}
body.mobile-mode .mobile-pro-obs-snapshot article{padding:6px 5px!important;border:1px solid var(--pwa-line)!important;border-radius:10px!important;background:#fff!important}
body.mobile-mode .mobile-pro-obs-snapshot strong{color:var(--pwa-primary)!important}
body.mobile-mode .mobile-pro-watch-card{padding:8px 9px!important;border:1px solid var(--pwa-line)!important;border-radius:11px!important;background:#fff!important}
body.mobile-mode .mobile-pro-resource-grid{gap:5px!important}
body.mobile-mode .mobile-pro-resource-grid>a{padding:7px 8px!important;border:1px solid var(--pwa-line)!important;border-radius:10px!important;background:#fff!important;color:var(--pwa-primary)!important}
body.mobile-mode .mobile-pro-resource-grid>a>span{background:var(--pwa-accent-soft)!important;color:var(--pwa-accent-dark)!important}
body.mobile-mode .mobile-pro-more{border:1px solid var(--pwa-line)!important;border-radius:10px!important;background:#fff!important}

/* Contact : formulaire d'application et partenariat visible sans prendre l'écran. */
body.mobile-mode .contact-app-page{width:100%!important;max-width:720px!important;margin:0 auto!important;padding:10px 12px 20px!important}
body.mobile-mode .contact-app-head{padding:0 0 6px!important}
body.mobile-mode .contact-app-head h1{margin:1px 0 2px!important;font-size:1.2rem!important;color:var(--pwa-primary)!important}
body.mobile-mode .contact-app-head p{margin:0!important;font-size:.63rem!important;line-height:1.3!important;color:var(--pwa-muted)!important}
body.mobile-mode .contact-quick-routes{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin:0 0 7px!important}
body.mobile-mode .contact-quick-routes>a{display:grid!important;grid-template-columns:27px minmax(0,1fr)!important;grid-template-rows:auto auto!important;align-items:center!important;gap:7px!important;min-height:55px!important;padding:7px!important;border:1px solid var(--pwa-line)!important;border-radius:11px!important;background:#fff!important;color:var(--pwa-primary)!important;text-decoration:none!important}
body.mobile-mode .contact-quick-routes>a>b{display:none!important}
body.mobile-mode .contact-quick-routes>a>span{grid-row:1/3!important;display:grid!important;place-items:center!important;width:26px!important;height:26px!important;border-radius:8px!important;background:var(--pwa-accent-soft)!important;color:var(--pwa-accent-dark)!important;font-weight:900!important}
body.mobile-mode .contact-quick-routes>a.is-urgent{border-color:#ecd2d7!important;background:#fffafa!important}
body.mobile-mode .contact-quick-routes>a.is-urgent>span{background:#fdebed!important;color:var(--pwa-danger)!important}
body.mobile-mode .contact-quick-routes>a.is-partner{border-color:#add8d0!important;background:#f3fbf9!important}
body.mobile-mode .contact-quick-routes strong{font-size:.58rem!important;line-height:1.1!important}
body.mobile-mode .contact-quick-routes small{font-size:.49rem!important;line-height:1.12!important}
body.mobile-mode .contact-partnership-card{padding:10px!important;border:1px solid #b6dcd5!important;border-top:3px solid var(--pwa-accent)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
body.mobile-mode .contact-partnership-card h2{font-size:.78rem!important;color:var(--pwa-primary)!important}
body.mobile-mode .contact-partnership-benefits span{background:var(--pwa-accent-soft)!important;color:var(--pwa-accent-dark)!important}
body.mobile-mode .contact-form-card{padding:11px!important;border:1px solid var(--pwa-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important}
body.mobile-mode .contact-form-heading h2{font-size:.82rem!important;color:var(--pwa-primary)!important}
body.mobile-mode .contact-form-heading>small{background:var(--pwa-accent-soft)!important;color:var(--pwa-accent-dark)!important}
body.mobile-mode .contact-intro{padding:6px 7px!important;margin:0 0 7px!important;border-radius:9px!important;background:var(--pwa-warning-soft)!important;color:#735214!important;font-size:.58rem!important}
body.mobile-mode .contact-modern-form{gap:7px!important}
body.mobile-mode .contact-modern-form label>span{font-size:.61rem!important;color:#354d61!important}
body.mobile-mode .contact-field-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
body.mobile-mode .contact-other-details{margin-top:0!important;border:1px solid var(--pwa-line)!important;border-radius:11px!important;background:#fff!important;overflow:hidden!important}
body.mobile-mode .contact-other-details>summary{min-height:36px!important;padding:6px 8px!important;color:#3e5a6d!important;font-size:.59rem!important;font-weight:820!important}
body.mobile-mode .contact-route-card{padding:8px!important;border:1px solid var(--pwa-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}
body.mobile-mode .contact-route-card h2{font-size:.7rem!important;color:var(--pwa-primary)!important}
body.mobile-mode .contact-route-card p,body.mobile-mode .contact-route-card a{font-size:.56rem!important}
body.mobile-mode .contact-contribute-link{border-color:#add8d0!important;background:#f3fbf9!important;color:var(--pwa-accent-dark)!important}
body.mobile-mode .contact-modern-form .hp-field,body.mobile-mode .contact-modern-form .honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:.001!important;pointer-events:none!important}

/* Menu latéral et dock : mêmes couleurs de marque. */
body.mobile-mode .mobile-app-drawer{background:#fff!important;color:var(--pwa-primary)!important}
body.mobile-mode .mobile-drawer-group h2{color:#789!important}
body.mobile-mode .mobile-drawer-group a,body.mobile-mode .mobile-drawer-group button{color:var(--pwa-primary)!important}
body.mobile-mode .mobile-drawer-group a.is-highlight{background:var(--pwa-accent-soft)!important;color:var(--pwa-accent-dark)!important}
body.mobile-mode .mobile-bottom-nav-v370{border-top:1px solid #dde6eb!important;background:rgba(255,255,255,.985)!important;box-shadow:0 -5px 18px rgba(8,38,83,.05)!important}
body.mobile-mode .mobile-bottom-nav-v370 a{color:#65778a!important;background:transparent!important}
body.mobile-mode .mobile-bottom-nav-v370 a.is-current{color:var(--pwa-accent-dark)!important;background:var(--pwa-accent-soft)!important}
body.mobile-mode .mobile-bottom-nav-v370 a.nav-emergency{color:#a5333f!important}
body.mobile-mode .mobile-bottom-nav-v370 a.nav-emergency.is-current{background:var(--pwa-danger-soft)!important;color:var(--pwa-danger)!important}

@media(max-width:520px){
  body.mobile-mode .mobile-home-v370,body.mobile-mode .mobile-pro-home-v370,
  body.mobile-mode .alerts-app-page,body.mobile-mode .reflex-hub,
  body.mobile-mode .mobile-pro-observatory,body.mobile-mode .contact-app-page{padding-left:9px!important;padding-right:9px!important}
  body.mobile-mode .mobile-dashboard-head{grid-template-columns:1fr!important}
  body.mobile-mode .mobile-mode-switcher{width:100%!important;min-width:0!important}
  body.mobile-mode .mobile-situation-list{grid-template-columns:1fr 1fr!important}
  body.mobile-mode .contact-quick-routes{grid-template-columns:1fr 1fr!important}
  body.mobile-mode .contact-quick-routes>a.is-partner{grid-column:1/-1!important}
  body.mobile-mode .contact-field-grid{grid-template-columns:1fr!important}
}
@media(max-width:380px){
  body.mobile-mode .mobile-situation-list,body.mobile-mode .mobile-action-pair,
  body.mobile-mode .mobile-pro-launch-grid-v370{grid-template-columns:1fr!important}
  body.mobile-mode .mobile-quick-grid{grid-template-columns:1fr!important}
}


/* ======================================================================
   Pasivite 2.8.38.1 — VERROU CHARTE PWA CANONIQUE
   Source de vérité PWA : #12355B / #28B8B2 / #F5F8FA.
   IMPORTANT : ces valeurs ne dépendent plus du branding dynamique du tenant
   en mode PWA afin d'éviter le retour d'anciens violet/indigo.
   ====================================================================== */
body.mobile-mode{
  --navy:#12355B!important;
  --navy-dark:#09233F!important;
  --turquoise:#28B8B2!important;
  --page-bg:#F5F8FA!important;
  --pwa-primary:#12355B!important;
  --pwa-primary-dark:#09233F!important;
  --pwa-accent:#28B8B2!important;
  --pwa-accent-dark:#187F7A!important;
  --pwa-accent-soft:#E9F8F5!important;
  --pwa-bg:#F5F8FA!important;
  --psv-navy:#12355B!important;
  --psv-navy-2:#09233F!important;
  --psv-teal:#28B8B2!important;
  --psv-mint:#55C2A3!important;
  --psv-brand-navy:#12355B!important;
  --psv-brand-navy-2:#12355B!important;
  --psv-brand-teal:#28B8B2!important;
  --psv-brand-teal-2:#187F7A!important;
  --app-teal:#28B8B2!important;
  --app-pro-accent:#28B8B2!important;
  background:#F5F8FA!important;
}

body.mobile-mode .main-content a.psv-action-button{
  --psv-action-bg:#FFFFFF!important;
  --psv-action-fg:#12355B!important;
  --psv-action-border:#BFD0DA!important;
  --psv-action-shadow:none!important;
  box-shadow:none!important;
}
body.mobile-mode .main-content a.psv-action-button--primary,
body.mobile-mode .main-content a.psv-action-button--service{
  --psv-action-bg:#12355B!important;
  --psv-action-fg:#FFFFFF!important;
  --psv-action-border:#12355B!important;
  background:#12355B!important;
  border-color:#12355B!important;
  color:#FFFFFF!important;
}
body.mobile-mode .main-content a.psv-action-button--source{
  --psv-action-bg:#F3FBF9!important;
  --psv-action-fg:#187F7A!important;
  --psv-action-border:#A9DAD2!important;
  background:#F3FBF9!important;
  border-color:#A9DAD2!important;
  color:#187F7A!important;
}
body.mobile-mode .main-content a.info-card::after,
body.mobile-mode .main-content a.assistance-card::after,
body.mobile-mode .main-content a.psv-modern-card::after{
  color:#187F7A!important;
  background:#E9F8F5!important;
}

body.mobile-mode .main-content a.mobile-inline-link,
body.mobile-mode .main-content a.mobile-inline-link.psv-action-button,
body.mobile-mode .main-content a.mobile-inline-link.psv-action-button--primary{
  min-height:38px!important;
  padding:7px 10px!important;
  border:1px solid #BFD0DA!important;
  border-radius:11px!important;
  background:#FFFFFF!important;
  color:#12355B!important;
  box-shadow:none!important;
}
body.mobile-mode .main-content a.mobile-inline-link span{color:#187F7A!important}

body.mobile-mode .main-content .mobile-pro-partner-actions a,
body.mobile-mode .main-content .mobile-pro-partner-actions a.psv-action-button{
  min-height:34px!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
body.mobile-mode .main-content .mobile-pro-partner-actions a:first-child,
body.mobile-mode .main-content .mobile-pro-partner-actions a:first-child.psv-action-button{
  background:#12355B!important;
  border-color:#12355B!important;
  color:#FFFFFF!important;
}
body.mobile-mode .main-content .mobile-pro-partner-actions a:last-child,
body.mobile-mode .main-content .mobile-pro-partner-actions a:last-child.psv-action-button{
  background:#FFFFFF!important;
  border-color:#28B8B2!important;
  color:#187F7A!important;
}
body.mobile-mode .main-content .mobile-pro-contribute-link,
body.mobile-mode .main-content .mobile-pro-contribute-link.psv-action-button{
  background:#FFFFFF!important;
  color:#187F7A!important;
  border-color:#A9DAD2!important;
  box-shadow:none!important;
}

body.mobile-mode .notification-kind{
  background:#E9F8F5!important;
  color:#12355B!important;
}

body.mobile-mode .modern-icon-message{color:#12355B!important;background:#E9F8F5!important}
body.mobile-mode .card-message .modern-card-arrow,
body.mobile-mode .nav-observatory .observatory-count-badge{
  background:#28B8B2!important;
  color:#FFFFFF!important;
}

body.mobile-mode .seo-page{color:#17324F!important}
body.mobile-mode .seo-breadcrumb a,
body.mobile-mode .seo-topic-card strong,
body.mobile-mode .seo-note strong,
body.mobile-mode .seo-remember strong,
body.mobile-mode .seo-section h2,
body.mobile-mode .seo-aside-card h2,
body.mobile-mode .seo-related-list a{color:#12355B!important}
body.mobile-mode .seo-step-list li::before{background:#12355B!important;color:#FFFFFF!important}
body.mobile-mode .seo-hero{
  border-color:#D7E2E8!important;
  background:linear-gradient(135deg,#FFFFFF,#F3FBF9)!important;
  box-shadow:0 6px 18px rgba(18,53,91,.05)!important;
}


/* Observatoire général ouvert depuis la PWA : suppression des restes indigo historiques. */
body.mobile-mode .observatory-summary-grid strong,
body.mobile-mode .observatory-method-grid strong,
body.mobile-mode .observatory-public-signals h3,
body.mobile-mode .observatory-public-signals li strong,
body.mobile-mode .observatory-full-report>h3,
body.mobile-mode .observatory-full-block>h3,
body.mobile-mode .observatory-full-card>h3,
body.mobile-mode .observatory-full-method>h3,
body.mobile-mode .observatory-action-grid strong{
  color:#12355B!important;
}
body.mobile-mode .observatory-index-panel{
  background:linear-gradient(120deg,#12355B,#0D5E68)!important;
  color:#FFFFFF!important;
}
body.mobile-mode .observatory-report-week,
body.mobile-mode .observatory-public-signals li strong{
  background:#E9F8F5!important;
  color:#12355B!important;
}
body.mobile-mode .observatory-feedback{
  background:linear-gradient(135deg,#F3FBF9,#FFFFFF)!important;
}
body.mobile-mode .observatory-full-intro,
body.mobile-mode .observatory-full-signal{
  border-left-color:#28B8B2!important;
}
body.mobile-mode .observatory-quality-panel strong{color:#187F7A!important}

/* Lecteur PDF PWA : le bouton fermer suit lui aussi la charte. */
body.mobile-mode .pwa-pdf-close,
body.pdf-viewer-context .pwa-pdf-close{
  color:#12355B!important;
  border-color:#A9DAD2!important;
  background:#FFFFFF!important;
}

/* Chatbot PWA : options et actions sans violet historique. */
body.mobile-mode .psv-chatbot-options,
body.mobile-mode .psv-chatbot-options-actions button{
  color:#12355B!important;
}
body.mobile-mode .psv-chatbot-options{
  background:#F3FBF9!important;
  border-color:#B8DED8!important;
}
body.mobile-mode .psv-chatbot-options-actions button{
  border-color:#A9DAD2!important;
  background:#FFFFFF!important;
}

/* 2.8.38.1 — garde-fou final après enrichissement JS des liens publics. */
body.mobile-mode .main-content .mobile-mode-switcher a,
body.mobile-mode .main-content a.mobile-assist-shortcut,
body.mobile-mode .main-content a.mobile-situation-card,
body.mobile-mode .main-content a.mobile-inline-link,
body.mobile-mode .main-content .mobile-action-pair a,
body.mobile-mode .main-content .mobile-quick-grid a,
body.mobile-mode .main-content .mobile-pro-launch-grid-v370 a,
body.mobile-mode .main-content .mobile-pro-launch-grid a,
body.mobile-mode .main-content .mobile-pro-partner-actions a,
body.mobile-mode .main-content a.mobile-pro-contribute-link,
body.mobile-mode .main-content .contact-quick-routes a,
body.mobile-mode .main-content .contact-partnership-card>a,
body.mobile-mode .main-content a.contact-contribute-link{
  --psv-action-shadow:none!important;
  box-shadow:none!important;
}

/* ======================================================================
   Pasivite 2.8.39.0 — DESIGN SYSTEM PWA GLOBAL
   Objectif : aucune vue historique ne doit ressortir comme une page web.
   Portée STRICTE : body.mobile-mode uniquement.
   Charte canonique : #12355B / #28B8B2 / #F5F8FA.
   ====================================================================== */
body.mobile-mode.pwa-app-shell{
  --pwa-navy:#12355B;
  --pwa-navy-dark:#09233F;
  --pwa-teal:#28B8B2;
  --pwa-teal-dark:#187F7A;
  --pwa-bg:#F5F8FA;
  --pwa-surface:#FFFFFF;
  --pwa-border:#D6E2E9;
  --pwa-muted:#66758A;
  --pwa-soft:#E9F8F5;
  --pwa-danger:#B42336;
  --pwa-warning:#B06C00;
  color:#17324F!important;
  background:var(--pwa-bg)!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:12px 16px calc(88px + env(safe-area-inset-bottom))!important;
  box-sizing:border-box!important;
  background:var(--pwa-bg)!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main > :not(.flash):not(.pwa-pdf-viewer){
  width:min(100%,860px)!important;
  max-width:860px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main > .flash{width:min(100%,860px)!important;margin:0 auto 10px!important}
body.mobile-mode.pwa-app-shell .site-footer{display:none!important}

/* Typographie commune de l'application. */
body.mobile-mode.pwa-app-shell .mobile-app-main h1{
  margin:0 0 6px!important;
  color:var(--pwa-navy)!important;
  font-size:clamp(1.48rem,3.7vw,1.82rem)!important;
  line-height:1.08!important;
  letter-spacing:-.02em!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main h2{
  color:var(--pwa-navy)!important;
  font-size:clamp(1.02rem,2.5vw,1.22rem)!important;
  line-height:1.16!important;
  letter-spacing:-.01em!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main h3{
  color:var(--pwa-navy)!important;
  font-size:.96rem!important;
  line-height:1.2!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main p,
body.mobile-mode.pwa-app-shell .mobile-app-main li{
  font-size:.91rem!important;
  line-height:1.45!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main .lead{font-size:.96rem!important;line-height:1.42!important;color:#5E6F84!important}
body.mobile-mode.pwa-app-shell .mobile-app-main .eyebrow,
body.mobile-mode.pwa-app-shell .mobile-app-main .contact-kicker,
body.mobile-mode.pwa-app-shell .mobile-app-main .contact-form-kicker{
  color:var(--pwa-teal-dark)!important;
  font-size:.72rem!important;
  line-height:1.1!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  font-weight:850!important;
}

/* Toutes les coquilles historiques deviennent des surfaces d'application cohérentes. */
body.mobile-mode.pwa-app-shell .mobile-app-main :is(.senior-shell,.auth-shell,.content-shell,.prose-content,.page-hero){
  border:1px solid var(--pwa-border)!important;
  border-radius:18px!important;
  background:var(--pwa-surface)!important;
  box-shadow:0 6px 18px rgba(18,53,91,.045)!important;
  padding:16px!important;
  box-sizing:border-box!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main :is(.senior-shell,.auth-shell,.content-shell,.prose-content)+:is(.senior-shell,.auth-shell,.content-shell,.prose-content){margin-top:12px!important}
body.mobile-mode.pwa-app-shell .mobile-app-main .page-hero{margin-bottom:12px!important}
body.mobile-mode.pwa-app-shell .mobile-app-main .page-hero>p:last-child{max-width:62ch!important;color:#5F7084!important}

/* Cartes et grilles génériques : fini les grands pavés web juxtaposés. */
body.mobile-mode.pwa-app-shell .mobile-app-main .card-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main :is(.card,.info-card,.action-panel,.search-panel,.notice-panel,.notice-box){
  border:1px solid var(--pwa-border)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:none!important;
  padding:13px!important;
  box-sizing:border-box!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main .card .card{background:#FAFCFD!important}
body.mobile-mode.pwa-app-shell .mobile-app-main :is(.card,.info-card,.action-panel) h2,
body.mobile-mode.pwa-app-shell .mobile-app-main :is(.card,.info-card,.action-panel) h3{margin-top:0!important;margin-bottom:5px!important}
body.mobile-mode.pwa-app-shell .mobile-app-main :is(.card,.info-card,.action-panel) p{margin:.3rem 0!important;color:#586A80!important}

/* Boutons et liens d'action : une seule grammaire visuelle. */
body.mobile-mode.pwa-app-shell .mobile-app-main :is(a.primary-button,button.primary-button,a.big-button,button.big-submit,a.button:not(.secondary),button.button:not(.secondary)){
  min-height:42px!important;
  border:1px solid var(--pwa-navy)!important;
  border-radius:12px!important;
  background:var(--pwa-navy)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:.84rem!important;
  font-weight:800!important;
  text-decoration:none!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main :is(a.secondary-button,button.secondary-button,a.button.secondary){
  min-height:40px!important;
  border:1px solid #B7CAD5!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--pwa-navy)!important;
  box-shadow:none!important;
  font-size:.82rem!important;
  font-weight:780!important;
  text-decoration:none!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main :is(a.primary-button,button.primary-button,a.secondary-button,button.secondary-button,a.button,button.button,a.big-button,button.big-submit){padding:9px 13px!important}
body.mobile-mode.pwa-app-shell .mobile-app-main :is(.danger-button,.danger-outline){border-color:#E0AAB1!important;background:#FFF7F8!important;color:var(--pwa-danger)!important}
body.mobile-mode.pwa-app-shell .mobile-app-main a:not([class]){color:var(--pwa-teal-dark)!important;text-underline-offset:2px!important}

/* Formulaires : compacts, alignés, lisibles et adaptés au tactile. */
body.mobile-mode.pwa-app-shell .mobile-app-main :is(.senior-form,.admin-form,.contact-modern-form){display:grid!important;gap:10px!important}
body.mobile-mode.pwa-app-shell .mobile-app-main label{color:#31475F!important;font-size:.82rem!important;font-weight:700!important}
body.mobile-mode.pwa-app-shell .mobile-app-main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
  width:100%!important;
  min-height:42px!important;
  margin-top:4px!important;
  padding:9px 11px!important;
  border:1px solid #B8C9D6!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#17324F!important;
  font:inherit!important;
  font-size:16px!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main textarea{min-height:96px!important;resize:vertical!important}
body.mobile-mode.pwa-app-shell .mobile-app-main fieldset{border:1px solid #DCE6EB!important;border-radius:14px!important;padding:11px!important;margin:0!important;background:#FBFDFE!important}
body.mobile-mode.pwa-app-shell .mobile-app-main legend{padding:0 5px!important;color:var(--pwa-navy)!important;font-size:.82rem!important;font-weight:820!important}
body.mobile-mode.pwa-app-shell .mobile-app-main .choice-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
body.mobile-mode.pwa-app-shell .mobile-app-main .choice-card{min-height:48px!important;border:1px solid #D1DEE6!important;border-radius:12px!important;background:#fff!important;padding:8px!important}

/* Lecture / juridique / FAQ / contenu : largeur et rythme identiques aux autres écrans. */
body.mobile-mode.pwa-app-shell .mobile-app-main :is(.prose-page,.prose-content,.content-shell,.seo-page){font-size:.92rem!important;line-height:1.55!important}
body.mobile-mode.pwa-app-shell .mobile-app-main :is(.prose-page,.prose-content,.content-shell,.seo-page) h2{margin-top:1.25rem!important;margin-bottom:.45rem!important}
body.mobile-mode.pwa-app-shell .mobile-app-main details:not(.mobile-pro-more):not(.contact-other-details):not(.pwa-app-details){
  border:1px solid #D8E4EA!important;
  border-radius:13px!important;
  background:#fff!important;
  padding:0!important;
  overflow:hidden!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main details:not(.mobile-pro-more):not(.contact-other-details):not(.pwa-app-details)>summary{
  min-height:42px!important;
  padding:10px 12px!important;
  color:var(--pwa-navy)!important;
  font-size:.84rem!important;
  font-weight:800!important;
  cursor:pointer!important;
}

/* Page Contribuer : deux intentions claires, le reste en second niveau. */
body.mobile-mode.pwa-app-shell .pwa-contribute-screen{display:grid!important;gap:11px!important;padding:0!important}
body.mobile-mode.pwa-app-shell .pwa-page-header{
  border:1px solid var(--pwa-border)!important;
  border-radius:18px!important;
  background:#fff!important;
  padding:15px!important;
  box-shadow:0 6px 18px rgba(18,53,91,.045)!important;
}
body.mobile-mode.pwa-app-shell .pwa-page-kicker,
body.mobile-mode.pwa-app-shell .pwa-card-kicker{display:block!important;color:var(--pwa-teal-dark)!important;font-size:.68rem!important;font-weight:850!important;letter-spacing:.09em!important;text-transform:uppercase!important;margin-bottom:4px!important}
body.mobile-mode.pwa-app-shell .pwa-page-header p{margin:0!important;max-width:60ch!important;color:#627287!important;font-size:.88rem!important}
body.mobile-mode.pwa-app-shell .pwa-contribute-primary-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
body.mobile-mode.pwa-app-shell .pwa-contribute-primary-card{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:10px!important;
  border:1px solid var(--pwa-border)!important;
  border-radius:16px!important;
  background:#fff!important;
  padding:13px!important;
  box-shadow:0 5px 14px rgba(18,53,91,.035)!important;
}
body.mobile-mode.pwa-app-shell .pwa-contribute-primary-card.is-partner{border-color:#A9DAD2!important;background:#F5FCFA!important}
body.mobile-mode.pwa-app-shell .pwa-card-icon{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;border-radius:11px!important;background:var(--pwa-soft)!important;color:var(--pwa-teal-dark)!important;font-size:1rem!important;font-weight:900!important}
body.mobile-mode.pwa-app-shell .pwa-contribute-primary-card h2{margin:0 0 5px!important;font-size:1.08rem!important}
body.mobile-mode.pwa-app-shell .pwa-contribute-primary-card p{margin:0 0 8px!important;color:#5D6E83!important;font-size:.84rem!important}
body.mobile-mode.pwa-app-shell .pwa-feature-list{display:grid!important;gap:4px!important;margin:0 0 11px!important;padding:0!important;list-style:none!important}
body.mobile-mode.pwa-app-shell .pwa-feature-list li{position:relative!important;padding-left:17px!important;color:#425870!important;font-size:.78rem!important;line-height:1.32!important}
body.mobile-mode.pwa-app-shell .pwa-feature-list li::before{content:'✓'!important;position:absolute!important;left:0!important;top:0!important;color:var(--pwa-teal-dark)!important;font-weight:900!important}
body.mobile-mode.pwa-app-shell :is(.pwa-primary-cta,.pwa-secondary-cta){display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:40px!important;padding:8px 11px!important;border-radius:11px!important;text-decoration:none!important;font-size:.8rem!important;font-weight:820!important}
body.mobile-mode.pwa-app-shell .pwa-primary-cta{background:var(--pwa-navy)!important;border:1px solid var(--pwa-navy)!important;color:#fff!important}
body.mobile-mode.pwa-app-shell .pwa-secondary-cta{background:#fff!important;border:1px solid #A9DAD2!important;color:var(--pwa-teal-dark)!important}
body.mobile-mode.pwa-app-shell .pwa-app-details{border:1px solid var(--pwa-border)!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important}
body.mobile-mode.pwa-app-shell .pwa-app-details>summary{list-style:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-height:52px!important;padding:10px 12px!important;cursor:pointer!important}
body.mobile-mode.pwa-app-shell .pwa-app-details>summary::-webkit-details-marker{display:none!important}
body.mobile-mode.pwa-app-shell .pwa-app-details>summary span{display:grid!important;gap:2px!important}
body.mobile-mode.pwa-app-shell .pwa-app-details>summary strong{color:var(--pwa-navy)!important;font-size:.84rem!important}
body.mobile-mode.pwa-app-shell .pwa-app-details>summary small{color:#718196!important;font-size:.68rem!important;font-weight:550!important}
body.mobile-mode.pwa-app-shell .pwa-app-details>summary b{color:var(--pwa-teal-dark)!important}
body.mobile-mode.pwa-app-shell .pwa-app-details[open]>summary{border-bottom:1px solid #E1E9EE!important;background:#FBFDFE!important}
body.mobile-mode.pwa-app-shell .pwa-app-details-body{display:grid!important;padding:7px!important;gap:5px!important}
body.mobile-mode.pwa-app-shell .pwa-app-details-body>a{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;min-height:49px!important;padding:8px 9px!important;border:1px solid #E0E8ED!important;border-radius:11px!important;background:#fff!important;color:inherit!important;text-decoration:none!important}
body.mobile-mode.pwa-app-shell .pwa-app-details-body>a span{display:grid!important;gap:2px!important}
body.mobile-mode.pwa-app-shell .pwa-app-details-body>a strong{color:var(--pwa-navy)!important;font-size:.78rem!important}
body.mobile-mode.pwa-app-shell .pwa-app-details-body>a small{color:#718196!important;font-size:.65rem!important}
body.mobile-mode.pwa-app-shell .pwa-app-details-body>a b{color:var(--pwa-teal-dark)!important}
body.mobile-mode.pwa-app-shell .pwa-feedback-tip{display:grid!important;gap:3px!important;padding:10px 12px!important;border-left:3px solid var(--pwa-teal)!important;border-radius:0 12px 12px 0!important;background:#F2FAF8!important}
body.mobile-mode.pwa-app-shell .pwa-feedback-tip strong{color:var(--pwa-navy)!important;font-size:.8rem!important}
body.mobile-mode.pwa-app-shell .pwa-feedback-tip span{color:#66778B!important;font-size:.7rem!important;line-height:1.35!important}

/* Pages de service historiques : le deuxième bloc ne doit plus flotter en pleine largeur. */
body.mobile-mode.pwa-app-shell.pwa-route-aide-professionnels .mobile-app-main>section.card,
body.mobile-mode.pwa-app-shell.pwa-route-mon-compte .mobile-app-main>section.senior-shell,
body.mobile-mode.pwa-app-shell.pwa-route-mon-espace .mobile-app-main>section.senior-shell{margin-top:10px!important}

@media(max-width:680px){
  body.mobile-mode.pwa-app-shell .mobile-app-main{padding-left:10px!important;padding-right:10px!important}
  body.mobile-mode.pwa-app-shell .mobile-app-main .card-grid,
  body.mobile-mode.pwa-app-shell .mobile-app-main .choice-grid,
  body.mobile-mode.pwa-app-shell .pwa-contribute-primary-grid{grid-template-columns:1fr!important}
  body.mobile-mode.pwa-app-shell .pwa-contribute-primary-card{grid-template-columns:34px minmax(0,1fr)!important;padding:11px!important}
}
body.mobile-mode.pwa-app-shell .pwa-context-link{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  min-height:58px!important;
  margin:10px auto 0!important;
  padding:10px 12px!important;
  border:1px solid #A9DAD2!important;
  border-radius:14px!important;
  background:#F5FCFA!important;
  color:inherit!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body.mobile-mode.pwa-app-shell .pwa-context-link span{display:grid!important;gap:2px!important}
body.mobile-mode.pwa-app-shell .pwa-context-link strong{color:#12355B!important;font-size:.82rem!important}
body.mobile-mode.pwa-app-shell .pwa-context-link small{color:#68798C!important;font-size:.68rem!important;line-height:1.25!important}
body.mobile-mode.pwa-app-shell .pwa-context-link b{color:#187F7A!important;font-size:1rem!important}

/* ======================================================================
   Pasivite 2.8.39.1 — P0 CTA natifs PWA
   Les CTA natifs de la page Contribution ne doivent jamais hériter de
   .psv-action-button injecté par le système historique d'actions publiques.
   La règle est volontairement plus spécifique pour rester correcte même
   si une ancienne classe est encore présente dans le DOM/cache.
   ====================================================================== */
body.mobile-mode.pwa-app-shell .main-content a.pwa-primary-cta,
body.mobile-mode.pwa-app-shell .main-content a.pwa-primary-cta.psv-action-button{
  --psv-action-bg:var(--pwa-navy)!important;
  --psv-action-fg:#FFFFFF!important;
  --psv-action-border:var(--pwa-navy)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:40px!important;
  padding:8px 11px!important;
  border:1px solid var(--pwa-navy)!important;
  border-radius:11px!important;
  background:var(--pwa-navy)!important;
  color:#FFFFFF!important;
  font-size:.8rem!important;
  font-weight:820!important;
  line-height:1.2!important;
  text-indent:0!important;
  opacity:1!important;
  visibility:visible!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
body.mobile-mode.pwa-app-shell .main-content a.pwa-primary-cta > *{
  color:#FFFFFF!important;
  opacity:1!important;
  visibility:visible!important;
}
body.mobile-mode.pwa-app-shell .main-content a.pwa-secondary-cta,
body.mobile-mode.pwa-app-shell .main-content a.pwa-secondary-cta.psv-action-button{
  --psv-action-bg:#FFFFFF!important;
  --psv-action-fg:var(--pwa-teal-dark)!important;
  --psv-action-border:#A9DAD2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:40px!important;
  padding:8px 11px!important;
  border:1px solid #A9DAD2!important;
  border-radius:11px!important;
  background:#FFFFFF!important;
  color:var(--pwa-teal-dark)!important;
  font-size:.8rem!important;
  font-weight:820!important;
  line-height:1.2!important;
  text-indent:0!important;
  opacity:1!important;
  visibility:visible!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
body.mobile-mode.pwa-app-shell .main-content a.pwa-secondary-cta > *{
  color:var(--pwa-teal-dark)!important;
  opacity:1!important;
  visibility:visible!important;
}
body.mobile-mode.pwa-app-shell .main-content a.pwa-context-link,
body.mobile-mode.pwa-app-shell .main-content a.pwa-context-link.psv-action-button{
  --psv-action-bg:#FFFFFF!important;
  --psv-action-fg:#12355B!important;
  --psv-action-border:#C9D8E1!important;
  color:#12355B!important;
  background:#FFFFFF!important;
  box-shadow:none!important;
}



/* 2.8.39.2 — vérification humaine claire et séparée */
.contact-human-check{max-width:720px;margin:18px auto 0;padding:22px;border:1px solid #b9d7d5;border-radius:18px;background:#f3fbfa;display:flex;gap:16px;align-items:flex-start;box-shadow:0 10px 28px rgba(18,53,91,.06)}
.contact-human-check-icon{flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#dff7f4;color:#087f79;display:grid;place-items:center;font-size:1.25rem;font-weight:800}
.contact-human-check-copy{min-width:0;flex:1}
.contact-human-check-copy h2{margin:.1rem 0 .45rem;color:#12355b;font-size:1.35rem;line-height:1.2}
.contact-human-check-copy>p{margin:.35rem 0 .85rem;color:#5e6c86;line-height:1.5}
.contact-human-check-form{display:grid;gap:10px;margin-top:12px}
.contact-human-check-form label{display:grid;gap:7px;font-weight:700;color:#12355b}
.contact-human-check-form input{min-height:48px;border:1px solid #a9bfd3;border-radius:12px;padding:10px 12px;font-size:1rem;background:#fff;color:#12355b}
.contact-human-check-example,.contact-human-check-help{margin:0!important;font-size:.9rem;color:#5e6c86}
.contact-human-check-form .contact-send-button{width:auto;justify-self:start;min-width:210px}
@media(max-width:640px){.contact-human-check{margin:10px 0 0;padding:16px;gap:11px;border-radius:15px}.contact-human-check-icon{width:36px;height:36px;flex-basis:36px}.contact-human-check-copy h2{font-size:1.08rem}.contact-human-check-form .contact-send-button{width:100%;min-width:0}}

/* ======================================================================
   PASIVITE 2.8.45.5 — CANON UI PWA
   Objectif : une seule grammaire visuelle pour toutes les vues PWA.
   Portée : body.mobile-mode.pwa-app-shell uniquement.
   Charte : bleu Pasivite / turquoise. Aucun violet.
   ====================================================================== */
body.mobile-mode.pwa-app-shell{
  --pwa-navy:#12355B!important;
  --pwa-navy-dark:#09233F!important;
  --pwa-teal:#28B8B2!important;
  --pwa-teal-dark:#187F7A!important;
  --pwa-bg:#F5F8FA!important;
  --pwa-surface:#FFFFFF!important;
  --pwa-border:#D3E0E8!important;
  --pwa-muted:#66778B!important;
  --pwa-soft:#E8F7F4!important;
  --pwa-danger:#B42336!important;
  --pwa-warning:#B06C00!important;
}

/* Conteneur commun */
body.mobile-mode.pwa-app-shell .mobile-app-main{
  padding:12px 16px calc(92px + env(safe-area-inset-bottom))!important;
  background:var(--pwa-bg)!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main > *{
  box-sizing:border-box!important;
}

/* Un seul modèle d'en-tête */
body.mobile-mode.pwa-app-shell :is(.mobile-dashboard-head,.mobile-pro-compact-head,.pwa-page-header,.page-hero){
  border:1px solid var(--pwa-border)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(18,53,91,.04)!important;
  padding:14px!important;
  margin:0 0 10px!important;
}
body.mobile-mode.pwa-app-shell :is(.mobile-dashboard-head,.mobile-pro-compact-head){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:start!important;
}
body.mobile-mode.pwa-app-shell :is(.mobile-dashboard-copy,.mobile-pro-compact-head>div){min-width:0!important}
body.mobile-mode.pwa-app-shell :is(.mobile-dashboard-kicker,.mobile-pro-kicker,.pwa-page-kicker){
  margin:0 0 3px!important;
  color:var(--pwa-teal-dark)!important;
  font-size:.68rem!important;
  line-height:1.1!important;
  font-weight:850!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
body.mobile-mode.pwa-app-shell :is(.mobile-dashboard-head h1,.mobile-pro-compact-head h1,.pwa-page-header h1,.page-hero h1){
  margin:0 0 5px!important;
  color:var(--pwa-navy)!important;
  font-size:clamp(1.35rem,4vw,1.8rem)!important;
  line-height:1.08!important;
  letter-spacing:-.02em!important;
}
body.mobile-mode.pwa-app-shell :is(.mobile-dashboard-head p:not(.mobile-dashboard-kicker),.mobile-pro-compact-head p:not(.mobile-pro-kicker),.pwa-page-header p,.page-hero p){
  margin:0!important;
  color:var(--pwa-muted)!important;
  font-size:.82rem!important;
  line-height:1.4!important;
}

/* Bascule Personnel / Pro : même composant partout */
body.mobile-mode.pwa-app-shell .mobile-mode-switcher,
body.mobile-mode.pwa-app-shell .mobile-pro-switch{
  display:flex!important;
  align-items:center!important;
  min-height:40px!important;
  border:1px solid #C7D7E1!important;
  border-radius:12px!important;
  background:#F7FAFC!important;
  overflow:hidden!important;
}
body.mobile-mode.pwa-app-shell .mobile-mode-switcher>*{
  min-width:72px!important;
  padding:9px 11px!important;
  text-align:center!important;
  text-decoration:none!important;
  color:var(--pwa-navy)!important;
  font-size:.72rem!important;
  font-weight:800!important;
}
body.mobile-mode.pwa-app-shell .mobile-mode-switcher span[aria-current="page"]{
  background:var(--pwa-teal)!important;
  color:#fff!important;
  border-radius:10px!important;
}
body.mobile-mode.pwa-app-shell .mobile-pro-switch{
  padding:9px 12px!important;
  color:var(--pwa-navy)!important;
  text-decoration:none!important;
  font-size:.72rem!important;
  font-weight:800!important;
}

/* Aide / Je ne sais pas : même carte que les autres raccourcis */
body.mobile-mode.pwa-app-shell .mobile-assist-shortcut{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:9px!important;
  min-height:48px!important;
  margin:0 0 10px!important;
  padding:8px 11px!important;
  border:1px solid #BFDCD8!important;
  border-radius:14px!important;
  background:#F7FCFB!important;
  color:var(--pwa-navy)!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body.mobile-mode.pwa-app-shell .mobile-assist-shortcut>span{
  display:grid!important;place-items:center!important;width:28px!important;height:28px!important;
  border-radius:9px!important;background:var(--pwa-soft)!important;color:var(--pwa-teal-dark)!important;font-weight:900!important;
}
body.mobile-mode.pwa-app-shell .mobile-assist-shortcut strong{font-size:.8rem!important}
body.mobile-mode.pwa-app-shell .mobile-assist-shortcut b{color:#7890A3!important}

/* Situations : structure strictement identique, quelle que soit l'urgence */
body.mobile-mode.pwa-app-shell .mobile-situation-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin:0 0 10px!important;
}
body.mobile-mode.pwa-app-shell .mobile-situation-card{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) 18px!important;
  align-items:center!important;
  gap:9px!important;
  min-height:70px!important;
  padding:10px!important;
  border:1px solid var(--pwa-border)!important;
  border-left:1px solid var(--pwa-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--pwa-navy)!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body.mobile-mode.pwa-app-shell .mobile-situation-card:is(.urgency-important,.urgency-high,.urgency-urgent){
  border-color:var(--pwa-border)!important;
  border-left-color:var(--pwa-border)!important;
  background:#fff!important;
}
body.mobile-mode.pwa-app-shell .mobile-situation-mark{display:none!important}
body.mobile-mode.pwa-app-shell .mobile-situation-icon{
  display:grid!important;place-items:center!important;width:30px!important;height:30px!important;
  border-radius:10px!important;background:var(--pwa-soft)!important;color:var(--pwa-teal-dark)!important;
  font-size:.8rem!important;font-weight:900!important;
}
body.mobile-mode.pwa-app-shell .mobile-situation-copy{display:grid!important;gap:2px!important;min-width:0!important}
body.mobile-mode.pwa-app-shell .mobile-situation-copy strong{
  color:var(--pwa-navy)!important;font-size:.79rem!important;line-height:1.18!important;font-weight:820!important;
  overflow-wrap:anywhere!important;
}
body.mobile-mode.pwa-app-shell .mobile-situation-copy small{
  color:var(--pwa-muted)!important;font-size:.64rem!important;line-height:1.2!important;
}
body.mobile-mode.pwa-app-shell .mobile-situation-arrow{color:#7890A3!important;font-size:1.05rem!important;text-align:right!important}

/* Liens/tuiles : même hauteur, même bordure, même action */
body.mobile-mode.pwa-app-shell .mobile-inline-link,
body.mobile-mode.pwa-app-shell .mobile-quick-grid>a,
body.mobile-mode.pwa-app-shell .mobile-pro-launch-grid>a,
body.mobile-mode.pwa-app-shell .mobile-pro-launch-grid-v370>a,
body.mobile-mode.pwa-app-shell .mobile-home-organisation-row,
body.mobile-mode.pwa-app-shell .mobile-pro-value-card{
  border:1px solid var(--pwa-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--pwa-navy)!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
body.mobile-mode.pwa-app-shell .mobile-inline-link{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  min-height:44px!important;padding:8px 11px!important;margin:0 0 10px!important;
  font-size:.76rem!important;font-weight:820!important;
}
body.mobile-mode.pwa-app-shell .mobile-inline-link span{color:var(--pwa-teal-dark)!important}

/* Actions Vérifier / J'ai déjà agi : même composant, seul l'état sémantique varie */
body.mobile-mode.pwa-app-shell .mobile-action-pair{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:0 0 10px!important}
body.mobile-mode.pwa-app-shell .mobile-action-pair>a{
  display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;
  min-height:60px!important;padding:9px 10px!important;border:1px solid var(--pwa-border)!important;border-radius:14px!important;
  background:#fff!important;color:var(--pwa-navy)!important;text-decoration:none!important;box-shadow:none!important;
}
body.mobile-mode.pwa-app-shell .mobile-action-pair>a.is-urgent{border-color:var(--pwa-border)!important;background:#fff!important}
body.mobile-mode.pwa-app-shell .mobile-action-pair>a>span,
body.mobile-mode.pwa-app-shell .mobile-action-pair>a.is-urgent>span{
  display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:9px!important;
  background:var(--pwa-soft)!important;color:var(--pwa-teal-dark)!important;font-weight:900!important;
}
body.mobile-mode.pwa-app-shell .mobile-action-pair strong{display:block!important;color:var(--pwa-navy)!important;font-size:.78rem!important;line-height:1.15!important}
body.mobile-mode.pwa-app-shell .mobile-action-pair small{display:block!important;margin-top:2px!important;color:var(--pwa-muted)!important;font-size:.63rem!important;line-height:1.2!important}

/* Grilles de raccourcis : même carte, même rythme */
body.mobile-mode.pwa-app-shell .mobile-quick-grid,
body.mobile-mode.pwa-app-shell .mobile-pro-launch-grid,
body.mobile-mode.pwa-app-shell .mobile-pro-launch-grid-v370{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:0 0 10px!important;
}
body.mobile-mode.pwa-app-shell :is(.mobile-quick-grid>a,.mobile-pro-launch-grid>a,.mobile-pro-launch-grid-v370>a){
  display:grid!important;grid-template-columns:30px minmax(0,1fr) 12px!important;align-items:center!important;gap:8px!important;
  min-height:60px!important;padding:9px 10px!important;
}
body.mobile-mode.pwa-app-shell :is(.mobile-quick-grid>a>span,.mobile-pro-launch-grid>a>span,.mobile-pro-launch-grid-v370>a>span){
  display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:9px!important;
  background:var(--pwa-soft)!important;color:var(--pwa-teal-dark)!important;font-size:.75rem!important;font-weight:900!important;
}
body.mobile-mode.pwa-app-shell :is(.mobile-quick-grid strong,.mobile-pro-launch-grid strong,.mobile-pro-launch-grid-v370 strong){
  display:block!important;color:var(--pwa-navy)!important;font-size:.76rem!important;line-height:1.12!important;font-weight:820!important;
}
body.mobile-mode.pwa-app-shell :is(.mobile-quick-grid small,.mobile-pro-launch-grid small,.mobile-pro-launch-grid-v370 small){
  display:block!important;margin-top:2px!important;color:var(--pwa-muted)!important;font-size:.62rem!important;line-height:1.15!important;
}
body.mobile-mode.pwa-app-shell :is(.mobile-quick-grid b,.mobile-pro-launch-grid b,.mobile-pro-launch-grid-v370 b){color:#7890A3!important;font-size:1rem!important;font-weight:500!important}
body.mobile-mode.pwa-app-shell :is(.mobile-pro-launch-grid>a.is-accent,.mobile-pro-launch-grid-v370>a.is-accent){border-color:var(--pwa-border)!important;background:#fff!important}

/* Notifications : une seule carte standardisée */
body.mobile-mode.pwa-app-shell .mobile-push-status{
  display:grid!important;grid-template-columns:32px minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;
  min-height:58px!important;margin:0 0 10px!important;padding:9px 10px!important;
  border:1px solid var(--pwa-border)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;
}
body.mobile-mode.pwa-app-shell .mobile-push-status-icon{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:9px!important;background:var(--pwa-soft)!important;font-size:.85rem!important}
body.mobile-mode.pwa-app-shell .mobile-push-status-copy{display:grid!important;gap:1px!important;min-width:0!important}
body.mobile-mode.pwa-app-shell .mobile-push-status-copy strong{color:var(--pwa-navy)!important;font-size:.76rem!important}
body.mobile-mode.pwa-app-shell .mobile-push-status-copy small{color:var(--pwa-muted)!important;font-size:.62rem!important;line-height:1.2!important}
body.mobile-mode.pwa-app-shell .mobile-push-status-actions{display:flex!important;align-items:center!important;gap:5px!important}
body.mobile-mode.pwa-app-shell .mobile-push-status-actions :is(button,a){min-height:34px!important;padding:7px 9px!important;border:1px solid #A9DAD2!important;border-radius:10px!important;background:#F5FCFA!important;color:var(--pwa-teal-dark)!important;font-size:.68rem!important;font-weight:820!important;text-decoration:none!important}

/* Pro : titre et contenu restent exactement dans la même grammaire */
body.mobile-mode.pwa-app-shell .mobile-pro-value-card{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;
  min-height:76px!important;padding:12px!important;margin:0!important;
}
body.mobile-mode.pwa-app-shell .mobile-pro-value-card p{margin:0 0 2px!important;color:var(--pwa-teal-dark)!important;font-size:.66rem!important;font-weight:850!important;letter-spacing:.07em!important;text-transform:uppercase!important}
body.mobile-mode.pwa-app-shell .mobile-pro-value-card strong{display:block!important;color:var(--pwa-navy)!important;font-size:.82rem!important}
body.mobile-mode.pwa-app-shell .mobile-pro-value-card small{display:block!important;margin-top:2px!important;color:var(--pwa-muted)!important;font-size:.64rem!important}
body.mobile-mode.pwa-app-shell .mobile-pro-value-card>b{color:#7890A3!important}

/* Formulaires / fiches / pages secondaires : même surface */
body.mobile-mode.pwa-app-shell .mobile-app-main :is(.card,.info-card,.action-panel,.search-panel,.notice-panel,.notice-box,.senior-shell,.auth-shell,.content-shell,.prose-content,.seo-page,.pwa-app-details,.pwa-contribute-primary-card){
  border-color:var(--pwa-border)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main :is(.primary-button,.big-button,.big-submit,.button:not(.secondary),button.primary-button){
  border-radius:11px!important;background:var(--pwa-navy)!important;border-color:var(--pwa-navy)!important;color:#fff!important;
  box-shadow:none!important;font-weight:820!important;
}
body.mobile-mode.pwa-app-shell .mobile-app-main :is(.secondary-button,.button.secondary,button.secondary-button){
  border-radius:11px!important;background:#fff!important;border-color:#B8CBD7!important;color:var(--pwa-navy)!important;box-shadow:none!important;
}

/* Plus aucun violet dans la PWA : dernière couche de sécurité */
body.mobile-mode.pwa-app-shell :is(.mobile-dashboard-head,.mobile-pro-compact-head,.mobile-situation-card,.mobile-quick-grid>a,.mobile-pro-launch-grid>a,.mobile-pro-value-card,.pwa-page-header,.pwa-contribute-primary-card){
  --purple:#12355B!important;
}
body.mobile-mode.pwa-app-shell :is(.mobile-dashboard-head,.mobile-pro-compact-head,.mobile-situation-card,.mobile-quick-grid>a,.mobile-pro-launch-grid>a,.mobile-pro-value-card,.pwa-page-header,.pwa-contribute-primary-card){
  color:var(--pwa-navy)!important;
}

@media(max-width:680px){
  body.mobile-mode.pwa-app-shell .mobile-app-main{padding-left:10px!important;padding-right:10px!important}
  body.mobile-mode.pwa-app-shell .mobile-situation-list,
  body.mobile-mode.pwa-app-shell .mobile-action-pair{grid-template-columns:1fr!important}
  body.mobile-mode.pwa-app-shell .mobile-quick-grid,
  body.mobile-mode.pwa-app-shell .mobile-pro-launch-grid,
  body.mobile-mode.pwa-app-shell .mobile-pro-launch-grid-v370{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:380px){
  body.mobile-mode.pwa-app-shell :is(.mobile-dashboard-head,.mobile-pro-compact-head){grid-template-columns:1fr!important}
  body.mobile-mode.pwa-app-shell .mobile-quick-grid,
  body.mobile-mode.pwa-app-shell .mobile-pro-launch-grid,
  body.mobile-mode.pwa-app-shell .mobile-pro-launch-grid-v370{grid-template-columns:1fr!important}
}


/* Pasivite 2.8.47.3 — accueil Personnel : suppression définitive de la grande carte vide. */
body.mobile-mode .mobile-home-v473{width:100%!important;max-width:720px!important;margin:0 auto!important;padding:10px 12px 20px!important;display:grid!important;gap:10px!important}
body.mobile-mode .mobile-home-v473 .mobile-situations-direct{display:block!important;margin:0!important;padding:12px!important;border:1px solid var(--pwa-line,#d9e3e8)!important;border-radius:15px!important;background:#fff!important;box-shadow:none!important;min-height:0!important;height:auto!important}
body.mobile-mode .mobile-home-v473 .mobile-situations-direct .pv-section-head{display:block!important;margin:0 0 9px!important}
body.mobile-mode .mobile-home-v473 .mobile-situations-direct .pv-section-head h2{margin:0!important;font-size:.94rem!important;line-height:1.2!important;color:var(--pwa-primary,#12355b)!important}
body.mobile-mode .mobile-home-v473 .mobile-situations-direct .pv-section-head p{margin:2px 0 0!important;font-size:.65rem!important;line-height:1.25!important;color:var(--pwa-muted,#66798b)!important}
body.mobile-mode .mobile-home-v473 .mobile-situations-list{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
body.mobile-mode .mobile-home-v473 .mobile-situations-list>a{display:grid!important;grid-template-columns:32px minmax(0,1fr) 16px!important;align-items:center!important;gap:8px!important;min-height:58px!important;height:auto!important;padding:9px 10px!important;border:1px solid var(--pwa-line,#d9e3e8)!important;border-radius:12px!important;background:#fff!important;color:var(--pwa-primary,#12355b)!important;text-decoration:none!important;box-shadow:none!important}
body.mobile-mode .mobile-home-v473 .mobile-situations-list .pv-mark{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:9px!important;background:#e2f7f2!important;color:#087b70!important;font-weight:900!important}
body.mobile-mode .mobile-home-v473 .mobile-situations-list strong{display:block!important;font-size:.78rem!important;line-height:1.15!important;color:var(--pwa-primary,#12355b)!important}
body.mobile-mode .mobile-home-v473 .mobile-situations-list small{display:block!important;margin-top:2px!important;font-size:.61rem!important;line-height:1.2!important;color:var(--pwa-muted,#66798b)!important}
body.mobile-mode .mobile-home-v473 .mobile-guided-assistance-inline{margin:9px 0 0!important;padding:0!important;background:none!important;border:0!important;min-height:0!important;height:auto!important}
body.mobile-mode .mobile-home-v473 .mobile-guided-assistance-inline a{display:inline!important;padding:0!important;border:0!important;background:none!important;color:#087b70!important;font-size:.68rem!important;font-weight:800!important;text-decoration:underline!important;box-shadow:none!important;min-height:0!important;height:auto!important}
/* Ancien composant : s'il subsiste dans un HTML antérieur après mise à jour, ne jamais l'afficher comme grande carte vide. */
body.mobile-mode .mobile-assist-shortcut:empty{display:none!important}

/* Pasivite 2.8.47.4 — accueil Pro : suppression du bloc Boussole vide au-dessus du Décodeur. */
body.mobile-mode .mobile-pro-home-v370>.pv-list:first-of-type{margin-top:0!important}
