html{font-size:clamp(13px, calc(0.42vw + 8px), 19px)}
*{box-sizing:border-box}body{margin:0;font:0.875rem/1.45 "Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(135deg,#0070f4 0%,#0a4bb3 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;color:#1f2937}
.auth{width:23.75rem;max-width:calc(100vw - 2rem);background:#fff;border-radius:0.75rem;box-shadow:0 1.25rem 3.125rem rgba(0,0,0,.25);padding:2rem 1.875rem 1.625rem}
.auth .logo{display:flex;justify-content:center;margin-bottom:1.25rem}.auth .logo img{display:block;max-width:100%;height:auto}
.auth label{display:block;font-weight:600;margin:0.75rem 0 0.375rem}.auth input{width:100%;height:2.625rem;border:1px solid #d1d5db;border-radius:0.5rem;padding:0 0.75rem;font-size:0.9375rem;outline:none}
.auth input:focus{border-color:#0070f4;box-shadow:0 0 0 0.1875rem rgba(0,112,244,.15)}
.auth .btns{display:flex;gap:0.625rem;margin-top:1.375rem}.auth button{flex:1;height:2.75rem;border:0;border-radius:0.5rem;font-size:0.9375rem;font-weight:600;cursor:pointer}
.auth .b1{background:#0070f4;color:#fff}.auth .b2{background:#00a650;color:#fff}.auth button:hover{filter:brightness(.95)}
.auth .err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:0.5rem;padding:0.5rem 0.75rem;margin-bottom:0.375rem;font-size:0.8125rem}
.auth .ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;border-radius:0.5rem;padding:0.5rem 0.75rem;font-size:0.8125rem}
.auth .muted{color:#6b7280;font-size:0.75rem;text-align:center;margin-top:1.125rem}.auth h2{margin:0 0 0.375rem;font-size:1.125rem;text-align:center}
.auth a{color:#0070f4;text-decoration:none}
