/* Alertas y reportes: control interno sin depender de servicios externos. */
.ops-hero{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:25px 27px;border:1px solid rgba(169,123,60,.35);border-radius:14px;background:linear-gradient(135deg,#10283b,#234b60);box-shadow:var(--shadow);color:#fff}.ops-hero h3{margin:0;font:600 28px 'Playfair Display',serif}.ops-hero .eyebrow{color:#dfc48d}.ops-hero .subtle{max-width:62ch;margin:7px 0 0;color:#cbd9df}.ops-hero .primary{background:var(--accent);color:#1b2b37}.ops-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.ops-metric{padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.ops-metric .label{font:500 10px 'DM Mono',monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.ops-metric strong{display:block;margin-top:8px;font:600 25px 'Playfair Display',serif;color:var(--ink)}.ops-metric small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.ops-metric.alert{border-color:#e9c7c2;background:#fffafa}.ops-metric.alert strong{color:#a04642}.ops-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 14px}.ops-filters{display:flex;gap:6px;flex-wrap:wrap}.ops-filter{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-soft);font-size:11px;font-weight:600}.ops-filter.active{border-color:var(--ink);background:var(--ink);color:#fff}.ops-panel{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.ops-head{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:18px 19px 14px;border-bottom:1px solid #ece7de}.ops-head h3{margin:0;font:600 20px 'Playfair Display',serif}.ops-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.ops-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 18px;border-top:1px solid #eeeae3}.ops-row:first-of-type{border-top:0}.ops-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#eaf2f5;color:#2d607b;font-size:14px}.ops-icon.critical{background:#fbeceb;color:#9a3b37}.ops-icon.warning{background:#f4ead9;color:#805b25}.ops-title{font-size:13px;font-weight:700;line-height:1.35}.ops-sub{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}.ops-action{padding:0;border:0;background:transparent;color:var(--blue);font-size:11px;font-weight:700;white-space:nowrap}.ops-empty{padding:38px 20px;color:var(--muted);font-size:13px;text-align:center}.ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.ops-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.ops-card h3{margin:0;font:600 20px 'Playfair Display',serif}.ops-card p{margin:5px 0 15px;color:var(--muted);font-size:12px;line-height:1.45}.ops-bars{display:flex;flex-direction:column;gap:10px}.ops-bar-label{display:flex;justify-content:space-between;gap:8px;color:var(--ink-soft);font-size:11px}.ops-bar-track{height:7px;margin-top:4px;border-radius:999px;background:#edf0ef;overflow:hidden}.ops-bar{height:100%;border-radius:inherit;background:#4d7e99}.ops-bar.accent{background:#c69b57}.ops-bar.alert{background:#bb514b}.ops-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid #ebe7df;font-size:11px;color:var(--muted)}.ops-export{display:flex;gap:8px;flex-wrap:wrap;padding:16px 18px}.ops-export .secondary{font-size:11px}.ops-note{margin-top:17px;padding:13px 15px;border-left:3px solid #c69b57;background:#fffaf3;color:#655842;font-size:12px;line-height:1.5}@media(max-width:1050px){.ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-grid{grid-template-columns:1fr}}@media(max-width:720px){.ops-hero{align-items:stretch;flex-direction:column;padding:21px}.ops-hero .primary{width:100%}.ops-metrics{grid-template-columns:1fr}.ops-toolbar{align-items:stretch;flex-direction:column}.ops-filter{flex:1}.ops-row{grid-template-columns:32px minmax(0,1fr);padding:13px}.ops-action{grid-column:2;text-align:left}.ops-card{padding:16px}}
