/* LE CERVEAU v78 — amélioration UX/UI isolée, base fonctionnelle v76. */
:root{--ux-touch:44px;--ux-focus:#d9ff57;--ux-ink:#102f42}

/* Lisibilité, focus et confort tactile */
button,input,select,textarea{font-size:max(14px,1em)}
button,[role="button"],input,select,textarea{touch-action:manipulation}
button:focus-visible,[role="button"]:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--ux-focus)!important;outline-offset:3px;box-shadow:0 0 0 6px rgba(217,255,87,.22)!important
}
.close,.modal-actions button,.summary-card,.tabs button,.frequency-tabs button,.daily-switch button,.hygiene-tabs button,.zone-filter button,.supplier-hub-tabs button,.supplier-list-tabs button{min-height:var(--ux-touch)}
.event-add-button,.security-add-shift,.followup-add,.remove-supplier-schedule,.supplier-memo-dot,.event-color-dot,.followup-color-dot,.security-validate-pill{min-width:var(--ux-touch)!important;min-height:var(--ux-touch)!important}
.optional-label,.event-entry small,.security-shift small,.supplier-memo-line small,.followup-item small{font-size:12px!important}
.muted,.panel small,.card small,.summary-card p{line-height:1.45}

/* Fenêtres accessibles et utilisables sur les écrans courts */
.modal-backdrop{padding:max(16px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
.modal{max-height:calc(100dvh - 32px)!important;overflow:auto;overscroll-behavior:contain}
.modal-actions{position:sticky;bottom:-1px;z-index:3;padding-top:14px;padding-bottom:4px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 22%)}
.modal .close{min-width:44px;min-height:44px;border-radius:14px!important}
.danger-button{min-height:44px;border-radius:14px!important;font-family:inherit!important}

/* Tableau de bord synthétique */
.dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:920px}
.dashboard-summary-grid .summary-card{min-height:112px;padding:18px!important}
.dashboard-summary-grid .summary-card h3{font-size:clamp(16px,1.5vw,20px)!important}
.dashboard-summary-grid .summary-card p{font-size:13px!important}

@media(max-width:700px){
  body{font-size:15px}
  .dashboard-summary-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .dashboard-summary-grid .summary-card{min-height:102px;padding:13px!important;gap:10px!important}
  .dashboard-summary-grid .summary-card strong{font-size:24px!important}
  .dashboard-summary-grid .summary-card h3{font-size:14px!important;line-height:1.2}
  .dashboard-summary-grid .summary-card p{font-size:12px!important}

  /* Calendriers convertis en agenda vertical lisible */
  .event-calendar-grid,.security-calendar{overflow:visible!important}
  .event-weekdays,.security-weekdays{display:none!important}
  .event-days,.security-days{display:flex!important;min-width:0!important;width:100%!important;flex-direction:column;gap:7px}
  .event-day.empty-day,.security-day.empty-day{display:none!important}
  .event-day,.security-day{display:grid!important;grid-template-columns:48px minmax(0,1fr) 44px;align-items:start;gap:8px;width:100%!important;min-width:0!important;min-height:58px!important;padding:8px!important;border-radius:15px!important}
  .event-date-number,.security-day-top{grid-column:1;grid-row:1;min-width:40px;min-height:40px;display:flex!important;align-items:center;justify-content:center;font-size:15px!important}
  .event-day-items,.security-shift-list{grid-column:2;grid-row:1;min-width:0;width:100%}
  .event-add-button,.security-add-shift{grid-column:3;grid-row:1;position:static!important;margin:0!important}
  .event-entry,.event-entry button,.security-shift,.security-shift-card{width:100%!important;max-width:none!important;min-width:0!important}
  .event-entry,.security-shift{white-space:normal!important;text-align:left!important;line-height:1.3!important;font-size:12px!important}
  .security-hours-badge{font-size:11px!important}
  .event-month-title,.security-calendar-head{position:sticky;top:0;z-index:4;background:rgba(245,250,252,.96);backdrop-filter:blur(10px);border-radius:14px;padding:10px}

  .modal{width:min(100%,560px)!important;border-radius:20px!important;padding:18px!important}
  .modal-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .modal-actions button{width:100%!important}
}

@media(max-width:380px){.dashboard-summary-grid{grid-template-columns:1fr!important}}
@media(hover:none) and (pointer:coarse){[draggable="true"]{touch-action:pan-y}.drag-handle,.nav-drag{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
