/* Vistas operativas: estilos limitados a los paneles rediseñados. */
:root {
  --series-one: #1d4ed8;
  --series-two: #7c3aed;
}
:root.dark {
  --series-one: #93c5fd;
  --series-two: #c4b5fd;
}
:root.dark :is(#busqueda, #notificaciones, #analisis, #mermas, #proveedores, #traspasos, #traspasos18) .surface {
  background: var(--surface);
}
:is(#busqueda, #notificaciones, #analisis, #mermas, #proveedores, #traspasos, #traspasos18) .field-label {
  display: grid;
  align-content: start;
  gap: 6px;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
}
:is(#busqueda, #notificaciones, #analisis, #mermas, #proveedores, #traspasos, #traspasos18) .input {
  width: 100%;
  min-width: 0;
  margin-bottom: 0;
}
:is(#busqueda, #notificaciones, #analisis, #mermas, #proveedores, #traspasos, #traspasos18) .summary-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
:is(#busqueda, #notificaciones, #analisis, #mermas, #proveedores, #traspasos, #traspasos18) .metric {
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface-soft);
  color: var(--ink);
  box-shadow: none;
}
:is(#busqueda, #notificaciones, #mermas, #proveedores) .metric strong {
  color: var(--ink);
  font-size: 24px;
  font-variant-numeric: tabular-nums;
}
:is(#busqueda, #notificaciones) .metric.entry {
  border-left: 3px solid var(--entry);
  background: var(--surface-soft);
}
:is(#busqueda, #notificaciones) .metric.exit {
  border-left: 3px solid var(--exit);
  background: var(--surface-soft);
}
:is(#busqueda, #notificaciones) .metric.entry > :is(span, strong) { color: var(--entry); }
:is(#busqueda, #notificaciones) .metric.exit > :is(span, strong) { color: var(--exit); }
.panel-results-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  margin: 18px 0 12px;
}
.panel-results-head h3 { margin: 0; font-size: 15px; }
.panel-scope { margin: 10px 0 16px; color: var(--muted); font-size: 12px; }
:is(#busqueda, #proveedores, #mermas, #traspasos, #traspasos18) .table-wrap { min-width: 0; }
:is(#busqueda, #proveedores, #mermas, #traspasos, #traspasos18) td { font-variant-numeric: tabular-nums; }

/* Búsqueda: tres campos en la primera fila, cuatro en la segunda. */
#busqueda .advanced-filters {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px 12px;
}
#busqueda .advanced-filters > label { grid-column: span 3; min-width: 0; }
#busqueda .advanced-filters > .advanced-text-field { grid-column: span 6; }
#busqueda .active-filter-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-height: 30px;
  margin: 14px 0;
}
#busqueda .active-filter-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  padding: 6px 10px;
  border: 1px solid color-mix(in srgb, var(--accent), var(--line) 65%);
  border-radius: 7px;
  background: color-mix(in srgb, var(--accent), var(--surface) 93%);
  color: var(--accent);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
#busqueda .active-filter-tag span { overflow-wrap: anywhere; text-align: left; }
#busqueda .active-filter-tag b { font-size: 17px; font-weight: 500; }
#busqueda .filter-scope-empty { padding-block: 6px; color: var(--muted); font-size: 12px; }
#advancedClearBtn:disabled { opacity: 0.5; cursor: default; }

/* Notificaciones: revisión destacada, novedades plegadas y actividad por día. */
#notificaciones .notification-hero { padding: 0 0 16px; gap: 18px; }
#notificaciones .notification-heading-icon { width: 40px; height: 40px; flex-shrink: 0; }
#notificaciones .notification-intro { margin: 5px 0 0; font-size: 12px; }
#notificaciones .notification-digest {
  padding: 14px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--series-one);
  border-radius: 10px;
  background: var(--surface-soft);
}
#notificaciones .notification-digest-head { align-items: center; margin-bottom: 12px; }
#notificaciones .notification-digest-head h3 { font-size: 16px; }
#notificaciones .operational-notices { display: grid; grid-template-columns: 1fr; gap: 10px; }
#notificaciones .notice-review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#notificaciones .operational-notice {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: none;
  color: var(--ink);
}
#notificaciones .operational-notice.unread { border-color: var(--series-one); }
#notificaciones .operational-notice-icon { color: var(--series-one); background: var(--surface-soft); }
#notificaciones .operational-notice.entry { border-left: 3px solid var(--entry); }
#notificaciones .operational-notice.exit { border-left: 3px solid var(--exit); }
#notificaciones .operational-notice.entry .operational-notice-icon { color: var(--entry); background: var(--entry-soft); }
#notificaciones .operational-notice.exit .operational-notice-icon { color: var(--exit); background: var(--exit-soft); }
#notificaciones .operational-notice-copy strong { color: var(--ink); font-size: 14px; }
#notificaciones .operational-notice-copy em { color: var(--accent); }
#notificaciones .operational-notice-copy > span { color: var(--muted); font-size: 12px; }
#notificaciones .notice-information { color: var(--muted); font-size: 12px; }
#notificaciones .notice-information summary { display: flex; align-items: center; gap: 8px; padding: 8px 0; cursor: pointer; }
#notificaciones .notice-information summary span { padding: 2px 6px; border-radius: 4px; background: var(--surface); }
#notificaciones .notification-filter-card { margin-top: 16px; padding: 14px; background: var(--surface-soft); }
#notificaciones .notification-filter-head { margin-bottom: 12px; }
#notificaciones .notification-filters { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
#notificaciones .notification-search-field { grid-column: 1 / -1; }
#notificaciones .notifications-feed { display: grid; grid-template-columns: 1fr; gap: 20px; }
#notificaciones .notification-date-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 9px; margin-bottom: 9px; border-bottom: 1px solid var(--line); }
#notificaciones .notification-date-heading h4 { margin: 0; font-size: 14px; }
#notificaciones .notification-date-heading > span { color: var(--muted); font-size: 11px; white-space: nowrap; }
#notificaciones .notification-date-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#notificaciones .notification-card { min-width: 0; padding: 12px; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 10px; border-left-color: var(--line); background: var(--surface-soft); }
#notificaciones .notification-icon { width: 32px; height: 32px; color: var(--muted); background: var(--surface); }
#notificaciones .notification-card.entry { --movement-color: var(--entry); --movement-soft: var(--entry-soft); border-left-color: var(--entry); }
#notificaciones .notification-card.exit { --movement-color: var(--exit); --movement-soft: var(--exit-soft); border-left-color: var(--exit); }
#notificaciones .notification-card:is(.entry, .exit) .notification-icon { color: var(--movement-color); background: var(--movement-soft); }
#notificaciones .notification-card:is(.entry, .exit) h3 strong { color: var(--movement-color); }
#notificaciones .notification-head { justify-content: flex-start; gap: 8px; }
#notificaciones .notification-material-code { color: var(--ink); font-size: 12px; font-weight: 700; }
#notificaciones .notification-card h3 { font-size: 13px; }
#notificaciones .notification-card p { color: var(--muted); font-size: 11px; }
#notificaciones .notification-meta strong { color: var(--ink); font-size: 17px; }

