/* Modunexa shared UI. Loaded only for operational screens, never emitted documents.
   Keep business layouts, density and semantic success/warning/danger colors intact. */
body.modunexa-interface { font-family: var(--mes-font); color: var(--mes-text); }
.modunexa-interface .mes-header { background: var(--mes-surface); border-bottom-color: var(--mes-border); }
.modunexa-interface .modunexa-brand { flex: 0 0 auto; padding: 0; margin-right: .5rem; }
.modunexa-brand img { display: block; width: 174px; height: auto; max-width: 100%; }
.modunexa-company-logo { width: 40px; height: 32px; object-fit: contain; }
.modunexa-interface .navbar-meta { color: var(--mes-muted); }
.modunexa-interface .mes-header .form-select { max-width: min(250px, 65vw); }
.modunexa-interface .mes-sidebar { border-color: var(--mes-border); background: var(--mes-surface); }
.modunexa-interface .mes-nav-link.active { color: var(--mes-navy); background: var(--mes-primary-soft); box-shadow: inset 3px 0 var(--mes-primary); }
.modunexa-interface .mes-nav-link:hover { background: var(--mes-bg); color: var(--mes-primary-hover); }
.modunexa-interface .mes-nav-mark { color: var(--mes-primary); }
.modunexa-interface .modules-bar { background: var(--mes-bg); border-color: var(--mes-border); }
.modunexa-interface :is(.module-group-card, .home-group-card, .home-module-tile, .mes-surface) { border-color: var(--mes-border); background: var(--mes-surface); }
.modunexa-interface :is(.home-group-label, .home-module-tile-title, .module-group-heading) { color: var(--mes-text); }
.modunexa-interface :is(.home-group-description, .home-module-tile-description, .module-group-description) { color: var(--mes-muted); }
.modunexa-interface .module-chip.active:not(.module-chip-quality) { color: var(--mes-navy); background: var(--mes-primary-soft); border-color: var(--mes-primary); }
.modunexa-interface .card { --bs-card-border-color: var(--mes-border); border-color: var(--mes-border); border-radius: var(--mes-radius); }
.modunexa-interface :is(.card.shadow, .card.shadow-sm) { box-shadow: var(--mes-shadow) !important; }
.modunexa-interface .card-header { background: var(--mes-bg); border-color: var(--mes-border); }
.modunexa-interface :is(.btn-primary, .mes-pilot .btn-primary, .saas-form .btn-primary) {
  --bs-btn-bg: var(--mes-primary); --bs-btn-border-color: var(--mes-primary);
  --bs-btn-hover-bg: var(--mes-primary-hover); --bs-btn-hover-border-color: var(--mes-primary-hover);
  --bs-btn-active-bg: var(--mes-navy); --bs-btn-active-border-color: var(--mes-navy);
  --bs-btn-disabled-bg: var(--mes-primary); --bs-btn-disabled-border-color: var(--mes-primary);
  color: #fff; background: var(--mes-primary); border: 1px solid var(--mes-primary);
}
.modunexa-interface :is(.btn-primary, .mes-pilot .btn-primary, .saas-form .btn-primary):hover { background: var(--mes-primary-hover); border-color: var(--mes-primary-hover); color: #fff; }
.modunexa-interface :is(.btn-primary, .saas-form .btn-primary):active { background: var(--mes-navy); border-color: var(--mes-navy); }
.modunexa-interface :is(.btn-secondary, .btn-outline-secondary, .btn-outline-primary, .mes-header .btn-outline-light) {
  --bs-btn-disabled-color: var(--mes-muted); --bs-btn-disabled-bg: var(--mes-surface);
  color: var(--mes-primary); background: var(--mes-surface); border: 1px solid var(--mes-field-border);
}
.modunexa-interface :is(.btn-secondary, .btn-outline-secondary, .btn-outline-primary, .mes-header .btn-outline-light):hover {
  color: var(--mes-primary-hover); background: var(--mes-primary-soft); border-color: var(--mes-primary);
}
.modunexa-interface :is(.btn-secondary, .btn-outline-secondary, .btn-outline-primary).active,
.modunexa-interface :is(.btn-secondary, .btn-outline-secondary, .btn-outline-primary)[aria-pressed="true"] { background: var(--mes-primary-soft); border-color: var(--mes-primary); color: var(--mes-navy); }
.modunexa-interface :is(.form-control, .form-select) { color: var(--mes-text); background-color: var(--mes-surface); border-color: var(--mes-field-border); }
.modunexa-interface :is(.form-control, .form-select):disabled { color: var(--mes-muted); background-color: var(--mes-bg); opacity: 1; }
.modunexa-interface .form-control[readonly] { background-color: var(--mes-bg); }
.modunexa-interface :is(.form-control, .form-select):focus { border-color: var(--mes-primary); box-shadow: 0 0 0 .2rem var(--bs-focus-ring-color); }
.modunexa-interface .form-control::placeholder { color: var(--mes-muted); opacity: 1; }
.modunexa-interface .form-label { color: var(--mes-text); }
.modunexa-interface .form-check-input:checked { background-color: var(--mes-primary); border-color: var(--mes-primary); }
.modunexa-interface :is(.form-control, .form-select).is-invalid { border-color: var(--mes-danger); }
.modunexa-interface :is(.form-control, .form-select).is-valid { border-color: var(--mes-success); }
.modunexa-interface .saas-form {
  --modunexa-form-panel: var(--mes-primary-soft); --modunexa-form-field: var(--mes-surface);
  --modunexa-form-border: var(--mes-field-border); --modunexa-form-text: var(--mes-text);
  --modunexa-form-action: var(--mes-primary);
}
.modunexa-interface :is(.ux-section, .finance-create, .saas-fieldset) { background-color: var(--mes-primary-soft); border-color: var(--mes-border); }
.modunexa-interface .table { --bs-table-border-color: var(--mes-border); font-variant-numeric: tabular-nums; }
.modunexa-interface .table:not(.table-dark):not(.table-success):not(.table-warning):not(.table-danger):not(.table-info) > thead:not(.table-dark):not(.table-success):not(.table-warning):not(.table-danger):not(.table-info) > tr > th:not(.table-dark):not(.table-success):not(.table-warning):not(.table-danger):not(.table-info) { color: var(--mes-text); background-color: var(--mes-primary-soft); }
.modunexa-interface .table-striped { --bs-table-striped-bg: var(--mes-bg); }
.modunexa-interface .table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-bg-type: var(--bs-table-striped-bg); }
.modunexa-interface .nav-tabs { --bs-nav-tabs-border-color: var(--mes-border); --bs-nav-tabs-link-active-color: var(--mes-navy); --bs-nav-tabs-link-active-bg: var(--mes-primary-soft); }
.modunexa-interface .nav-pills { --bs-nav-pills-link-active-bg: var(--mes-primary); }
.modunexa-interface .dropdown-menu { --bs-dropdown-link-active-bg: var(--mes-primary); --bs-dropdown-border-color: var(--mes-border); }
.modunexa-interface :is(.modal-content, .delete-confirm-dialog) { border-color: var(--mes-border); border-radius: var(--mes-radius); }
.modunexa-interface .delete-confirm-header { background: var(--mes-bg); }
.modunexa-interface :is(input, textarea, select, button, a, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--mes-primary); outline-offset: 3px;
}
.modunexa-interface .modunexa-login { margin-top: clamp(1rem, 4vh, 3rem); margin-bottom: 2rem; }
.modunexa-login .card { background: var(--mes-primary-soft); }
.modunexa-login-logo { display: block; width: min(300px, 100%); height: auto; margin: 0 auto 1rem; }
.modunexa-footer { color: var(--mes-muted); text-align: right; font-size: .75rem; padding: 1rem 1.5rem; }
@media (max-width: 991.98px) {
  .modunexa-interface .mes-header { flex-wrap: wrap; }
  .modunexa-interface .mes-header > .ms-auto { flex: 1 1 100%; justify-content: flex-start !important; min-width: 0; }
  .modunexa-interface .modunexa-brand { margin-left: auto; }
  .modunexa-brand img { width: 150px; }
  .modunexa-interface .mes-header .navbar-meta { overflow-wrap: anywhere; }
  .modunexa-interface :is(.btn, input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]), select) { min-height: 44px; }
}
@media (forced-colors: active) {
  .modunexa-interface :is(input, textarea, select, button, a, summary, [tabindex]):focus-visible { outline-color: Highlight; }
}
@media print { .modunexa-footer { display: none; } }

.modunexa-interface .modunexa-page-heading { color: var(--mes-navy); }
