.stp-error-summary {
    border: max(2px, 0.125rem) solid var(--uac-color-error, #8a1c1c);
    padding-block: 1rem;
    padding-inline: 1rem;
    margin-block: 1rem;
    background: var(--uac-color-surface, Canvas);
    color: var(--uac-color-text, CanvasText);
}

.stp-error-summary:focus-visible {
    outline: max(3px, var(--uac-focus-width, 3px)) solid var(--uac-color-focus, Highlight);
    outline-offset: 3px;
}

.stp-field-error {
    margin-block: 0.4rem 0.75rem;
    color: var(--uac-color-error, #8a1c1c);
    font-weight: 600;
}

[aria-invalid="true"] {
    border-color: var(--uac-color-error, #8a1c1c);
    outline-offset: 2px;
}

.stp-password-toggle {
    min-block-size: max(44px, var(--uac-target-size, 44px));
    min-inline-size: max(44px, var(--uac-target-size, 44px));
    margin-inline-start: 0.5rem;
    vertical-align: middle;
}

.stp-password-toggle-label {
    margin-inline-start: .35rem;
}

.stp-authentication-guidance {
    border-inline-start: 0.25rem solid var(--uac-color-focus, Highlight);
    padding-inline-start: 0.75rem;
}

.stp-timeout-dialog {
    max-inline-size: min(42rem, calc(100vw - 2rem));
}

@media (forced-colors: active) {
    .stp-error-summary,
    [aria-invalid="true"] {
        border-color: CanvasText;
    }
    .stp-field-error { color: CanvasText; }
}
