.titulo{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between}
.titulo h2{overflow-wrap:anywhere;margin:0}
.estado{border-radius:999px;padding:3px 12px;font-size:.84rem;font-weight:700}
.estado.vigente{background:#DCFCE7;color:#15803D}.estado.por_vencer{background:#FEF3E2;color:#B45309}.estado.vencida,.estado.suspendida{background:#FEE2E2;color:#B91C1C}.estado.sin_activar{background:#E3F6FA;color:#0E7490}
.avisos{display:grid;gap:8px;margin:12px 0}
.avisos p{margin:0;padding:11px 13px;border-radius:10px;border-left:4px solid var(--accent);background:#E3F6FA;font-size:.96rem}
.avisos p.warn{border-color:var(--warn);background:#FEF3E2}
.avisos p.bad{border-color:var(--bad);background:#FEE2E2}
.datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
.datos div{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}
.datos span{display:block;font:600 .7rem/1.2 ui-monospace,Consolas,monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.datos b{display:block;overflow-wrap:anywhere}
.barra{height:8px;border-radius:999px;background:var(--line);overflow:hidden;margin:4px 0 16px}
.barra div{height:100%;background:var(--accent);width:0}
.acciones{display:flex;flex-wrap:wrap;gap:10px}
