/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Self-hosted Nunito Sans (Friendly SaaS, DESIGN.md) — vendored under
 * app/assets/fonts/, never a Google Fonts / CDN request (this app renders
 * private message content; no third-party asset host on an authenticated
 * page load, same stance as Basecoat's vendoring — see _head.html.erb).
 * Variable font: one file each covers the whole weight axis (200–1000). */
@font-face {
    font-family: "Nunito Sans";
    src: url("/assets/nunito-sans-var-b4b42f2f.woff2") format("woff2-variations");
    font-weight: 200 1000;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Nunito Sans";
    src: url("/assets/nunito-sans-var-italic-6598de87.woff2") format("woff2-variations");
    font-weight: 200 1000;
    font-style: italic;
    font-display: swap;
}

dl {
    font-size: var(--text-sm);
    dt {
        font-weight: var(--font-weight-bold);
        margin-top: calc(var(--spacing)*4);
    }
}

label:has(+ input:required):after {
    content: " *"
}

input:user-invalid, .field_with_errors input {
    border-color: var(--color-destructive);
}

label:has(+ input:user-invalid), .field_with_errors label {
    color: var(--color-destructive);
}
