:root{--auth-bg:#0d0b16;--auth-border:rgba(255,255,255,.11);--auth-accent:#8b5cf6;--auth-accent-strong:#a77bff;--auth-cyan:#34d9f5;--auth-text:#f7f5ff;--auth-muted:#aaa5bd;--auth-success:#4ade80;--auth-warning:#fbbf24;--auth-danger:#fb7185;--auth-radius:20px;--auth-control-radius:12px}
.auth-loading-layer{position:fixed;z-index:10000;inset:0;isolation:isolate;display:grid;min-height:100vh;overflow:hidden;place-items:center;padding:24px;color:var(--auth-text);background:radial-gradient(circle at 16% 18%,rgba(139,92,246,.24),transparent 34%),radial-gradient(circle at 84% 12%,rgba(52,217,245,.14),transparent 30%),radial-gradient(circle at 52% 88%,rgba(139,92,246,.16),transparent 36%),var(--auth-bg);font-family:"Outfit",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;transition:opacity 220ms ease,visibility 220ms ease}
.auth-loading-layer::before{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;content:"";mask-image:radial-gradient(circle at center,#000,transparent 78%);pointer-events:none}
.auth-loading-layer.is-hidden{visibility:hidden;opacity:0;pointer-events:none}.auth-loading-content{display:flex;max-width:440px;flex-direction:column;align-items:center;text-align:center}.auth-loading-eyebrow{margin-bottom:24px;color:var(--auth-cyan);font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.auth-loading-orbit{position:relative;width:68px;height:68px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 42px rgba(139,92,246,.22)}.auth-loading-orbit::before{position:absolute;inset:7px;border:2px solid transparent;border-top-color:var(--auth-accent-strong);border-right-color:var(--auth-cyan);border-radius:50%;content:"";animation:auth-loading-spin .85s linear infinite}.auth-loading-orbit::after{position:absolute;top:50%;left:50%;width:9px;height:9px;border-radius:3px;background:var(--auth-text);box-shadow:0 0 18px rgba(52,217,245,.75);content:"";transform:translate(-50%,-50%) rotate(45deg)}.auth-loading-content h1{margin:22px 0 0;font-size:clamp(20px,4vw,25px);font-weight:600;line-height:1.2}.auth-loading-content p{max-width:34ch;margin:8px 0 0;color:var(--auth-muted);font-size:14px;line-height:1.55}@keyframes auth-loading-spin{to{transform:rotate(360deg)}}
.auth-login-layer{position:fixed;z-index:9999;inset:0;isolation:isolate;display:grid;min-height:100vh;overflow:auto;place-items:center;padding:32px 20px;color:var(--auth-text);background:radial-gradient(circle at 16% 18%,rgba(139,92,246,.24),transparent 34%),radial-gradient(circle at 84% 12%,rgba(52,217,245,.14),transparent 30%),radial-gradient(circle at 52% 88%,rgba(139,92,246,.16),transparent 36%),var(--auth-bg);font-family:"Outfit",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}
.auth-login-layer::before{position:fixed;z-index:-1;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;content:"";mask-image:radial-gradient(circle at center,#000,transparent 78%);pointer-events:none}
.auth-login-card{position:relative;display:flex;width:100%;max-width:540px;flex-direction:column;gap:14px;margin:auto;padding:32px;overflow:hidden;border:1px solid var(--auth-border);border-radius:var(--auth-radius);color:var(--auth-text);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));box-shadow:0 28px 90px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.06);text-align:left;backdrop-filter:blur(18px)}
.auth-login-card::after{position:absolute;top:0;right:12%;left:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(167,123,255,.85),transparent);content:""}
.auth-login-header{margin-bottom:10px}.auth-login-eyebrow{display:block;margin:0 0 8px;color:var(--auth-cyan);font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.auth-login-title{margin:0;color:var(--auth-text);font-family:"Bebas Neue","Outfit",sans-serif;font-size:clamp(38px,8vw,48px);font-weight:400;letter-spacing:.035em;line-height:.98}
.auth-login-subtitle{max-width:44ch;margin:12px 0 0;color:var(--auth-muted);font-size:15px;font-weight:400;line-height:1.6}
.auth-login-field{display:flex;flex-direction:column;gap:7px}.auth-login-label{display:block;margin:0;color:#d9d5e7;font-size:13px;font-weight:600;letter-spacing:.01em}
.auth-login-input{width:100%;min-height:50px;padding:13px 15px;border:1px solid var(--auth-border);border-radius:var(--auth-control-radius);outline:none;color:var(--auth-text);background:rgba(255,255,255,.055);box-shadow:none;font:inherit;font-size:16px;transition:border-color 160ms ease,background-color 160ms ease,box-shadow 160ms ease,transform 160ms ease}
.auth-login-input::placeholder{color:#777286;opacity:1}.auth-login-input:hover{border-color:rgba(255,255,255,.2)}.auth-login-input:focus{border-color:rgba(167,123,255,.9);color:var(--auth-text);background:rgba(255,255,255,.075);box-shadow:0 0 0 3px rgba(139,92,246,.2);transform:translateY(-1px)}
.auth-login-input-group{display:grid;grid-template-columns:minmax(0,1fr) 50px;gap:8px;align-items:stretch}.auth-login-input-group .auth-login-input{min-width:0}
.auth-login-icon-button{display:grid;width:50px;min-height:50px;place-items:center;padding:0;border:1px solid var(--auth-border);border-radius:var(--auth-control-radius);color:var(--auth-text);background:rgba(255,255,255,.055);cursor:pointer;transition:border-color 160ms ease,background-color 160ms ease,transform 160ms ease}
.auth-login-icon-button:hover{border-color:rgba(167,123,255,.6);background:rgba(139,92,246,.12);transform:translateY(-1px)}
.auth-login-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.auth-login-link{color:var(--auth-cyan);font-size:13px;font-weight:600;text-decoration:none;text-underline-offset:3px}.auth-login-link:hover{color:#80eafb;text-decoration:underline}
.auth-login-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.auth-login-actions--single{grid-template-columns:1fr}
.auth-login-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:13px 18px;border-radius:var(--auth-control-radius);font:inherit;font-size:15px;font-weight:700;letter-spacing:.015em;text-decoration:none;cursor:pointer;transition:border-color 160ms ease,box-shadow 180ms ease,transform 160ms ease}
.auth-login-button--primary{border:0;color:#fff;background:linear-gradient(135deg,var(--auth-accent),var(--auth-accent-strong));box-shadow:0 12px 30px rgba(91,45,190,.22)}.auth-login-button--primary:hover{color:#fff;box-shadow:0 14px 34px rgba(91,45,190,.38);transform:translateY(-1px)}
.auth-login-button--secondary{border:1px solid var(--auth-border);color:var(--auth-text);background:rgba(255,255,255,.045)}.auth-login-button--secondary:hover{border-color:rgba(52,217,245,.42);color:var(--auth-text);transform:translateY(-1px)}
.auth-login-button:disabled,.auth-login-icon-button:disabled{opacity:.48;box-shadow:none;cursor:not-allowed;transform:none}.auth-login-button:focus-visible,.auth-login-icon-button:focus-visible,.auth-login-link:focus-visible{outline:3px solid rgba(52,217,245,.3);outline-offset:2px}
.auth-login-status-stack{display:flex;flex-direction:column;gap:10px}.auth-login-alert,.auth-login-feedback:not(:empty){position:relative;min-height:46px;margin:0;padding:12px 14px 12px 45px;border:1px solid rgba(255,255,255,.12);border-radius:var(--auth-control-radius);color:var(--auth-text);background:rgba(255,255,255,.06);font-size:14px;font-weight:500;line-height:1.5}.auth-login-alert{display:none}
.auth-login-alert::before,.auth-login-feedback:not(:empty)::before{position:absolute;top:12px;left:14px;display:grid;width:20px;height:20px;place-items:center;border:1px solid currentColor;border-radius:7px;content:"i";font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;line-height:1}
.auth-login-alert--progress{border-color:rgba(52,217,245,.34);color:#cffafe;background:rgba(6,182,212,.11)}.auth-login-alert--progress::before{content:"…";color:var(--auth-cyan)}
.auth-login-alert--success{border-color:rgba(74,222,128,.34);color:#dcfce7;background:rgba(34,197,94,.11)}.auth-login-alert--success::before{content:"✓";color:var(--auth-success)}
.auth-login-alert--warning{border-color:rgba(251,191,36,.36);color:#fef3c7;background:rgba(245,158,11,.11)}.auth-login-alert--warning::before{content:"!";color:var(--auth-warning)}
.auth-login-alert--danger,.auth-login-feedback:not(:empty){border-color:rgba(251,113,133,.36);color:#ffe4e6;background:rgba(244,63,94,.11)}.auth-login-alert--danger::before,.auth-login-feedback:not(:empty)::before{content:"!";color:var(--auth-danger)}.auth-login-feedback:empty{display:none}
.auth-login-layer .auth-login-card{box-sizing:border-box;width:min(540px,calc(100vw - 40px))!important;max-width:540px!important}
@media (prefers-reduced-motion:reduce){.auth-login-layer *,.auth-login-layer *::before,.auth-login-layer *::after{transition-duration:.01ms!important}.auth-loading-orbit::before{animation-duration:1.8s}}
@media (max-width:560px){.auth-login-layer{align-items:start;padding:18px 14px}.auth-login-layer .auth-login-card{width:calc(100vw - 28px)!important;padding:24px 18px;border-radius:17px}.auth-login-title{font-size:38px}.auth-login-actions{grid-template-columns:1fr}}