/* Comparativo: ambos periodos y su diferencia, gráfica a todo el ancho. */
#analisis .analysis-dashboard { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
#analisis .analysis-view-switcher { padding: 14px 18px; }
#analisis .analysis-view-copy h2 { font-size: 19px; }
#analisis #analysisComparisonView { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
#analisis .analysis-view[hidden] { display: none !important; }
#analisis .analysis-controls { grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(180px, 1.4fr); }
#analisis .analysis-controls [hidden] { display: none; }
#analisis .analysis-period-comparison { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0 12px; }
#analisis .period-comparison-card { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
#analisis .period-comparison-card.current { border-top: 3px solid var(--series-one); }
#analisis .period-comparison-card.previous { border-top: 3px solid var(--muted); }
#analisis .period-comparison-card.difference { border-top: 3px solid var(--series-two); }
#analisis .period-comparison-card > span { color: var(--muted); font-size: 11px; font-weight: 650; }
#analisis .period-comparison-card p { margin: 5px 0 8px; color: var(--ink); font-size: 13px; }
#analisis .period-comparison-card strong { display: block; color: var(--ink); font-size: clamp(24px, 2.4vw, 34px); font-variant-numeric: tabular-nums; }
#analisis .period-comparison-card strong small { font-size: 12px; font-weight: 500; }
#analisis .period-comparison-card em { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; font-style: normal; }
#analisis .analysis-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#analisis .analysis-kpi { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 12px; min-height: 0; padding: 12px 14px; background: var(--surface-soft); }
#analisis .analysis-kpi::after { display: none; }
#analisis .analysis-kpi strong { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 24px; }
#analisis .analysis-kpi em { grid-column: 1; font-size: 11px; }
#analisis .analysis-chart-panel { grid-column: 1 / -1; }
#analisis .analysis-chart { overflow-x: auto; min-width: 0; padding: 4px 0; }
#analisis .analysis-chart svg { display: block; width: 100%; min-width: 640px; height: auto; max-height: none; }
#analisis .analysis-month-bar rect { fill: var(--series-one); }
#analisis .chart-legend > span { background: var(--series-one); }
#analisis .analysis-ranking-columns,
#analisis .analysis-rank-row { display: grid; grid-template-columns: 32px minmax(150px, 1fr) 105px 105px 130px; gap: 14px; align-items: center; }
#analisis .analysis-ranking-columns { padding: 0 12px 9px; color: var(--muted); font-size: 11px; }
#analisis .analysis-ranking-columns > span:nth-child(n + 3) { text-align: right; }
#analisis .analysis-rank-row { padding: 12px; border: 1px solid var(--line); background: var(--surface-soft); }
#analisis .analysis-material { min-width: 0; }
#analisis .analysis-material span { overflow-wrap: anywhere; font-size: 11px; }
#analisis .analysis-day-value, #analisis .analysis-delta { text-align: right; font-variant-numeric: tabular-nums; }
#analisis .analysis-day-value > span { display: none; }
#analisis .analysis-day-value strong, #analisis .analysis-delta strong { color: var(--ink); font-size: 17px; }
#analisis .analysis-delta span { color: var(--muted); font-size: 11px; }
#analisis .analysis-delta .analysis-delta-label { display: none; }

