.portal{--fondo:var(--dx-fondo);--superficie:var(--dx-superficie);--superficie-2:var(--dx-superficie-2);--superficie-presionada:var(--dx-superficie-presionada);--texto:var(--dx-texto);--texto-2:var(--dx-texto-2);--texto-3:var(--dx-texto-3);--separador:var(--dx-borde);--marca:var(--dx-primario);--marca-presionada:var(--dx-primario-presionado);--sobre-marca:var(--dx-sobre-primario);--acento:var(--dx-enlace);--exito:var(--dx-ok);--error:var(--dx-error);--sombra-tarjeta:var(--dx-sombra);--radio-grande:14px;--radio-medio:10px;--curva:var(--dx-curva);background:var(--fondo);min-height:100dvh;color:var(--texto);font-family:var(--dx-letra-texto);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:1rem;line-height:1.5}.p-titulo{font-family:var(--dx-letra-marca);letter-spacing:-.02em;margin:0;font-size:clamp(1.75rem,1.25rem + 2.2vw,2.4rem);font-weight:800;line-height:1.08}.p-subtitulo{color:var(--texto-2);margin:.4rem 0 0;font-size:1.0625rem}.p-ceja{font-family:var(--dx-letra-marca);letter-spacing:.12em;text-transform:uppercase;color:var(--texto-3);margin:0 0 .4rem;font-size:.75rem;font-weight:700}.p-seccion{font-family:var(--dx-letra-marca);letter-spacing:.1em;text-transform:uppercase;color:var(--texto-3);margin:0 0 .5rem .125rem;font-size:.75rem;font-weight:700;display:block}.p-nota{color:var(--texto-3);font-size:.8125rem}.p-contenido{width:100%;max-width:1040px;margin:0 auto;padding:1.75rem 1rem 3rem}.p-tarjeta{background:var(--superficie);border:1px solid var(--separador);border-radius:var(--radio-grande);box-shadow:var(--sombra-tarjeta)}.p-boton{appearance:none;background:var(--marca);width:100%;min-height:50px;color:var(--sobre-marca);font-family:var(--dx-letra-marca);letter-spacing:.01em;cursor:pointer;touch-action:manipulation;border:0;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:0 1.25rem;font-size:1rem;font-weight:700;transition:transform .1s ease-out,background-color .1s ease-out,opacity .15s ease-out;display:inline-flex}.p-boton:active:not(:disabled){background:var(--marca-presionada);transform:scale(.97)}.p-boton:disabled{opacity:.45;cursor:default}.p-boton-texto{appearance:none;min-height:44px;color:var(--acento);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:8px;padding:.5rem .25rem;font-size:.9375rem;font-weight:600;transition:opacity .1s ease-out}.p-boton-texto:active{opacity:.55}:where(.portal) :focus-visible{outline:2px solid var(--dx-foco);outline-offset:2px}.p-campo{border:1px solid var(--separador);background:var(--superficie-2);width:100%;min-height:50px;color:var(--texto);font:inherit;border-radius:10px;padding:0 1rem;transition:border-color .15s ease-out,box-shadow .15s ease-out,background-color .15s ease-out}.p-campo::placeholder{color:var(--texto-3)!important}.portal .p-campo{background-color:var(--superficie-2)!important;color:var(--texto)!important}.portal .p-campo:focus{background-color:var(--superficie)!important}.p-campo:focus{border-color:var(--dx-foco);box-shadow:0 0 0 4px color-mix(in srgb, var(--dx-foco) 18%, transparent);outline:none}.p-fila{appearance:none;border-radius:var(--radio-medio);width:100%;min-height:56px;color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;align-items:center;gap:.875rem;padding:.5rem .75rem;transition:transform .1s ease-out,background-color .1s ease-out;display:flex}@media (hover:hover){.p-fila:hover{background:var(--superficie-2)}}.p-fila:active{background:var(--superficie-presionada);transform:scale(.985)}.p-avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:.875rem;font-weight:600;display:grid}.p-avatar[data-rol=admin]{background:#102a43}.p-avatar[data-rol=jefatura]{background:#1f6f8b}.p-avatar[data-rol=habilitador]{background:#6b5ba8}.p-avatar[data-rol=operario]{background:#5b7189}@media (prefers-color-scheme:dark){.p-avatar[data-rol=admin]{background:#2b5a86}}.p-fila-texto{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.p-fila-titulo{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.p-ingreso{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.p-ingreso-marca{isolation:isolate;padding:max(1.5rem, env(safe-area-inset-top)) 1.25rem 4.5rem;background:var(--dx-azul);color:#fff;flex-direction:column;gap:1.5rem;display:flex;position:relative;overflow:hidden}.p-ingreso-marca:before{content:"";z-index:-1;background-image:repeating-linear-gradient(115deg,#ffffff09 0 1px,#0000 1px 5px);position:absolute;inset:0}.p-ingreso-marca:after{content:"";z-index:-1;aspect-ratio:271/280;opacity:.06;background:#fff;width:min(80vw,520px);position:absolute;bottom:-30%;right:-18%;-webkit-mask:url(/brand/marca-dx.svg) 50%/contain no-repeat;mask:url(/brand/marca-dx.svg) 50%/contain no-repeat}.p-ingreso-logo{border-radius:6px;align-self:flex-start}.p-ingreso-logo img{width:auto;height:40px;display:block}.p-ingreso-ceja{font-family:var(--dx-letra-marca);letter-spacing:.14em;text-transform:uppercase;color:var(--dx-azul-300);margin:0 0 .5rem;font-size:.75rem;font-weight:700}.p-ingreso-titulo{font-family:var(--dx-letra-marca);letter-spacing:-.02em;margin:0;font-size:clamp(1.9rem,1.4rem + 2vw,2.75rem);font-weight:800;line-height:1.05}.p-ingreso-texto{color:var(--dx-azul-100);max-width:34ch;margin:.5rem 0 0;font-size:1rem}.p-ingreso-modulos{display:none}.p-ingreso-panel{padding:0 1rem calc(2rem + env(safe-area-inset-bottom));justify-content:center;margin-top:-3rem;display:flex}.p-acceso{grid-template-columns:minmax(0,1fr);align-content:start;gap:1.25rem;width:100%;max-width:440px;display:grid}.p-acceso-tarjeta{padding:1.25rem}.p-ayuda{text-align:center}@media (min-width:900px){.p-ingreso{grid-template-rows:1fr;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.p-ingreso-marca{justify-content:space-between;gap:2rem;padding:2.5rem clamp(2rem,5vw,4.5rem)}.p-ingreso-titulos{margin-top:auto}.p-ingreso-modulos{border-top:1.5px dashed #ffffff38;flex-wrap:wrap;gap:.5rem;margin:0;padding:1.5rem 0 0;list-style:none;display:flex}.p-ingreso-modulos li{color:var(--dx-azul-100);border:1px solid #ffffff38;border-radius:999px;padding:.35rem .75rem;font-size:.8125rem}.p-ingreso-panel{align-items:center;margin-top:0;padding:2rem}}.p-lista{overscroll-behavior:contain;gap:.25rem;max-height:min(52dvh,460px);margin:.75rem -.25rem 0;padding:0;list-style:none;display:grid;overflow-y:auto}.p-vacio{padding:1rem .75rem}.p-elegida{min-width:0;box-shadow:0 1px 0 var(--separador);align-items:center;gap:.875rem;margin-bottom:1rem;padding:.25rem 0 1.25rem;display:flex}.p-campo-clave{position:relative}.p-campo-clave .p-campo{padding-right:5.5rem}.p-ver-clave{position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.p-entrar{margin-top:1.25rem}.p-saludo{margin-bottom:1.75rem}.p-modulos{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));align-items:start;gap:.875rem;display:grid}.p-modulo{flex-direction:column;transition:box-shadow .2s ease-out,border-color .2s ease-out;display:flex;overflow:hidden}@media (hover:hover){.p-modulo:hover{border-color:var(--dx-borde-fuerte);box-shadow:0 1px 2px #0a1c2e0f,0 14px 34px #0a1c2e1a}}.p-modulo-enlace{color:inherit;touch-action:manipulation;align-items:flex-start;gap:.95rem;padding:1.1rem 1rem 1.1rem 1.1rem;text-decoration:none;transition:background-color .1s ease-out,transform .1s ease-out;display:flex}.p-modulo-enlace:active{background:var(--superficie-2)}.p-modulo-icono{background:var(--modulo,var(--dx-azul));color:#fff;border-radius:10px;flex:none;place-items:center;width:46px;height:46px;display:grid}.p-modulo-icono svg{width:24px;height:24px}.p-modulo-texto{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.p-modulo-titulo{font-family:var(--dx-letra-marca);letter-spacing:-.01em;font-size:1.0625rem;font-weight:700}.p-modulo-descripcion{color:var(--texto-2);font-size:.9375rem;line-height:1.4}.p-modulo-extra{color:var(--texto-3);font-size:.8125rem;line-height:1.4}.p-modulo-flecha{color:var(--texto-3);align-self:center;font-size:1.5rem;line-height:1}.p-atajos{border-top:1px dashed color-mix(in srgb, var(--modulo,var(--separador)) 30%, var(--separador));flex-wrap:wrap;gap:.4rem;margin:0;padding:.75rem 1rem 1rem;list-style:none;display:flex}.p-atajo{border:1px solid color-mix(in srgb, var(--modulo,var(--dx-azul)) 30%, var(--separador));background:color-mix(in srgb, var(--modulo,var(--dx-azul)) 9%, var(--superficie));min-height:34px;color:color-mix(in srgb, var(--modulo,var(--dx-azul)) 70%, var(--texto));white-space:nowrap;touch-action:manipulation;border-radius:999px;align-items:center;padding:0 .75rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:background-color .1s ease-out,border-color .1s ease-out,transform .1s ease-out;display:inline-flex}@media (hover:hover){.p-atajo:hover{border-color:color-mix(in srgb, var(--modulo,var(--dx-azul)) 50%, var(--separador));background:color-mix(in srgb, var(--modulo,var(--dx-azul)) 16%, var(--superficie))}}.p-atajo:active{background:color-mix(in srgb, var(--modulo,var(--dx-azul)) 22%, var(--superficie));transform:scale(.96)}.p-error{color:var(--error);margin:.75rem 0 0;font-size:.9375rem}.p-agitar{animation:p-agitar .42s var(--curva)}@keyframes p-agitar{0%,to{transform:translate(0)}20%{transform:translate(-9px)}40%{transform:translate(7px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}.p-girando{border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite p-girar}@keyframes p-girar{to{transform:rotate(360deg)}}.p-aparecer{animation:p-aparecer .48s var(--curva) both;animation-delay:calc(var(--i,0) * 45ms)}@keyframes p-aparecer{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:none}}.p-esqueleto{border-radius:var(--radio-medio);background:linear-gradient(90deg, var(--superficie-2), var(--superficie-presionada), var(--superficie-2));background-size:200% 100%;height:56px;animation:1.4s ease-in-out infinite p-brillo}@keyframes p-brillo{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.p-aparecer{animation:.2s both p-solo-opacidad}.p-agitar,.p-esqueleto{animation:none}.p-boton:active:not(:disabled),.p-fila:active,.p-atajo:active{transform:none}}@keyframes p-solo-opacidad{0%{opacity:0}to{opacity:1}}@media (prefers-contrast:more){.portal{--separador:#00000073}.p-tarjeta{box-shadow:none}}
