/* Application mobile (PWA) : tout vient des jetons du thème admin (aucune couleur en dur sauf repli). */
.edu-hors-ligne,.edu-installer{display:none}
.edu-hors-ligne{position:fixed;left:0;right:0;top:0;z-index:2000;padding:8px 14px;padding-top:calc(8px + env(safe-area-inset-top));text-align:center;font-size:.85rem;font-weight:600;background:var(--edu-color-accent);color:#fff}
.edu-hors-ligne:not([hidden]){display:block}
.edu-installer{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:1990;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--edu-radius-lg,16px);background:var(--edu-color-surface,#fff);color:var(--edu-color-text,color-mix(in srgb, var(--edu-color-primary) 72%, #000));box-shadow:0 10px 30px rgba(0,0,0,.18);border:1px solid rgba(var(--edu-color-primary-rgb,50,53,233),.25)}
.edu-installer:not([hidden]){display:flex}
.edu-installer-texte{flex:1;font-size:.9rem;line-height:1.35}
.edu-installer-ok{border:0;border-radius:var(--edu-radius-md,12px);padding:10px 16px;min-height:44px;font-weight:700;background:var(--edu-color-primary,var(--edu-color-primary));color:#fff}
.edu-installer-non{border:0;background:transparent;font-size:1.5rem;line-height:1;min-width:44px;min-height:44px;color:inherit;opacity:.6}
@media (max-width: 991.98px){
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}
  .pc-footer{display:none}
}
@media (display-mode: standalone){
  html{overscroll-behavior-y:contain}
  body{-webkit-user-select:none;user-select:none}
  input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}
  .pc-header{padding-top:env(safe-area-inset-top)}
}


/* Accueil mobile par profil */
.edu-hub{max-width:720px;margin:0 auto}
.edu-hub-tete{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.edu-hub-profil{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--edu-color-primary,var(--edu-color-primary))}
.edu-hub-titre{margin:2px 0 0;font-size:1.4rem;font-weight:800}
.edu-hub-cloche{position:relative;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.4rem;color:var(--edu-color-primary,var(--edu-color-primary));background:rgba(var(--edu-color-primary-rgb,50,53,233),.1);text-decoration:none}
.edu-hub-cloche span{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--edu-color-danger);color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.edu-hub-cloche span[hidden]{display:none}
.edu-hub-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.edu-hub-tuile{display:flex;flex-direction:column;gap:4px;padding:16px 14px;min-height:132px;border-radius:var(--edu-radius-lg,16px);background:var(--edu-color-surface,#fff);color:var(--edu-color-text,color-mix(in srgb, var(--edu-color-primary) 72%, #000));text-decoration:none;border:1px solid rgba(var(--edu-color-primary-rgb,50,53,233),.14);box-shadow:0 4px 14px rgba(0,0,0,.05);transition:transform .15s,box-shadow .15s}
.edu-hub-tuile:active{transform:scale(.97)}
.edu-hub-icone{width:44px;height:44px;border-radius:var(--edu-radius-md,12px);display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:rgba(var(--edu-color-primary-rgb,50,53,233),.12);color:var(--edu-color-primary,var(--edu-color-primary));margin-bottom:6px}
.edu-hub-libelle{font-weight:700;font-size:1rem}
.edu-hub-desc{font-size:.78rem;opacity:.65;line-height:1.3}
.edu-hub-pied{text-align:center;margin-top:20px;font-size:.9rem}
@media (min-width:768px){.edu-hub-grille{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (prefers-reduced-motion: reduce){.edu-hub-tuile{transition:none}}

/* Accueil mobile : « Aujourd'hui » */
.edu-hub-jour{margin-bottom:18px;padding:14px;border-radius:var(--edu-radius-lg,16px);background:var(--edu-color-surface,#fff);border:1px solid rgba(var(--edu-color-primary-rgb,50,53,233),.14)}
.edu-hub-jour-titre{margin:0 0 8px;font-size:.95rem;font-weight:800;color:var(--edu-color-primary,var(--edu-color-primary))}
.edu-hub-jour-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.edu-hub-jour-liste li{display:flex;gap:10px;align-items:baseline;padding:8px 10px;border-radius:var(--edu-radius-md,12px);font-size:.9rem;border-left:4px solid transparent}
.edu-hub-jour-h{font-weight:700;min-width:96px;font-variant-numeric:tabular-nums}
.edu-hub-jour-liste .est-fini{opacity:.5}
.edu-hub-jour-liste .est-encours{background:rgba(var(--edu-color-primary-rgb,50,53,233),.14);border-left-color:var(--edu-color-primary,var(--edu-color-primary))}
.edu-hub-jour-liste .est-prochain{background:rgba(var(--edu-color-primary-rgb,50,53,233),.06);border-left-color:rgba(var(--edu-color-primary-rgb,50,53,233),.5)}
.edu-hub-jour-liste .edu-hub-jour-vide{display:block;opacity:.65;font-size:.85rem}
