:root{
  --marron:#3D1509; --terra:#8D5330; --terra-claro:#F1E6DD; --fondo:#FAF7F4;
  --texto:#2A1A12; --texto-2:#4A372C; --gris:#6B5345; --borde:#E4D8CF; --borde-2:#C9B8AC;
  --azul:#1F5FA8; --error:#9A1C1C;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--fondo);color:var(--texto);font:17px/1.45 "Segoe UI",system-ui,-apple-system,Roboto,sans-serif}
a{color:var(--terra)} a:hover{color:var(--marron)}
:focus-visible{outline:3px solid var(--azul);outline-offset:2px}
[hidden]{display:none!important}
.envoltura{max-width:480px;margin:0 auto;padding:40px 24px 32px;min-height:100vh;display:flex;flex-direction:column}
.marca{display:flex;align-items:center;gap:12px}
.marca img{width:56px;height:auto}
.marca b{color:var(--marron);font-size:17px}
.marca small{display:block;color:var(--gris);font-size:14px}
h1{margin:0;font-size:30px;line-height:1.15;color:var(--marron)}
h2{margin:0;font-size:24px;line-height:1.2;color:var(--marron)}
p{margin:0}
.sub{color:var(--texto-2);margin-top:10px}
.nota{color:var(--gris);font-size:14px}
.pila{display:flex;flex-direction:column;gap:8px}
label{font-size:15px;font-weight:600}
input[type=text],input[type=email]{height:56px;border:1.5px solid var(--borde-2);border-radius:10px;padding:0 14px;font:inherit;font-size:22px;letter-spacing:6px;background:#fff;color:var(--texto);width:170px}
.boton{height:52px;border-radius:10px;border:none;background:var(--terra);color:#fff;font:inherit;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer;padding:0 18px}
.boton:hover{background:var(--marron);color:#fff}
.boton[disabled]{opacity:.6;cursor:default}
.boton.borde{background:#fff;color:var(--terra);border:1.5px solid var(--terra)}
.boton.borde:hover{background:var(--terra-claro);color:var(--marron)}
.enlace{background:none;border:none;font:inherit;font-weight:600;color:var(--terra);min-height:44px;cursor:pointer;text-decoration:underline;padding:0 4px}
.error{color:var(--error);font-size:15px;font-weight:600;min-height:22px}
.caja{background:#fff;border:1px solid var(--borde);border-radius:12px;padding:16px}
.aviso{background:var(--terra-claro);border-radius:12px;padding:14px 16px;font-size:15px;color:var(--texto-2)}
.casilla{display:flex;gap:12px;align-items:flex-start;font-size:16px;cursor:pointer}
.casilla input{width:24px;height:24px;margin:0;flex-shrink:0;accent-color:var(--terra)}
.espacio{flex-grow:1}
.pie{border-top:1px solid var(--borde);padding-top:14px;margin-top:28px}

/* encabezado del portal */
.barra{background:var(--marron);color:#FAF7F4}
.barra .dentro{max-width:480px;margin:0 auto;padding:28px 24px 20px}
.barra .fila{display:flex;align-items:center;justify-content:space-between;gap:8px}
.barra .logo{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:1px;color:#E8D5C6}
.barra .logo img{width:36px;height:auto}
.barra h1{color:#FAF7F4;font-size:26px;margin-top:10px}
.barra .emp{color:#E8D5C6}
.barra a,.barra .enlace{color:#FAF7F4}
.contenido{max-width:480px;margin:0 auto;padding:16px 24px 32px}
.pestanas{display:flex;gap:8px;margin-bottom:12px}
.pestana{height:44px;padding:0 18px;border-radius:22px;border:1.5px solid var(--borde-2);background:#fff;color:var(--marron);font:inherit;font-size:16px;font-weight:600;cursor:pointer}
.pestana[aria-selected=true]{background:var(--terra);border-color:var(--terra);color:#fff;font-weight:700}
.doc{background:#fff;border:1px solid var(--borde);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:12px;margin-bottom:10px}
.doc .titulo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:700}
.doc .acciones{display:flex;gap:10px}
.doc .acciones .boton{flex:1 1 0;height:44px;font-size:15px}
.nuevo{font-size:13px;font-weight:700;color:#fff;background:var(--azul);border-radius:6px;padding:2px 8px}
.empresa{width:100%;min-height:72px;background:#fff;border:1px solid var(--borde);border-radius:12px;padding:14px 16px;font:inherit;text-align:left;font-weight:700;color:var(--texto);cursor:pointer;margin-bottom:10px}
.empresa:hover{border-color:var(--terra)}
details{background:#fff;border:1px solid var(--borde);border-radius:12px;padding:0 16px;margin-bottom:10px}
summary{min-height:52px;display:flex;align-items:center;font-weight:700;cursor:pointer}
details p{padding-bottom:14px;color:var(--texto-2);font-size:15px}

/* ventanas */
.velo{position:fixed;inset:0;background:rgba(42,26,18,.55);display:flex;align-items:flex-end;justify-content:center;z-index:10}
.ventana{background:#fff;border-radius:20px 20px 0 0;padding:24px;width:100%;max-width:480px;display:flex;flex-direction:column;gap:14px}
@media (min-width:600px){.velo{align-items:center}.ventana{border-radius:16px}}
@media (prefers-reduced-motion:no-preference){.ventana{animation:sube .18s ease-out}@keyframes sube{from{transform:translateY(16px);opacity:0}}}
.mt8{margin-top:8px}.mt16{margin-top:16px}.mt24{margin-top:24px}.mt36{margin-top:36px}.mt64{margin-top:64px}
.chico{font-size:15px}
.centro{align-self:center}
.izq{align-self:flex-start}
.fila-pie{display:flex;align-items:center;justify-content:space-between;gap:12px}
