.auth-page{--auth-ink:#0f172a;--auth-muted:#64748b;--auth-border:#e2e8f0;--auth-surface:#fff;--auth-bg:#f4f7fa;--auth-accent:#0f172a;background:var(--auth-bg);color:var(--auth-ink);display:grid;font-family:var(--font-primary);grid-template-columns:minmax(280px,1fr) minmax(360px,520px);min-height:100vh;min-height:100dvh}.auth-page *,.auth-page :after,.auth-page :before{box-sizing:border-box}.auth-page button,.auth-page input{font-family:inherit}.auth-brand{background:radial-gradient(ellipse 80% 60% at 20% 0,rgba(59,130,246,.18) 0,transparent 55%),radial-gradient(ellipse 60% 50% at 80% 100%,rgba(148,163,184,.12) 0,transparent 50%),#0f172a;color:#f8fafc;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(32px,5vw,56px);position:relative}.auth-brand:before{background-image:linear-gradient(hsla(0,0%,100%,.03) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 0);background-size:48px 48px;content:"";inset:0;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 70%);mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 70%);pointer-events:none;position:absolute}.auth-brand__inner{animation:auth-fade-in .5s ease-out both;max-width:420px;position:relative;z-index:1}.auth-brand__logo{margin-bottom:28px}.auth-brand__logo .app-logo__label{font-size:1.5rem}.auth-brand__tagline{color:#e2e8f0;font-size:1.125rem;line-height:1.55;margin:0 0 32px;max-width:36ch;text-wrap:pretty}.auth-brand__features{display:flex;flex-direction:column;gap:14px;list-style:none;margin:0;padding:0}.auth-brand__features li{align-items:flex-start;color:#cbd5e1;display:flex;font-size:14px;gap:12px;line-height:1.45}.auth-brand__features li svg{color:#86efac;flex-shrink:0;margin-top:2px}.auth-brand__foot{color:#94a3b8;font-size:12px;margin:0;position:relative;z-index:1}.auth-main{align-items:center;background:var(--auth-bg);display:flex;justify-content:center;padding:clamp(24px,4vw,48px)}.auth-panel{animation:auth-slide-in .45s ease-out .05s both;max-width:400px;width:100%}.auth-page--wide .auth-panel{max-width:440px}.auth-panel__head{margin-bottom:28px}.auth-panel__head h1{color:var(--auth-ink)!important;font-size:clamp(1.75rem,4vw,2rem);font-weight:700;letter-spacing:-.03em;line-height:1.15;margin:0 0 8px;text-wrap:balance}.auth-panel__head p{color:var(--auth-muted);font-size:15px;line-height:1.5;margin:0;text-wrap:pretty}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-field,.form-group.floating-label.auth-field{position:relative;width:100%}.auth-field label,.form-group.floating-label.auth-field label{background:var(--auth-surface);color:var(--auth-muted);font-size:12px;font-weight:600;left:16px;line-height:1;margin:0;padding:0 6px;pointer-events:none;position:absolute;top:-9px;z-index:2}.auth-field input,.form-group.floating-label.auth-field input{background:var(--auth-surface);border:1px solid var(--auth-border);border-radius:14px;box-shadow:none;color:var(--auth-ink);font-size:16px;height:52px;line-height:1.4;margin:0;outline:none;padding:0 16px;transition:border-color .15s ease;width:100%}.auth-field input::-moz-placeholder,.form-group.floating-label.auth-field input::-moz-placeholder{color:transparent;opacity:0}.auth-field input::placeholder,.form-group.floating-label.auth-field input::placeholder{color:transparent;opacity:0}.auth-field input:hover:not(:disabled),.form-group.floating-label.auth-field input:hover:not(:disabled){border-color:#cbd5e1}.auth-field input:focus,.form-group.floating-label.auth-field input:focus{border-color:var(--auth-accent);box-shadow:none}.auth-field input:not(:-moz-placeholder)+label,.form-group.floating-label.auth-field input:not(:-moz-placeholder)+label{color:var(--auth-accent)}.auth-field input:focus+label,.auth-field input:not(:placeholder-shown)+label,.form-group.floating-label.auth-field input:focus+label,.form-group.floating-label.auth-field input:not(:placeholder-shown)+label{color:var(--auth-accent)}.auth-field input:disabled,.form-group.floating-label.auth-field input:disabled{background:#f8fafc;cursor:not-allowed;opacity:.65}.auth-field__password input,.auth-password-field input{padding-right:48px}.auth-field__toggle{align-items:center;background:transparent;border:none;border-radius:10px;color:var(--auth-muted);cursor:pointer;display:flex;height:36px;justify-content:center;padding:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:background-color .15s ease,color .15s ease;width:36px}.auth-field__toggle:hover:not(:disabled){background:#f1f5f9;color:var(--auth-ink)}.auth-field__toggle:focus-visible{outline:2px solid var(--auth-accent);outline-offset:2px}.auth-field__toggle:disabled{cursor:not-allowed;opacity:.5}.auth-alert{border-radius:12px;font-size:14px;font-weight:500;line-height:1.45;padding:12px 14px}.auth-alert--error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.auth-alert--success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.auth-submit{align-items:center;background:var(--auth-accent);border:none;border-radius:14px;color:#fff!important;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:10px;justify-content:center;margin-top:4px;padding:14px 20px;transition:opacity .15s ease,transform .15s ease;width:100%}.auth-submit:hover:not(:disabled){opacity:.92}.auth-submit:active:not(:disabled){transform:scale(.99)}.auth-submit:focus-visible{outline:2px solid var(--auth-accent);outline-offset:3px}.auth-submit:disabled{cursor:not-allowed;opacity:.55}.auth-submit__spinner{animation:auth-spin .7s linear infinite;border:2px solid hsla(0,0%,100%,.35);border-radius:50%;border-top-color:#fff;height:18px;width:18px}.auth-panel__foot{border-top:1px solid var(--auth-border);margin-top:28px;padding-top:24px}.auth-switch{color:var(--auth-muted);font-size:14px;margin:0;text-align:center}.auth-switch a{color:var(--auth-ink);font-weight:600;margin-left:4px;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-switch a:focus-visible{border-radius:4px;outline:2px solid var(--auth-accent);outline-offset:2px}@keyframes auth-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-slide-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes auth-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.auth-brand__inner,.auth-panel{animation:none}.auth-submit__spinner{animation-duration:1.2s}}@media(max-width:900px){.auth-page{grid-template-columns:1fr;grid-template-rows:auto 1fr}.auth-brand{min-height:auto;padding:28px 24px 32px}.auth-brand__tagline{font-size:1rem;margin-bottom:20px}.auth-brand__features,.auth-brand__foot{display:none}.auth-main{align-items:flex-start;padding:8px 24px 40px}.auth-panel{animation-name:auth-fade-in;max-width:none}}@media(max-width:480px){.auth-main{padding-inline:20px}}
