
:root{--bg:#DCE8F7;--panel:#F2F7FD;--borde:#8FAFD6;--azul:#2B5C9E;--azul-osc:#1F4E96;--selec:#3399FF;--boton:#CFE0F5;--boton-act:#B7D1F0;
--texto:#16243A;--suave:#4A5F7E;--rojo:#B3261E;--verde:#2E7D32;--blanco:#fff}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--texto);font:15px/1.45 "Segoe UI",Arial,sans-serif}
a{color:var(--azul-osc)}
header.barra{background:linear-gradient(#3A6DB0,var(--azul));color:#fff;display:flex;gap:12px;align-items:center;padding:8px 16px;flex-wrap:wrap}
header.barra img{height:34px;background:#fff;border-radius:6px;padding:2px}
header.barra h1{font-size:18px;margin:0;font-weight:600;flex:1}
header.barra .quien{font-size:13px;opacity:.95}
header.barra a,header.barra button{color:#fff}
main{max-width:1250px;margin:0 auto;padding:16px}
h2{color:var(--azul-osc);margin:.2em 0 .6em}
.tarjeta{background:var(--panel);border:1px solid var(--borde);border-radius:8px;padding:16px;margin-bottom:16px}
.btn,button{display:inline-block;background:var(--boton);color:var(--texto);border:1px solid var(--borde);border-radius:6px;padding:7px 14px;
 font:inherit;cursor:pointer;text-decoration:none;transition:background .12s,transform .05s}
.btn:hover,button:hover,.btn:focus,button:focus{background:var(--boton-act);outline:2px solid var(--selec);outline-offset:1px}
.btn.azul,button.azul{background:var(--azul);color:#fff;border-color:var(--azul-osc)}
.btn.azul:hover,button.azul:hover{background:var(--azul-osc)}
.btn.verde,button.verde{background:var(--verde);color:#fff;border-color:#1B5E20}
.btn.rojo,button.rojo{background:var(--rojo);color:#fff;border-color:#7F1D17}
.btn.naranja,button.naranja{background:#D97706;color:#fff;border-color:#9A5304}
.btn.gris,button.gris{background:#E7ECF3}
.barra-botones{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
form.en-linea{display:inline}
label{display:block;font-weight:600;font-size:13px;color:var(--suave);margin:8px 0 3px}
input[type=text],input[type=password],input[type=number],input[type=date],select,input[type=file]{width:100%;padding:8px 10px;border:1px solid var(--borde);border-radius:6px;
 font:inherit;background:#fff}
input:focus,select:focus{outline:2px solid var(--selec)}
.rejilla{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.rejilla.dos{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.aviso{padding:10px 14px;border-radius:6px;margin:10px 0;border:1px solid}
.aviso.ok{background:#E6F4EA;border-color:#9AD0A5;color:#1B5E20}
.aviso.error{background:#FDECEA;border-color:#F0A8A2;color:var(--rojo)}
.aviso.info{background:#E8F0FE;border-color:#A9C2F0;color:var(--azul-osc)}
.tabla-caja{overflow-x:auto;border:1px solid var(--borde);border-radius:8px;background:#fff}
table{border-collapse:collapse;width:100%;font-size:14px}
th{background:var(--azul);color:#fff;text-align:left;padding:8px 10px;white-space:nowrap;position:sticky;top:0}
th a{color:#fff;text-decoration:none}
td{padding:6px 10px;border-top:1px solid #DDE6F3;white-space:nowrap}
tr:nth-child(even) td{background:var(--panel)}
tr.fila:hover td{background:#CFE4FF;cursor:pointer}
tr.inactivo td{color:var(--rojo)}
td.num,th.num{text-align:right}
.tiles{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:12px}
.tile{display:block;text-decoration:none;color:#fff;border-radius:12px;padding:26px 18px;text-align:center;font-size:20px;font-weight:600;
 box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .1s,box-shadow .1s}
.tile:hover,.tile:focus{transform:translateY(-3px);box-shadow:0 6px 14px rgba(0,0,0,.3);outline:3px solid var(--selec)}
.tile small{display:block;font-weight:400;font-size:13px;margin-top:6px;opacity:.9}
.tile .ico{font-size:40px;display:block;margin-bottom:6px}
.centro{max-width:420px;margin:50px auto}
.label{font-family:"Book Antiqua","Palatino Linotype",serif;font-weight:700;font-size:16px;background:#fff;border:1px dashed var(--borde);border-radius:6px;padding:10px;white-space:pre-wrap}
.calculo{background:#fff;border:1px solid var(--borde);border-radius:6px;padding:8px 10px;font-weight:600;color:var(--azul-osc);min-height:38px}
.foto{max-width:260px;max-height:260px;border:1px solid var(--borde);border-radius:6px;background:#fff}
.radios label{display:inline-flex;gap:6px;align-items:center;margin-right:18px;font-size:15px;color:var(--texto)}
.radios input{width:auto}
footer{text-align:center;color:var(--suave);font:italic 12px "Times New Roman",serif;padding:14px}
.chip{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;background:#E7ECF3}
.chip.ok{background:#E6F4EA;color:#1B5E20}.chip.mal{background:#FDECEA;color:var(--rojo)}
@media (max-width:640px){main{padding:10px}.tile{padding:18px}}
