/* LE CERVEAU v97 — finition UX responsive
   Lisibilité, calendriers tablette, onglets découvrables et administration apaisée. */
:root {
  --v97-caption: 11px;
  --v97-secondary: 12px;
  --v97-body: 14px;
}

/* Une échelle typographique lisible, sans agrandir démesurément les tableaux. */
.workspace .breadcrumb,
.workspace .eyebrow { font-size: var(--v97-caption) !important; }
.workspace .muted,
.workspace .panel small,
.workspace .card small,
.workspace .recent-row small,
.workspace .summary-card p,
.workspace .dashboard-alert-items small,
.workspace .settings-section small { font-size: var(--v97-secondary) !important; line-height: 1.45; }
.workspace .panel label,
.workspace .admin-config label { font-size: 12px; }
.workspace .recent-row strong,
.workspace .summary-card h3 { font-size: 13px !important; line-height: 1.3; }
.workspace .admin-config button,
.workspace .task-edit-actions button { font-size: 11px !important; }
.equipment-card.compact h3 { font-size: 12px !important; line-height: 1.3; }
.card-slots span { font-size: 11px !important; }
.card-slots b { font-size: 9px !important; }
.temperature-table { font-size: 11px; }
.temperature-table th small { font-size: 10px !important; }

/* Les héros s'adaptent à leur texte au lieu de le rogner. */
.context-hero,
.settings-hero {
  width: 100%;
  min-width: 0;
  height: auto !important;
  min-height: 150px;
  box-sizing: border-box;
}
.context-hero > div,
.settings-hero > div { min-width: 0; }
.context-hero h3,
.settings-hero h3 { overflow-wrap: anywhere; }

/* Refroidissement rapide : aucun champ ne dépasse de sa carte. */
.cooling-layout,
.cooling-layout > *,
.cooling-layout .data-form,
.cooling-date-time,
.cooling-date-time > label { min-width: 0; max-width: 100%; box-sizing: border-box; }
.cooling-layout input,
.cooling-layout select,
.cooling-layout textarea { max-width: 100%; box-sizing: border-box; }

/* Les informations récentes utilisent la largeur au lieu de laisser une colonne vide. */
@media (min-width: 850px) {
  .dashboard-content .recent-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .dashboard-content .dashboard-purchases { grid-column: auto !important; }
  .dashboard-content .urgent-panel { grid-column: 1 / -1; }
}
@media (max-width: 849px) {
  .dashboard-content .recent-grid { grid-template-columns: 1fr !important; }
  .dashboard-content .dashboard-purchases,
  .dashboard-content .urgent-panel { grid-column: auto !important; }
}

/* Sous-onglets : indice visuel lorsqu'il reste du contenu à faire glisser. */
.v97-tab-strip { position: relative; scroll-behavior: smooth; }
.v97-tab-strip.v97-overflow-right { box-shadow: inset -25px 0 18px -22px rgba(55, 34, 63, .72); }
.v97-tab-strip.v97-overflow-left { box-shadow: inset 25px 0 18px -22px rgba(55, 34, 63, .5); }
.v97-tab-strip.v97-overflow-left.v97-overflow-right {
  box-shadow: inset 25px 0 18px -22px rgba(55, 34, 63, .5), inset -25px 0 18px -22px rgba(55, 34, 63, .72);
}

/* Les catégories sans pictogramme (ex. Général en Hebdomadaire/Mensuel)
   ne doivent pas hériter du décalage vertical des cartes Quotidien. */
.task-category-switch button:not(:has(> span)) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.task-category-switch button:not(:has(> span)) > strong {
  display: block;
  margin: 0 !important;
  line-height: 1.2;
}

/* Administration des tâches : quatre blocs progressifs au lieu d'un panneau massif. */
.task-admin.v97-task-admin { padding-bottom: 12px; }
.task-admin-block {
  margin: 10px 12px 0;
  overflow: hidden;
  border: 1px solid var(--prune-border);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
}
.task-admin-block > summary {
  min-height: 46px;
  padding: 11px 14px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--prune-night) !important;
  background: var(--prune-mist-soft);
  font-size: 12px !important;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}
