*{box-sizing:border-box}
body{margin:0;min-height:100vh;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:#eef2f7;color:#1c2430;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px}
.card{background:#fff;width:100%;max-width:480px;border-radius:14px;box-shadow:0 6px 24px rgba(20,40,80,.08);padding:28px 24px}
.card.ancho{max-width:1200px}
h1{font-size:1.5rem;margin:0 0 6px;color:#0d3b78}
.lead{margin:0 0 20px;color:#5a6677}
.campo{display:block;margin-bottom:14px}
.campo span{display:block;font-weight:600;font-size:.92rem;margin-bottom:5px}
.campo input{width:100%;padding:12px;font-size:1rem;border:1px solid #c9d2de;border-radius:8px;background:#fafcff}
.campo input:focus{outline:none;border-color:#1565c0;box-shadow:0 0 0 3px rgba(21,101,192,.15)}
.campo.error input{border-color:#c62828}
.campo small{color:#c62828;display:block;margin-top:4px}
.btn{display:inline-block;width:100%;padding:14px;font-size:1.05rem;font-weight:700;border:0;border-radius:8px;background:#1565c0;color:#fff;cursor:pointer;text-align:center;text-decoration:none}
.btn:disabled{opacity:.6}
.btn.secundario{background:#e3eaf4;color:#0d3b78;margin-top:8px}
.btn.chico{width:auto;padding:9px 16px;font-size:.92rem}
.alerta{background:#fdecea;color:#8a1c1c;padding:10px 12px;border-radius:8px;margin-bottom:14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.numero{font-size:4rem;font-weight:800;letter-spacing:4px;text-align:center;color:#0d3b78;background:#e8f1fc;border:3px dashed #1565c0;border-radius:12px;padding:12px 0;margin:4px 0 18px}
.datos{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0 0 18px}
.datos dt{font-weight:600;color:#5a6677}
.datos dd{margin:0;word-break:break-word}
.importante{background:#fff8e1;border-left:4px solid #f9a825;padding:12px;border-radius:6px;margin:0 0 14px}
.barra{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px}
.barra form{display:flex;gap:8px;flex:1;min-width:240px}
.barra input[type=search]{flex:1;padding:9px 12px;border:1px solid #c9d2de;border-radius:8px;font-size:.95rem}
.tabla{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{padding:9px 10px;border-bottom:1px solid #e6ebf2;text-align:left;white-space:nowrap}
th{background:#f3f6fa;color:#0d3b78}
.pag{display:flex;gap:6px;justify-content:center;margin-top:16px;flex-wrap:wrap}
.pag a,.pag span{padding:6px 11px;border-radius:6px;background:#e3eaf4;color:#0d3b78;text-decoration:none}
.pag span{background:#1565c0;color:#fff}
.total{color:#5a6677}
html{-webkit-text-size-adjust:100%}
.campo input{font-size:16px;min-height:48px}
.btn{min-height:50px}
@media (max-width:520px){
  body{padding:12px 12px 24px;background:#fff}
  .card{box-shadow:none;padding:16px 4px;border-radius:0}
  h1{font-size:1.35rem}
  .numero{font-size:3.2rem;letter-spacing:2px}
  .datos{grid-template-columns:1fr;gap:0}
  .datos dt{margin-top:8px;font-size:.85rem}
  .barra>div{width:100%}
  .barra .btn.chico{flex:1}
}
.acciones{display:flex;gap:8px}
.acciones form{margin:0}
.btn.chico{min-height:0}
.btn.secundario.chico{margin-top:0}
.vacio{text-align:center;color:#5a6677}
.pie{margin-top:14px;font-size:.82rem;color:#5a6677}
