body {margin:0; min-height:100dvh; padding:24px 16px; background:radial-gradient(ellipse at top,#fff 0,var(--app-bg) 70%); color:#191b1e; font:14px/1.5 'Inter','Segoe UI',system-ui,sans-serif;}
.auth-card {max-width:420px; margin:10vh auto; padding:28px; border:1px solid #e1dfd8; border-radius:10px; background:#fff; box-shadow:0 12px 40px #191b1e08;}
.auth-card h1 {font-size:24px; font-weight:600;}
.auth-card label {font-size:13px; font-weight:600; color:#4b5058;}
.auth-card .form-control {border:1px solid #cbc8be; border-radius:6px; min-height:42px;}
.auth-card .form-control:focus {border-color:var(--accent); box-shadow:0 0 0 2px var(--accent-soft);}
.auth-card .btn {border-radius:6px; min-height:44px; font-size:14px; font-weight:600;}
.auth-card .btn-primary {background:var(--accent); border-color:var(--accent);}
.auth-card a {color:var(--accent);}
.auth-card a.btn-primary {color:#fff;}
.auth-card .errorlist {color:#a2331a; padding-left:18px; font-size:13px;}
@media(max-width:575px){.auth-card{margin:5vh auto;padding:24px 20px}.auth-card .form-control{font-size:16px}}

.auth-card :is(a,button,input):focus-visible {outline:3px solid var(--accent);outline-offset:3px;}
@media(pointer:coarse),(max-width:991px){.auth-card :is(.btn,.form-control){min-height:48px}.auth-card .form-control{font-size:16px}}
