:root {
  --bg: #f6f7f9;
  --surface: #ffffff;
  --surface-2: #f9fafb;
  --surface-soft: #f8fafc;
  --text: #172033;
  --muted: #667085;
  --border: #e4e7ec;
  --line: #e4e7ec;
  --shadow: 0 8px 24px rgba(16, 24, 40, .055);
  --navy: #12213a;
  --primary: #203b67;
  --brand-accent: #d96f27;
  --blue: #175cd3;
  --blue-soft: #eff8ff;
  --purple: #6941c6;
  --purple-soft: #f4f3ff;
  --green: #067647;
  --green-soft: #ecfdf3;
  --orange: #b54708;
  --orange-soft: #fffaeb;
  --red: #b42318;
  --red-soft: #fee4e2;
  --grey-soft: #f2f4f7;
  --radius: 16px;
}* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); background: var(--bg); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 224px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 22px 16px; background: var(--navy); color: white; display: flex; flex-direction: column; z-index: 20; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px 24px; border-bottom: 1px solid rgba(255,255,255,.12); }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: var(--brand-accent); box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); font-weight: 800; letter-spacing: .04em; }
.brand strong, .brand span { display: block; }
.brand span { color: #aebbd0; font-size: 12px; margin-top: 2px; }
.nav { display: grid; gap: 5px; padding: 22px 0; }
.nav-item { width: 100%; display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 8px; border: 0; border-radius: 12px; padding: 11px 12px; background: transparent; color: #c8d2e3; text-align: left; }
.nav-item:hover { background: rgba(255,255,255,.08); color: white; }
.nav-item.active { background: rgba(255,255,255,.13); color: white; box-shadow: inset 3px 0 var(--brand-accent); }
.nav-item > span { width: 24px; text-align: center; font-weight: 700; }
.nav-count { min-width: 23px; height: 23px; padding: 0 6px; display: grid; place-items: center; border-radius: 50px; background: var(--brand-accent); color: white; font-size: 12px; }
.sidebar-footer { margin-top: auto; display: flex; gap: 10px; align-items: center; padding: 14px 10px; color: #c8d2e3; border-top: 1px solid rgba(255,255,255,.12); }
.sidebar-footer strong, .sidebar-footer small { display: block; }
.sidebar-footer small { color: #8fa0ba; margin-top: 2px; }
.health-dot { width: 10px; height: 10px; border-radius: 50%; background: #48c597; box-shadow: 0 0 0 5px rgba(72,197,151,.14); }
.main { min-width: 0; padding: 0 28px 36px; }
.topbar { min-height: 94px; display: flex; align-items: center; gap: 18px; position: sticky; top: 0; z-index: 10; background: rgba(244,247,251,.94); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(223,229,238,.7); }
.page-heading { flex: 1; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: 25px; margin-bottom: 5px; }
h2 { font-size: 18px; margin-bottom: 5px; }
h3 { font-size: 15px; }
.page-heading p, .section-intro p, .panel p { color: var(--muted); margin-bottom: 0; }
.top-controls { display: flex; gap: 10px; align-items: end; }
.menu-toggle { display: none; }
.page { display: none; animation: fade .18s ease; }
.page.active { display: block; }
@keyframes fade { from { opacity: .45; } to { opacity: 1; } }
.metric-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.metric-grid.compact { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.metric-card { min-width: 0; background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 16px; box-shadow: 0 5px 18px rgba(31,47,73,.05); position: relative; overflow: hidden; }
.metric-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--metric-color, var(--primary)); }
.metric-card.blue { --metric-color: var(--blue); }.metric-card.purple { --metric-color: var(--purple); }.metric-card.green { --metric-color: var(--green); }.metric-card.orange { --metric-color: var(--orange); }.metric-card.red { --metric-color: var(--red); }
.metric-label { color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .025em; text-transform: uppercase; }
.metric-value { display: block; margin-top: 8px; font-size: 24px; font-weight: 750; letter-spacing: -.025em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.metric-foot { display: flex; align-items: center; gap: 7px; margin-top: 8px; color: var(--muted); font-size: 12px; }
.delta { padding: 3px 7px; border-radius: 20px; font-weight: 700; }.delta.up { background: var(--red-soft); color: var(--red); }.delta.down { background: var(--green-soft); color: var(--green); }.delta.neutral { background: var(--grey-soft); color: var(--muted); }
.layout-grid { display: grid; gap: 16px; margin: 16px 0; }.layout-grid.two-thirds { grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr); }.layout-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.panel { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 19px; box-shadow: var(--shadow); min-width: 0; }
.panel.accent-blue { border-top: 4px solid var(--blue); }.panel.accent-purple { border-top: 4px solid var(--purple); }.panel.accent-green { border-top: 4px solid var(--green); }.panel.accent-orange { border-top: 4px solid var(--orange); }
.compact-panel { min-height: 260px; }
.panel-header { display: flex; align-items: start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.eyebrow { display: block; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; margin-bottom: 5px; }
.chart { height: 330px; }
.chip { display: inline-flex; align-items: center; gap: 5px; border-radius: 30px; padding: 6px 10px; background: var(--grey-soft); color: var(--muted); font-size: 12px; font-weight: 700; white-space: nowrap; }.chip.blue { background: var(--blue-soft); color: var(--blue); }.chip.purple { background: var(--purple-soft); color: var(--purple); }.chip.green { background: var(--green-soft); color: var(--green); }.chip.orange { background: var(--orange-soft); color: var(--orange); }.chip.red { background: var(--red-soft); color: var(--red); }
.link-button { border: 0; padding: 4px; background: transparent; color: var(--blue); font-weight: 700; }
.alert-stack, .rank-list { display: grid; gap: 10px; }
.mini-alert { border: 1px solid var(--border); border-left: 4px solid var(--orange); border-radius: 12px; padding: 11px 12px; background: var(--surface-2); }
.mini-alert.critical { border-left-color: var(--red); }.mini-alert strong { display: block; font-size: 13px; }.mini-alert span { display: block; color: var(--muted); font-size: 12px; margin-top: 3px; }
.rank-row { display: grid; grid-template-columns: 25px 1fr auto; gap: 8px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--border); }.rank-row:last-child { border-bottom: 0; }.rank-number { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 8px; background: var(--grey-soft); font-size: 12px; font-weight: 800; }.rank-label { min-width: 0; }.rank-label strong, .rank-label span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.rank-label span { color: var(--muted); font-size: 12px; }.rank-value { font-weight: 750; }
.service-summary { display: grid; gap: 12px; }.service-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; }.service-row span { color: var(--muted); }.service-row strong { font-size: 18px; }
.section-intro { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 18px 0; }
.progress-steps { display: flex; gap: 6px; flex-wrap: wrap; }.progress-steps span { padding: 7px 10px; border-radius: 30px; background: var(--grey-soft); color: var(--muted); font-size: 12px; font-weight: 700; }.progress-steps span.ready { background: var(--green-soft); color: var(--green); }
.import-grid { align-items: stretch; }.source-card { display: flex; flex-direction: column; gap: 12px; }.source-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; font-weight: 850; }.source-icon.blue { color: var(--blue); background: var(--blue-soft); }.source-icon.purple { color: var(--purple); background: var(--purple-soft); }.source-icon.green { color: var(--green); background: var(--green-soft); }
.file-drop { display: grid; place-items: center; min-height: 114px; border: 1.5px dashed #b9c5d6; border-radius: 14px; background: var(--surface-2); text-align: center; padding: 15px; color: var(--muted); }.file-drop:hover, .file-drop.drag { border-color: var(--blue); background: var(--blue-soft); }.file-drop input { width: 1px; height: 1px; opacity: 0; position: absolute; }.file-drop strong { color: var(--text); }.file-drop span { font-size: 12px; }
.validation-box { padding: 11px 12px; border-radius: 12px; font-size: 12px; line-height: 1.5; }.validation-box.neutral { background: var(--grey-soft); color: var(--muted); }.validation-box.success { background: var(--green-soft); color: #176653; }.validation-box.warning { background: var(--orange-soft); color: #94501e; }.validation-box.error { background: var(--red-soft); color: #9f3232; }
.confirmation-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 16px; }.confirmation-actions { display: flex; gap: 10px; }
.button { border: 1px solid transparent; border-radius: 11px; padding: 10px 14px; font-weight: 750; transition: .15s ease; }.button:hover { transform: translateY(-1px); filter: brightness(.98); }.button:disabled { opacity: .5; cursor: not-allowed; transform: none; }.button.primary { background: #203b67; color: white; }.button.secondary { background: var(--surface); border-color: var(--border); color: var(--text); }.button.blue { background: var(--blue); color: white; }.button.purple { background: var(--purple); color: white; }.button.green { background: var(--green); color: white; }.button.orange { background: var(--orange); color: white; }.button.full { width: 100%; }
.icon-button { border: 1px solid var(--border); background: var(--surface); width: 40px; height: 40px; border-radius: 12px; }
.control { display: grid; gap: 6px; min-width: 145px; }.control.compact { min-width: 150px; }.control.grow { flex: 1; }.control > span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
input, select, textarea { width: 100%; border: 1px solid #cfd7e3; border-radius: 10px; padding: 9px 11px; background: var(--surface); color: var(--text); outline: none; }.control input:focus, .control select:focus, textarea:focus { border-color: #6f94e8; box-shadow: 0 0 0 3px rgba(50,104,216,.12); } textarea { resize: vertical; min-height: 100px; line-height: 1.45; }
.filter-bar { display: flex; align-items: end; gap: 11px; flex-wrap: wrap; margin: 18px 0; padding: 14px; border-radius: 16px; border: 1px solid var(--border); }.blue-filter { background: var(--blue-soft); }.orange-filter { background: var(--orange-soft); }.neutral-filter { background: var(--surface); }
.table-panel { padding-left: 0; padding-right: 0; }.table-panel .panel-header { padding: 0 19px; }.table-wrap { overflow: auto; max-width: 100%; } table { width: 100%; border-collapse: collapse; font-size: 13px; } th { position: sticky; top: 0; z-index: 1; background: #f5f7fb; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .045em; text-align: left; padding: 11px 13px; border-bottom: 1px solid var(--border); } td { padding: 11px 13px; border-bottom: 1px solid var(--border); vertical-align: middle; } tbody tr:hover { background: #f8faff; } th.num, td.num { text-align: right; font-variant-numeric: tabular-nums; }.table-action { border: 0; background: var(--grey-soft); color: var(--text); border-radius: 8px; padding: 6px 9px; font-size: 12px; font-weight: 700; }
.inline-search { display: flex; gap: 5px; }.inline-search input { min-width: 190px; }.inline-search button { border: 0; border-radius: 9px; background: var(--purple); color: white; padding: 8px 10px; }
.empty-state { min-height: 180px; display: grid; place-items: center; text-align: center; color: var(--muted); padding: 24px; border: 1px dashed var(--border); border-radius: 13px; }
.supplier-card { display: grid; gap: 5px; padding: 11px; border: 1px solid var(--border); border-radius: 12px; margin-bottom: 9px; }.supplier-card .supplier-top { display: flex; justify-content: space-between; gap: 10px; }.supplier-card small { color: var(--muted); }
.alert-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }.alert-card { background: var(--surface); border: 1px solid var(--border); border-left: 5px solid var(--orange); border-radius: 15px; padding: 16px; box-shadow: 0 6px 18px rgba(31,47,73,.05); }.alert-card.critical { border-left-color: var(--red); }.alert-card.high { border-left-color: #e36b37; }.alert-card.info { border-left-color: var(--blue); }.alert-card .alert-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.alert-card h3 { margin: 10px 0 5px; }.alert-card p { color: var(--muted); font-size: 13px; line-height: 1.45; }.alert-data { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }.alert-data span { padding: 5px 8px; border-radius: 8px; background: var(--surface-2); border: 1px solid var(--border); font-size: 12px; }.alert-actions { display: flex; justify-content: space-between; align-items: center; gap: 10px; }.status-label { color: var(--muted); font-size: 12px; }
.article-detail h2 { margin-bottom: 2px; }.detail-meta { display: flex; gap: 7px; flex-wrap: wrap; margin: 12px 0; }.detail-section { border-top: 1px solid var(--border); padding-top: 14px; margin-top: 14px; }.detail-stat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }.detail-stat { background: var(--surface-2); border-radius: 10px; padding: 10px; }.detail-stat small, .detail-stat strong { display: block; }.detail-stat small { color: var(--muted); }
.tabs { display: flex; gap: 5px; margin: 18px 0; padding: 5px; background: #e9eef5; width: max-content; border-radius: 12px; }.tab { border: 0; border-radius: 9px; padding: 9px 14px; background: transparent; color: var(--muted); font-weight: 750; }.tab.active { background: var(--surface); color: var(--text); box-shadow: 0 3px 10px rgba(31,47,73,.08); }.tab-content { display: none; }.tab-content.active { display: block; }
.settings-panel { max-width: 920px; }.settings-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 18px 0; }.setting-card { display: grid; gap: 6px; padding: 13px; border-radius: 12px; background: var(--surface-2); border: 1px solid var(--border); }.setting-card label { font-size: 12px; font-weight: 700; }.setting-card small { color: var(--muted); }
.toast-region { position: fixed; top: 18px; right: 18px; z-index: 100; display: grid; gap: 8px; }.toast { max-width: 370px; padding: 12px 14px; border-radius: 12px; background: #17233a; color: white; box-shadow: var(--shadow); animation: toastIn .18s ease; }.toast.error { background: #9f3333; }.toast.success { background: #176653; } @keyframes toastIn { from { opacity: 0; transform: translateY(-5px); } }
.modal { border: 0; padding: 0; border-radius: 18px; box-shadow: 0 24px 80px rgba(15,31,55,.25); }.modal::backdrop { background: rgba(18,29,48,.52); backdrop-filter: blur(3px); }.modal-card { min-width: min(520px, 92vw); display: grid; gap: 14px; padding: 24px; position: relative; background: var(--surface); border: 1px solid var(--border); border-radius: 18px; }.modal-close { position: absolute; right: 14px; top: 12px; border: 0; background: transparent; font-size: 25px; color: var(--muted); }.modal-actions { display: flex; justify-content: flex-end; gap: 9px; }
.loading { opacity: .55; pointer-events: none; }
@media (max-width: 1180px) { .metric-grid { grid-template-columns: repeat(3, 1fr); }.metric-grid.compact { grid-template-columns: repeat(3, 1fr); }.layout-grid.three { grid-template-columns: 1fr 1fr; }.import-grid > :last-child { grid-column: span 2; } }
@media (max-width: 900px) { .app-shell { grid-template-columns: 1fr; }.sidebar { position: fixed; left: -270px; width: 250px; transition: left .2s ease; }.sidebar.open { left: 0; box-shadow: 10px 0 30px rgba(0,0,0,.2); }.main { padding: 0 16px 30px; }.menu-toggle { display: inline-grid; place-items: center; }.topbar { min-height: 84px; }.layout-grid.two-thirds, .layout-grid.three { grid-template-columns: 1fr; }.import-grid > :last-child { grid-column: auto; }.alert-board { grid-template-columns: 1fr; }.settings-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .topbar { align-items: flex-start; flex-wrap: wrap; padding: 12px 0; }.page-heading { min-width: 200px; }.top-controls { width: 100%; }.top-controls .control { flex: 1; }.metric-grid, .metric-grid.compact { grid-template-columns: 1fr 1fr; }.section-intro, .confirmation-panel { align-items: stretch; flex-direction: column; }.confirmation-actions { width: 100%; }.confirmation-actions .button { flex: 1; }.settings-grid { grid-template-columns: 1fr; }.chart { height: 280px; } }

/* V2 - bandeja de alertas operativa */
.alert-filter-panel { margin: 18px 0 14px; padding: 18px; border: 1px solid var(--border); border-top: 4px solid var(--orange); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.alert-filter-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.alert-filter-heading p { color: var(--muted); margin: 0; }
.alert-filter-grid { display: grid; grid-template-columns: minmax(210px, 1.5fr) repeat(4, minmax(130px, 1fr)); gap: 11px; align-items: end; }
.alert-filter-grid .alert-search { grid-column: span 2; }
.alert-filter-actions { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--border); }
.button-row, .filter-chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.filter-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 30px; background: var(--orange-soft); color: #8b4d20; border: 1px solid #f3d2b5; font-size: 12px; font-weight: 700; }
.switch-row { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); font-weight: 700; white-space: nowrap; }
.switch-row input { width: 18px; height: 18px; padding: 0; accent-color: var(--orange); }
.alert-summary-strip { display: flex; align-items: stretch; flex-wrap: wrap; margin: 14px 0; padding: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 15px; background: var(--surface); box-shadow: 0 5px 18px rgba(31,47,73,.05); }
.alert-summary-item { min-width: 135px; flex: 1; padding: 13px 15px; border-right: 1px solid var(--border); }
.alert-summary-item:last-child { border-right: 0; }
.alert-summary-item span, .alert-summary-item strong { display: block; }
.alert-summary-item span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.alert-summary-item strong { margin-top: 4px; font-size: 18px; }
.alert-summary-item.critical strong { color: var(--red); }.alert-summary-item.high strong { color: var(--orange); }.alert-summary-item.money strong { color: var(--purple); }
.alert-board { display: grid; grid-template-columns: 1fr; gap: 11px; }
.alert-card { padding: 0; overflow: hidden; box-shadow: 0 5px 16px rgba(31,47,73,.045); }
.alert-card-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 15px; background: var(--surface-2); border-bottom: 1px solid var(--border); }
.alert-card-header-left, .alert-card-header-right { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.alert-card-period { color: var(--muted); font-size: 12px; font-weight: 700; }
.alert-card-grid { display: grid; grid-template-columns: minmax(280px, 1.7fr) repeat(4, minmax(105px, .55fr)) minmax(185px, auto); gap: 16px; align-items: center; padding: 15px; }
.alert-primary { min-width: 0; }.alert-primary h3 { margin: 0 0 5px; font-size: 15px; }.alert-primary .article-line { display: block; font-weight: 750; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.alert-primary p { margin: 5px 0 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.alert-value { min-width: 0; }.alert-value span, .alert-value strong { display: block; }.alert-value span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .045em; }.alert-value strong { margin-top: 4px; font-size: 14px; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.alert-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }.alert-card-actions .button { padding: 8px 10px; font-size: 12px; }
.status-label { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 20px; background: var(--grey-soft); color: var(--muted); font-weight: 700; font-size: 12px; }
.recurrence-badge { background: var(--purple-soft); color: var(--purple); }
.detail-modal { width: min(980px, 96vw); max-width: 980px; }
.detail-modal-card { width: min(980px, 96vw); max-height: 90vh; overflow: auto; }
.detail-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-right: 28px; }
.detail-dialog-header p { color: var(--muted); margin: 0; }
.alert-detail-body { display: grid; gap: 14px; }
.alert-detail-summary { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 9px; }
.alert-detail-stat { padding: 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); }
.alert-detail-stat span, .alert-detail-stat strong { display: block; }.alert-detail-stat span { color: var(--muted); font-size: 11px; text-transform: uppercase; font-weight: 800; }.alert-detail-stat strong { margin-top: 5px; font-size: 16px; }
.alert-detail-section { padding: 14px; border: 1px solid var(--border); border-radius: 13px; }.alert-detail-section h3 { margin-bottom: 8px; }.alert-detail-section p:last-child { margin-bottom: 0; }
.rule-box { border-left: 4px solid var(--orange); background: var(--orange-soft); }.formula-line { padding: 9px 11px; border-radius: 9px; background: rgba(255,255,255,.65); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.detail-table-wrap { max-height: 280px; overflow: auto; border: 1px solid var(--border); border-radius: 10px; }.detail-table-wrap table { font-size: 12px; }.detail-table-wrap th { top: 0; }
.history-item { display: grid; grid-template-columns: 125px 1fr; gap: 11px; padding: 9px 0; border-bottom: 1px solid var(--border); }.history-item:last-child { border-bottom: 0; }.history-item time { color: var(--muted); font-size: 12px; }.history-item strong { display: block; }.history-item p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.local-note { padding: 10px 12px; border-radius: 11px; background: var(--green-soft); color: #176653; font-size: 12px; }

@media (max-width: 1250px) {
  .alert-filter-grid { grid-template-columns: repeat(3, minmax(145px, 1fr)); }
  .alert-filter-grid .alert-search { grid-column: span 2; }
  .alert-card-grid { grid-template-columns: minmax(260px, 1.5fr) repeat(2, minmax(110px,.55fr)) minmax(180px,auto); }
  .alert-card-grid .optional-value { display: none; }
}
@media (max-width: 850px) {
  .alert-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .alert-filter-actions, .alert-filter-heading { align-items: stretch; flex-direction: column; }
  .button-row .button { flex: 1; }
  .alert-card-grid { grid-template-columns: 1fr 1fr; }
  .alert-primary { grid-column: 1 / -1; }
  .alert-card-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; }
  .alert-detail-summary { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .alert-filter-grid, .alert-filter-grid .alert-search { grid-template-columns: 1fr; grid-column: auto; }
  .alert-card-grid { grid-template-columns: 1fr; gap: 10px; }
  .alert-card-actions { grid-column: auto; display: grid; }
  .alert-summary-item { min-width: 50%; border-bottom: 1px solid var(--border); }
  .alert-detail-summary { grid-template-columns: 1fr; }
  .detail-dialog-header { flex-direction: column; }
  .history-item { grid-template-columns: 1fr; gap: 3px; }
}

/* V3 - autenticación, roles y circuito de alertas */
.auth-hidden { display: none !important; }
.capability-hidden { display: none !important; }
.auth-gate { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at top left, #eef6ff 0, transparent 42%), radial-gradient(circle at bottom right, #f6efff 0, transparent 40%), var(--surface-2); }
.auth-gate[hidden] { display: none; }
.auth-card { width: min(440px, 94vw); padding: 28px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); box-shadow: 0 22px 70px rgba(31,47,73,.13); }
.auth-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--border); }
.auth-brand strong, .auth-brand span { display: block; }.auth-brand span { color: var(--muted); font-size: 12px; margin-top: 2px; }
.auth-panel { display: grid; gap: 14px; }.auth-panel h1 { margin: -2px 0 0; font-size: 26px; }.auth-panel p { margin: 0 0 4px; color: var(--muted); }
.auth-message { min-height: 20px; color: var(--red); font-size: 12px; font-weight: 700; }.auth-message.success { color: var(--green); }
.nav-section-label { padding: 12px 13px 5px; color: rgba(255,255,255,.55); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.user-menu { display: flex; align-items: center; gap: 9px; padding: 7px 10px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); min-width: 150px; }
.user-menu strong, .user-menu small { display: block; }.user-menu strong { font-size: 12px; }.user-menu small { color: var(--muted); font-size: 10px; margin-top: 1px; }
.user-avatar { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--blue-soft); color: var(--blue); font-weight: 900; }
.compact-button { padding: 8px 10px; }
.workflow-tabs { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin: 18px 0 10px; }
.workflow-tab { border: 1px solid var(--border); border-radius: 14px; background: var(--surface); padding: 12px 14px; display: flex; justify-content: space-between; align-items: center; gap: 8px; color: var(--text); font-weight: 800; cursor: pointer; box-shadow: 0 4px 14px rgba(31,47,73,.04); }
.workflow-tab b { display: inline-grid; place-items: center; min-width: 28px; height: 26px; padding: 0 7px; border-radius: 20px; background: var(--grey-soft); color: var(--muted); font-size: 12px; }
.workflow-tab.active { border-color: #efb783; background: var(--orange-soft); color: #8b4d20; }.workflow-tab.active b { background: var(--surface); color: #8b4d20; }
.workflow-help { margin: 0 0 12px; padding: 11px 13px; border-radius: 12px; background: var(--surface-2); color: var(--muted); font-size: 12px; }
.workflow-help:empty { display: none; }.source-filter-control { display: none; }
.workflow-result-note { padding: 11px 12px; border-radius: 11px; background: var(--orange-soft); color: #8b4d20; font-size: 12px; }
.justification-box { padding: 14px; border-radius: 13px; border-left: 4px solid var(--green); background: var(--green-soft); }.justification-box strong { display: block; margin-bottom: 5px; }.justification-box p { margin: 0; }
.review-action-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }.danger-outline { border-color: #e7b2b2 !important; color: var(--red) !important; }
.alert-check { display: inline-flex; align-items: center; gap: 5px; color: var(--green); font-size: 12px; font-weight: 800; }.alert-check::before { content: '✓'; width: 18px; height: 18px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--green-soft); }
.action-owner { display: inline-flex; padding: 4px 7px; border-radius: 20px; background: var(--orange-soft); color: #8b4d20; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.action-owner.review { background: var(--blue-soft); color: var(--blue); }.action-owner.closed { background: var(--green-soft); color: var(--green); }
.password-modal::backdrop { background: rgba(18,29,48,.68); }.password-modal .modal-card { min-width: min(470px, 92vw); }
.role-chip { display: inline-flex; padding: 5px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; background: var(--blue-soft); color: var(--blue); }.role-chip.admin { background: var(--purple-soft); color: var(--purple); }
.user-status { font-size: 12px; font-weight: 800; }.user-status.active { color: var(--green); }.user-status.inactive { color: var(--red); }

@media (max-width: 980px) { .workflow-tabs { grid-template-columns: 1fr 1fr; }.user-menu { min-width: 0; }.user-menu div:not(.user-avatar) { display: none; } }
@media (max-width: 620px) { .workflow-tabs { grid-template-columns: 1fr; }.review-action-grid { grid-template-columns: 1fr; }.user-menu { display: none; }.compact-button { padding: 8px 12px; } }

/* V4 - maestro de motivos de justificación */
.reason-chip { background: var(--purple-soft); color: var(--purple); }
.justification-box .reason-chip { margin: 2px 0 8px; }
.reason-editor-grid { display: grid; grid-template-columns: minmax(140px, .55fr) minmax(220px, 1fr); gap: 14px; align-items: end; }
.reason-active-row { min-height: 42px; padding: 0 4px 8px; }
#reasonsTable td:nth-child(3) { max-width: 520px; white-space: normal; line-height: 1.4; }
@media (max-width: 620px) { .reason-editor-grid { grid-template-columns: 1fr; }.reason-active-row { padding-bottom: 0; } }
@media (max-width: 620px) {
  .tabs { width: 100%; max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; }
  .tab { flex: 0 0 auto; white-space: nowrap; }
}

/* V5 - servicios, artículo 360, proveedores y oportunidades */
.import-preview { margin-top: 12px; }
.import-preview:empty { display: none; }
.import-preview-title { margin: 0 0 7px; color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.preview-table { font-size: 11px; }
.preview-table th, .preview-table td { padding: 7px 9px; white-space: nowrap; }
.service-management-grid { grid-template-columns: minmax(300px,.8fr) minmax(0,1.5fr); align-items: start; }
.service-form-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; margin-bottom: 11px; }
#articleDetailPanel { background: var(--surface); opacity: 1; }
.article-detail { background: var(--surface); }
.article-360 { min-width: 0; }
.article-360 .hero-stat { background: var(--green-soft); border-color: #bfe5d9; }
.article-360 .hero-stat strong { font-size: 28px; }
.article-360-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.small-chart { min-height: 250px; height: 250px; }
.opportunity-board { display: grid; gap: 12px; margin-top: 14px; }
.opportunity-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(160px,.26fr); gap: 16px; align-items: center; padding: 17px 18px; background: var(--surface); border: 1px solid var(--border); border-left: 5px solid var(--blue); border-radius: 15px; box-shadow: 0 5px 18px rgba(31,47,73,.05); }
.opportunity-card.saving { border-left-color: var(--purple); }
.opportunity-card.improvement { border-left-color: var(--green); }
.opportunity-card.warning { border-left-color: var(--orange); }
.opportunity-card h3 { margin: 8px 0 3px; }
.opportunity-card p { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.opportunity-metric { text-align: right; }
.opportunity-metric small, .opportunity-metric strong, .opportunity-metric span { display: block; }
.opportunity-metric small { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.opportunity-metric strong { margin: 4px 0; font-size: 20px; }
#supplierDetailPanel { align-self: start; }
#servicesTable td:last-child, #articleTable td:last-child, #suppliersTable td:last-child { white-space: nowrap; }

@media (max-width: 1050px) {
  .service-management-grid, .article-360-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .service-form-grid { grid-template-columns: 1fr 1fr; }
  .opportunity-card { grid-template-columns: 1fr; }
  .opportunity-metric { text-align: left; }
}
@media (max-width: 480px) {
  .service-form-grid { grid-template-columns: 1fr; }
}

/* V5 agrupación de alertas */
.alert-article-group{border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden;margin-bottom:12px}
.alert-article-group>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;background:linear-gradient(90deg,rgba(50,104,216,.06),transparent)}
.alert-article-group>summary::-webkit-details-marker{display:none}
.alert-article-group>summary div{display:flex;flex-direction:column;gap:3px}.alert-article-group>summary span{font-size:12px;color:var(--muted)}
.alert-group-list{padding:12px}.alert-group-list .alert-card:last-child{margin-bottom:0}

/* V5: el atributo HTML hidden debe prevalecer sobre grids/flex explícitos. */
[hidden] { display: none !important; }

/* V6 - familias, escandallos y análisis de centros operacionales */
.operational-layout { align-items: start; }
.rule-list { display: grid; gap: 10px; }
.rule-card { padding: 13px 14px; border: 1px solid var(--border); border-radius: 13px; background: var(--surface-2); }
.rule-card strong, .rule-card span, .rule-card small { display: block; }
.rule-card span { margin-top: 4px; font-weight: 800; }
.rule-card small { margin-top: 4px; color: var(--muted); line-height: 1.35; }
#operationalDeviationTable td:nth-child(2) { max-width: 300px; white-space: normal; }
#operationalAlertTable td:nth-child(2) { max-width: 420px; white-space: normal; line-height: 1.4; }
.operational-band-alerta { background: rgba(181,62,62,.035); }
.operational-band-revisar { background: rgba(217,122,43,.035); }
.recipe-dialog-card { width: min(1180px, 96vw); }
.recipe-dialog-card .table-wrap { max-height: 62vh; overflow: auto; }
#recipesTable td:first-child { min-width: 230px; }
#familiesTable td:nth-child(2) { min-width: 250px; }
#page-centros .file-drop { min-height: 128px; }
#page-centros .metric-grid { margin-bottom: 16px; }
.purple-filter { background: var(--purple-soft); border-color: rgba(92,74,177,.16); }
#consumptionFamily, #consumptionSubfamily, #purchaseFamily, #purchaseSubfamily, #articleFamily, #articleSubfamily { min-width: 150px; }
@media (max-width: 900px) {
  .operational-layout { grid-template-columns: 1fr; }
  .recipe-dialog-card .detail-dialog-header { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  #page-centros .section-intro { align-items: stretch; }
  #page-centros .section-intro .control { width: 100%; }
  #consumptionFamily, #consumptionSubfamily, #purchaseFamily, #purchaseSubfamily, #articleFamily, #articleSubfamily { min-width: 0; }
}

/* V8 - escandallos, diagnostico y cierre mensual */
.period-close-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;padding:18px 20px}
.period-close-panel h3{margin:2px 0 6px}.period-close-panel p{margin:0;color:var(--muted)}
.recipe-draft-basics{padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft);margin:14px 0 16px}
.version-history{margin:12px 0 18px}.version-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px}
.version-chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:8px 12px;font:inherit;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;color:var(--text)}
.version-chip.active{border-color:var(--primary);box-shadow:0 0 0 2px rgba(47,105,214,.12)}
.recipe-dialog-card h3{margin:18px 0 8px}.recipe-dialog-card .detail-dialog-header{align-items:flex-start}
@media(max-width:760px){.period-close-panel{align-items:flex-start;flex-direction:column}.period-close-panel .button-row{width:100%;flex-wrap:wrap}.recipe-draft-basics .form-grid{grid-template-columns:1fr}.recipe-dialog-card .detail-dialog-header{flex-direction:column}.recipe-dialog-card .detail-dialog-header>.button-row{width:100%;flex-wrap:wrap}}

/* V8 · navegación accionable y diagnóstico */
.rank-row.clickable,.clickable{cursor:pointer}.rank-row.clickable:hover,.operational-diagnostic-row:hover,.operational-alert-diagnostic:hover{background:rgba(35,91,143,.06)}
.diagnostic-contribution{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line,#e5e7eb)}.diagnostic-contribution small{display:block;margin-top:4px;color:var(--muted,#6b7280)}
.warning-line{padding:6px 0;color:#9a5b00}.wide-modal .modal-card{max-width:900px}
#page-escandallos .filter-bar{margin-bottom:16px}
@media(max-width:900px){#operationalDeviationTable td:nth-child(9),#operationalDeviationTable th:nth-child(9){display:none}}

/* V8.1 · lectura direccional y ordenación del control */
.chip.delta-positive { background: var(--red-soft); color: var(--red); }
.chip.delta-negative { background: #eef3ff; color: #315c9a; }
.chip.delta-neutral { background: var(--grey-soft); color: var(--muted); }
.sort-head { border: 0; background: transparent; color: inherit; font: inherit; font-weight: 800; text-transform: inherit; letter-spacing: inherit; padding: 0 14px 0 0; cursor: pointer; position: relative; white-space: nowrap; }
.sort-head::after { content: '↕'; position: absolute; right: 0; opacity: .35; font-size: 11px; }
.sort-head.active::after { content: '↓'; opacity: 1; }
.sort-head.active[data-dir="asc"]::after { content: '↑'; }
th.num .sort-head { margin-left: auto; display: block; }

/* V9 · prioridades, centros agregados y navegación accionable */
.review-task{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:14px 16px;margin-bottom:9px;cursor:pointer;color:var(--text);font:inherit;transition:.15s ease}
.review-task:hover{border-color:rgba(50,104,216,.28);box-shadow:0 5px 18px rgba(31,47,73,.06);transform:translateY(-1px)}
.review-priority{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:6px 8px;border-radius:999px;background:var(--orange-soft);color:var(--orange)}
.review-priority.crítica,.review-priority.alerta{background:var(--red-soft);color:var(--red)}
.review-priority.alta,.review-priority.revisar{background:var(--orange-soft);color:var(--orange)}
.review-task-main{display:grid;gap:3px;min-width:0}.review-task-main>span,.review-task-main small{color:var(--muted);white-space:normal}.review-task-side{text-align:right;display:grid;gap:4px}.review-task-side strong{font-size:14px}
.review-category.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.center-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-bottom:16px}
.center-summary-card{display:flex;justify-content:space-between;align-items:center;gap:15px;text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:16px 18px;cursor:pointer;font:inherit;color:var(--text);box-shadow:0 4px 16px rgba(31,47,73,.035)}
.center-summary-card:hover,.center-summary-card.active{border-color:rgba(50,104,216,.35);box-shadow:0 6px 20px rgba(31,47,73,.07)}
.center-summary-card.active{background:linear-gradient(90deg,rgba(50,104,216,.055),var(--surface))}.center-summary-card div{display:grid;gap:4px}.center-summary-card small{color:var(--muted)}
.operational-group-row{background:rgba(50,104,216,.045);font-weight:600}.operational-group-row td:first-child{border-left:4px solid var(--blue)}.group-chip{margin-left:7px;background:var(--blue-soft);color:var(--blue)}
.operational-data-issue td:first-child{border-left:4px solid var(--red)}.coverage-line{display:block;color:#8a6500;margin-top:4px}.warning-line{display:block!important;color:var(--red)!important;margin-top:4px}
.overview-alert-link,.supplier-alert-link{width:100%;text-align:left;border:0;font:inherit}.supplier-360{min-width:0}.supplier-stat-grid .detail-stat span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.supplier-360 .compact-table td:first-child{white-space:normal;min-width:220px}
.metric-link{cursor:pointer}.metric-link:hover{transform:translateY(-1px);box-shadow:0 7px 22px rgba(31,47,73,.08)}
@media(max-width:720px){.review-task{grid-template-columns:1fr}.review-task-side{text-align:left;grid-template-columns:auto auto;justify-content:start}.center-card-grid{grid-template-columns:1fr}.supplier-stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.supplier-stat-grid{grid-template-columns:1fr}}


/* =========================================================
   V10 · sistema visual y navegación
   ========================================================= */
.nav { overflow-y: auto; scrollbar-width: thin; gap: 16px; padding: 18px 0 12px; }
.nav-group { display: grid; gap: 4px; }
.nav-section-label { padding: 0 12px 5px; color: #8fa0ba; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nav-item { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; padding: 9px 11px; border-radius: 10px; }
.nav-item em { font-style: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hidden-counts { display:none; }
.sidebar-collapse { position:absolute; right:-12px; top:74px; width:25px; height:34px; border:1px solid var(--line); background:white; color:var(--primary); border-radius:9px; box-shadow:0 3px 12px rgba(16,24,40,.09); z-index:30; }
.app-shell.sidebar-compact { grid-template-columns: 76px minmax(0,1fr); }
.sidebar-compact .sidebar { padding-left:10px; padding-right:10px; }
.sidebar-compact .brand > div:last-child, .sidebar-compact .nav-section-label, .sidebar-compact .nav-item em, .sidebar-compact .sidebar-footer div, .sidebar-compact .nav-count { display:none; }
.sidebar-compact .brand { justify-content:center; padding-left:0; padding-right:0; }
.sidebar-compact .nav-item { grid-template-columns:1fr; justify-items:center; padding:10px 6px; }
.sidebar-compact .sidebar-footer { justify-content:center; }
.sidebar-compact .sidebar-collapse { transform:rotate(180deg); }

.topbar { min-height:88px; background:rgba(246,247,249,.94); }
.page-heading { min-width:220px; }
.breadcrumb-bar { display:flex; gap:5px; align-items:center; min-height:17px; margin-bottom:4px; color:var(--muted); font-size:11px; font-weight:650; }
.breadcrumb-bar button { border:0; background:transparent; padding:0; color:var(--primary); font-weight:700; }
.breadcrumb-bar .separator { color:#98a2b3; }
.search-trigger { min-width:158px; height:42px; display:flex; align-items:center; gap:8px; border:1px solid var(--line); background:var(--surface); color:var(--muted); border-radius:11px; padding:0 10px; }
.search-trigger:hover { border-color:#b8c2d0; color:var(--text); }
kbd { border:1px solid #d0d5dd; background:#f9fafb; color:#667085; border-radius:5px; padding:2px 5px; font:600 10px/1.2 inherit; margin-left:auto; }

.metric-grid.executive-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.executive-metrics .metric-card { padding:18px; }
.executive-metrics .metric-card::before { width:3px; }
.metric-card.blue, .metric-card.purple, .metric-card.green, .metric-card.orange, .metric-card.red { --metric-color:var(--primary); }
.metric-card.red { --metric-color:var(--red); }
.metric-card.orange { --metric-color:var(--orange); }
.metric-card.green { --metric-color:var(--green); }
.executive-grid { grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr); }
.overview-bottom-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.executive-chart { height:285px; }
.panel[class*="accent-"] { border-top-color:var(--line); }

.attention-list { display:grid; gap:8px; }
.attention-row { width:100%; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:11px; align-items:center; border:1px solid var(--line); background:var(--surface); border-radius:12px; padding:11px 12px; text-align:left; }
.attention-row:hover { border-color:#c3cad5; background:#fafbfc; }
.attention-dot { width:9px; height:9px; border-radius:50%; background:#98a2b3; }
.attention-dot.critical { background:var(--red); }.attention-dot.review { background:var(--orange); }.attention-dot.info { background:var(--purple); }.attention-dot.ok { background:var(--green); }
.attention-main { min-width:0; }.attention-main strong,.attention-main span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.attention-main strong { font-size:13px; }.attention-main span { color:var(--muted); font-size:11px; margin-top:3px; }
.attention-side { text-align:right; }.attention-side strong,.attention-side span { display:block; }.attention-side strong { font-size:13px; }.attention-side span { margin-top:3px; font-size:11px; color:var(--muted); }
.data-readiness { display:grid; gap:10px; margin-top:15px; }.readiness-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; }.readiness-row span:first-child { color:var(--muted); }.readiness-status { display:inline-flex; align-items:center; gap:6px; font-weight:750; font-size:12px; }.readiness-status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green)}.readiness-status.pending::before{background:var(--orange)}
.service-summary-inline { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:12px; }.service-summary-inline .service-row { padding:9px 0; border-bottom:1px solid var(--line); }

.pareto-list { display:grid; gap:10px; }.pareto-row { display:grid; grid-template-columns:minmax(120px,1fr) minmax(120px,1.5fr) auto; gap:10px; align-items:center; }.pareto-label { min-width:0; }.pareto-label strong,.pareto-label span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pareto-label span{color:var(--muted);font-size:11px;margin-top:2px}.pareto-track{height:9px;background:#edf0f4;border-radius:999px;overflow:hidden}.pareto-fill{height:100%;background:var(--primary);border-radius:inherit}.pareto-value{font-size:12px;font-weight:800;white-space:nowrap}
.direction-centers { display:grid; gap:9px; }.direction-center-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--surface); text-align:left; }.direction-center-row:hover{background:#fafbfc}.direction-center-row strong,.direction-center-row span{display:block}.direction-center-row span{font-size:11px;color:var(--muted);margin-top:3px}.secondary-details{padding:0;overflow:hidden}.secondary-details>summary,.supporting-details>summary{list-style:none;cursor:pointer;padding:16px 18px;font-weight:800;display:flex;justify-content:space-between;gap:12px}.secondary-details>summary::-webkit-details-marker,.supporting-details>summary::-webkit-details-marker{display:none}.secondary-details>summary span,.supporting-details>summary span{font-weight:500;color:var(--muted);font-size:12px}.secondary-details[open]>summary,.supporting-details[open]>summary{border-bottom:1px solid var(--line)}.secondary-detail-grid,.supporting-details>div{padding:16px 18px}.supporting-details{padding:0}.supporting-details section{min-width:0}

.segmented-control { display:inline-flex; align-items:center; gap:3px; padding:4px; border:1px solid var(--line); background:#eef1f4; border-radius:12px; }.segmented-control button { border:0; background:transparent; color:var(--muted); border-radius:9px; padding:8px 13px; font-weight:750; font-size:12px; }.segmented-control button.active { background:var(--surface); color:var(--text); box-shadow:0 1px 4px rgba(16,24,40,.08); }.review-mode-bar{margin-bottom:12px}.review-metrics{margin-top:12px}.review-task{grid-template-columns:auto minmax(0,1fr) auto}.show-more-wrap{text-align:center;padding-top:14px}

.chip.red,.delta.up { background:var(--red-soft); color:var(--red); }.chip.orange { background:var(--orange-soft); color:var(--orange); }.chip.green,.delta.down { background:var(--green-soft); color:var(--green); }.chip.blue { background:var(--blue-soft); color:var(--blue); }.chip.purple { background:var(--purple-soft); color:var(--purple); }
.delta-positive { background:var(--red-soft)!important; color:var(--red)!important; }.delta-negative { background:var(--blue-soft)!important; color:var(--blue)!important; }.delta-neutral { background:var(--grey-soft)!important; color:var(--muted)!important; }
.confidence-chip { display:inline-flex; align-items:center; border-radius:999px; padding:3px 7px; background:var(--grey-soft); color:var(--muted); font-size:10px; font-weight:800; }.confidence-chip.high{background:var(--green-soft);color:var(--green)}.confidence-chip.partial{background:var(--purple-soft);color:var(--purple)}.confidence-chip.group{background:var(--blue-soft);color:var(--blue)}.confidence-chip.data{background:var(--orange-soft);color:var(--orange)}

.table-toolbar { align-items:center; }.toolbar-actions{display:flex;gap:7px;align-items:center}.small-button{padding:7px 10px;font-size:11px}.column-menu{display:flex;gap:10px;flex-wrap:wrap;padding:10px 12px;margin:-5px 0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.column-menu label{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}
.sort-head { color:inherit; }.sort-head::after { content:"↕"; opacity:.3; margin-left:5px; font-size:10px; }.sort-head.active::after { content:attr(data-dir); opacity:.9; font-size:0; }.sort-head.active[data-dir="asc"]::after { content:"↑"; font-size:11px; }.sort-head.active[data-dir="desc"]::after { content:"↓"; font-size:11px; }

.operational-main-panel .table-wrap { margin-top:4px; }.operational-article-cell{min-width:220px}.operational-article-title{display:flex;align-items:center;gap:7px}.operational-article-title strong{min-width:0}.group-toggle{width:22px;height:22px;display:grid;place-items:center;border:0;background:var(--grey-soft);border-radius:6px;color:var(--primary);font-weight:900}.group-row{background:#f8fafc}.detail-row.is-collapsed{display:none}.operational-meta-line{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px;color:var(--muted);font-size:10px}.real-expected strong,.real-expected span{display:block}.real-expected strong{font-size:13px}.real-expected span{margin-top:2px;color:var(--muted);font-size:10px}.compensation-cell strong,.compensation-cell small{display:block}.compensation-cell small{margin-top:2px;color:var(--muted);font-size:10px}.compensation-good{color:var(--green)}.compensation-bad{color:var(--red)}.operational-mobile-cards{display:none}.mobile-control-card{border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:13px;display:grid;gap:9px}.mobile-control-card-header,.mobile-control-footer{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.mobile-control-card-header h3{margin:0}.mobile-control-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mobile-stat{background:var(--surface-soft);border-radius:9px;padding:8px}.mobile-stat span,.mobile-stat strong{display:block}.mobile-stat span{font-size:10px;color:var(--muted)}.mobile-stat strong{margin-top:3px;font-size:13px}

.supplier-layout{grid-template-columns:minmax(420px,.9fr) minmax(0,1.3fr)}.supplier-detail-panel{min-height:480px}.supplier-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.supplier-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.supplier-kpi{padding:10px;background:var(--surface-soft);border-radius:10px}.supplier-kpi span,.supplier-kpi strong{display:block}.supplier-kpi span{font-size:10px;color:var(--muted)}.supplier-kpi strong{font-size:16px;margin-top:4px}.supplier-insights{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.supplier-sparkline{height:62px;display:flex;align-items:end;gap:5px;padding:8px 0}.supplier-sparkline i{display:block;flex:1;min-width:6px;background:#aebdd5;border-radius:4px 4px 1px 1px}.insight-list{display:grid;gap:6px}.insight-row{display:flex;justify-content:space-between;gap:10px;font-size:11px}.insight-row span{color:var(--muted)}

.search-modal{width:min(720px,calc(100vw - 24px));padding:0;border:0;background:transparent}.search-modal::backdrop{background:rgba(18,33,58,.38);backdrop-filter:blur(2px)}.search-modal-card{width:100%;max-width:none;padding:0;overflow:hidden}.search-modal-input{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:15px 17px;border-bottom:1px solid var(--line)}.search-modal-input input{border:0;outline:0;font-size:16px;width:100%;background:transparent}.global-search-results{max-height:460px;overflow:auto;padding:8px}.search-result{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;text-align:left;border:0;background:transparent;padding:10px;border-radius:9px}.search-result:hover,.search-result.active{background:var(--surface-soft)}.search-result-type{font-size:10px;font-weight:850;color:var(--primary);background:var(--blue-soft);border-radius:6px;padding:4px 6px;height:max-content}.search-result strong,.search-result span{display:block}.search-result span{font-size:11px;color:var(--muted);margin-top:2px}.dialog-breadcrumb{font-size:10px;color:var(--muted);margin-bottom:5px}

@media (max-width: 1180px) {
  .metric-grid.executive-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-grid,.supplier-layout{grid-template-columns:1fr}.search-trigger{min-width:44px}.search-trigger>span:nth-child(2),.search-trigger kbd{display:none}.supplier-detail-panel{min-height:0}
}
@media (max-width: 900px) {
  .app-shell,.app-shell.sidebar-compact{grid-template-columns:1fr}.sidebar{position:fixed;left:-260px;width:224px;transition:left .2s ease}.sidebar.open{left:0}.sidebar-collapse{display:none}.main{padding:0 16px 28px}.menu-toggle{display:inline-grid}.topbar{min-height:78px}.user-menu{display:none}.overview-bottom-grid{grid-template-columns:1fr}.secondary-detail-grid{grid-template-columns:1fr}.top-controls{gap:6px}
}
@media (max-width: 720px) {
  .metric-grid.executive-metrics,.metric-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-value{font-size:20px}.panel{padding:15px}.topbar{align-items:center}.page-heading p{display:none}.breadcrumb-bar{display:none}.compact-button{display:none}.operational-desktop-table{display:none}.operational-mobile-cards{display:grid;gap:9px}.toolbar-actions .small-button{padding:7px}.service-summary-inline{grid-template-columns:1fr}.supplier-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-insights{grid-template-columns:1fr}.review-task{grid-template-columns:auto minmax(0,1fr)}.review-task-side{grid-column:2}.mobile-control-values{grid-template-columns:repeat(3,minmax(0,1fr))}.section-intro{align-items:flex-start}.section-intro>.control{width:100%}.pareto-row{grid-template-columns:minmax(100px,1fr) minmax(80px,1fr) auto}
}
@media (max-width: 520px) {
  .metric-grid.executive-metrics,.metric-grid.compact{grid-template-columns:1fr 1fr;gap:8px}.metric-card{padding:12px}.metric-label{font-size:10px}.metric-value{font-size:18px}.top-controls .control{display:none}.mobile-control-values{grid-template-columns:1fr 1fr}.mobile-control-values .mobile-stat:last-child{grid-column:1/-1}.segmented-control{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.segmented-control button{padding:8px 6px}.filter-bar{gap:8px}.search-trigger{min-width:40px}.supplier-kpis{grid-template-columns:1fr 1fr}
}

/* V10 · accesibilidad y lenguaje cromático */
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid rgba(23,92,211,.34); outline-offset: 2px; }
.metric-card:not(.red):not(.orange) { --metric-color: var(--primary); }
.metric-card.clickable:hover { border-color: #cdd5df; box-shadow: 0 8px 24px rgba(16,24,40,.075); }
.attention-dot.critical { background: var(--red); }.attention-dot.review { background: var(--orange); }.attention-dot.info { background: var(--blue); }

/* V10 · último pulido visual */
.sidebar-footer strong { font-size:12px; white-space:nowrap; }
.pareto-row { width:100%; border:0; background:transparent; padding:7px 0; text-align:left; color:var(--text); border-radius:9px; }
.pareto-row:hover { background:var(--surface-soft); }
@media (max-width:720px) { .operational-main-panel .toolbar-actions { display:none; } }

/* =========================================================
   V11 · gestión, cierre y diagnóstico
   ========================================================= */
.priority-lane-bar{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}.lane-filter{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:8px 11px;font-weight:750;font-size:12px}.lane-filter b{min-width:20px;padding:2px 6px;border-radius:999px;background:var(--grey-soft);color:var(--muted);font-size:10px}.lane-filter.active{background:var(--navy);border-color:var(--navy);color:white}.lane-filter.active b{background:rgba(255,255,255,.14);color:white}.lane-filter[data-lane="Dato"]:not(.active){color:var(--purple)}.lane-filter[data-lane="Económico"]:not(.active){color:var(--red)}.lane-filter[data-lane="Operacional"]:not(.active){color:var(--orange)}.lane-filter[data-lane="Flujo"]:not(.active){color:var(--blue)}
.review-task-v11{grid-template-columns:auto minmax(0,1fr) auto auto}.review-lane{width:9px;height:42px;border-radius:99px;background:var(--blue)}.review-lane.dato{background:var(--purple)}.review-lane.económico{background:var(--red)}.review-lane.operacional{background:var(--orange)}.review-lane.flujo{background:var(--blue)}.review-task-main .review-article{font-size:16px;line-height:1.25;font-weight:820;color:var(--text);white-space:normal}.review-task-main .review-code{font-size:11px;color:var(--muted)}.review-task-main .review-why{margin-top:3px}.review-case-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.case-status{font-size:10px;border-radius:999px;padding:4px 7px;background:var(--grey-soft);color:var(--muted);font-weight:800}.case-status.active{background:var(--blue-soft);color:var(--blue)}.case-status.verify{background:var(--purple-soft);color:var(--purple)}.case-status.closed{background:var(--green-soft);color:var(--green)}.review-manage{border:1px solid var(--line);background:var(--surface-soft);color:var(--primary);border-radius:9px;padding:7px 9px;font-weight:800;font-size:11px}

.alert-primary h3{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.alert-primary .article-line{font-size:18px;line-height:1.22;font-weight:840;white-space:normal;color:var(--text)}.alert-primary .article-code-line{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:700}.alert-card{border-left:3px solid transparent}.alert-card.critical{border-left-color:var(--red)}.alert-card.high{border-left-color:var(--orange)}

.inspector-modal{margin:0 0 0 auto;width:min(760px,96vw);max-width:760px;height:100vh;max-height:100vh;border:0;border-radius:18px 0 0 18px;padding:0;background:transparent}.inspector-modal::backdrop{background:rgba(18,33,58,.50);backdrop-filter:blur(3px)}.inspector-modal .detail-modal-card{width:100%;max-width:none;height:100vh;max-height:100vh;border-radius:18px 0 0 18px;margin:0;overflow:auto;padding:22px;background:var(--surface);border:0;border-left:1px solid var(--border);box-shadow:-22px 0 55px rgba(16,24,40,.24)}.inspector-modal .detail-dialog-header h2{font-size:24px;line-height:1.18;margin-bottom:5px}.detail-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);position:sticky;top:-22px;z-index:2;background:var(--surface);padding:10px 0 8px;margin:0 0 12px}.detail-tab{border:0;background:transparent;color:var(--muted);border-radius:8px;padding:8px 10px;font-size:12px;font-weight:800}.detail-tab.active{background:var(--blue-soft);color:var(--blue)}.detail-tab-panel{display:none}.detail-tab-panel.active{display:grid;gap:12px}.alert-detail-actions-top{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.watch-button{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:7px 10px;font-weight:800;color:var(--muted)}.watch-button.active{background:var(--orange-soft);color:var(--orange);border-color:#f2d7b6}

.hypothesis-list{display:grid;gap:7px;margin:12px 0}.hypothesis-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:10px;background:var(--surface-soft)}.hypothesis-item strong{display:block;font-size:12px}.hypothesis-item span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.hypothesis-item button{border:0;background:var(--blue-soft);color:var(--blue);border-radius:7px;padding:5px 7px;font-weight:800;font-size:10px}.case-editor-card{max-width:820px}.case-summary-card{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:12px;padding:11px 12px;background:var(--surface-soft)}.case-summary-card strong,.case-summary-card span{display:block}.case-summary-card span{font-size:11px;color:var(--muted);margin-top:3px}

.close-hero{border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--navy),#24466f);color:white;padding:20px 22px;display:flex;justify-content:space-between;gap:18px;align-items:center;margin:16px 0}.close-hero strong{font-size:24px}.close-hero span{display:block;color:#c9d5e5;margin-top:4px}.close-hero.ready{background:linear-gradient(135deg,#075f48,#0f8262)}.close-hero.blocked{background:linear-gradient(135deg,#8f2018,#b42318)}.close-checklist{display:grid;gap:8px}.close-check{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:11px}.close-check .check-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-weight:900;background:var(--green-soft);color:var(--green)}.close-check.pending .check-icon{background:var(--orange-soft);color:var(--orange)}.close-check.blocker .check-icon{background:var(--red-soft);color:var(--red)}.close-check small{display:block;color:var(--muted);margin-top:2px}.quality-summary{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;align-items:center}.quality-score{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--score)*1%),var(--grey-soft) 0);position:relative}.quality-score::after{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--surface)}.quality-score strong{position:relative;z-index:1;font-size:26px}.quality-score span{position:absolute;z-index:1;margin-top:40px;font-size:10px;color:var(--muted)}.quality-issues{display:grid;gap:6px}.quality-issue{font-size:11px;color:var(--muted);padding-left:13px;position:relative}.quality-issue::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);position:absolute;left:0;top:5px}.quality-centers{display:grid;gap:7px;margin-top:13px}.quality-center{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:11px}.quality-center span{color:var(--muted)}.case-list{display:grid;gap:7px}.case-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.case-list-row:last-child{border-bottom:0}.case-list-row strong,.case-list-row span{display:block}.case-list-row span{color:var(--muted);font-size:11px;margin-top:2px}

.watchlist-panel{display:grid;gap:8px}.watch-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)}.watch-row:last-child{border-bottom:0}.watch-row strong,.watch-row span{display:block}.watch-row span{font-size:11px;color:var(--muted);margin-top:2px}.watch-side{text-align:right}.watch-side strong{font-size:12px}

.price-target-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:800}.price-target-badge.over{background:var(--red-soft);color:var(--red)}.price-target-action{border:0;background:transparent;color:var(--blue);font-weight:800;font-size:10px;padding:2px 0}

@media(max-width:720px){.priority-lane-bar{display:grid;grid-template-columns:1fr 1fr}.review-task-v11{grid-template-columns:auto minmax(0,1fr)}.review-task-v11 .review-task-side{grid-column:2}.review-task-v11 .review-manage{grid-column:2;justify-self:start}.inspector-modal{width:100vw;max-width:100vw;border-radius:0}.inspector-modal .detail-modal-card{border-radius:0}.quality-summary{grid-template-columns:1fr}.quality-score{margin:auto}.close-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.priority-lane-bar{grid-template-columns:1fr}.alert-primary .article-line{font-size:16px}.detail-tabs{overflow-x:auto}.detail-tab{white-space:nowrap}.close-check{grid-template-columns:auto minmax(0,1fr)}.close-check>strong:last-child{grid-column:2}}
.compact-trend{height:210px}.direction-causes-head{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}

/* V11.0 - Alertas 2.0, expedientes, calidad y cierre */
.alert-card-v11{position:relative;border-left-width:4px}.alert-card-v11 .alert-type-kicker{font-size:11px;font-weight:750;letter-spacing:.035em;text-transform:uppercase;color:var(--muted,#667085)}.alert-primary-v11{min-width:260px}.alert-article-title{font-size:19px!important;line-height:1.2;margin:2px 0 3px!important;color:var(--text,#172033);font-weight:780!important}.article-code-line{font-size:12px!important;font-weight:650;color:#667085}.alert-card-footer{display:flex;justify-content:space-between;gap:16px;padding:8px 14px 11px;border-top:1px solid #eef1f5;color:#667085;font-size:11px}.alert-article-group-v11>summary{padding:15px 18px;align-items:center;background:#fff}.group-article-identity{display:grid;gap:2px;min-width:0}.group-article-identity strong{font-size:18px;color:#172033;line-height:1.2}.group-article-identity small{font-weight:650;color:#667085}.group-article-identity>span:last-child{font-size:12px;color:#667085}.group-impact{text-align:right;display:grid;justify-items:end;gap:2px;min-width:130px}.group-impact small,.group-impact span{font-size:11px;color:#667085}.group-impact b{font-size:18px;color:#172033}.group-impact b.red{color:#b42318}.alert-group-list{background:#f8f9fb;padding:10px}.alert-group-list .alert-card{box-shadow:none;background:#fff}
.inspector-modal .detail-modal-card{width:min(780px,94vw);max-width:780px}.inspector-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid #e4e7ec;padding-top:12px;z-index:3}.detail-tabbar{display:flex;gap:4px;position:sticky;top:0;background:#fff;z-index:2;padding:4px 0 10px;border-bottom:1px solid #eaecf0}.detail-tab{appearance:none;border:0;background:transparent;padding:8px 11px;border-radius:8px;font-weight:700;color:#667085;cursor:pointer}.detail-tab:hover{background:#f5f7fa;color:#172033}.detail-tab.active{background:#eef3f9;color:#203b67}.detail-tabpane{display:none;padding-top:14px}.detail-tabpane.active{display:block}.v11-summary .alert-detail-stat strong{font-size:21px}.diagnosis-case-card{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid #d7dce5;background:#f9fafb;border-radius:13px;padding:15px;margin:0 0 14px}.diagnosis-case-card.has-case{border-color:#b7d9c8;background:#f5fbf8}.diagnosis-case-card h3{margin:3px 0 4px}.diagnosis-case-card p{margin:0;color:#667085}.section-help{color:#667085;font-size:12px}.hypothesis-list{display:grid;gap:8px}.hypothesis-card{display:grid;grid-template-columns:26px 1fr;gap:10px;text-align:left;border:1px solid #e4e7ec;background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer;color:#172033}.hypothesis-card>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eef3f9;color:#203b67;font-size:11px;font-weight:800}.hypothesis-card strong{font-size:13px}.hypothesis-card p{font-size:12px;color:#667085;margin:3px 0 0}.hypothesis-card:hover,.hypothesis-card.selected{border-color:#8aa6c9;background:#f7faff}.watch-action.active{border-color:#d96f27;background:#fff7ef;color:#a34f17}.article-hero-v11,.supplier-hero-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.supplier-hero-actions{align-items:center}
.price-target-status{display:grid;gap:2px}.price-target-status b{font-size:12px}.price-target-status small{font-size:10px;color:#667085}.price-target-status.outside b,.price-target-status.outside small{color:#b42318}.price-target-status.inside b{color:#067647}.muted{color:#98a2b3;font-size:12px}
.close-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #d9dee8;background:linear-gradient(135deg,#fff,#f5f8fc);border-radius:16px;padding:20px 22px;margin-bottom:16px}.close-hero h2{font-size:25px;margin:3px 0 5px}.close-hero p{margin:0;color:#667085}.close-confidence{display:grid;text-align:right}.close-confidence span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#667085;font-weight:700}.close-confidence strong{font-size:25px;color:#172033}.close-confidence small{color:#667085}.close-checklist{display:grid;gap:7px}.close-check{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;border:1px solid #e4e7ec;border-radius:10px;padding:10px 11px}.close-check-icon{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#eef2f6;color:#667085}.close-check.ok .close-check-icon{background:#ecfdf3;color:#067647}.close-check.blocker .close-check-icon{background:#fee4e2;color:#b42318}.close-check.warning .close-check-icon{background:#fffaeb;color:#b54708}.close-check strong{font-size:12px}.close-check p{font-size:11px;color:#667085;margin:2px 0 0}.quality-summary{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}.quality-score{display:flex;align-items:baseline}.quality-score strong{font-size:38px;color:#172033}.quality-score span{font-size:13px;color:#667085}.quality-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px}.quality-facts span{font-size:11px;color:#667085}.quality-facts b{color:#172033}.quality-issue{grid-column:1/-1;border-radius:8px;padding:7px 9px;font-size:11px}.quality-issue.warning{background:#fffaeb;color:#92400e}.quality-issue.blocker{background:#fee4e2;color:#991b1b}.quality-centers{margin-top:13px;display:grid;gap:7px}.quality-center{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eef1f5;padding-top:8px}.quality-center>div{display:grid}.quality-center small,.quality-center span{font-size:10px;color:#667085}.quality-center>div:last-child{text-align:right}.case-list{display:grid;gap:7px}.case-row{width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;border:1px solid #e4e7ec;background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer}.case-row:hover{border-color:#a9bad1}.case-row>span:first-child{display:grid;gap:2px}.case-row strong{font-size:12px}.case-row small{font-size:10px;color:#667085}.case-status{align-self:center;font-size:10px;font-weight:700;color:#203b67;background:#eef3f9;border-radius:999px;padding:5px 8px}.case-status.overdue{background:#fee4e2;color:#b42318}.case-status.active{background:#eff8ff;color:#175cd3}.case-status.verify{background:#fffaeb;color:#b54708}.case-status.closed{background:#ecfdf3;color:#067647}
.review-task-v11 .review-article{font-size:15px}.review-task-v11 .review-code{font-weight:650}.review-why{display:block;margin-top:4px;color:#667085}.review-case-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.review-manage{border:1px solid #d0d5dd;background:#fff;color:#344054;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:700;cursor:pointer}.review-manage:hover{border-color:#899bb2;background:#f8fafc}.review-lane.económico{background:#b42318}.review-lane.dato{background:#6941c6}.review-lane.operacional{background:#b54708}.review-lane.flujo{background:#175cd3}
@media(max-width:760px){.alert-card-footer,.article-hero-v11,.close-hero{align-items:flex-start;flex-direction:column}.group-impact{text-align:left;justify-items:start}.alert-article-group-v11>summary{align-items:flex-start}.inspector-modal .detail-modal-card{width:100vw;max-width:none}.detail-tabbar{overflow-x:auto}.diagnosis-case-card{align-items:flex-start;flex-direction:column}.quality-summary{grid-template-columns:1fr}.quality-facts{grid-template-columns:1fr 1fr}.quality-center{flex-direction:column}.quality-center>div:last-child{text-align:left}.case-row{flex-direction:column}.supplier-hero-actions{align-items:flex-start;flex-direction:column}.alert-article-title{font-size:17px!important}}

/* V11 · Memoria operacional del Artículo 360º */
.operational-memory{display:grid;gap:10px}.operational-memory-row{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:14px;align-items:start;padding:13px 14px;border:1px solid var(--line,#e4e7ec);border-radius:12px;background:#fff}.memory-period{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.memory-main{display:grid;gap:4px;min-width:0}.memory-main>strong{color:var(--text,#172033);font-size:14px}.memory-main>span,.memory-main>small{color:var(--muted,#667085);line-height:1.4}.memory-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;color:var(--muted,#667085);font-size:12px;white-space:nowrap}.section-hint{margin:-2px 0 12px;color:var(--muted,#667085);font-size:13px}@media(max-width:760px){.operational-memory-row{grid-template-columns:1fr}.memory-period{flex-direction:row;align-items:center}.memory-meta{align-items:flex-start;white-space:normal}}

/* V11 · contraste específico del estado de cierre sobre fondos semánticos */
.close-hero.blocked,.close-hero.ready{color:#fff}.close-hero.blocked p,.close-hero.ready p,.close-hero.blocked .close-confidence span,.close-hero.ready .close-confidence span,.close-hero.blocked .close-confidence small,.close-hero.ready .close-confidence small{color:rgba(255,255,255,.82)}.close-hero.blocked .close-confidence strong,.close-hero.ready .close-confidence strong{color:#fff}

/* V11.0.2 - validación rápida de alertas */
/* V11.1 - maestros y parámetros configurables */
.quick-validate-bar{margin:0 15px 14px;padding:11px 12px;border:1px solid #cce8da;border-radius:12px;background:#f4fbf7;display:grid;grid-template-columns:minmax(165px,.7fr) minmax(220px,1fr) auto;gap:10px;align-items:center}.quick-validate-copy{display:grid;gap:2px}.quick-validate-copy strong{font-size:12px;color:#067647}.quick-validate-copy span{font-size:11px;color:#667085}.quick-validate-cause{width:100%;min-height:38px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033;padding:8px 34px 8px 10px;font:inherit;font-size:12px}.quick-validate-cause:focus{outline:3px solid rgba(23,92,211,.16);border-color:#175cd3}.quick-validate-bar .button{white-space:nowrap}.detail-quick-validate{margin:12px 0 16px}.quick-validate-alert:disabled{opacity:.68;cursor:wait}
@media(max-width:820px){.quick-validate-bar{grid-template-columns:1fr}.quick-validate-bar .button{width:100%}}

/* V11.1 · Centro de maestros y parámetros */
.master-panel{margin-bottom:16px}.settings-groups{display:grid;gap:14px;margin:18px 0}.setting-group{border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.setting-group-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;background:var(--surface-2);border-bottom:1px solid var(--border)}.setting-group-head h3{margin:0;font-size:14px}.setting-group-head span{font-size:11px;color:var(--muted);font-weight:700}.setting-group .settings-grid{margin:0;padding:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.setting-switch{grid-template-columns:1fr auto;align-items:center}.setting-switch>span{font-size:12px;font-weight:750}.setting-switch input[type="checkbox"]{width:19px;height:19px;accent-color:var(--primary)}.setting-switch small{grid-column:1/-1}.resolution-master-card{width:min(760px,94vw);max-width:760px}.master-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.master-scope-grid fieldset{margin:0;padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.master-scope-grid legend{padding:0 5px;font-size:11px;font-weight:800;color:var(--muted)}.master-scope-grid .switch-row{padding:4px 0;justify-content:flex-start;gap:8px}.master-scope-grid .control{margin-top:5px}.quick-validate-comment{width:100%;min-height:38px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033;padding:8px 10px;font:inherit;font-size:12px}.quick-validate-comment:focus{outline:3px solid rgba(23,92,211,.16);border-color:#175cd3}.quick-validate-comment[hidden]{display:none}.quick-validate-bar:has(.quick-validate-comment:not([hidden])){grid-template-columns:minmax(165px,.65fr) minmax(190px,.85fr) minmax(190px,1fr) auto}
@media(max-width:1000px){.setting-group .settings-grid{grid-template-columns:1fr 1fr}.master-scope-grid{grid-template-columns:1fr}}
@media(max-width:620px){.setting-group .settings-grid{grid-template-columns:1fr}.setting-group-head{align-items:flex-start;flex-direction:column}.quick-validate-bar:has(.quick-validate-comment:not([hidden])){grid-template-columns:1fr}}

/* V11.1 · Inspector con cierre fiable al pulsar fuera del panel */
.inspector-modal{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100vh;max-height:none;border-radius:0;overflow:hidden;background:transparent;box-shadow:none}
.inspector-modal .detail-modal-card{width:min(760px,96vw);max-width:760px;margin:0 0 0 auto}
.settings-panel{max-width:1160px}
@media(max-width:760px){.inspector-modal .detail-modal-card{width:100vw;max-width:none}}

/* V11.1.1 · Resumen adaptativo de alertas */
.adaptive-alert-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:10px}
.adaptive-alert-summary .alert-detail-stat{min-width:0}
.adaptive-alert-summary .alert-detail-stat small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.value-story-card{border:1px solid #d7e0eb;background:#f8fafc;border-radius:13px;padding:13px 14px;margin:0 0 12px;overflow:hidden}
.value-story-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.value-story-head h3{font-size:14px;margin:2px 0 0;color:var(--text)}
.story-impact{font-size:11px;font-weight:800;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 8px;white-space:nowrap}
.story-impact.up{color:#b42318;background:#fff6f5;border-color:#f2c9c4}.story-impact.down{color:#067647;background:#f0fdf8;border-color:#b7e4d1}
.value-story-track{display:flex;align-items:stretch;gap:7px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin}
.value-story-point{flex:1 0 118px;min-width:118px;border:1px solid #e1e7ef;background:#fff;border-radius:10px;padding:9px 10px;display:grid;align-content:start;gap:3px;position:relative}
.value-story-point.reference{border-color:#cbd5e1;background:#fff}.value-story-point.current{border-color:#91b3db;background:#f5f9ff}
.value-story-point>span{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.value-story-point>strong{font-size:16px;line-height:1.15;color:var(--text)}
.value-story-point>small{font-size:10px;line-height:1.25;color:var(--muted);overflow-wrap:anywhere}
.value-story-arrow{align-self:center;color:#98a2b3;font-size:16px;font-weight:800;flex:0 0 auto}
.value-story-note{margin:6px 0 0;color:var(--muted);font-size:10px}
@media(max-width:760px){.adaptive-alert-summary{grid-template-columns:1fr 1fr}.value-story-head{align-items:flex-start;flex-direction:column}.value-story-track{display:grid;grid-template-columns:1fr;overflow:visible}.value-story-point{min-width:0}.value-story-arrow{transform:rotate(90deg);justify-self:center;height:12px;line-height:12px}.story-impact{white-space:normal}}


/* V11.1.1: en móvil las acciones del Inspector siguen el flujo y no tapan la lectura rápida. */
@media(max-width:760px){.inspector-actions{position:static}}

/* ========================================================================== */
/* V12 · Identidad Puerto Antilla, navegación y configuración versionada      */
/* ========================================================================== */
:root {
  --brand-gold: #fea80f;
  --brand-gold-deep: #d98900;
  --brand-gold-soft: #fff6e6;
  --brand-taupe: #ac9999;
  --brand-taupe-deep: #4a4041;
  --brand-taupe-soft: #f3eeee;
  --bg: #f7f4f1;
  --surface: #ffffff;
  --surface-2: #fbf9f7;
  --surface-soft: #faf7f4;
  --text: #2f2a2b;
  --muted: #756b6c;
  --border: #e7dfdc;
  --line: #e7dfdc;
  --shadow: 0 10px 28px rgba(75, 61, 62, .065);
  --navy: #403738;
  --primary: #4a4041;
  --brand-accent: var(--brand-gold);
}
body { background: var(--bg); }
.icon-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.nav-icon,.button-icon { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

/* Marca */
.sidebar { background: linear-gradient(180deg,#403738 0%,#352f30 100%); padding-top:14px; }
.corporate-brand { display:grid; justify-items:center; gap:5px; padding:7px 6px 17px; border-bottom-color:rgba(255,255,255,.12); }
.corporate-brand img { width:154px; height:105px; object-fit:contain; padding:8px; border-radius:15px; background:#fff; box-shadow:0 8px 22px rgba(0,0,0,.12); }
.corporate-brand > span { color:#f2e9e6; font-size:11px; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.corporate-auth-brand { display:grid; justify-items:center; text-align:center; gap:8px; }
.corporate-auth-brand img { width:min(260px,72vw); height:170px; object-fit:contain; }
.corporate-auth-brand strong { font-size:17px; color:var(--text); }
.corporate-auth-brand span { color:var(--muted); }
.auth-gate { background: radial-gradient(circle at 18% 0%, rgba(254,168,15,.12), transparent 35%), radial-gradient(circle at 90% 90%, rgba(172,153,153,.18), transparent 38%), var(--bg); }
.auth-card { box-shadow:0 28px 80px rgba(64,55,56,.14); border-color:var(--border); }

/* Navegación principal reducida */
.nav { gap:8px; padding:12px 0; overflow:auto; scrollbar-width:thin; }
.nav-section-label { color:rgba(255,255,255,.50); padding:10px 13px 5px; }
.nav-item { color:#ddd1cf; border-radius:11px; padding:10px 11px; grid-template-columns:26px 1fr auto; }
.nav-item:hover { background:rgba(255,255,255,.075); color:#fff; }
.nav-item.active { background:rgba(254,168,15,.14); color:#fff; box-shadow:inset 3px 0 var(--brand-gold); }
.nav-item.active .nav-icon { color:var(--brand-gold); }
.nav-count { background:var(--brand-gold); color:#342d2d; font-weight:850; }
.nav-disclosure { border-top:1px solid rgba(255,255,255,.09); border-bottom:1px solid rgba(255,255,255,.09); padding:3px 0; }
.nav-disclosure summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 13px 6px; color:rgba(255,255,255,.55); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; cursor:pointer; }
.nav-disclosure summary::-webkit-details-marker { display:none; }
.nav-disclosure summary svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; transition:transform .16s ease; }
.nav-disclosure[open] summary svg { transform:rotate(180deg); }
.nav-disclosure .nav-group { display:grid; gap:3px; }
.nav-admin { margin-top:2px; }
.sidebar-footer { color:#e2d8d6; }.sidebar-footer small{color:#aa9d9c}.health-dot{background:#45b486;box-shadow:0 0 0 5px rgba(69,180,134,.15)}
.sidebar-compact .corporate-brand img { width:48px; height:48px; padding:4px; border-radius:11px; }
.sidebar-compact .corporate-brand > span,.sidebar-compact .nav-disclosure summary span,.sidebar-compact .nav-disclosure summary svg { display:none; }
.sidebar-compact .nav-disclosure summary { height:9px; padding:4px; cursor:default; }
.sidebar-compact .nav-item { grid-template-columns:1fr; }

/* Acciones corporativas: dorado = marca, nunca estado */
.button.primary { background:var(--brand-gold); color:#342d2d; border-color:#e79b0c; box-shadow:0 4px 12px rgba(254,168,15,.16); }
.button.primary:hover { background:#f6a20c; filter:none; }
.link-button { color:#735f52; }
.metric-card::before { background:var(--metric-color,var(--brand-taupe)); }
.metric-card:not(.blue):not(.purple):not(.green):not(.orange):not(.red) { --metric-color:var(--brand-gold); }

/* Cabecera contextual del periodo */
.main { padding-left:26px; padding-right:26px; }
.topbar { min-height:124px; flex-wrap:wrap; align-content:center; row-gap:7px; padding:11px 0 9px; background:rgba(247,244,241,.94); border-bottom-color:rgba(202,188,184,.55); }
.top-controls { align-items:center; }
.user-menu-button { cursor:pointer; color:var(--text); text-align:left; }
.user-menu-button:hover { border-color:#d3c4c1; box-shadow:0 4px 12px rgba(76,62,63,.06); }
.user-avatar { background:var(--brand-gold-soft); color:#7a5200; }
.period-context { flex:0 0 100%; display:flex; align-items:stretch; gap:8px; min-width:0; }
.period-selector { min-width:150px; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:8px; padding:7px 10px; border-radius:11px; background:#fff; border:1px solid var(--border); }
.period-selector span { color:var(--muted); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.period-selector select { min-width:92px; border:0; background:transparent; color:var(--text); font-weight:800; outline:none; }
.context-pill { min-width:118px; display:grid; grid-template-columns:auto auto; align-items:center; justify-content:space-between; gap:10px; padding:7px 11px; border:1px solid var(--border); background:rgba(255,255,255,.84); border-radius:11px; color:var(--text); }
.context-pill span { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.context-pill strong { font-size:12px; white-space:nowrap; }
.context-pill:hover { border-color:#cfbdb9; background:#fff; }
.context-pill.good strong { color:var(--green); }.context-pill.warn strong { color:var(--orange); }.context-pill.bad strong { color:var(--red); }

/* Tarjetas y superficies más cálidas */
.panel,.metric-card,.user-menu,.control input,.control select,.control textarea { border-color:var(--border); }
.panel,.metric-card { box-shadow:var(--shadow); }
.eyebrow { color:#8a7775; }
.pareto-fill { background:linear-gradient(90deg,var(--brand-gold-deep),var(--brand-gold)); }
.rank-number { background:var(--brand-gold-soft); color:#805700; }

/* Gestión: navegación secundaria vertical y no diez tabs horizontales */
#page-gestion.active { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:start; gap:18px; padding-top:18px; }
.management-nav { position:sticky; top:144px; display:grid; align-content:start; gap:7px; width:100%; max-height:calc(100vh - 164px); overflow:auto; padding:11px; border:1px solid var(--border); border-radius:15px; background:rgba(255,255,255,.78); box-shadow:var(--shadow); }
.management-group { display:grid; gap:3px; padding:5px 0 9px; border-bottom:1px solid var(--border); }
.management-group:last-child { border-bottom:0; }
.management-group > span { padding:4px 8px; color:#8a7775; font-size:10px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.management-nav .tab { width:100%; border:0; border-radius:9px; padding:9px 10px; background:transparent; color:var(--muted); text-align:left; font-size:12px; font-weight:750; }
.management-nav .tab:hover { background:var(--surface-2); color:var(--text); }
.management-nav .tab.active { background:var(--brand-gold-soft); color:#6f4c00; box-shadow:inset 3px 0 var(--brand-gold); }
#page-gestion > .tab-content { grid-column:2; min-width:0; margin:0; }
.configuration-hero { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:14px; background:linear-gradient(135deg,#fff 35%,var(--brand-gold-soft)); }
.configuration-version-badge { min-width:150px; text-align:right; }.configuration-version-badge span,.configuration-version-badge strong{display:block}.configuration-version-badge span{font-size:11px;color:var(--muted)}.configuration-version-badge strong{font-size:25px;color:#7a5200;margin-top:4px}
.configuration-publish-grid { display:grid; grid-template-columns:180px minmax(240px,1fr) auto; gap:12px; align-items:end; margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
.configuration-actions { display:flex; gap:8px; }
.configuration-simulation { margin-top:14px; padding:14px; border:1px solid #f0cf8a; background:var(--brand-gold-soft); border-radius:13px; }
.configuration-simulation-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:10px; }
.simulation-card { padding:11px; background:rgba(255,255,255,.82); border:1px solid rgba(211,187,137,.55); border-radius:11px; }.simulation-card span,.simulation-card strong{display:block}.simulation-card span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.simulation-card strong{font-size:18px;margin-top:4px}.simulation-delta{font-size:11px!important;margin-top:4px;color:var(--muted)}
.configuration-history { display:grid; gap:9px; }.config-version-row{display:grid;grid-template-columns:78px 150px 1fr auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.config-version-row strong,.config-version-row span,.config-version-row small{display:block}.config-version-row small{color:var(--muted);margin-top:2px}.config-version-number{font-size:18px;color:#765200}.config-version-changes{color:var(--muted);font-size:12px}

/* Preferencias personales */
.preferences-card { width:min(600px,94vw); }
.preferences-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px; }
.preferences-grid .switch-row { min-height:48px; }
.modal-help { color:var(--muted); }
body.table-compact table td,body.table-compact table th { padding-top:7px; padding-bottom:7px; }

/* Dirección e Inicio: identidad visual contenida */
#page-inicio .executive-attention,#page-direccion .executive-grid > .panel:first-child { border-top:3px solid var(--brand-gold); }
#overviewChart,#directionTrendConsumption,#directionTrendCost { border-radius:12px; }

@media (max-width: 1120px) {
  .period-context { overflow-x:auto; padding-bottom:2px; }
  .context-pill { flex:0 0 auto; }
  #page-gestion.active { grid-template-columns:190px minmax(0,1fr); }
  .configuration-publish-grid { grid-template-columns:1fr 1fr; }.configuration-actions{grid-column:1/-1;}
}
@media (max-width: 850px) {
  .topbar { min-height:112px; }.top-controls .search-trigger kbd{display:none}.top-controls .search-trigger span{display:none}
  #page-gestion.active { display:block; padding-top:12px; }
  .management-nav { position:static; display:flex; overflow-x:auto; max-height:none; margin-bottom:14px; padding:8px; }
  .management-group { display:flex; flex:0 0 auto; border-bottom:0; border-right:1px solid var(--border); padding:0 8px; }
  .management-group > span { display:none; }
  .management-nav .tab { width:auto; white-space:nowrap; }
  #page-gestion > .tab-content { margin:0; }
  .configuration-simulation-grid { grid-template-columns:1fr; }
  .config-version-row { grid-template-columns:64px 1fr; }.config-version-row > :nth-child(3),.config-version-row > :nth-child(4){grid-column:2;}
}
@media (max-width: 620px) {
  .main { padding-left:12px; padding-right:12px; }
  .topbar { padding-top:8px; }
  .period-context { gap:6px; }
  .period-selector { min-width:132px; }.context-pill{min-width:106px;padding:7px 9px;}
  .corporate-brand img { width:142px; }
  .configuration-hero { align-items:flex-start; }.configuration-version-badge{min-width:90px;}
  .configuration-publish-grid,.preferences-grid { grid-template-columns:1fr; }.configuration-actions{grid-column:auto;display:grid;}
}


/* V12.0 · compatibilidad con los componentes dinámicos de Configuración */
.simulation-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:10px; }
.simulation-metrics > div { padding:11px; background:rgba(255,255,255,.84); border:1px solid rgba(211,187,137,.55); border-radius:11px; }
.simulation-metrics span,.simulation-metrics strong,.simulation-metrics small { display:block; }
.simulation-metrics span { color:var(--muted); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.simulation-metrics strong { margin-top:4px; color:var(--text); font-size:18px; }
.simulation-metrics small { margin-top:3px; color:var(--muted); }
.simulation-change-count { margin-top:9px; font-weight:800; color:#765200; }
.configuration-history-item { display:grid; grid-template-columns:minmax(170px,.35fr) minmax(0,1fr); gap:16px; align-items:start; padding:12px 13px; border:1px solid var(--border); border-radius:12px; background:var(--surface-2); }
.configuration-history-item > div:first-child { display:grid; grid-template-columns:auto 1fr; gap:4px 8px; align-items:center; }
.configuration-history-item > div:first-child small { grid-column:1/-1; color:var(--muted); }
.configuration-history-change { color:var(--muted); font-size:11px; line-height:1.55; }
.configuration-history-change b { color:var(--text); }
.configuration-history-change p { margin:6px 0 0; color:#725f5d; }
.search-modal-input > svg { width:18px; height:18px; fill:none; stroke:var(--brand-taupe-deep); stroke-width:2; }
@media (max-width:850px){.simulation-metrics{grid-template-columns:1fr}.configuration-history-item{grid-template-columns:1fr}}
/* V12 · ajuste final móvil: el periodo debe leerse completo aunque la barra contextual desplace. */
@media (max-width:620px){
  .period-selector{min-width:150px;flex:0 0 150px;}
}
@media (max-width:620px){
  .period-selector{min-width:174px;flex-basis:174px;}
}
@media (max-width:620px){
  .period-selector{min-width:190px;flex-basis:190px;}
}
