:root{--pri:#0b5c8a;--pri2:#0a4a70;--fondo:#f3f6f9;--txt:#1d2733;--sub:#5b6b7b;--borde:#dce3ea;
 --verde:#1e8a4c;--rojo:#c0392b;--azul:#1f6fbf;--gris:#6b7785;--radio:10px}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--fondo);color:var(--txt);font-size:15px;line-height:1.5}
a{color:var(--pri)}
.barra{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--pri);color:#fff;padding:12px 28px}
.barra a{color:#fff;text-decoration:none}
.marca{font-weight:bold;font-size:18px;display:flex;align-items:center;gap:10px}
.logo{background:#fff;color:var(--pri);border-radius:8px;padding:3px 7px;font-size:14px}
nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
nav a{opacity:.92}nav a:hover{opacity:1;text-decoration:underline}
.quien{opacity:.75;font-size:14px}
.salir{border:1px solid rgba(255,255,255,.6);padding:4px 12px;border-radius:20px}
.burbuja{background:#ffb703;color:#222;border-radius:10px;padding:0 7px;font-size:12px;font-weight:bold}
main{max-width:1080px;margin:0 auto;padding:28px 20px 40px}
footer{text-align:center;color:var(--sub);font-size:13px;padding:20px}
h1{margin:0 0 6px;font-size:26px}h2{margin:0 0 6px}h3{margin-top:0}
.sub{color:var(--sub);margin:0 0 20px}
.miga{color:var(--sub);font-size:13px;margin:0 0 8px}
.tarjeta{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:22px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.btn{display:inline-block;background:var(--pri);color:#fff;border:0;border-radius:8px;padding:10px 18px;font-size:15px;cursor:pointer;text-decoration:none;font-family:inherit}
.btn:hover{background:var(--pri2)}
.btn.secundario{background:#fff;color:var(--pri);border:1px solid var(--pri)}
label{display:block;margin:0 0 14px;font-weight:bold;font-size:14px}
input[type=email],input[type=password],input[type=text],input:not([type]),select,textarea,input[type=file]{display:block;width:100%;margin-top:6px;padding:9px 11px;border:1px solid var(--borde);border-radius:8px;font:inherit;font-weight:normal;background:#fff}
label.check{font-weight:normal;display:flex;gap:8px;align-items:flex-start}
fieldset{border:1px solid var(--borde);border-radius:8px;margin:0 0 16px;padding:10px 14px 2px}
legend{font-weight:bold;font-size:14px;padding:0 6px}
.aviso{padding:12px 16px;border-radius:8px;margin:0 0 16px;border:1px solid}
.aviso.ok{background:#e8f6ee;border-color:#b7e2c6;color:#145c33}
.aviso.error{background:#fdecea;border-color:#f5c2bc;color:#8a2318}
.aviso.info{background:#e9f2fb;border-color:#bcd6f0;color:#164e85}
.aviso ul{margin:6px 0 0;padding-left:20px}
.nota{color:var(--sub);font-size:13px;font-weight:normal}
.login{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;min-height:62vh}
.login h1{font-size:38px;color:var(--pri)}
.login-texto p{font-size:17px;color:var(--sub)}
.beneficios{padding:0;list-style:none}.beneficios li{padding:6px 0 6px 30px;position:relative;font-size:16px}
.beneficios li:before{content:"✓";position:absolute;left:0;color:var(--verde);font-weight:bold}
.buscar{display:flex;gap:10px;margin:0 0 22px}.buscar input{margin:0;flex:1}
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.tramite{display:flex;flex-direction:column}.tramite p{color:var(--sub);flex:1}
.datos{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;margin:0 0 14px;color:var(--txt)}
.dos-col{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;align-items:start}
.ficha{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0 0 14px}.ficha dt{color:var(--sub)}.ficha dd{margin:0;font-weight:bold}
.reqs{padding-left:20px}.reqs li{margin-bottom:6px}
.tag{background:#e9f2fb;color:var(--azul);font-size:11px;border-radius:10px;padding:1px 8px;margin-left:4px}
.confirmacion{text-align:center;max-width:560px;margin:20px auto}
.icono-ok{width:64px;height:64px;border-radius:50%;background:var(--verde);color:#fff;font-size:34px;line-height:64px;margin:0 auto 10px}
.codigo{font-size:30px;font-weight:bold;letter-spacing:2px;color:var(--pri);margin:4px 0 14px}
.codigo.peq{font-size:15px;letter-spacing:1px;margin:0}
.acciones{display:flex;gap:10px;justify-content:center;margin-top:16px}
.cab-seg{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px}
.estado{display:inline-block;border-radius:20px;padding:3px 12px;font-size:13px;font-weight:bold;white-space:nowrap}
.estado.gris{background:#eef1f4;color:var(--gris)}.estado.azul{background:#e3effb;color:var(--azul)}
.estado.verde{background:#e3f4ea;color:var(--verde)}.estado.rojo{background:#fbe6e3;color:var(--rojo)}
.linea{display:flex;list-style:none;padding:0;margin:26px 0 26px}
.linea li{flex:1;position:relative;text-align:center;color:var(--sub);font-size:14px}
.linea li:before{content:"";position:absolute;top:11px;left:-50%;width:100%;height:4px;background:var(--borde);z-index:0}
.linea li:first-child:before{display:none}
.linea .punto{display:block;width:26px;height:26px;border-radius:50%;background:#fff;border:4px solid var(--borde);margin:0 auto 6px;position:relative;z-index:1}
.linea li.hecho{color:var(--txt);font-weight:bold}
.linea li.hecho .punto{background:var(--verde);border-color:var(--verde)}.linea li.hecho:before{background:var(--verde)}
.linea li.actual .punto{box-shadow:0 0 0 5px rgba(30,138,76,.2)}
.linea li.rechazo.hecho .punto{background:var(--rojo);border-color:var(--rojo)}
.tabla{width:100%;border-collapse:collapse;padding:0;overflow:hidden}
.tabla th{text-align:left;background:#f0f4f8;font-size:13px;color:var(--sub);padding:10px 12px}
.tabla td{padding:10px 12px;border-top:1px solid var(--borde);font-size:14px}
table.tarjeta{padding:0}
.tarde{color:var(--rojo);font-weight:bold}
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:0 0 20px}
.kpi{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:12px;text-decoration:none;color:var(--sub);font-size:13px}
.kpi span{display:block;font-size:26px;font-weight:bold;color:var(--txt)}
.kpi.sel{border-color:var(--pri);box-shadow:inset 0 -3px 0 var(--pri)}
.notif{margin-bottom:12px}.notif.nueva{border-left:4px solid #ffb703}
.notif-cab{display:flex;justify-content:space-between;gap:10px}.notif p{margin:6px 0 0}
.adjuntos{padding-left:0;list-style:none}.adjuntos li{margin-bottom:6px}
.vacio{text-align:center;color:var(--sub)}
body.doc{background:#ddd}.hoja{background:#fff;max-width:700px;margin:30px auto;padding:50px;font-size:16px}
.hoja h1{text-align:center;color:var(--pri);margin:20px 0}.verif{margin-top:30px}
@media print{.hoja .btn{display:none}body.doc{background:#fff}}
@media (max-width:760px){.login,.dos-col{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(3,1fr)}
 .barra{padding:12px 16px}.tabla{display:block;overflow-x:auto}.login h1{font-size:30px}.linea li{font-size:12px}}