/* VS: dos fichas simétricas y colores compartidos por todos sus elementos. */
#analisis .material-vs-controls { grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr) 110px; }
#analisis .material-vs-badge { width: 40px; border-color: var(--line); background: var(--surface-soft); }
#analisis .material-vs-score { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
#analisis .material-vs-score > .empty { grid-column: 1 / -1; }
#analisis .material-vs-card { display: grid; grid-template-rows: auto auto 1fr auto; align-content: stretch; min-height: 180px; padding: 16px; border: 1px solid var(--line); border-top: 3px solid var(--vs-color); border-radius: 10px; background: var(--surface-soft); box-shadow: none; }
#analisis .material-vs-card::after { display: none; }
#analisis .material-vs-card-one { --vs-color: var(--series-one); }
#analisis .material-vs-card-two { --vs-color: var(--series-two); }
#analisis .material-vs-card > span { color: var(--vs-color); font-size: 11px; }
#analisis .material-vs-card strong { color: var(--vs-color); font-size: 22px; }
#analisis .material-vs-card p { margin: 5px 0 12px; color: var(--muted); font-size: 12px; line-height: 1.5; white-space: normal; overflow: visible; text-overflow: clip; }
#analisis .material-vs-card em { color: var(--vs-color); font-size: 30px; font-style: normal; font-variant-numeric: tabular-nums; }
#analisis .material-vs-card em small { font-size: 12px; font-weight: 500; }
#analisis .material-vs-outcome { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 16px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
#analisis .material-vs-outcome > span, #analisis .material-vs-outcome small { color: var(--muted); font-size: 11px; }
#analisis .material-vs-outcome > strong { color: var(--ink); font-size: 14px; }
#analisis .material-vs-visuals { grid-template-columns: minmax(0, 1fr); gap: 16px; }
#analisis .material-vs-chart, #analisis .material-vs-months { min-width: 0; background: var(--surface-soft); overflow-x: auto; }
#analisis .material-vs-chart svg { min-width: 580px; width: 100%; height: auto; max-height: none; }
#analisis .material-vs-legend { position: static; display: flex; align-items: center; justify-content: flex-start; gap: 8px; margin-bottom: 12px; color: var(--ink); }
#analisis .material-vs-legend .legend-one { background: var(--series-one); }
#analisis .material-vs-legend .legend-two { background: var(--series-two); margin-left: 16px; }
#analisis .material-vs-bar-one { fill: var(--series-one); }
#analisis .material-vs-bar-two { fill: var(--series-two); }
#analisis .material-vs-table { display: table; width: 100%; min-width: 520px; }
#analisis .material-vs-table thead { display: table-header-group; }
#analisis .material-vs-table tbody { display: table-row-group; }
#analisis .material-vs-table tr { display: table-row; background: transparent; }
#analisis .material-vs-table th, #analisis .material-vs-table td { display: table-cell; padding: 10px 12px; width: auto; border: 0; border-bottom: 1px solid var(--line); background: transparent; }
#analisis .material-vs-table th:not(:first-child), #analisis .material-vs-table td { text-align: right; }
#analisis .material-vs-table td::before { display: none; }
#analisis .material-vs-table .material-one, #analisis .material-vs-table .material-one strong { color: var(--series-one); }
#analisis .material-vs-table .material-two, #analisis .material-vs-table .material-two strong { color: var(--series-two); }
#analisis .material-vs-value { font-variant-numeric: tabular-nums; }
#analisis .material-vs-result { border-color: var(--line); background: var(--surface); }
#analisis .material-vs-result.one { color: var(--series-one); }
#analisis .material-vs-result.two { color: var(--series-two); }
#analisis .material-vs-result.tie { color: var(--muted); }

