:root{--fondo:#faf8f5;--superficie:#fff;--texto:#1f1b16;--texto-suave:#6b6359;--borde:#e4ddd3;--acento:#b4235a;--acento-oscuro:#8c1a46;--error:#b3261e;--error-fondo:#fdecea;--radio:8px}*{box-sizing:border-box}body{background:var(--fondo);color:var(--texto);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.contenedor{max-width:960px;margin:0 auto;padding:24px 16px 64px}.barra{background:var(--superficie);border-bottom:1px solid var(--borde);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.barra strong{font-size:1.05rem}.barra small{color:var(--texto-suave)}h1{margin:24px 0 16px;font-size:1.5rem}h2{margin:0 0 16px;font-size:1.1rem}.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);margin-bottom:24px;padding:20px}.acceso{max-width:380px;margin:12vh auto 0}.campo{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.campo label{font-size:.9rem;font-weight:600}.campo-check{align-items:center;gap:8px;margin-bottom:10px;display:flex}input[type=text],input[type=email],input[type=password],select{font:inherit;border:1px solid var(--borde);border-radius:var(--radio);color:var(--texto);background:#fff;min-height:44px;padding:10px 12px}input[type=checkbox]{width:20px;height:20px}:focus-visible{outline:3px solid var(--acento);outline-offset:2px}button{font:inherit;cursor:pointer;border-radius:var(--radio);border:1px solid #0000;min-height:44px;padding:0 18px}.primario{background:var(--acento);color:#fff;font-weight:600}.primario:hover:not(:disabled){background:var(--acento-oscuro)}.secundario{color:var(--texto);border-color:var(--borde);background:0 0}button:disabled{opacity:.6;cursor:progress}.alerta{background:var(--error-fondo);color:var(--error);border-radius:var(--radio);margin-bottom:14px;padding:10px 12px;font-size:.95rem}.rejilla{grid-template-columns:1fr;gap:0 16px;display:grid}@media (min-width:640px){.rejilla{grid-template-columns:1fr 1fr}}.tabla-envoltura{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--borde);white-space:nowrap;padding:10px 8px}th{color:var(--texto-suave);font-size:.85rem;font-weight:600}.vacio{color:var(--texto-suave)}
