/* Public authentication and status pages only. Uses the shared tenant contrast tokens. */
.admin-auth {
    margin: 0;
    background: var(--mkp-background);
    color: var(--mkp-foreground);
    font-family: var(--mkp-font);
}
.admin-auth .auth-page {
    display: grid;
    min-height: 100vh;
    min-height: 100svh;
    place-items: center;
    padding: 40px 24px;
}
.admin-auth .auth-main {
    width: 100%;
    max-width: 400px;
}
.admin-auth .auth-card {
    padding: 32px;
    border: 1px solid var(--mkp-border);
    border-radius: var(--mkp-radius-lg);
    background: var(--mkp-surface);
    box-shadow: var(--mkp-shadow);
}
.admin-auth .auth-brand {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 48px;
    margin-bottom: 28px;
}
.admin-auth .auth-brand img {
    display: block;
    max-width: 100%;
    width: auto;
    max-height: 56px;
    object-fit: contain;
}
.admin-auth .auth-company {
    font-size: 20px;
    font-weight: 600;
    overflow-wrap: anywhere;
    text-align: center;
}
.admin-auth .auth-heading { margin-bottom: 24px; text-align: center; }
.admin-auth h1 {
    margin: 0 0 8px;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: -.6px;
}
.admin-auth .auth-heading p,
.admin-auth .auth-description {
    margin: 0;
    color: var(--mkp-muted-foreground);
    font-size: 14px;
    line-height: 1.6;
}
.admin-auth .auth-field { display: grid; gap: var(--mkp-label-gap); margin-bottom: 16px; }
.admin-auth .auth-field .form-label { margin: 0; color: var(--mkp-foreground); font-weight: 500; }
.admin-auth .auth-field .form-control {
    width: 100%;
    min-width: 0;
    min-height: var(--mkp-control-height);
    border-radius: var(--mkp-radius);
    box-shadow: var(--mkp-shadow);
    background-color: var(--mkp-surface);
}
.admin-auth .auth-field .form-control:focus {
    border-color: var(--mkp-ring-color);
    box-shadow: var(--mkp-ring);
}
.admin-auth .auth-submit { width: 100%; margin-top: 8px; min-height: var(--mkp-control-height); font-weight: 500; }
.admin-auth a:focus-visible,
.admin-auth .btn:focus-visible { outline: 2px solid var(--mkp-foreground); outline-offset: 4px; }
.admin-auth .field-validation-valid,
.admin-auth .validation-summary-valid { display: none; }
.admin-auth .field-validation-error { color: var(--mkp-danger); font-size: 12px; line-height: 1.5; }
.admin-auth .auth-field .input-validation-error { border-color: var(--mkp-danger); }
.admin-auth .validation-summary-errors {
    padding: 12px;
    margin-bottom: 16px;
    border: 1px solid var(--mkp-danger);
    border-radius: var(--mkp-radius);
    color: var(--mkp-danger);
    font-size: 13px;
}
.admin-auth .validation-summary-errors ul { margin: 0; padding-left: 16px; }
.admin-auth .auth-footer { margin-top: 24px; text-align: center; color: var(--mkp-muted-foreground); font-size: 12px; }
.admin-auth .auth-provider { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.admin-auth .auth-provider:hover span { text-decoration: underline; text-underline-offset: 3px; }
.admin-auth .auth-footer p { margin: 12px 0 0; font-size: 11px; }
.admin-auth .auth-status { max-width: 480px; text-align: center; }
.admin-auth .auth-status .auth-card { padding: 40px 32px; }
.admin-auth .auth-status-code { margin: 0 0 16px; color: var(--mkp-muted-foreground); font-size: 14px; font-weight: 500; letter-spacing: 2px; }
.admin-auth .auth-status .auth-description { margin-top: 12px; }
.admin-auth .auth-details { margin: 24px 0 0; padding: 16px; border-radius: var(--mkp-radius); background: var(--mkp-muted); text-align: left; overflow-wrap: anywhere; }
.admin-auth .auth-details p { margin: 0; }
.admin-auth .auth-request { margin: 12px 0 0; font-size: 12px; color: var(--mkp-muted-foreground); }
.admin-auth .auth-request dt { font-weight: 500; }
.admin-auth .auth-request dd { margin: 4px 0 0; }
.admin-auth .auth-request code { color: var(--mkp-foreground); }
.admin-auth .auth-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
@media (max-width: 480px) {
    .admin-auth .auth-page { padding: 24px 16px; }
    .admin-auth .auth-card, .admin-auth .auth-status .auth-card { padding: 28px 24px; }
    .admin-auth .auth-field .form-control { font-size: 16px; min-height: 40px; }
    .admin-auth .auth-submit { min-height: 40px; }
}