/* Proveedores: ranking compacto junto al proveedor y sus entradas. */
#proveedores .provider-dashboard { grid-template-columns: minmax(260px, 0.38fr) minmax(0, 1fr); gap: 16px; align-items: start; }
#proveedores .provider-overview, #proveedores .provider-detail { min-width: 0; }
#proveedores .provider-overview > .section-head { display: block; }
#proveedores #providerTotals { margin-top: 7px; text-align: left; font-size: 11px; }
#proveedores .provider-bars { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; max-height: 76vh; overflow-y: auto; padding-right: 3px; }
#proveedores .provider-bars .bar-row { min-height: 0; padding: 10px; grid-template-columns: 22px minmax(0, 1fr); gap: 9px; border-color: var(--line); border-radius: 8px; background: var(--surface-soft); box-shadow: none; transform: none; }
#proveedores .bar-rank { width: 22px; height: 24px; border: 0; border-radius: 4px; color: var(--muted); background: var(--surface); font-size: 10px; }
#proveedores .bar-heading { gap: 7px; margin-bottom: 7px; }
#proveedores .bar-label { overflow-wrap: anywhere; font-size: 11px; letter-spacing: 0; }
#proveedores .bar-value strong { font-size: 13px; font-variant-numeric: tabular-nums; }
#proveedores .bar-value span { font-size: 10px; }
#proveedores .bar-track { height: 5px; box-shadow: none; }
#proveedores .bar-fill { background: var(--series-one); box-shadow: none; }
#proveedores .bar-meta { gap: 6px; margin-top: 5px; font-size: 10px; }
#proveedores .provider-detail > .section-head { flex-wrap: wrap; gap: 10px; }
#proveedores .provider-select { width: min(260px, 100%); }
#proveedores .provider-profile { display: flex; align-items: center; gap: 14px; padding: 16px; margin-bottom: 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
#proveedores .provider-avatar { display: grid; flex-shrink: 0; width: 44px; height: 44px; place-items: center; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); font-size: 16px; font-weight: 700; }
#proveedores .provider-profile h3 { margin: 3px 0 5px; font-size: 20px; overflow-wrap: anywhere; }
#proveedores .profile-kicker, #proveedores .provider-profile p { margin: 0; color: var(--muted); font-size: 11px; }
#proveedores .provider-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#proveedores .provider-summary .metric { grid-column: auto; }

