/* Correctifs isolés : ne remplacent pas la charte et les images existantes. */
*, *::before, *::after { box-sizing: border-box; }
main, .task-panel, .formcard, .poolcard, .task-copy,
.admin-two > *, .reading-layout > *, .formgrid > * { min-width: 0; }
input, select, textarea { max-width: 100%; font-size: 16px; }
textarea { resize: vertical; }
button, .button, select, input:not([type=checkbox]):not([type=radio]) { min-height: 44px; }
button, .button { overflow-wrap: anywhere; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
 outline: 3px solid #946e25; outline-offset: 3px;
}
.skip-link { position: absolute; left: -10000px; top: 8px; z-index: 100; }
.skip-link:focus { left: 12px; background: white; color: #143d32; padding: 12px; }
.mobile-nav-toggle { display: none; }
.task-admin-actions { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.task-admin-actions .duplicate-form { display: flex; flex-wrap: wrap; flex: 1 1 270px; gap: 8px; min-width: 0; }
.task-admin-actions .duplicate-form select { flex: 1 1 180px; width: 180px; min-width: 150px; max-width: 100%; }
.installation-task-group .task-line { align-items: stretch; flex-direction: column; gap: 12px; }
.installation-task-group .task-line > div { min-width: 0; }
.assign-form { display: flex; flex-wrap: wrap; gap: 8px; }
.assign-form select { min-width: 160px; flex: 1 1 180px; }
.data-warning { display: block; color: #8a3718; font-size: .85rem; }
.table { max-width: 100%; overflow-x: auto; }
.table table { min-width: 720px; }
.hero-copy { background: rgba(14,48,40,.9); border-radius: 8px; padding: 16px 20px; max-width: 650px; }
.hero-copy h1 { line-height: 1.15; margin: 8px 0; }
.flash { overflow-wrap: anywhere; }
@media (max-width: 1100px) {
 .admin-two { grid-template-columns: 1fr; }
 .head { flex-wrap: wrap; }
}
@media (max-width: 760px) {
 .sidebar { position: relative; width: 100%; height: auto; padding: 16px 18px; }
 .sidebar .brand { padding: 0 48px 8px 0; }
 .sidebar .brand-logo { width: 90px; }
 .sidebar .brand b { font-size: 22px; }
 .mobile-nav-toggle { display: block; width: 100%; margin-top: 10px; background: transparent; border: 1px solid currentColor; color: var(--sidebar-text,white); border-radius: 6px; }
 body.js-nav .sidebar nav, body.js-nav .sidebar .user { display: none; }
 body.js-nav .sidebar[data-nav-open="true"] nav, body.js-nav .sidebar[data-nav-open="true"] .user { display: block; }
 .sidebar nav a, .sidebar summary { min-height: 44px; padding: 12px; }
 main { margin-left: 0; padding: 24px 16px; }
 .hero { padding: 14px; min-height: 180px; }
 .hero-copy { width: 100%; padding: 14px; }
 .hero-copy h1 { font-size: 27px; }
 .savecard { position: static; padding: 16px; }
 .savecard .info { display: block; margin-bottom: 16px; }
 .reading-layout, .metric-grid, .formgrid, .admin-two { grid-template-columns: 1fr; }
 .formgrid .full { grid-column: auto; }
 .section-tabs a { min-height: 44px; display: inline-flex; align-items: center; }
 .task-actions, .task-actions form, .task-validate { width: 100%; }
 .day-grid { grid-template-columns: 1fr; }
}
