:root{--auth-primary: #7c3aed;--auth-primary-hover: #6d28d9;--auth-primary-ring: rgba(124, 58, 237, .18);--auth-accent: #f59e0b;--auth-text: #0a0a0a;--auth-muted: #6b7280;--auth-border: #e5e7eb;--auth-danger: #ef4444;--auth-danger-text: #dc2626;--auth-success: #15803d}.auth-page,.auth-page *,.auth-page *:before,.auth-page *:after{box-sizing:border-box}.auth-page{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px max(16px,5vw);font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--auth-text);isolation:isolate;-webkit-font-smoothing:antialiased}.auth-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;background:radial-gradient(120% 120% at 50% 0%,#1e1033,#0a0a0a 70%)}.auth-blob{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(80px);opacity:.55;mix-blend-mode:screen;will-change:transform}.auth-blob--violeta{background:radial-gradient(circle,#7c3aed 0%,transparent 65%);top:-20vmax;left:-15vmax;animation:auth-drift-1 14s ease-in-out infinite alternate}.auth-blob--ambar{background:radial-gradient(circle,#f59e0b 0%,transparent 60%);top:10vmax;right:-25vmax;opacity:.45;animation:auth-drift-2 12s ease-in-out infinite alternate}.auth-blob--oscuro{background:radial-gradient(circle,#4c1d95 0%,transparent 65%);bottom:-25vmax;left:10vmax;animation:auth-drift-3 15s ease-in-out infinite alternate}.auth-blob--rosa{background:radial-gradient(circle,#c026d3 0%,transparent 60%);bottom:-10vmax;right:5vmax;opacity:.3;animation:auth-drift-1 13s ease-in-out infinite alternate-reverse}@keyframes auth-drift-1{to{transform:translate(12vmax,8vmax) scale(1.15)}}@keyframes auth-drift-2{to{transform:translate(-14vmax,6vmax) scale(.9)}}@keyframes auth-drift-3{to{transform:translate(8vmax,-10vmax) scale(1.1)}}.auth-card{position:relative;width:min(90vw,420px);background:#fff;border-radius:16px;padding:40px;box-shadow:0 20px 60px #00000026,0 2px 8px #0000000d;animation:auth-in .3s ease-out both}@keyframes auth-in{0%{opacity:0;transform:translateY(12px)}}.auth-card--wide{width:min(90vw,720px)}.auth-grid{display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:24px;column-gap:24px}@media(max-width:767px){.auth-grid{grid-template-columns:1fr}}.auth-card--shake{animation:auth-shake .3s ease-in-out}@keyframes auth-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{display:block;height:40px;width:auto;margin:0 auto;-o-object-fit:contain;object-fit:contain}.auth-logo--tenant{width:40px;border-radius:10px;-o-object-fit:cover;object-fit:cover}.auth-badge{display:inline-block;margin-top:16px;padding:3px 10px;border-radius:999px;background:var(--auth-accent);color:var(--auth-text);font-size:11px;font-weight:700;letter-spacing:.12em}.auth-title{margin:16px 0 6px;font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.15;color:var(--auth-text)}.auth-badge+.auth-title{margin-top:10px}.auth-subtitle{margin:0;font-size:14px;color:var(--auth-muted);line-height:1.5}.auth-field{margin-bottom:16px}.auth-label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--auth-text)}.auth-input{display:block;width:100%;height:44px;padding:0 14px;font:inherit;font-size:15px;color:var(--auth-text);background:#fff;border:1.5px solid var(--auth-border);border-radius:8px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.auth-input::-moz-placeholder{color:#9ca3af}.auth-input::placeholder{color:#9ca3af}.auth-input:hover{border-color:#d1d5db}.auth-input:focus{border-color:var(--auth-primary);box-shadow:0 0 0 4px var(--auth-primary-ring)}.auth-input[aria-invalid=true]{border-color:var(--auth-danger)}.auth-input[aria-invalid=true]:focus{box-shadow:0 0 0 4px #ef444426}select.auth-input{cursor:pointer;padding-right:36px}.auth-input--otp{height:52px;text-align:center;font-size:22px;font-weight:600;letter-spacing:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.auth-input-wrap{position:relative}.auth-input-wrap .auth-input{padding-right:44px}.auth-eye{position:absolute;top:0;right:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--auth-muted);cursor:pointer;border-radius:8px}.auth-eye:focus-visible{outline:3px solid var(--auth-primary-ring);outline-offset:-3px}.auth-error{margin:6px 0 0;font-size:13px;color:var(--auth-danger-text)}.auth-reglas{list-style:none;margin:-8px 0 16px;padding:0;font-size:13px;line-height:1.7}.auth-regla{color:var(--auth-muted)}.auth-regla--ok{color:var(--auth-success)}.auth-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--auth-muted);line-height:1.45;cursor:pointer}.auth-check input{margin-top:3px;accent-color:var(--auth-primary);flex-shrink:0;width:16px;height:16px}.auth-check a{color:var(--auth-text)}.auth-banner{margin-bottom:20px;padding:10px 12px;border-radius:8px;font-size:14px;line-height:1.45;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.auth-banner--success{background:#f0fdf4;border-color:#bbf7d0;color:var(--auth-success)}.auth-banner--info{background:#f5f3ff;border-color:#ddd6fe;color:#5b21b6}.auth-referido{margin:-4px 0 16px;padding:6px 10px;border-radius:6px;background:#f3f4f6;color:var(--auth-muted);font-size:12.5px;text-align:center}.auth-referido strong{color:#374151;font-weight:600}.auth-aviso-amarillo{margin:0 0 8px;padding:8px 10px;border-radius:8px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:13px;line-height:1.4}.auth-btn{width:100%;height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:10px;background:var(--auth-primary);color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .15s ease}.auth-btn:hover:not(:disabled){background:var(--auth-primary-hover);box-shadow:0 8px 20px #7c3aed59}.auth-btn:active:not(:disabled){transform:translateY(1px)}.auth-btn:focus-visible{outline:3px solid rgba(124,58,237,.45);outline-offset:2px}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:auth-spin .6s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-link{color:var(--auth-primary);font-size:14px;font-weight:500;text-decoration:none;background:none;border:none;padding:0;cursor:pointer}.auth-link:hover{text-decoration:underline}.auth-link:focus-visible{outline:3px solid var(--auth-primary-ring);outline-offset:2px;border-radius:4px}.auth-center{text-align:center}.auth-below-btn{margin-top:16px;text-align:center}.auth-divider{border:none;border-top:1px solid var(--auth-border);margin:24px 0 20px}.auth-alt{margin:0;text-align:center;font-size:14px;color:var(--auth-muted)}.auth-note{margin:20px 0 0;text-align:center;font-size:12px;color:var(--auth-muted)}.auth-secondary-btn{display:block;width:100%;margin-top:12px;padding:8px;border:none;background:none;font:inherit;font-size:13px;color:var(--auth-muted);cursor:pointer}.auth-secondary-btn:hover{color:var(--auth-text)}.auth-modal{width:min(90vw,420px);max-width:none;padding:32px;border:none;border-radius:16px;background:#fff;color:var(--auth-text);font-family:Inter,system-ui,-apple-system,sans-serif;box-shadow:0 20px 60px #0000004d}.auth-modal,.auth-modal *,.auth-modal *:before,.auth-modal *:after{box-sizing:border-box}.auth-modal[open]{animation:auth-in .2s ease-out both}.auth-modal::backdrop{background:#0a0a0a99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.auth-modal__title{margin:0 0 6px;font-size:20px;font-weight:600;letter-spacing:-.01em}.auth-modal__text{margin:0 0 20px;font-size:14px;line-height:1.5;color:var(--auth-muted)}.auth-modal__close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:none;border-radius:8px;background:none;color:var(--auth-muted);font-size:22px;line-height:1;cursor:pointer}.auth-modal__close:hover{color:var(--auth-text);background:#f3f4f6}.auth-modal__close:focus-visible{outline:3px solid var(--auth-primary-ring)}@media(max-width:480px){.auth-modal{padding:24px}}.auth-footer{margin-top:24px;text-align:center;font-size:12px;line-height:1.8;color:#ffffffb3}.auth-footer a{color:#ffffffd9;text-decoration:none}.auth-footer a:hover{color:#fff;text-decoration:underline}.auth-footer a:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:2px;border-radius:3px}.auth-footer__sep{margin:0 6px;opacity:.6}@media(max-width:480px){.auth-page{padding-top:24px;padding-bottom:24px;justify-content:flex-start}.auth-card{padding:24px}.auth-title{font-size:24px}.auth-sticky-actions{position:sticky;bottom:0;z-index:2;margin:0 -24px -24px;padding:12px 24px 24px;background:linear-gradient(to bottom,#fff0 0,#fff 12px);border-radius:0 0 16px 16px}}@media(prefers-reduced-motion:reduce){.auth-blob,.auth-card,.auth-card--shake,.auth-modal[open]{animation:none}}
