/* Priorité 13: couche de finition allégée. La priorité vient surtout de l’ordre de chargement, pas de !important. */
/* Priorité 8 — finition UI sobre, lisible, moins encombrée
   Objectif : réduire le bruit décoratif sans changer les fonctions. */
:root {
  /* Tokens déplacés dans assets/ui-tokens.css. */
}
html, body { color-scheme: dark; }
body.admin-ui,
body.ux-shell-bg {
  background: radial-gradient(circle at 10% -10%, rgba(56,189,248,.08), transparent 28rem), linear-gradient(180deg, #071021, #0b1220 58%, #08111f);
}
/* Moins de décorations flottantes : elles nuisent à la lisibilité. */
.blob { opacity: .28; filter: blur(18px); }
/* Texte plus lisible et lignes moins longues. */
p, li, small { line-height: 1.55; }
.portal-hero-panel,
.admin-zone-panel-head p,
.admin-dashboard-note,
.comm-card p,
.notes-zone-subtitle { max-width: 72ch; }
/* Portail élève : hero plus compact, pas de gros bloc marketing. */
.portal-hero-panel {
  padding: .85rem 1rem;
  border-radius: 1.25rem;
  background: rgba(15,23,42,.58);
  border: 1px solid rgba(148,163,184,.14);
}
.portal-hero-panel p { color: #cbd5e1; }
.ux-kicker { font-size: .7rem; letter-spacing: .11em; }
/* Admin : les 4 zones doivent agir comme une barre claire, pas comme une pub. */
.admin-zone-shell {
  padding: .85rem;
  border-radius: 1.35rem;
  background: rgba(15,23,42,.78);
}
.admin-zone-card {
  min-height: 86px;
  padding: .88rem;
  border-radius: 1.05rem;
}
.admin-zone-card strong { font-size: 1rem; }
.admin-zone-card small { font-size: .78rem; color: #aebbd0; }
.admin-zone-icon { width: 40px; height: 40px; border-radius: .85rem; }
.admin-zone-panel {
  padding: .85rem;
  border-radius: 1.15rem;
  background: rgba(2,6,23,.20);
}
.admin-zone-panel-head { margin-bottom: .75rem; }
.admin-zone-panel-head h2 { font-size: 1.05rem; }
.admin-zone-grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .7rem; }
.admin-action-tile {
  min-height: 92px;
  padding: .85rem;
  border-radius: 1rem;
  background: rgba(15,23,42,.66);
}
.admin-action-tile i { font-size: 1.15rem; margin-bottom: .12rem; }
.admin-action-tile small { font-size: .78rem; color: #aebbd0; }
/* Dashboard : cartes denses mais lisibles. */
.admin-stat-card {
  padding: 1rem;
  border-radius: 1.15rem;
  box-shadow: none;
}
.admin-stat-card .text-4xl { font-size: 2rem; line-height: 1; }
.admin-dashboard-note {
  margin-top: .4rem;
  border: 1px solid rgba(148,163,184,.16);
  background: rgba(15,23,42,.54);
  color: #cbd5e1;
  border-radius: 1rem;
  padding: .9rem 1rem;
  font-size: .9rem;
}
/* Tableaux : contraster sans gros blocs blancs. */
table { border-collapse: separate; border-spacing: 0; }
thead th { color: #cbd5e1; background: rgba(15,23,42,.72); }
tbody tr { transition: background .14s ease; }
tbody tr:hover { background: rgba(56,189,248,.06); }
/* Formulaires : champs et boutons plus constants. */
.admin-input,
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  min-height: 42px;
}
button, .admin-soft-btn, .admin-action-tile, .admin-zone-card, a {
  -webkit-tap-highlight-color: transparent;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(56,189,248,.42);
  outline-offset: 2px;
}
/* Wizards : la fenêtre doit toujours dominer visuellement et rester claire. */
#adminWizardOverlay .admin-wizard-panel { max-width: 720px; }
#adminWizardOverlay .wizard-step { min-height: 210px; }
#adminWizardOverlay .admin-wizard-footer { background: rgba(2,6,23,.36); }
/* Communication + page parent : réduire le ton décoratif. */
.comm-focus-hero,
.comm-card,
.parent-card {
  box-shadow: 0 18px 55px rgba(2,6,23,.22);
}
.comm-mini-note { opacity: .9; }
/* Accessibilité mouvement. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
@media (max-width: 760px) {
  body.admin-ui { padding: 1rem; }
  .admin-zone-card { min-height: 76px; }
  .admin-zone-grid { grid-template-columns: 1fr; }
  .portal-hero-panel { margin-top: .6rem; }
}
