/* Custom brand color overrides — kept separate from the vendored style.bundle.css
   so theme updates don't clobber these. Load this AFTER style.bundle.css. */

:root {
    --bs-primary: #7FBC24;
    --bs-primary-rgb: 127, 188, 36;
    --bs-primary-active: #6CA01F;
    --bs-primary-light: #F2F8E9;
    --bs-primary-inverse: #FFFFFF;
    --bs-primary-clarity: rgba(127, 188, 36, 0.2);

    /* Matches the old app's Bootstrap 3 .btn-info (#5bc0de / hover #31b0d5) for parity. */
    --bs-info: #5BC0DE;
    --bs-info-rgb: 91, 192, 222;
    --bs-info-active: #31B0D5;
    --bs-info-light: #EAF7FB;
    --bs-info-inverse: #FFFFFF;
    --bs-info-clarity: rgba(91, 192, 222, 0.2);
}

[data-bs-theme="dark"] {
    --bs-primary: #7FBC24;
    --bs-primary-rgb: 127, 188, 36;
    --bs-primary-active: #93CC44;
    --bs-primary-light: #2A3422;
    --bs-primary-inverse: #FFFFFF;
    --bs-primary-clarity: rgba(127, 188, 36, 0.2);

    --bs-info: #5BC0DE;
    --bs-info-rgb: 91, 192, 222;
    --bs-info-active: #7DD3F0;
    --bs-info-light: #1B3A42;
    --bs-info-inverse: #FFFFFF;
    --bs-info-clarity: rgba(91, 192, 222, 0.2);
}

/* Tighter side padding on the main app container — overrides the theme's
   30px (desktop, >=992px) / 20px (mobile, <992px) defaults down to 10px. */
@media (min-width: 992px) {
    .app-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

@media (max-width: 991.98px) {
    .app-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* Bootstrap's .form-control:disabled / .form-select:disabled rules set
   their own gray border-color at equal specificity to .is-invalid — the
   only reason .is-invalid still wins today is stylesheet source order,
   which is fragile (a field disabled by the customer-not-selected proxy
   pattern — quotations, customers, etc. — should always show its red
   validation border regardless of what order the rules happen to load
   in). These selectors combine both classes/the disabled state for higher
   specificity than either rule alone, so the invalid border always wins. */
.form-control.is-invalid:disabled,
.form-control.is-invalid[readonly],
.form-select.is-invalid:disabled {
    border-color: var(--bs-form-invalid-border-color, #f1416c);
}
