
:root {
  --sgm-azul:#0f2d52; --sgm-azul-med:#1a4a7a; --sgm-oro:#c9a227;
  --sgm-bg:#eef2f7; --sgm-card:#ffffff; --sgm-error:#dc3545; --sgm-muted:#6c757d; --sgm-success:#198754;
  --g-bajo:#22c55e; --g-medio:#eab308; --g-alto:#f97316; --g-critico:#dc2626;
}
body { background-color: var(--sgm-bg); font-family:'Segoe UI',system-ui,-apple-system,sans-serif; }
.membrete { background:#fff; border-radius:12px; box-shadow:0 4px 15px rgba(15,45,82,.08); border-bottom:3px solid var(--sgm-oro); }
.membrete-logo { width:52px; height:52px; }
.crossnav { background:var(--sgm-azul); border-radius:12px; padding:6px; margin-bottom:18px; box-shadow:0 4px 15px rgba(15,45,82,.15); display:flex; flex-wrap:wrap; align-items:center; gap:2px; }
.crossnav a { color:#c9d6e6; font-weight:600; font-size:.83rem; border-radius:8px; padding:9px 14px; text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
.crossnav a.activo { background:var(--sgm-oro); color:var(--sgm-azul); }
.crossnav a:hover:not(.activo) { background:rgba(255,255,255,.08); color:#fff; }
.crossnav a.volver { margin-left:auto; color:#9fb3cc; }
.kpi-card-sm { background:#fff; border-radius:12px; padding:16px 18px; box-shadow:0 2px 10px rgba(15,45,82,.07); border-left:4px solid var(--sgm-azul-med); height:100%; }
.kpi-card-sm .kpi-num { font-size:1.7rem; font-weight:800; color:var(--sgm-azul); line-height:1; }
.kpi-card-sm .kpi-lbl { font-size:.72rem; color:var(--sgm-muted); text-transform:uppercase; letter-spacing:.4px; font-weight:600; }
.panel-card { background:#fff; border-radius:14px; box-shadow:0 4px 16px rgba(15,45,82,.08); padding:22px; margin-bottom:20px; }
.institucion-pill { font-size:.7rem; font-weight:700; padding:4px 12px; border-radius:20px; background:var(--sgm-azul); color:#fff; text-transform:uppercase; letter-spacing:.4px; }
.gravedad-pill { font-size:.65rem; font-weight:700; padding:3px 10px; border-radius:20px; color:#fff; text-transform:uppercase; }
.gravedad-pill.BAJO { background:var(--g-bajo); } .gravedad-pill.MEDIO { background:var(--g-medio); color:#3a2e00; }
.gravedad-pill.ALTO { background:var(--g-alto); } .gravedad-pill.CRITICO { background:var(--g-critico); }
.estatus-pill { font-size:.65rem; font-weight:700; padding:3px 10px; border-radius:20px; background:#e9ecef; color:#41464b; }
.estatus-pill.RECIBIDO { background:#cfe2ff; color:#084298; } .estatus-pill.EN_REVISION { background:#fff3cd; color:#664d03; }
.estatus-pill.ASIGNADO { background:#e2d9f3; color:#432874; } .estatus-pill.EN_SITIO { background:#ffe5d0; color:#7a3b0a; } .estatus-pill.EN_PROCESO { background:#d1e7dd; color:#0f5132; }
.estatus-pill.ATENDIDO { background:#c3e6cb; color:#0f5132; } .estatus-pill.CERRADO { background:#e9ecef; color:#41464b; }
table.tabla-sgm { font-size:.85rem; } table.tabla-sgm thead th { background:var(--sgm-azul); color:#fff; font-size:.7rem; text-transform:uppercase; letter-spacing:.3px; border:none; }
table.tabla-sgm tbody tr { cursor:pointer; } table.tabla-sgm tbody tr:hover { background:#f0f4fa; }
.selector-institucion { display:flex; gap:10px; flex-wrap:wrap; }
.condicional-parte { display:none; } .condicional-parte.activo { display:block; }
.selector-institucion button { border:2px solid var(--sgm-azul-med); background:#fff; color:var(--sgm-azul-med); border-radius:10px; padding:12px 20px; font-weight:700; }
.selector-institucion button:hover { background:var(--sgm-azul-med); color:#fff; }
.sin-acceso { text-align:center; padding:80px 20px; }
.aviso-restringido { background:#fff8e6; border:1px dashed #e0c46b; border-radius:8px; padding:10px 14px; font-size:.8rem; color:#7a5c00; }
.expediente-col h6 { font-size:.72rem; text-transform:uppercase; letter-spacing:.4px; color:var(--sgm-azul-med); font-weight:700; margin-bottom:8px; }
.historial-item { border-left:3px solid var(--sgm-azul-med); padding:6px 10px; margin-bottom:6px; background:#f8f9fb; border-radius:0 8px 8px 0; font-size:.8rem; }
