.auth-body {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 24px;
background: var(--bg-grad);
}

.auth-card {
width: 100%;
max-width: 380px;
background: var(--card);
border: 1px solid var(--border);
border-radius: var(--radius);
box-shadow: var(--shadow-md);
padding: 32px 28px;
}

.auth-brand {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 10px;
margin-bottom: 4px;
}

.auth-brand-mark {
width: 32px;
height: 32px;
}

.auth-logo {
width: 96px;
height: 96px;
object-fit: contain;
border-radius: 12px;
}

.auth-brand h1 {
font-size: 19px;
font-weight: 800;
color: var(--text);
margin: 0;
}

.auth-sub {
color: var(--muted);
font-size: 14px;
text-align: center;
margin: 6px 0 24px;
}

.auth-form {
display: flex;
flex-direction: column;
gap: 6px;
}

.auth-form[hidden] {
display: none;
}

.google-btn-wrap {
display: flex;
justify-content: center;
margin: 20px 0 0;
}

.google-btn-wrap[hidden] {
display: none;
}

.auth-divider {
display: flex;
align-items: center;
gap: 10px;
color: var(--muted-soft);
font-size: 12px;
margin: 16px 0 0;
}

.auth-divider[hidden] {
display: none;
}

.auth-divider::before,
.auth-divider::after {
content: '';
flex: 1;
height: 1px;
background: var(--border);
}

.auth-tabs {
display: flex;
gap: 4px;
background: var(--brand-soft);
border-radius: 10px;
padding: 4px;
margin: 18px 0 4px;
}

.auth-tabs[hidden] {
display: none;
}

.auth-tab {
flex: 1;
border: none;
background: transparent;
color: var(--muted);
font-family: inherit;
font-size: 13px;
font-weight: 600;
padding: 8px 0;
border-radius: 7px;
cursor: pointer;
transition: background 0.15s ease, color 0.15s ease;
}

.auth-tab.is-active {
background: var(--card);
color: var(--brand);
box-shadow: var(--shadow-sm);
}

.auth-otp-input {
letter-spacing: 6px;
font-weight: 700;
text-align: center;
font-size: 18px;
}

.auth-link-btn {
border: none;
background: transparent;
color: var(--brand);
font-family: inherit;
font-size: 13px;
font-weight: 600;
cursor: pointer;
padding: 4px 0;
margin-top: 4px;
text-align: center;
}

.auth-link-btn:hover:not(:disabled) {
text-decoration: underline;
}

.auth-link-btn:disabled {
color: var(--muted-soft);
cursor: not-allowed;
}

.auth-label {
font-size: 13px;
font-weight: 600;
color: var(--text);
margin-top: 10px;
}

.auth-input {
width: 100%;
padding: 10px 12px;
border: 1px solid var(--border);
border-radius: 10px;
font-size: 15px;
font-family: inherit;
color: var(--text);
background: #fff;
}

.auth-input:focus {
outline: none;
border-color: var(--brand);
box-shadow: 0 0 0 3px var(--brand-soft);
}

.auth-hint {
font-size: 12px;
color: var(--muted-soft);
margin: 2px 0 0;
}

.auth-error {
background: var(--red-soft);
color: var(--red);
border-radius: 8px;
padding: 10px 12px;
font-size: 13.5px;
margin-top: 14px;
}

.auth-checkbox-row {
display: flex;
align-items: flex-start;
gap: 8px;
margin-top: 16px;
cursor: pointer;
}

.auth-checkbox-row input[type="checkbox"] {
width: 16px;
height: 16px;
margin-top: 2px;
flex: 0 0 16px;
accent-color: var(--brand);
cursor: pointer;
}

.auth-checkbox-row span {
font-size: 13px;
color: var(--muted);
line-height: 1.4;
}

.auth-checkbox-row a {
color: var(--brand);
font-weight: 600;
text-decoration: none;
}

.auth-checkbox-row a:hover {
text-decoration: underline;
}

.auth-btn {
margin-top: 20px;
background: var(--brand);
color: #fff;
border: none;
border-radius: 10px;
padding: 12px;
font-size: 15px;
font-weight: 700;
font-family: inherit;
cursor: pointer;
transition: background 0.15s ease;
}

.auth-btn:hover:not(:disabled) {
background: var(--brand-dark);
}

.auth-btn:disabled {
opacity: 0.7;
cursor: not-allowed;
}

.auth-switch {
text-align: center;
font-size: 13.5px;
color: var(--muted);
margin: 20px 0 0;
}

.auth-switch a {
color: var(--brand);
font-weight: 600;
text-decoration: none;
}

.auth-switch a:hover {
text-decoration: underline;
}

.auth-forgot {
text-align: right;
margin: 6px 0 0;
}

.auth-forgot a {
font-size: 12.5px;
color: var(--brand);
font-weight: 600;
text-decoration: none;
}

.auth-forgot a:hover {
text-decoration: underline;
}

.auth-footer {
text-align: center;
font-size: 12px;
color: var(--muted-soft);
margin: 14px 0 0;
}

.auth-footer a {
color: var(--muted-soft);
font-weight: 600;
text-decoration: none;
}

.auth-footer a:hover {
color: var(--brand);
text-decoration: underline;
}
