:root{--azul:#1d6fb8;--azul-osc:#163d6e;--verde:#4fa83d;--verde-claro:#e7f4e2;--celeste:#e8f2fb;--tinta:#1b2533;--gris:#6b7685;--linea:#e3e8ef;--fondo:#f5f8fb;--rojo:#c0392b}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Montserrat,system-ui,sans-serif;color:var(--tinta);background:var(--fondo);line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:var(--azul)}
button,input{font:inherit}
.envoltura{max-width:1080px;margin:0 auto;padding:0 16px}
header.marca{background:linear-gradient(135deg,var(--azul-osc),var(--azul));color:#fff;padding:22px 0 64px}
.marca .fila{display:flex;align-items:center;gap:12px}
.sello{width:46px;height:46px;border-radius:50%;background:conic-gradient(#fff 0 50%,var(--verde) 50% 100%);display:grid;place-items:center;font-weight:900;color:var(--azul-osc);font-size:14px;flex:none;box-shadow:0 0 0 3px rgba(255,255,255,.25)}
.marca small{display:block;opacity:.8;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.marca strong{font-size:17px;font-weight:800}
.marca h1{font-size:clamp(28px,6vw,44px);font-weight:900;line-height:1.05;margin-top:26px;max-width:640px}
.marca p.bajada{margin-top:10px;font-size:16px;opacity:.92;max-width:560px}
.tarjeta{background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(22,61,110,.12);padding:22px}
.subir{margin-top:-44px;position:relative}
.subir h2{font-size:20px;font-weight:800}
.boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:12px;padding:14px 20px;font-weight:800;font-size:16px;cursor:pointer;background:var(--verde);color:#fff;min-height:52px}
.boton:disabled{opacity:.5;cursor:not-allowed}
.boton.sec{background:var(--celeste);color:var(--azul-osc)}
.boton.peligro{background:#fbeaea;color:var(--rojo)}
.boton.chico{padding:8px 12px;min-height:38px;font-size:14px;border-radius:9px}
.elegir{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px dashed #b9cde3;border-radius:14px;padding:26px 14px;text-align:center;cursor:pointer;background:var(--fondo);margin-top:14px}
.elegir:hover{border-color:var(--azul)}
.elegir b{font-size:17px;color:var(--azul-osc)}
.elegir span{color:var(--gris);font-size:14px}
.elegir input{position:absolute;width:1px;height:1px;opacity:0}
.campo{margin-top:14px}
.campo label{display:block;font-weight:700;font-size:14px;margin-bottom:6px}
.campo input[type=text],.campo input[type=password]{width:100%;border:1.5px solid var(--linea);border-radius:10px;padding:12px;font-size:16px}
.check{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:14px;color:#3a4553}
.check input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--verde)}
.previas{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:14px}
.previa{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--linea)}
.previa img{width:100%;height:100%;object-fit:cover}
.previa .estado{position:absolute;inset:auto 0 0 0;font-size:11px;font-weight:800;color:#fff;background:rgba(27,37,51,.7);padding:3px 5px;text-align:center}
.previa.ok .estado{background:var(--verde)}
.previa.error .estado{background:var(--rojo)}
.acciones{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.aviso{margin-top:14px;padding:12px 14px;border-radius:12px;font-size:15px}
.aviso.ok{background:var(--verde-claro);color:#2c6b20;font-weight:700}
.aviso.error{background:#fbeaea;color:var(--rojo);font-weight:700}
.aviso.info{background:var(--celeste);color:var(--azul-osc)}
.nota{font-size:13px;color:var(--gris);margin-top:12px}
section.galeria{margin:34px 0 20px}
.galeria h2{font-size:22px;font-weight:900}
.galeria .sub{color:var(--gris);font-size:14px;margin-top:2px}
.grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:14px}
.grilla button{border:none;padding:0;background:var(--linea);border-radius:12px;overflow:hidden;aspect-ratio:1;cursor:zoom-in}
.grilla img{width:100%;height:100%;object-fit:cover;display:block}
.vacio{padding:30px;text-align:center;color:var(--gris);background:#fff;border-radius:14px;margin-top:14px}
.visor{position:fixed;inset:0;background:rgba(10,16,26,.92);display:none;flex-direction:column;align-items:center;justify-content:center;padding:16px;z-index:10}
.visor.abierto{display:flex}
.visor img{max-width:100%;max-height:78vh;border-radius:10px}
.visor .pie{color:#fff;margin-top:10px;font-size:14px;opacity:.85}
.visor .acciones{justify-content:center}
footer{padding:26px 0 40px;text-align:center;font-size:12px;color:var(--gris)}
/* Panel */
.panel-cab{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 0}
.pestanas{display:flex;gap:6px;flex-wrap:wrap}
.pestanas button{border:1.5px solid var(--linea);background:#fff;border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer}
.pestanas button.activa{background:var(--azul);border-color:var(--azul);color:#fff}
.lista-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:10px}
.item{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(22,61,110,.08)}
.item img{width:100%;aspect-ratio:1;object-fit:cover;display:block;cursor:zoom-in}
.item .datos{padding:8px 10px;font-size:12px;color:var(--gris)}
.item .botones{display:flex;gap:6px;padding:0 10px 10px}
.item .botones button{flex:1}
@media (max-width:520px){.tarjeta{padding:18px}.grilla{grid-template-columns:repeat(3,1fr);gap:5px}}
.resalta{color:#bfe8b4}
.marca-panel{padding-bottom:20px}
.marca-panel + main .subir{margin-top:20px}
.sin-margen{margin-top:0}
[hidden]{display:none!important}
