/* Alertas de revisión, con el desplazamiento limitado a los grupos. */
.camp-correction-dialog { width: min(820px, calc(100vw - 24px)); max-height: 92dvh; }
.camp-correction-dialog form { display: flex; flex-direction: column; max-height: 90dvh; min-height: 0; }
.camp-correction-dialog .dialog-heading, .camp-correction-dialog .dialog-actions { flex: 0 0 auto; }
.camp-correction-dialog .dialog-heading p { margin-bottom: 0; font-size: 12px; }
.camp-correction-body { min-height: 0; overflow: auto; padding: 14px 20px; }
.camp-correction-body fieldset { border: 0; margin: 0; padding: 0; }
.camp-correction-body legend { margin-bottom: 10px; color: #edf3fc; font-size: 12px; font-weight: 700; }
.correction-destinations, .correction-selectors, .correction-comparison, .correction-edit-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.correction-destinations label { display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid #8494ad; border-radius: 8px; background: #303c50; color: #fff; }
.correction-destinations input { width: 16px; height: 16px; min-height: 16px; margin: 0; flex: 0 0 16px; }
.correction-selectors label, .correction-edit-fields label { display: grid; gap: 6px; min-width: 0; color: #e1eaf7; font-size: 12px; }
.correction-selectors select { width: 100%; min-width: 0; }
.correction-comparison section { padding: 10px 12px; border: 1px solid #76859c; border-radius: 8px; background: #222d3e; min-width: 0; }
.correction-comparison h3 { margin: 0 0 7px; font-size: 13px; color: #fff; }
.camp-correction-dialog pre { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; color: #f0f4fc; font: 12px/1.6 ui-monospace, Consolas, monospace; }
.correction-preview { padding: 12px; border: 1px solid #9badc8; border-radius: 8px; background: #2e3d54; }
.camp-correction-dialog .correction-help, .camp-correction-dialog .correction-scope, .correction-status { color: #d2dfee; font-size: 12px; line-height: 1.5; }
.camp-correction-dialog .correction-scope { padding: 9px 12px; background: #433e31; color: #fff0c8; border-radius: 7px; }
.camp-correction-dialog :is(input, select):focus { border-color: #bdcde5; outline-color: #bdcde5; background: #303c50; box-shadow: 0 0 0 3px rgba(172, 190, 218, .2); }
.correction-edit-fields { margin-top: 12px; }
.alert-group-label strong { white-space: pre-wrap; }
.app-shell #alertsView:not([hidden]) { display: flex; flex: 1; flex-direction: column; width: 100%; height: 100%; min-width: 0; min-height: 0; overflow: hidden; }
.header-alerts-controls { display: flex; align-items: center; gap: 12px; width: 100%; min-width: 0; padding: 0 18px; }
.header-alerts-controls[hidden] { display: none; }
.header-alerts-controls > label { display: flex; align-items: center; gap: 7px; color: #d7e0ee; font-size: 11px; }
.header-alerts-controls > label:first-child { flex: 1; }
.app-shell .header-alerts-controls :is(input, select) { width: 100%; min-width: 0; height: 34px; min-height: 34px; padding: 6px 10px; border: 1px solid #8190a5; background: #2b3341; color: #fff; font-size: 11px; }
.app-shell .header-alerts-controls .button { min-height: 34px; padding: 6px 12px; font-size: 11px; white-space: nowrap; }
.alerts-summary { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 18px; padding: 13px 17px; border-bottom: 1px solid #657084; background: rgba(33, 40, 52, .9); }
.alerts-summary > span { display: flex; align-items: baseline; gap: 8px; }
.alerts-summary strong { color: #fff; font-size: 23px; }
.alerts-summary small { color: #d2ddec; font-size: 11px; }
.alerts-notes { flex: 0 0 auto; padding: 8px 17px; border-bottom: 1px solid #526078; background: rgba(24, 30, 40, .92); }
.alerts-notes p { margin: 4px 0; color: #d0dbea; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.alerts-notes #alertsStatus { color: #f0e0b5; }
.alerts-results { flex: 1 1 0; min-height: 0; overflow: auto; padding: 12px; overscroll-behavior: contain; }
.alert-group { margin-bottom: 9px; border: 1px solid #69768c; border-radius: 10px; background: rgba(26, 33, 45, .94); }
.alert-group > summary { display: flex; align-items: center; gap: 14px; padding: 12px 14px; cursor: pointer; list-style: none; }
.alert-group > summary::before { content: '›'; font-size: 23px; color: #eac97c; }
.alert-group[open] > summary::before { transform: rotate(90deg); }
.alert-group summary:hover { background: #374458; border-radius: 10px; }
.alert-group-label { display: grid; gap: 5px; min-width: 0; }
.alert-group-label strong { color: #fff; font-size: 14px; overflow-wrap: anywhere; }
.alert-group-label small { color: #d1dced; font-size: 11px; }
.alert-count { flex: 0 0 auto; margin-left: auto; padding: 5px 9px; border: 1px solid #bcaa76; border-radius: 7px; background: #554830; color: #fff0c5; font-weight: 700; font-size: 12px; }
.alert-group.is-informative { border-color: #7898bf; }
.alert-group.is-informative > summary::before { color: #c0ddff; }
.alert-group.is-informative .alert-count { border-color: #8bb1dd; background: #304866; color: #e4f1ff; }
.dialog .camp-commune-info { display: block; padding: 8px 10px; border: 1px solid #8ba6ca; border-radius: 7px; background: #293d57; color: #e2edfc; }
.alert-group-content { padding: 0 14px 13px; }
.alert-reference { margin: 4px 0 12px; padding: 9px 12px; background: #303c50; color: #e3eaf5; border-radius: 7px; font-size: 12px; line-height: 1.5; }
.alert-points { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 7px; }
.alert-point { display: grid; gap: 5px; padding: 11px 13px; border: 1px solid #73829a; border-radius: 8px; background: #293548; color: #eef4ff; text-align: left; cursor: pointer; font: inherit; }
.alert-point strong { color: #fff; font-size: 13px; }
.alert-point > span { font-size: 12px; overflow-wrap: anywhere; }
.alert-point > small { color: #d2dff0; font-size: 11px; }
.alert-point .alert-point-action { color: #d7e7ff; font-weight: 700; font-size: 11px; }
.alert-point:hover { background: #43516a; }
.alert-group summary:focus-visible, .alert-point:focus-visible { outline: 2px solid #e9d4a2; outline-offset: 2px; }
.alerts-empty { padding: 25px; border: 1px dashed #8594ad; border-radius: 9px; background: #253044; color: #e8eef7; line-height: 1.5; }
@media (max-width: 760px) {
  .correction-selectors, .correction-comparison, .correction-edit-fields { grid-template-columns: minmax(0,1fr); gap: 9px; }
  .correction-destinations { gap: 6px; }
  .correction-destinations label { padding: 8px; font-size: 11px; }
  .camp-correction-body { padding: 10px 13px; }
  body:has(#alertsView:not([hidden])) { height: 100dvh; min-height: 0; overflow: hidden; }
  .app-shell:has(#alertsView:not([hidden])) { display: flex; flex-direction: column; height: 100dvh; min-height: 0; overflow: hidden; }
  .app-shell:has(#alertsView:not([hidden])) .app-header { display: grid; flex: 0 0 auto; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: auto auto; height: auto; min-height: 0; gap: 7px; padding: 8px 12px; }
  .app-shell:has(#alertsView:not([hidden])) .header-brand { grid-column: 1; grid-row: 1; min-height: 0; padding: 0; }
  .app-shell:has(#alertsView:not([hidden])) .header-brand .brand-logo { width: 100px; height: 34px; object-fit: contain; }
  .app-shell:has(#alertsView:not([hidden])) .header-brand .brand-copy { display: none; }
  .app-shell:has(#alertsView:not([hidden])) .topbar-copy { grid-column: 2; grid-row: 1; padding: 0; }
  .app-shell:has(#alertsView:not([hidden])) .topbar-copy :is(.eyebrow, .page-description) { display: none; }
  .app-shell:has(#alertsView:not([hidden])) .topbar-copy h1 { margin: 0; font-size: 21px; }
  .app-shell:has(#alertsView:not([hidden])) .topbar-actions { display: none; }
  .app-shell:has(#alertsView:not([hidden])) .header-workspace-controls { grid-column: 1 / -1; grid-row: 2; padding: 0; }
  .app-shell:has(#alertsView:not([hidden])) > .sidebar { display: flex; flex: 0 0 auto; height: auto; min-height: 0; padding: 6px 12px; }
  .app-shell:has(#alertsView:not([hidden])) .sidebar .nav-list { display: flex; gap: 5px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; padding: 0; }
  .app-shell:has(#alertsView:not([hidden])) .sidebar .nav-item { flex: 0 0 auto; width: auto; min-height: 32px; padding: 5px 8px; white-space: nowrap; font-size: 10px; }
  .app-shell:has(#alertsView:not([hidden])) .sidebar .nav-icon { width: 18px; height: 18px; }
  .app-shell:has(#alertsView:not([hidden])) .sidebar .sidebar-footer { margin-top: 5px; padding-top: 0; gap: 4px; }
  .app-shell:has(#alertsView:not([hidden])) .sidebar .sidebar-version { display: block; margin: 0; font-size: 8px; }
  .app-shell:has(#alertsView:not([hidden])) .sidebar .profile-block { min-height: 31px; padding: 4px 8px; gap: 7px; }
  .app-shell:has(#alertsView:not([hidden])) .sidebar .avatar { width: 24px; height: 24px; font-size: 10px; }
  .app-shell:has(#alertsView:not([hidden])) .sidebar .profile-block strong { font-size: 10px; }
  .app-shell:has(#alertsView:not([hidden])) .sidebar .profile-block small { font-size: 9px; }
  .app-shell:has(#alertsView:not([hidden])) .sidebar .profile-switcher { gap: 2px; }
  .app-shell:has(#alertsView:not([hidden])) .sidebar .profile-switcher select { height: 29px; min-height: 29px; font-size: 10px; }
  .app-shell:has(#alertsView:not([hidden])) .sidebar #logoutButton { min-height: 29px; height: 29px; padding-block: 3px; font-size: 10px; }
  .app-shell:has(#alertsView:not([hidden])) .main-column { flex: 1 1 0; min-height: 0; overflow: hidden; }
  .app-shell:has(#alertsView:not([hidden])) .main-column > .content { display: flex; height: 100%; min-height: 0; padding: 7px 12px 12px; overflow: hidden; }
  .header-alerts-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; padding: 0; }
  .header-alerts-controls > label { min-width: 0; }
  .header-alerts-controls > label:first-child { grid-column: 1 / -1; }
  .header-alerts-controls label > span { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
  .alerts-summary { gap: 5px 14px; padding: 9px 12px; }
  .alerts-summary strong { font-size: 19px; }
  .alerts-summary small { font-size: 10px; }
  .alerts-notes { padding: 5px 12px; }
  .alerts-results { padding: 8px; }
  .alert-points { grid-template-columns: minmax(0,1fr); }
  .alert-group > summary { padding: 10px; gap: 8px; }
}