.task-admin-block > summary::-webkit-details-marker { display: none; }
.task-admin-block > summary::before {
  content: "+";
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  flex: 0 0 24px;
  border-radius: 8px;
  color: var(--prune-night);
  background: #fff;
}
.task-admin-block[open] > summary::before { content: "−"; background: var(--ginger); }
.task-admin-block .task-tab-admin,
.task-admin-block .task-category-admin,
.task-admin-block .double-check-settings,
.task-admin-block .admin-task-form,
.task-admin-block .scheduled-task-admin { margin: 0; border: 0; }
.task-admin-block .admin-task-form { padding-top: 14px; }
.task-admin-block .scheduled-task-admin { padding: 14px; }

/* Événement : palette sur une rangée, champs principaux côte à côte et actions compactes. */
.event-edit-modal { width: min(590px, calc(100vw - 32px)) !important; }
.event-edit-modal .event-color-palette {
  flex-wrap: nowrap !important;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  padding: 9px 10px 12px;
}
.event-edit-modal .event-color-dot { flex: 0 0 38px; scroll-snap-align: center; }
.event-edit-modal .modal-actions .primary { white-space: nowrap; }

/* Calendrier Événements : les sept jours restent visibles sur tablette. */
@media (min-width: 701px) and (max-width: 1100px) {
  .event-calendar-grid > .event-weekdays,
  .event-calendar-grid > .event-days { width: 100%; min-width: 0 !important; }
  .event-weekdays,
  .event-days { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
  .event-day { min-width: 0; min-height: 112px; padding: 6px; }
  .event-entry { padding: 5px !important; }
  .event-entry-meta strong,
  .event-entry b { font-size: 10px !important; }
  .event-entry-meta em { font-size: 9px !important; }
  .context-hero { min-height: 168px; }
  .cooling-date-time { grid-template-columns: minmax(0, 1fr) minmax(96px, .65fr) !important; }
}

@media (min-width: 620px) {
  .event-edit-modal { grid-template-columns: 1fr 1.55fr; column-gap: 12px; }
  .event-edit-modal > .eyebrow,
  .event-edit-modal > h3,
  .event-edit-modal > label:has(#event-category),
  .event-edit-modal > label:has(#event-color),
  .event-edit-modal > .event-social-check,
  .event-edit-modal > .modal-actions { grid-column: 1 / -1; }
  .event-edit-modal > label:has(#event-time) { grid-column: 1; }
  .event-edit-modal > label:has(#event-name) { grid-column: 2; }
}

@media (max-width: 700px) {
  /* Le changement de profil quitte la barre principale et rejoint le panneau Plus. */
  .app-shell aside,
  .app-shell.sidebar-collapsed aside {
    grid-template-columns: minmax(0, 1fr) 62px !important;
  }
  .app-shell aside > .sidebar-profile-switch {
    display: none;
  }
  .app-shell aside > .mobile-nav-toggle {
    grid-column: 2;
  }
  .app-shell aside.mobile-nav-expanded > .sidebar-profile-switch {
    order: 2;
    width: 100%;
    min-height: 42px;
    margin-top: 7px;
    padding: 9px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #c4dbe3;
    border-radius: 10px;
    color: var(--prune-night);
    background: rgba(255,255,255,.78);
    box-shadow: none;
    font-size: 10px;
  }
  .app-shell aside.mobile-nav-expanded > .sidebar-profile-switch b { font-size: 10px; }
  .app-shell aside.mobile-nav-expanded > .mobile-nav-toggle { order: 3; }

  .workspace .breadcrumb,
  .workspace .eyebrow { font-size: 10px !important; }
  .workspace .panel small,
  .workspace .card small,
  .workspace .recent-row small,
  .workspace .summary-card p { font-size: 12px !important; }
  .context-hero { min-height: 130px; }
  .hygiene-equipment { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .event-edit-modal .event-color-palette { margin-inline: -2px; }
  .task-admin-block { margin-inline: 8px; }
  .task-admin-block .admin-task-form { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  .v97-tab-strip { scroll-behavior: auto; }
}
