:root{--color-bg-auth: #0b1120;--color-surface-auth: #020617;--color-surface-elevated-auth: #020617;--color-accent-auth: #4F46E5;--color-accent-soft-auth: rgba(79, 70, 229, .12);--color-border-subtle-auth: rgba(148, 163, 184, .35);--color-text-main-auth: #e5e7eb;--color-text-muted-auth: #9ca3af;--color-error-auth: #ef4444;--color-success-auth: #10b981}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body.auth-body{min-height:100vh;min-height:100dvh;margin:0;padding:env(safe-area-inset-top,0) 1.25rem env(safe-area-inset-bottom,1.75rem);display:flex;align-items:center;justify-content:center;background:#0a0a0b;color:var(--color-text-main-auth);font-family:system-ui,-apple-system,BlinkMacSystemFont,Figtree,sans-serif;-webkit-font-smoothing:antialiased}.auth-shell{width:100%;max-width:24rem;display:flex;flex-direction:column;gap:2.25rem;opacity:0;transform:translateY(12px);animation:auth-shell-in .52s ease-out forwards}@keyframes auth-shell-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.auth-logo-row{display:flex;flex-direction:column;align-items:center;gap:.5rem}.auth-logo{display:inline-flex;align-items:center;justify-content:center;padding:.75rem}.auth-logo img{display:block;max-width:14.25rem;height:auto}.auth-branding{text-align:center}.auth-branding-title{font-size:.95rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted-auth)}.auth-branding-subtitle{margin-top:.15rem;font-size:.78rem;color:#94a3b8f2}.auth-card{position:relative;overflow:hidden;border-radius:1rem;padding:1.6rem 1.4rem 1.4rem;background:#111113;box-shadow:0 24px 48px #0006;border:1px solid rgba(255,255,255,.06)}@media (min-width: 480px){.auth-card{padding:1.85rem 1.6rem 1.6rem;border-radius:1.25rem}}.auth-card-inner{position:relative;z-index:1}.auth-title{font-size:1.35rem;font-weight:600;letter-spacing:.02em;color:#e5e7eb}.auth-subtitle{margin-top:.35rem;font-size:.82rem;color:var(--color-text-muted-auth)}.auth-forms{margin-top:1.35rem;position:relative}.auth-form-panel{display:none;opacity:0;transform:translateY(6px);transition:opacity .2s ease-out,transform .2s ease-out}.auth-form-panel.auth-form-active{display:block;opacity:1;transform:translateY(0)}.auth-field-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.95rem}.auth-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.auth-label{font-size:.78rem;font-weight:500;color:#d1d5dbf5}.auth-label-hint{font-size:.72rem;color:var(--color-text-muted-auth)}.auth-input{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.55rem;border:1px solid rgb(55,65,81);background-color:#0f172a80;color:var(--color-text-main-auth);padding:.65rem .8rem;font-size:.85rem;line-height:1.4;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.auth-input::placeholder{color:#94a3b8b3}.auth-input:focus{border-color:#4f46e5b3;box-shadow:0 0 0 1px #4f46e559;background-color:#0f172ab3}.auth-input-error{border-color:var(--color-error-auth);box-shadow:0 0 0 1px #f871718c}.auth-error-text{margin-top:.1rem;font-size:.75rem;color:var(--color-error-auth)}.auth-row{margin-top:.4rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.78rem;color:var(--color-text-muted-auth)}.auth-remember{display:inline-flex;align-items:center;gap:.4rem}.auth-checkbox{width:.95rem;height:.95rem;border-radius:.25rem;border:1px solid rgb(75,85,99);background-color:#0f172ab3;cursor:pointer;accent-color:var(--color-accent-auth)}.auth-link{color:#a5b4fc;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-actions{margin-top:1.2rem}.auth-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:.65rem;border:none;padding:.72rem .9rem;font-size:.88rem;font-weight:600;letter-spacing:.02em;text-transform:none;cursor:pointer;background:linear-gradient(180deg,#4338ca,#3730a3);color:#e5e7eb;box-shadow:0 10px 28px #3730a366,0 0 0 1px #4338ca40;transition:transform .13s ease-out,box-shadow .13s ease-out,filter .13s ease-out,opacity .12s ease-out}.auth-button:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 14px 32px #3730a373,0 0 0 1px #6366f159}.auth-button:active{transform:translateY(0);box-shadow:0 6px 18px #3730a366,0 0 0 1px #4338ca4d}.auth-button[disabled]{cursor:default;opacity:.7;transform:none;box-shadow:0 8px 22px #0000004d,0 0 0 1px #4b556380}.auth-button-spinner{width:.9rem;height:.9rem;border-radius:999px;border:2px solid rgba(199,210,254,.3);border-top-color:#e5e7eb;animation:auth-spinner .54s linear infinite}@keyframes auth-spinner{to{transform:rotate(360deg)}}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 1rem;color:var(--color-text-muted-auth);font-size:.8rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border-subtle-auth)}.auth-divider span{text-transform:lowercase}.auth-button-google{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.72rem .9rem;font-size:.88rem;font-weight:600;text-decoration:none;color:#e5e7eb;background:#1f2937;border:1px solid var(--color-border-subtle-auth);border-radius:.65rem;transition:background .13s ease-out,border-color .13s ease-out}.auth-button-google:hover{background:#374151;border-color:#94a3b880;color:#e5e7eb}.auth-google-icon{flex-shrink:0}.auth-twofa-hint{margin-bottom:.6rem;font-size:.8rem;color:var(--color-text-muted-auth)}.auth-twofa-hint-strong{font-weight:500;color:#d1d5dbf5}.auth-footer{margin-top:1.1rem;font-size:.72rem;text-align:center;color:var(--color-text-muted-auth)}.auth-footer span{opacity:.6}.auth-footer strong{font-weight:500;color:#d1d5dbf0}.auth-general-error{margin-top:.7rem;padding:.45rem .6rem;border-radius:.55rem;background-color:#b91c1c2e;border:1px solid rgba(239,68,68,.55);font-size:.78rem;color:#fecaca}.auth-blocked-card{text-align:center}.auth-blocked-icon{font-size:1.75rem;margin-bottom:.6rem}.auth-blocked-mail{display:inline-flex;align-items:center;gap:.3rem;margin-top:.8rem;font-size:.78rem;color:#bae6fd;text-decoration:none}.auth-blocked-mail:hover{text-decoration:underline}