/* Mermas: origen visible, total protagonista y ranking de esta consulta. */
#mermas .waste-toolbar { display: grid; grid-template-columns: auto minmax(180px, 0.65fr); justify-content: space-between; align-items: end; gap: 16px; }
#mermas .panel-tabs { display: inline-flex; align-items: center; gap: 5px; padding: 4px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
#mermas .panel-tab { min-height: 40px; padding: 8px 18px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--muted); font: inherit; font-size: 12px; font-weight: 650; cursor: pointer; }
#mermas .panel-tab[aria-selected="true"] { border-color: var(--accent); background: var(--surface); color: var(--accent); }
#mermas #wasteSource[hidden] { display: none; }
#mermas #wasteSummary { grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr)); }
#mermas #wasteSummary .waste-total-pieces { border-top: 3px solid var(--series-one); }
#mermas #wasteSummary .waste-total-pieces strong { font-size: 36px; }
#mermas .waste-ranking-block { padding: 14px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
#mermas .waste-ranking-block .panel-results-head { margin-top: 0; }
#mermas .waste-ranking { display: grid; gap: 12px; }
#mermas .waste-rank-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 14px; }
#mermas .waste-rank-item > div:first-child { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; min-width: 0; }
#mermas .waste-rank-item strong { color: var(--ink); font-size: 12px; }
#mermas .waste-rank-item > div:first-child > span { color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
#mermas .waste-rank-item b { color: var(--ink); font-size: 15px; font-variant-numeric: tabular-nums; }
#mermas .waste-rank-item small { color: var(--muted); font-size: 10px; font-weight: 500; }
#mermas .waste-rank-track { grid-column: 1 / -1; height: 5px; border-radius: 4px; background: var(--line); }
#mermas .waste-rank-track > span { display: block; height: 100%; border-radius: inherit; background: var(--series-one); }

