:root { --tinta:#0b2545; --acento:#1a73e8; --acento-osc:#1558b0; --turq:#2ee6c5; --fondo:#f3f7fb; --borde:#d5e2f0; --suave:#5b6b7e; --error:#b42318; --ok:#067647; --aviso:#b54708; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; background:var(--fondo); color:var(--tinta); line-height:1.45; }
header.barra { background:var(--tinta); color:#fff; padding:12px 20px; display:flex; align-items:center; gap:16px; }
header.barra a { color:#fff; text-decoration:none; }
header.barra .marca { font-weight:700; font-size:1.15rem; letter-spacing:.2px; }
header.barra .marca span { color:#2ee6c5; }
header.barra nav { margin-left:auto; display:flex; gap:14px; align-items:center; font-size:.92rem; }
header.barra button { background:transparent; border:1px solid #ffffff55; color:#fff; border-radius:6px; padding:5px 12px; cursor:pointer; }
main { max-width:960px; margin:24px auto; padding:0 16px; }
main.angosto { max-width:460px; }
.tarjeta { background:#fff; border:1px solid var(--borde); border-radius:12px; padding:20px; margin-bottom:16px; }
h1 { font-size:1.5rem; margin:0 0 8px; } h2 { font-size:1.15rem; margin:0 0 10px; } h3 { font-size:1rem; margin:0 0 6px; }
.suave { color:var(--suave); font-size:.9rem; }
label { display:block; font-weight:600; font-size:.9rem; margin:12px 0 4px; }
input, select { width:100%; padding:10px 12px; border:1px solid var(--borde); border-radius:8px; font-size:1rem; background:#fff; color:var(--tinta); }
input:focus, select:focus { outline:2px solid var(--acento); border-color:var(--acento); }
input[type=checkbox] { width:auto; margin-right:8px; }
.casilla { display:flex; align-items:flex-start; font-weight:400; margin-top:14px; }
button.principal, a.boton { display:inline-block; background:var(--acento); color:#fff; border:0; border-radius:8px; padding:11px 18px; font-size:1rem; font-weight:600; cursor:pointer; text-decoration:none; }
button.principal:hover, a.boton:hover { background:var(--acento-osc); }
button.principal:disabled { opacity:.6; cursor:wait; }
button.sec { background:#fff; color:var(--tinta); border:1px solid var(--borde); border-radius:8px; padding:8px 14px; cursor:pointer; font-size:.92rem; }
button.sec:hover { border-color:var(--acento); }
.ancho { width:100%; margin-top:16px; }
.msg { margin-top:12px; padding:10px 12px; border-radius:8px; font-size:.92rem; display:none; }
.msg.error { display:block; background:#fef3f2; color:var(--error); }
.msg.ok { display:block; background:#ecfdf3; color:var(--ok); }
.fila { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.fila > .crece { flex:1; min-width:200px; }
.insignia { display:inline-block; padding:2px 10px; border-radius:999px; font-size:.78rem; font-weight:700; }
.PRUEBA { background:#eff8ff; color:#175cd3; } .ACTIVA, .APROBADO { background:#ecfdf3; color:var(--ok); }
.SUSPENDIDA, .RECHAZADO, .CANCELADA, .VENCIDO { background:#fef3f2; color:var(--error); } .PENDIENTE { background:#fffaeb; color:var(--aviso); }
table { width:100%; border-collapse:collapse; font-size:.9rem; }
th, td { text-align:left; padding:8px 6px; border-bottom:1px solid var(--borde); vertical-align:middle; }
th { color:var(--suave); font-weight:600; font-size:.8rem; text-transform:uppercase; }
.tabla-scroll { overflow-x:auto; }
.kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; margin-bottom:16px; }
.kpi { background:#fff; border:1px solid var(--borde); border-radius:12px; padding:14px; }
.kpi b { display:block; font-size:1.4rem; } .kpi span { color:var(--suave); font-size:.82rem; }
.precio { font-size:1.25rem; font-weight:700; }
.vacio { text-align:center; color:var(--suave); padding:24px; }
dialog { border:0; border-radius:12px; padding:20px; max-width:440px; width:92%; box-shadow:0 10px 40px #0004; }
dialog::backdrop { background:#0006; }
.acciones { display:flex; gap:8px; justify-content:flex-end; margin-top:16px; }
.pestanas { display:flex; gap:6px; margin-bottom:14px; flex-wrap:wrap; }
.pestanas button { background:#fff; border:1px solid var(--borde); border-radius:8px; padding:8px 14px; cursor:pointer; }
.pestanas button.on { background:var(--tinta); color:#fff; border-color:var(--tinta); }
@media (max-width:600px) { header.barra { flex-wrap:wrap; } }

/* Botones de cada tarjeta: todos del mismo tamaño; "Eliminar" discreto a la derecha */
.botones { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:14px; }
.botones > button, .botones > a { box-sizing:border-box; height:40px; padding:0 18px; font-size:.95rem; font-weight:600; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; line-height:1; }
.botones > .sec { font-weight:500; }
.botones > .eliminar { margin-left:auto; border-color:transparent; background:transparent; color:#b3261e; }
.botones > .eliminar:hover { background:#fdecea; border-color:#f3c5c0; }
