/* Maintenance des sites (WP Umbrella) */
.maintenance-page { margin-top: var(--sp-5); display: flex; flex-direction: column; gap: var(--sp-4); }
.site-list.card { padding: 0 var(--sp-3); }
.site { display: flex; align-items: center; gap: var(--sp-3); padding: 10px 4px; scroll-margin-top: 80px; }
.site:target { background: var(--surface-2); border-radius: var(--r-ctrl); }
.site-dot { flex: none; display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--ardoise); }
.site-dot.ok { background: var(--succes); }
.site-dot.warn { background: var(--ambre); }
.site-dot.error { background: var(--erreur); }
.site-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.site-line { display: flex; align-items: baseline; gap: var(--sp-2); min-width: 0; }
.site-name { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-name:hover { text-decoration: underline; text-underline-offset: 3px; }
.site-client { font-size: 12px; color: var(--ardoise); white-space: nowrap; }
.site-meta { display: flex; flex-wrap: wrap; gap: 4px 6px; font-size: 12px; }
.site-issue { padding: 1px 7px; border-radius: 99px; background: var(--surface-2); color: var(--graphite); white-space: nowrap; }
.site-issue.error { background: color-mix(in oklab, var(--erreur) 14%, var(--surface)); }
.site-issue.warn { background: var(--ambre-doux); }
.site-ok, .site-more { color: var(--ardoise); }
.mt-summary { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-4); font-size: 13px; color: var(--ardoise); }
.mt-stat { display: inline-flex; align-items: center; gap: 6px; }
.mt-progress { margin-left: auto; display: inline-flex; align-items: center; gap: var(--sp-2); }
.mt-progress b { color: var(--graphite); }
.mt-progress .meter { width: 120px; }
.site-task-form { display: grid; gap: var(--sp-2); margin-top: var(--sp-2); }
.mt-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-4); align-items: start; }
.mt-columns .w-title { margin-bottom: var(--sp-3); }
.mt-event { display: flex; align-items: center; gap: var(--sp-2); padding: 8px 0; font-size: 13px; }
.mt-event .grow { flex: 1; min-width: 0; }
@media (max-width: 1023px) { .mt-columns { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) {
  .site-facts { display: none; }
  /* Mobile : étiquettes sur plusieurs lignes, actions sur leur propre rangée */
  .site { flex-wrap: wrap; align-items: flex-start; }
  .site-dot { margin-top: 6px; }
  .site-body { flex-basis: calc(100% - 24px); }
  .site-issue { white-space: normal; }
  .site-actions { flex-basis: 100%; padding-left: 21px; }
  .mt-progress { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .site-check { transition: none; } }
.site-vulns { margin-top: 4px; font-size: 12px; }
.site-vulns summary { cursor: pointer; color: var(--prusse); }
.site-vulns ul { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.site-vulns li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 6px 8px; border-radius: var(--r-ctrl); background: var(--surface-2); }
.vuln-title { flex-basis: 100%; color: var(--ardoise); }

/* Contrôle du jour : bouton libellé (À contrôler → Contrôlé 10:42), puis raccourcis */
.site-actions { display: flex; align-items: center; gap: 2px; flex: none; }
.site-actions form { display: contents; }
.site-check {
  display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px 0 8px; margin-right: 6px;
  border-radius: 99px; border: 1px dashed var(--ardoise); color: var(--ardoise); font-size: 12px; white-space: nowrap;
  transition: background-color .15s, border-color .15s, color .15s;
}
.site-check svg.icon { width: 14px; height: 14px; opacity: .45; }
.site-check:hover { border-style: solid; color: var(--graphite); }
.site-check.on { border: 1px solid transparent; background: color-mix(in oklab, var(--succes) 16%, var(--surface)); color: var(--succes); }
.site-check.on svg.icon { opacity: 1; }
.site-facts { color: var(--ardoise); }
.mt-help { font-size: 13px; color: var(--ardoise); margin-top: -8px; }
.mt-help svg.icon { width: 14px; height: 14px; vertical-align: -2px; }

/* Barre (Synchroniser collant), filtres et recherche */
.mt-bar { margin-bottom: var(--sp-2); }
.mt-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.mt-search { flex: 1; min-width: 220px; max-width: 360px; }
.site[hidden] { display: none; }

/* Alerte masquable : petite croix dans la pastille */
.issue-hide-form { display: inline; }
.issue-hide { margin-left: 4px; padding: 0 2px; border: 0; background: none; color: var(--ardoise); cursor: pointer; font-size: 13px; line-height: 1; opacity: .5; }
.site-issue:hover .issue-hide, .issue-hide:focus-visible { opacity: 1; }
.issue-hide:hover { color: var(--erreur); }
.site-hidden-count { font-size: 12px; color: var(--ardoise); text-decoration: underline dotted; }

/* Détail d'un site */
.site-detail { margin-top: 6px; font-size: 13px; }
.site-detail > summary { cursor: pointer; color: var(--prusse); width: max-content; max-width: 100%; }
.site-panels { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: var(--sp-3); margin-top: var(--sp-2); }
.site-panel { display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--sp-3); border-radius: var(--r-ctrl); background: var(--surface-2); min-width: 0; }
.site-panel h3 { font: 600 13.5px/1.3 var(--f-texte); display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; }
.site-panel h3 .muted { font-weight: 400; font-size: 12px; }
.site-panel form { display: contents; }
.plugin-update { display: flex; flex-direction: column; gap: var(--sp-2); }
.plugin-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.plugin-list li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 4px 0; border-bottom: 1px solid var(--trait); }
.plugin-list.compact li { justify-content: space-between; font-size: 12.5px; }
.plugin-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); align-items: center; }
.plugin-actions .field { width: auto; flex: 1; min-width: 200px; }
.plugin-all summary { cursor: pointer; color: var(--ardoise); }
.backup-list, .hidden-alerts, .vuln-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.backup-list li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.backup-list li.failed span:first-of-type { color: var(--erreur); }
.vuln-list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 6px 8px; border-radius: var(--r-ctrl); background: var(--surface); }
.vuln-actions { display: inline-flex; gap: var(--sp-2); margin-left: auto; }
.vuln-actions form, .hidden-alerts form { display: inline; }
.hidden-alerts li { display: flex; justify-content: space-between; gap: var(--sp-2); }
.site-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px var(--sp-3); margin: 0; }
.site-info dt { font-size: 11.5px; color: var(--ardoise); }
.site-info dd { margin: 0; overflow-wrap: anywhere; }
.maintenance-page .grid-bar.mt-bar { margin-top: var(--sp-2); }
/* Détail ouvert : pastille et actions restent en haut de la ligne */
.site-list .site { align-items: flex-start; }
.site-list .site-dot { margin-top: 7px; }
.plugin-list .check-row { margin: 0; padding-top: 0; align-items: center; }
.plugin-list li > .mono { margin-left: auto; }
