.auth-body{align-items:center;background:linear-gradient(180deg,#eee,#fff);color:#333;display:flex;font-family:Roboto,Lato,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;justify-content:center;margin:0;min-height:100vh}.auth-layout{display:grid;padding:1.5rem;place-items:center;width:100%}.auth-panel{background:hsla(0,0%,100%,.94);border-radius:10px;box-shadow:0 24px 48px rgba(15,23,42,.18);gap:1.75rem;padding:clamp(2rem,5vw,3rem);width:min(420px,100%)}.auth-header,.auth-panel{display:flex;flex-direction:column}.auth-header{gap:.75rem;text-align:center}.auth-logo{display:block;margin:0 auto;width:clamp(140px,50%,180px)}.auth-title{font-size:clamp(1.4rem,4vw,1.75rem);margin:0}.auth-subtitle{color:#333;font-size:.95rem;margin:0}.auth-form{gap:1.25rem}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{font-size:.95rem;gap:.5rem}.auth-label{color:#333;font-weight:600}.auth-input{background:hsla(0,0%,100%,.9);border:1px solid rgba(26,32,44,.15);border-radius:5px;color:#333;font-size:1rem;padding:.875rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.auth-input:focus{border-color:rgba(37,99,235,.6);box-shadow:0 0 0 4px rgba(37,99,235,.15);outline:none}.auth-password{display:flex;position:relative}.auth-password .auth-input{padding-right:3rem}.auth-toggle{background:none;border:none;color:#333;cursor:pointer;line-height:1;padding:.25rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:color .2s ease}.auth-toggle:focus,.auth-toggle:hover{color:#d62839}.auth-alert{background:rgba(239,68,68,.1);border-radius:5px;color:#ef4444;display:flex;flex-direction:column;font-size:.9rem;gap:.3rem;padding:.75rem 1rem}.auth-submit{align-items:center;background:#d62839;border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;padding:.9rem 1.5rem;transition:background .2s ease,transform .2s ease;width:100%}.auth-submit:focus,.auth-submit:hover{background:#9e1c2a;transform:translateY(-1px)}.auth-submit:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-spinner{animation:auth-spin .7s linear infinite;border:2px solid hsla(0,0%,100%,.45);border-radius:50%;border-top-color:#fff;display:none;height:1rem;width:1rem}.auth-spinner.is-visible{display:inline-flex}@keyframes auth-spin{to{transform:rotate(1turn)}}@media (max-width:640px){.auth-panel{border-radius:10px;padding:2rem 1.5rem}.auth-layout{padding:1.25rem}}