/* Traspasos: selección lateral, fechas y material desplegable en celular. */
:is(#traspasos, #traspasos18) .transfer-route { display: inline-flex; align-items: center; gap: 10px; margin-top: 8px; padding: 5px 9px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-soft); color: var(--ink); font-size: 11px; }
:is(#traspasos, #traspasos18) .transfer-workspace { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 18px; align-items: start; margin-top: 16px; }
:is(#traspasos, #traspasos18) .transfer-sidebar, :is(#traspasos, #traspasos18) .transfer-detail { min-width: 0; }
:is(#traspasos, #traspasos18) .transfer-picker > summary { display: none; }
:is(#traspasos, #traspasos18) .transfer-list-heading { margin: 0 0 10px; color: var(--muted); font-size: 11px; font-weight: 650; }
:is(#traspasos, #traspasos18) .transfer-folios { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; max-height: 72vh; overflow-y: auto; padding: 0 4px 2px 0; border: 0; }
:is(#traspasos, #traspasos18) .transfer-folio { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px; min-width: 0; min-height: 0; padding: 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); box-shadow: none; text-align: left; }
:is(#traspasos, #traspasos18) .transfer-folio-top { grid-column: 1 / -1; }
:is(#traspasos, #traspasos18) .transfer-folio-date { grid-column: 1 / -1; font-size: 11px; }
:is(#traspasos, #traspasos18) .transfer-folio.active { border-color: var(--accent); background: color-mix(in srgb, var(--accent), var(--surface) 91%); box-shadow: inset 3px 0 var(--accent); }
:is(#traspasos, #traspasos18) .transfer-folio .transfer-selected-mark { justify-self: end; align-self: center; color: var(--accent); font-size: 10px; font-weight: 700; }
:is(#traspasos, #traspasos18) .transfer-detail { padding: 0; border: 0; background: transparent; }
:is(#traspasos, #traspasos18) .transfer-detail-head { flex-wrap: wrap; gap: 12px; margin-bottom: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
:is(#traspasos, #traspasos18) .transfer-detail-head strong { font-size: 21px; }
:is(#traspasos, #traspasos18) .transfer-detail-stats { flex-wrap: wrap; gap: 6px; }
:is(#traspasos, #traspasos18) .transfer-detail-stats span { font-size: 11px; background: var(--surface); }
:is(#traspasos, #traspasos18) .transfer-dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
:is(#traspasos, #traspasos18) .transfer-dates > div { padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
:is(#traspasos, #traspasos18) .transfer-dates span { display: block; margin-bottom: 4px; color: var(--muted); font-size: 11px; }
:is(#traspasos, #traspasos18) .transfer-dates strong { display: block; color: var(--ink); font-size: 14px; overflow-wrap: anywhere; }
:is(#traspasos, #traspasos18) .transfer-material-list > summary { display: none; }
:is(#traspasos, #traspasos18) .transfer-table { max-height: 72vh; }

:is(.active-filter-tag, .panel-tab, .transfer-folio):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
details > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

@media (min-width: 901px) {
  #providerEntries td:nth-child(4), #providerEntries th:nth-child(4), #wasteTable td:last-child, #wasteTable th:last-child, #advancedResults td:nth-child(6), #advancedResults th:nth-child(6) { text-align: right; }
  #providerEntries td:first-child, #providerEntries th:first-child { white-space: nowrap; }
  :is(#busqueda, #proveedores, #mermas, #traspasos, #traspasos18) thead th { position: sticky; top: 0; z-index: 1; }
}
@media (max-width: 1180px) {
  #proveedores .provider-dashboard { grid-template-columns: minmax(0, 1fr); }
  #proveedores .provider-bars { grid-template-columns: repeat(3, minmax(0, 1fr)); max-height: 300px; }
  #analisis .analysis-rank-row, #analisis .analysis-ranking-columns { grid-template-columns: 28px minmax(110px, 1fr) 80px 80px 105px; gap: 10px; }
  :is(#traspasos, #traspasos18) .transfer-workspace { grid-template-columns: 180px minmax(0, 1fr); gap: 14px; }
}
@media (max-width: 900px) {
  #busqueda .advanced-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #busqueda .advanced-filters > label, #busqueda .advanced-filters > .advanced-text-field { grid-column: auto; }
  #busqueda .advanced-text-field { order: -1; }
  #notificaciones .notification-hero { display: grid; grid-template-columns: minmax(0, 1fr); }
  #notificaciones .notification-scope { min-width: 0; }
  #notificaciones .notification-scope { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; }
  #notificaciones .notification-scope > span { grid-column: 1 / -1; font-size: 10px; }
  #notificaciones .notification-scope strong { white-space: normal; text-align: left; overflow: visible; text-overflow: clip; }
  #notificaciones .notice-review-grid, #notificaciones .notification-date-items { grid-template-columns: minmax(0, 1fr); }
  #notificaciones .notification-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #analisis .analysis-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #analisis .analysis-view-switcher { display: grid; gap: 12px; }
  #analisis .analysis-view-tabs { width: 100%; }
  #analisis .analysis-ranking-columns { display: none; }
  #analisis .analysis-rank-row { grid-template-columns: 24px repeat(3, minmax(0, 1fr)); grid-template-areas: "rank material material material" "rank yesterday today delta"; gap: 9px; }
  #analisis .analysis-rank-number { grid-column: 1; grid-row: 1 / 3; width: 24px; height: 24px; }
  #analisis .analysis-material { grid-column: 2 / -1; }
  #analisis .analysis-day-value.yesterday { grid-column: 2; }
  #analisis .analysis-day-value.today { grid-column: 3; }
  #analisis .analysis-delta { grid-column: 4; }
  #analisis .analysis-day-value, #analisis .analysis-delta { align-self: start; text-align: right; }
  #analisis .analysis-delta .analysis-delta-label { display: block; font-size: 10px; }
  #analisis .analysis-day-value > span { display: block; font-size: 10px; }
  #analisis .analysis-day-value strong, #analisis .analysis-delta strong { font-size: 15px; overflow-wrap: anywhere; }
  #proveedores .provider-bars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :is(#traspasos, #traspasos18) .transfer-workspace { grid-template-columns: minmax(0, 1fr); }
  :is(#traspasos, #traspasos18) .transfer-picker > summary,
  :is(#traspasos, #traspasos18) .transfer-material-list > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); color: var(--ink); font-size: 12px; font-weight: 650; cursor: pointer; }
  :is(#traspasos, #traspasos18) details > summary::-webkit-details-marker { display: none; }
  :is(#traspasos, #traspasos18) .transfer-list-heading { margin-top: 12px; }
  :is(#traspasos, #traspasos18) .transfer-folios { max-height: 320px; }
  :is(#traspasos, #traspasos18) .transfer-table { max-height: none; margin-top: 10px; }
}
@media (max-width: 600px) {
  :is(#busqueda, #notificaciones, #mermas, #proveedores) .section-head { flex-wrap: wrap; gap: 10px; }
  :is(#busqueda, #notificaciones) .summary-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #notificaciones .notification-digest { padding: 12px; }
  #notificaciones .notification-digest-head { flex-wrap: wrap; gap: 8px; }
  #notificaciones .notification-card { grid-template-columns: 26px minmax(0, 1fr); gap: 8px; }
  #notificaciones .notification-icon { width: 26px; height: 26px; }
  #notificaciones .notification-meta { grid-column: 2; display: flex; align-items: baseline; gap: 5px; }
  #notificaciones .notification-date-heading { flex-wrap: wrap; gap: 4px; }
  #analisis .analysis-period-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  #analisis .period-comparison-card { padding: 12px; }
  #analisis .period-comparison-card.difference { grid-column: 1 / -1; }
  #analisis .period-comparison-card strong { font-size: 24px; }
  #analisis .analysis-kpis { grid-template-columns: minmax(0, 1fr); }
  #analisis .analysis-view-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #analisis .analysis-view-tab { min-width: 0; padding: 10px; grid-template-columns: minmax(0, 1fr); }
  #analisis .analysis-view-tab-icon { display: none; }
  #analisis .analysis-view-tab strong { font-size: 12px; }
  #analisis .analysis-view-tab small { font-size: 10px; }
  #analisis .analysis-view-tab strong, #analisis .analysis-view-tab small { white-space: normal; overflow: visible; text-overflow: clip; }
  #analisis .material-vs-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #analisis .material-vs-badge { display: none; }
  #analisis .material-vs-year { grid-column: 1 / -1; }
  #analisis .material-vs-card { min-height: 180px; padding: 12px; }
  #analisis .material-vs-card strong { font-size: 18px; }
  #analisis .material-vs-card p { font-size: 11px; overflow-wrap: anywhere; }
  #analisis .material-vs-card em { font-size: 22px; overflow-wrap: anywhere; }
  #proveedores .provider-bars { grid-template-columns: minmax(0, 1fr); max-height: 240px; }
  #proveedores .provider-profile { padding: 12px; gap: 10px; }
  #proveedores .provider-profile h3 { font-size: 18px; }
  #proveedores .provider-summary { gap: 7px; }
  #proveedores .provider-summary .metric { padding: 10px; }
  #proveedores .provider-summary .metric strong { font-size: 20px; }
  #proveedores .provider-summary .metric span { font-size: 10px; }
  #mermas .waste-toolbar { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  #mermas .panel-tabs { justify-content: stretch; }
  #mermas .panel-tab { flex: 1; }
  #mermas #wasteSummary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #mermas #wasteSummary .waste-total-pieces { grid-column: 1 / -1; }
  :is(#traspasos, #traspasos18) .transfer-detail-head { padding: 12px; }
  :is(#traspasos, #traspasos18) .transfer-dates { gap: 8px; }
  :is(#traspasos, #traspasos18) .transfer-dates > div { padding: 10px; }
}
