/* Easy Invoice - small helpers layered on top of the Sneat theme (Theme/assets).
   Everything else (buttons, cards, tables, form controls, alerts) uses the
   theme's own Bootstrap classes directly - see the .aspx markup. */

/* Label + control rows used throughout the Invoices/Masters/Payments forms.
   Kept as a lightweight flex row instead of full Bootstrap grid columns so the
   existing page markup didn't need restructuring, while every input inside
   still gets its normal Bootstrap look via .form-control / .form-select. */
.form-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
    margin-bottom: 1rem;
}
.form-row > label,
.form-row .form-label {
    width: 170px;
    flex-shrink: 0;
    margin-bottom: 0;
    font-weight: 600;
}
.form-row .form-control,
.form-row .form-select {
    flex: 1 1 220px;
    width: auto;
    min-width: 160px;
}
.form-row textarea.form-control {
    flex-basis: 100%;
    min-height: 70px;
}

/* Inline status messages (some are switched between these two classes from
   code-behind, e.g. AddInvoice/EditInvoice show a success message here after
   saving) - colored using the theme's own success/danger tokens so they match
   .text-success / .text-danger exactly. */
.msg-error {
    color: rgb(var(--bs-danger-rgb));
    font-weight: 600;
    display: block;
    margin: 0 0 1rem;
}
.msg-ok {
    color: rgb(var(--bs-success-rgb));
    font-weight: 600;
    display: block;
    margin: 0 0 1rem;
}

/* First heading inside a page's content area gets the theme's usual page-title spacing. */
.container-xxl.flex-grow-1.container-p-y > h1:first-child {
    margin-top: 0;
    margin-bottom: 1.25rem;
    font-size: 1.375rem;
    font-weight: 500;
}

/* PrintInvoice.aspx - a standalone page (no sidebar/navbar) styled with the same
   theme fonts/colors. Only the printed sheet itself should reach paper. */
@media print {
    .no-print {
        display: none !important;
    }
    body {
        background: #fff !important;
    }
}
