.auth-shell{min-height:calc(100vh - 320px);display:flex;align-items:center;justify-content:center;padding:48px 20px;background:#f7f7f9}.auth-card{width:100%;max-width:400px;background:#fff;border:1px solid #e7e9ec;border-radius:14px;padding:36px 32px;box-shadow:0 1px 3px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.04)}.auth-card-brand{display:flex;align-items:center;gap:10px;margin-bottom:20px}.auth-card-brand img{height:28px;width:auto;object-fit:contain}.auth-card-brand span{font-weight:700;font-size:15px;color:#1a1a1a}.auth-card h1{font-size:21px;font-weight:700;margin-bottom:6px;color:#1a1a1a}.auth-card .auth-subtitle{color:#6b7280;font-size:13.5px;margin-bottom:24px;line-height:1.5}.auth-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.auth-field label{font-size:13px;font-weight:500;color:#374151}.auth-field input{padding:11px 13px;font-size:14.5px;border:1px solid #d4d6da;border-radius:8px;font-family:inherit;transition:border-color .15s}.auth-field input:focus{outline:none;border-color:var(--color-primary,#1a1a1a);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary,#1a1a1a) 12%,transparent)}.auth-field-hint{font-size:12px;color:#9ca3af}.auth-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:13px;padding:10px 12px;border-radius:8px;margin-bottom:16px;line-height:1.4}.auth-submit{width:100%;padding:12px;margin-top:4px;border:none;border-radius:8px;background:var(--color-primary,#1a1a1a);color:#fff;font-size:14.5px;font-weight:600;cursor:pointer;transition:opacity .15s}.auth-submit:hover:not(:disabled){opacity:.9}.auth-submit:disabled{opacity:.6;cursor:default}a.auth-submit{display:block;box-sizing:border-box;text-align:center;text-decoration:none}.auth-switch{text-align:center;margin-top:20px;font-size:13.5px;color:#6b7280}.auth-switch a{color:var(--color-primary,#1a1a1a);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}