html:has(body.auth-page){overflow-x:hidden;max-width:100%}body.auth-page{--auth-surface: #0b1020;--auth-surface-2: #121a2e;--auth-card-bg: rgba(255, 255, 255, .07);--auth-card-border: rgba(255, 255, 255, .14);--auth-text: #f8fafc;--auth-muted: rgba(248, 250, 252, .62);--auth-soft: rgba(248, 250, 252, .38);width:100%;max-width:100%;min-width:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:stretch;justify-content:center;position:relative;padding:2rem;padding-inline:max(1rem,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));overflow:hidden;overflow-x:hidden;background:radial-gradient(900px circle at 85% 12%,color-mix(in srgb,var(--accent-600, #2563eb) 28%,transparent),transparent 55%),radial-gradient(700px circle at 8% 88%,color-mix(in srgb,var(--accent-secondary, #64748b) 18%,transparent),transparent 50%),linear-gradient(160deg,var(--auth-surface) 0%,var(--auth-surface-2) 48%,#0a0f1c 100%);color:var(--auth-text)}body.auth-page:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at center,black 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,black 20%,transparent 75%);opacity:.55}body.auth-page:after{content:"";position:absolute;width:min(52vw,520px);height:min(52vw,520px);border-radius:50%;top:-12%;left:-8%;z-index:0;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--accent-600, #2563eb) 32%,transparent) 0%,transparent 70%);filter:blur(40px);animation:authOrbDrift 18s ease-in-out infinite alternate}@keyframes authOrbDrift{0%{transform:translate(0) scale(1)}to{transform:translate(8%,10%) scale(1.08)}}.auth-page .auth-particles{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}.auth-particle{position:absolute;border-radius:50%;background:color-mix(in srgb,var(--accent-400, #93c5fd) 55%,white);animation:particleDrift linear infinite;box-shadow:0 0 8px color-mix(in srgb,var(--accent-600, #2563eb) 35%,transparent)}@keyframes particleDrift{0%{transform:translateY(100vh) scale(0);opacity:0}12%{opacity:.85}88%{opacity:.85}to{transform:translateY(-10vh) scale(1.15);opacity:0}}.auth-container{width:100%;max-width:440px;margin-inline:auto;align-self:center;flex-shrink:0;min-width:0;position:relative;z-index:10}.auth-shell{display:flex;flex-direction:column;gap:1.25rem}.auth-card{position:relative;width:100%;max-width:100%;box-sizing:border-box;background:var(--auth-card-bg);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);border:1px solid var(--auth-card-border);border-radius:24px;padding:2.5rem 2.25rem 2rem;box-shadow:0 28px 64px -24px #0000008c,0 0 0 1px #ffffff0a inset,0 1px #ffffff2e inset;overflow:hidden;animation:authCardEnter .7s cubic-bezier(.22,1,.36,1) forwards;transform:translateY(18px);opacity:0}.auth-card:before{content:"";position:absolute;top:0;inset-inline:12%;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--accent-500, #3b82f6),color-mix(in srgb,var(--accent-secondary, #94a3b8) 70%,white),var(--accent-500, #3b82f6),transparent);opacity:.9}.auth-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 50% -10%,color-mix(in srgb,var(--accent-600, #2563eb) 16%,transparent) 0%,transparent 55%);pointer-events:none}@keyframes authCardEnter{to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.auth-card,body.auth-page:after,.auth-particle,.auth-card form>.mb-3{animation:none!important}.auth-card{opacity:1;transform:none}}.auth-card.auth-card--loading form{pointer-events:none;opacity:.55;filter:blur(1.5px);transition:all .25s ease}.auth-card-decorative{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--accent-600, #2563eb) 12%,transparent),transparent 40%),radial-gradient(circle at 90% 100%,color-mix(in srgb,var(--accent-secondary, #64748b) 10%,transparent),transparent 45%);opacity:.8}.auth-header{text-align:center;margin-bottom:2rem;position:relative;z-index:1}.auth-logo-wrapper{margin:0 auto 1.15rem;display:inline-flex;position:relative}.auth-logo-wrapper:after{content:"";position:absolute;inset:-18px;background:var(--accent-600, #2563eb);filter:blur(26px);opacity:.28;z-index:-1;border-radius:50%;animation:logoGlowPulse 3.2s ease-in-out infinite}@keyframes logoGlowPulse{0%,to{opacity:.18;transform:scale(1)}50%{opacity:.36;transform:scale(1.08)}}.auth-brand-logo{max-height:84px;max-width:min(210px,70vw);width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.28));transition:transform .4s cubic-bezier(.22,1,.36,1)}.auth-brand-logo:hover{transform:translateY(-3px) scale(1.04)}.auth-logo-placeholder{width:84px;height:84px;background:linear-gradient(145deg,var(--accent-500, #3b82f6) 0%,var(--accent-700, #1d4ed8) 100%);border-radius:22px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2.25rem;box-shadow:0 14px 28px color-mix(in srgb,var(--accent-600, #2563eb) 35%,transparent);border:1px solid rgba(255,255,255,.2)}.auth-logo{width:84px;height:84px;margin:0 auto 1.15rem;border-radius:22px;display:grid;place-items:center;font-size:2.1rem;color:#fff;background:linear-gradient(145deg,var(--accent-500, #3b82f6),var(--accent-700, #1d4ed8));box-shadow:0 14px 28px color-mix(in srgb,var(--accent-600, #2563eb) 35%,transparent),inset 0 1px #ffffff38;border:1px solid rgba(255,255,255,.18);position:relative}.auth-logo:after{content:"";position:absolute;inset:-16px;border-radius:50%;background:var(--accent-600, #2563eb);filter:blur(24px);opacity:.28;z-index:-1}.auth-brand-name{margin:0 0 .85rem;font-size:1.05rem;font-weight:750;letter-spacing:.02em;color:#fff;text-shadow:0 1px 12px color-mix(in srgb,var(--accent-600, #2563eb) 30%,transparent)}.auth-title{font-size:1.7rem;font-weight:800;color:#fff;margin-bottom:.35rem;letter-spacing:-.03em}.auth-subtitle{color:var(--auth-muted);font-size:.92rem;margin:0;line-height:1.55}.auth-card .form-control{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:.88rem 1.15rem;font-size:.95rem;color:#fff;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease;box-shadow:inset 0 1px 2px #0000001f;min-width:0;max-width:100%}.auth-card .input-group{width:100%;min-width:0;max-width:100%}.auth-card .input-group .form-control{padding-inline:1rem}.auth-card .input-group-text{flex-shrink:0;padding:.75rem .9rem}.auth-card .form-control::placeholder{color:#ffffff57}.auth-card .form-control:focus{background:#ffffff1a;border-color:color-mix(in srgb,var(--accent-500, #3b82f6) 70%,white);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-600, #2563eb) 22%,transparent),inset 0 1px 2px #00000014;color:#fff;transform:translateY(-1px)}.auth-card .form-label{color:#ffffffc7;font-weight:650;font-size:.84rem;margin-bottom:.45rem}.auth-card .input-group>.input-group-text{background:#ffffff0f;border-color:#ffffff1f;color:#ffffff8c;border-radius:14px 0 0 14px}[dir=rtl] .auth-card .input-group-text{border-radius:0 14px 14px 0}.auth-card .btn-primary{width:100%;padding:.92rem 1.4rem;font-size:1.02rem;font-weight:750;border-radius:14px;background:linear-gradient(135deg,var(--accent-500, #3b82f6) 0%,var(--accent-700, #1d4ed8) 100%);border:none;color:#fff;box-shadow:0 12px 28px -8px color-mix(in srgb,var(--accent-600, #2563eb) 55%,transparent);transition:transform .22s ease,box-shadow .22s ease;position:relative;overflow:hidden;letter-spacing:.01em}.auth-card .btn-primary:before{content:"";position:absolute;top:0;left:-80%;width:45%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.22),transparent);transform:skew(-22deg);animation:btnShine 3.8s ease-in-out infinite}@keyframes btnShine{0%{left:-80%}28%{left:160%}to{left:160%}}.auth-card .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px -8px color-mix(in srgb,var(--accent-600, #2563eb) 60%,transparent)}.auth-card .btn-primary:active{transform:translateY(1px);box-shadow:0 8px 16px -8px color-mix(in srgb,var(--accent-600, #2563eb) 45%,transparent)}.auth-card .alert{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffffe6;border-radius:12px;overflow-wrap:anywhere;word-break:break-word}.auth-card form,.auth-card .mb-3{min-width:0;max-width:100%;position:relative;z-index:1}.auth-card .alert-success{border-color:#10b98166;background:#10b9811f}.auth-card .alert-danger{border-color:#ef444466;background:#ef44441f}.auth-card .alert-warning{border-color:#f59e0b66;background:#f59e0b1f}.auth-card .alert-info{border-color:#3b82f666;background:#3b82f61f}.auth-card a{color:color-mix(in srgb,var(--accent-300, #93c5fd) 80%,white);font-weight:650}.auth-footer{margin-top:1.25rem;text-align:center;position:relative;z-index:1}.auth-footer a{display:inline-flex;align-items:center;gap:.35rem;color:var(--auth-muted);text-decoration:none;font-size:.9rem;transition:color .2s ease}.auth-footer a:hover{color:#fff}.auth-hint{text-align:center;margin-top:1rem;font-size:.78rem;color:var(--auth-soft)}.auth-hint kbd{background:#ffffff1a;border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:.1rem .4rem;font-size:.72rem;color:#ffffffd9}.auth-secure-note{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:1.35rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.08);font-size:.75rem;color:var(--auth-soft);position:relative;z-index:1}.auth-secure-note i{color:color-mix(in srgb,var(--accent-400, #60a5fa) 80%,white)}.auth-card .auth-password-toggle{cursor:pointer;color:#ffffff8c!important;border-color:#ffffff1f!important;border-radius:0 14px 14px 0;transition:color .2s ease,background .2s ease}[dir=rtl] .auth-card .auth-password-toggle{border-radius:14px 0 0 14px}.auth-card .auth-password-toggle:hover{color:#fff!important;background:#ffffff14!important}.auth-caps-hint{margin-top:.45rem;font-size:.75rem;font-weight:650;color:#fbbf24;display:inline-flex;align-items:center}.auth-card form>.mb-3{animation:authFieldIn .45s cubic-bezier(.22,1,.36,1) both}.auth-card form>.mb-3:nth-child(1){animation-delay:.05s}.auth-card form>.mb-3:nth-child(2){animation-delay:.1s}.auth-card form>.mb-3:nth-child(3){animation-delay:.15s}.auth-card form>.mb-3:nth-child(4){animation-delay:.2s}.auth-card form>.mb-3:nth-child(5){animation-delay:.25s}@keyframes authFieldIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.auth-theme-toggle{position:fixed;top:max(1rem,env(safe-area-inset-top,0px));inset-inline-start:max(1rem,env(safe-area-inset-left,0px));z-index:20;width:2.6rem;height:2.6rem;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:#fff;display:grid;place-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 24px #00000040;transition:transform .2s ease,background .2s ease,border-color .2s ease}.auth-theme-toggle:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--accent-600, #2563eb) 28%,rgba(255,255,255,.1));border-color:color-mix(in srgb,var(--accent-500, #3b82f6) 45%,white)}.auth-page-footer{position:fixed;bottom:max(.85rem,env(safe-area-inset-bottom,0px));left:0;right:0;z-index:5;display:flex;justify-content:center;gap:.45rem;font-size:.72rem;color:#ffffff57;pointer-events:none;letter-spacing:.02em}[data-theme=dark] body.auth-page{--auth-surface: #06060f;--auth-surface-2: #0d1220}[data-theme=light] .auth-card .form-control,[data-theme=light] .auth-card .form-label{color:#fff}[data-theme=light] .auth-card .form-control::placeholder{color:#ffffff57}@media(max-width:575.98px){body.auth-page{padding:.85rem;padding-top:max(.85rem,env(safe-area-inset-top,0px));padding-bottom:max(.85rem,env(safe-area-inset-bottom,0px))}.auth-container{max-width:100%}.auth-card{padding:1.7rem 1.15rem 1.4rem;border-radius:20px}.auth-header{margin-bottom:1.5rem}.auth-brand-logo{max-height:68px;max-width:min(170px,62vw)}.auth-logo-placeholder{width:68px;height:68px;font-size:1.85rem;border-radius:18px}.auth-brand-name{font-size:.95rem}.auth-title{font-size:1.4rem}.auth-subtitle{font-size:.86rem}.auth-card .form-control,.auth-card .input-group-text{font-size:16px}.auth-card .webauthn-login-btn{padding:.85rem .95rem;gap:.75rem}.auth-card .webauthn-login-btn__icon{width:2.55rem;height:2.55rem;font-size:1.35rem}.auth-card .webauthn-login-btn__copy strong{font-size:.92rem}.auth-card .webauthn-login-btn__copy small{font-size:.72rem}.auth-card .webauthn-login-btn__chevron{display:none}.auth-card .btn-primary{font-size:1rem;padding:.85rem 1rem}}@media(max-width:360px){body.auth-page{padding:.55rem}.auth-card{padding:1.4rem .9rem 1.2rem;border-radius:16px}.auth-title{font-size:1.28rem}}.auth-card .webauthn-login-btn{width:100%;display:flex;align-items:center;gap:.9rem;padding:.95rem 1.05rem;border:1px solid color-mix(in srgb,var(--accent-600, #2563eb) 36%,rgba(255,255,255,.14));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-600, #2563eb) 18%,transparent),#ffffff0a 55%),#ffffff0a;color:#fff;text-align:start;position:relative;overflow:hidden;box-shadow:0 10px 28px -16px color-mix(in srgb,var(--accent-600, #2563eb) 50%,transparent),inset 0 1px #ffffff1f;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease}.auth-card .webauthn-login-btn:before{content:"";position:absolute;inset:-40% auto -40% -30%;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);transform:skew(-18deg);animation:webauthnShine 4.2s ease-in-out infinite;pointer-events:none}@keyframes webauthnShine{0%,55%{left:-40%;opacity:0}60%{opacity:1}78%{left:120%;opacity:0}to{left:120%;opacity:0}}.auth-card .webauthn-login-btn__icon{flex-shrink:0;width:2.85rem;height:2.85rem;border-radius:14px;display:grid;place-items:center;font-size:1.45rem;color:#fff;background:linear-gradient(145deg,var(--accent-500, #3b82f6),var(--accent-700, #1d4ed8));box-shadow:0 8px 18px -6px color-mix(in srgb,var(--accent-600, #2563eb) 55%,transparent),inset 0 1px #ffffff40;position:relative;z-index:1}.auth-card .webauthn-login-btn__icon i{animation:fingerprintPulse 2.4s ease-in-out infinite}.auth-card .webauthn-login-btn__copy{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1;position:relative;z-index:1}.auth-card .webauthn-login-btn__copy strong{font-size:.98rem;font-weight:750;letter-spacing:.01em;line-height:1.2}.auth-card .webauthn-login-btn__copy small{font-size:.76rem;color:#ffffff9e;line-height:1.3}.auth-card .webauthn-login-btn__loading{display:inline-flex;align-items:center;gap:.55rem;flex:1;font-size:.9rem;font-weight:650;position:relative;z-index:1}.auth-card .webauthn-login-btn__chevron{flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:999px;display:grid;place-items:center;color:#ffffffb3;background:#ffffff14;border:1px solid rgba(255,255,255,.1);transition:transform .22s ease,background .22s ease,color .22s ease;position:relative;z-index:1}.auth-card .webauthn-login-btn:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent-500, #3b82f6) 65%,white);box-shadow:0 16px 34px -14px color-mix(in srgb,var(--accent-600, #2563eb) 55%,transparent),inset 0 1px #ffffff29;color:#fff}.auth-card .webauthn-login-btn:hover .webauthn-login-btn__chevron{transform:translate(-3px);background:color-mix(in srgb,var(--accent-600, #2563eb) 28%,transparent);color:#fff}.auth-card .webauthn-login-btn:active{transform:translateY(0)}.auth-card .webauthn-login-btn:disabled{opacity:.78;transform:none;cursor:wait}.auth-card .webauthn-login-btn:disabled .webauthn-login-btn__chevron{display:none}.auth-card .webauthn-login-btn.is-loading .webauthn-login-btn__icon,.auth-card .webauthn-login-btn.is-loading .webauthn-login-btn__copy,.auth-card .webauthn-login-btn.is-loading .webauthn-login-btn__chevron{display:none}.auth-card .webauthn-login-btn.is-success{border-color:#10b9818c;background:#10b98124;color:#6ee7b7;box-shadow:0 12px 28px -14px #10b98173}.auth-card .webauthn-login-btn.is-success:before{animation:none;opacity:0}@keyframes fingerprintPulse{0%,to{transform:scale(1);opacity:.92}50%{transform:scale(1.08);opacity:1}}.auth-divider{display:flex;align-items:center;gap:.85rem;margin:1.15rem 0 .15rem;color:#ffffff73;font-size:.78rem;font-weight:600}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent)}.auth-divider span{white-space:nowrap}
