.auth-wrap{min-height:calc(100vh - 180px);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;background:#f3f4f6}
.auth-card{width:100%;max-width:760px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.06);padding:26px}
.auth-title{font-size:44px;line-height:1.05;margin:0 0 8px;font-weight:900;letter-spacing:-.02em;color:#111827}
.auth-sub{margin:0 0 18px;color:#6b7280;font-size:14px;line-height:1.6}

.auth-flash{border-radius:14px;padding:10px 12px;margin:0 0 14px;font-weight:800;font-size:13px}
.auth-flash.err{background:#fef2f2;border:1px solid #ef4444;color:#7f1d1d}
.auth-flash.ok{background:#ecfdf5;border:1px solid #10b981;color:#065f46}

.auth-grid{display:grid;grid-template-columns:1fr;gap:14px}
.auth-row label{display:block;font-weight:900;color:#111827;font-size:13px;margin:0 0 6px}
.auth-row input{width:100%;height:46px;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;font-size:14px;outline:none;background:#fff}
.auth-row input:focus{border-color:#9ca3af;box-shadow:0 0 0 4px rgba(156,163,175,.25)}

.auth-actions{margin-top:14px}
.auth-btn{width:100%;height:50px;border:0;border-radius:999px;background:#b40013;color:#fff;font-weight:900;font-size:15px;cursor:pointer}
.auth-btn:hover{filter:brightness(.95)}

.auth-note{margin-top:14px;text-align:center;font-size:13px;color:#6b7280;font-weight:800}
.auth-note a{color:#b40013;text-decoration:none}
.auth-note a:hover{text-decoration:underline}

.auth-social{margin-top:14px;display:grid;gap:10px}
.auth-social-btn{display:flex;align-items:center;justify-content:center;height:46px;border:1px solid #e5e7eb;border-radius:14px;text-decoration:none;font-weight:900;color:#111827;background:#fff}
.auth-social-btn:hover{background:#f9fafb}

@media (min-width: 768px){
  .auth-card{padding:32px}
  .auth-title{font-size:52px}
}
