html,body.auth-page{min-height:100%;background:#09090b}
body.auth-page{overflow:hidden;color:#fafafa;user-select:none}
.auth-page main{max-width:none;min-height:100vh;margin:0;padding:0}
.login-scene{position:relative;isolation:isolate;display:flex;min-height:100vh;align-items:center;justify-content:center;overflow:hidden;padding:0 1rem;background:radial-gradient(ellipse at top,#18181b 0%,#09090b 52%,#09090b 100%)}
.login-glow{position:absolute;z-index:-1;border-radius:9999px;filter:blur(64px);pointer-events:none}
.login-glow--emerald{top:25%;left:50%;width:24rem;height:24rem;transform:translate(-50%,-50%);background:rgba(16,185,129,.1)}
.login-glow--indigo{right:25%;bottom:25%;width:20rem;height:20rem;background:rgba(99,102,241,.1)}
.login-card{position:relative;z-index:10;width:100%;max-width:28rem;padding:.5rem;border:1px solid rgba(39,39,42,.8);border-radius:1rem;background:linear-gradient(135deg,rgba(24,24,30,.8),rgba(15,15,20,.6));box-shadow:0 25px 50px -12px rgba(0,0,0,.65);backdrop-filter:blur(12px)}
.login-heading{display:flex;flex-direction:column;gap:.375rem;margin:0;padding:1.5rem 1.5rem 1rem;border:0;background:transparent;text-align:center}
.login-logo{display:flex;justify-content:center;margin-bottom:1.5rem}
.login-logo img{display:block;width:8rem;height:2.25rem;object-fit:contain}
.login-heading h1{margin:0;color:#fff;font-size:1.5rem;line-height:2rem;font-weight:800;letter-spacing:-.025em}
.login-heading p{margin:.25rem 0 0;color:#a1a1aa;font-size:.75rem;line-height:1rem;font-weight:500}
.login-content{padding:0 1.5rem 1.5rem}
.login-form{display:grid;gap:1rem}
.login-group{display:grid;gap:.5rem}
.login-form label{color:#d4d4d8;font-size:.75rem;line-height:1rem;font-weight:600}
.login-field{position:relative}
.login-field>svg{position:absolute;left:.875rem;top:50%;width:1rem;height:1rem;transform:translateY(-50%);stroke:#71717a;stroke-width:1.8;fill:none}
.login-field input{display:flex;width:100%;height:2.5rem;padding:.5rem .75rem .5rem 2.5rem;border:1px solid #27272a;border-radius:.75rem;background:rgba(24,24,27,.8);color:#fff;font-size:.75rem;line-height:1rem;outline:none;transition:border-color .2s,box-shadow .2s}
.login-field input::placeholder{color:#52525b}
.login-field input:focus{border-color:rgba(16,185,129,.5);box-shadow:0 0 0 2px rgba(16,185,129,.18)}
.login-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;height:2.5rem;margin:0;padding:.625rem 1rem;border:0;border-radius:.75rem;background:linear-gradient(90deg,#10b981,#0d9488);color:#000;font-size:.75rem;line-height:1rem;font-weight:700;white-space:nowrap;box-shadow:0 0 20px rgba(16,185,129,.25);transition:all .2s}
.login-submit>svg{display:none;width:0;height:0}
.login-submit:hover{background:linear-gradient(90deg,#34d399,#14b8a6)}
.login-submit:disabled{cursor:not-allowed;opacity:.5}
.login-submit.is-loading span{display:inline-flex;align-items:center;gap:.5rem}
.login-submit.is-loading span::before{content:"";width:.875rem;height:.875rem;border:2px solid rgba(0,0,0,.3);border-top-color:#000;border-radius:50%;animation:login-spin .7s linear infinite}
.login-error{margin:0 0 1rem;padding:.875rem;border:1px solid rgba(244,63,94,.2);border-radius:.75rem;background:rgba(244,63,94,.1);color:#fb7185;font-size:.75rem;line-height:1rem;font-weight:500}
.login-error svg{display:none}
.password-help{margin:0;color:#71717a;font-size:.6875rem;line-height:1rem}
@keyframes login-spin{to{transform:rotate(360deg)}}
@media(max-width:480px){.login-scene{padding:0 1rem}.login-heading{padding:1.5rem 1.25rem 1rem}.login-content{padding:0 1.25rem 1.5rem}}
