/* This sheet loads AFTER css/ds/ds.css, so nothing here may re-theme what the design
   system owns (body/heading fonts, link color, .btn variants, focus ring) — the template's
   Helvetica/blue rules were removed when the DS was installed. Only app-specific rules
   (validation, OTP boxes, form widths, error boundary) belong here. */

.content {
    padding-top: 1.1rem;
}

/* FocusOnNavigate (Routes.razor) moves focus to the page <h1> for screen readers. The DS
   draws its focus ring as a box-shadow on :focus-visible, so clearing outline alone left a
   mint rectangle around the heading; clear both. */
h1:focus {
    outline: none;
    box-shadow: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    /* WEBSITE MINT: this icon was an inline data: URI, which was the ONLY reason the CSP
       carried img-src data:. Externalised to a real file so that directive could be dropped
       in BOTH portal modes — it is the one relaxation independent of interactivity, so it
       had to be removed here rather than gated on the portal flag. */
    background: url(img/error-boundary.svg) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* Account-surface composition (split shell, OTP boxes, strength meter, chips) lives in
   auth.css, linked by AccountLayout via HeadContent — not here. This sheet stays app-wide. */
