/* Sistema visual gris: overrides aditivos, sin alterar estructura Bootstrap. */
:root{
  --legalos-bg-body:#e7e9ec;--legalos-bg-surface:#f7f8f9;--legalos-bg-surface-muted:#eef0f2;
  --legalos-bg-panel:#dde1e5;--legalos-bg-input:#ffffff;--legalos-sidebar-bg:#252b33;
  --legalos-sidebar-hover:#39424d;--legalos-navbar-bg:#303841;--legalos-border:#c7cdd3;
  --legalos-text-primary:#252b33;--legalos-text-secondary:#5d6873;--legalos-text-on-dark:#f7f8f9;
  --legalos-primary:#315b7d;--legalos-primary-hover:#244763;--legalos-radius:8px;
  --legalos-radius-sm:5px;--legalos-radius-lg:12px;--legalos-shadow-sm:0 1px 3px rgba(37,43,51,.12);
  --legalos-shadow-md:0 4px 12px rgba(37,43,51,.14);
}
body,.app-shell,.app-main{background-color:var(--legalos-bg-body);color:var(--legalos-text-primary)}
.login-page{background:var(--legalos-bg-body)!important}
.app-navbar{background-color:var(--legalos-navbar-bg);border-color:var(--legalos-border);color:var(--legalos-text-on-dark)}
.app-navbar .user-menu,.app-navbar .sidebar-toggle{color:var(--legalos-text-on-dark)}
.app-sidebar{background-color:var(--legalos-sidebar-bg)}.sidebar-link:hover,.sidebar-link.is-active{background-color:var(--legalos-sidebar-hover)}
.app-card,.data-card,.metric-card,.dashboard-panel,.dashboard-section,.card,.modal-content,.login-card{background-color:var(--legalos-bg-surface);border:1px solid var(--legalos-border);border-radius:var(--legalos-radius);box-shadow:var(--legalos-shadow-sm)}
.app-card .card-footer,.card-header,.card-footer,.filter-card,.empty-state{background-color:var(--legalos-bg-surface-muted);border-color:var(--legalos-border)}
.modal-header,.modal-footer{background-color:var(--legalos-bg-surface-muted);border-color:var(--legalos-border)}
.form-control,.form-select,textarea,input{background-color:var(--legalos-bg-input);border-color:var(--legalos-border);color:var(--legalos-text-primary)}
.form-control:focus,.form-select:focus{border-color:var(--legalos-primary);box-shadow:0 0 0 .2rem rgba(49,91,125,.15)}.form-control:disabled,.form-control[readonly]{background-color:var(--legalos-bg-panel);color:var(--legalos-text-secondary)}
.table,.app-table{--bs-table-bg:var(--legalos-bg-surface);--bs-table-striped-bg:var(--legalos-bg-surface-muted);--bs-table-hover-bg:var(--legalos-bg-panel);--bs-table-border-color:var(--legalos-border);color:var(--legalos-text-primary)}
.table thead th,.app-table thead th{background-color:var(--legalos-bg-panel);border-color:var(--legalos-border)}
.nav-tabs{border-color:var(--legalos-border)}.nav-tabs .nav-link,.nav-pills .nav-link{color:var(--legalos-text-secondary)}.nav-tabs .nav-link.active,.nav-pills .nav-link.active{background:var(--legalos-bg-surface);border-color:var(--legalos-border);color:var(--legalos-text-primary)}
.btn-primary{background-color:var(--legalos-primary);border-color:var(--legalos-primary)}.btn-primary:hover,.btn-primary:focus{background-color:var(--legalos-primary-hover);border-color:var(--legalos-primary-hover)}
.bg-white{background-color:var(--legalos-bg-surface)!important}.bg-light{background-color:var(--legalos-bg-surface-muted)!important}
@media (max-width:767.98px){.app-card,.data-card,.metric-card{border-radius:var(--legalos-radius-sm)}.table-responsive{border:1px solid var(--legalos-border);border-radius:var(--legalos-radius-sm)}}
