/* Identidade Regional aprovada: SISAVE-MS. Compatibilidade com telas do piloto. */
:root {
  --sisave-primary: #07334b;
  --sisave-secondary: #176b4d;
  --sisave-accent: #eab936;
  --sisave-surface: #f3f5f6;
  --sisave-card-border: #dce2e5;
  --sisave-text-primary: #203440;
  --sisave-text-secondary: #536570;
  --sisave-radius: 6px;
  --sisave-radius-sm: 4px;
  --sisave-shadow-sm: none;
  --sisave-shadow-md: none;
  --sisave-shadow-lg: none;
}
::selection { background: #dceee6; color: #07334b; }
body { font-size: 14px; }
.sisave-sidebar { background: var(--sisave-primary); width: 248px; overflow-x: hidden; transform: translateX(0); transition: none; }
.sisave-sidebar.collapsed { transform: translateX(-248px); }
.sisave-sidebar-header { background: #fff; padding: 21px 16px; border-bottom: 1px solid #dce2e5; }
.brand-lockup { display: flex; gap: 10px; align-items: center; text-decoration: none; }
.brand-symbol { width: 48px; height: 48px; object-fit: contain; flex-shrink: 0; }
.sisave-sidebar-header .brand-name { font-size: 21px; color: var(--sisave-primary); line-height: 1.2; letter-spacing: -.5px; }
.sisave-sidebar-header .brand-tagline { color: #536570; font-size: 11px; letter-spacing: 0; text-transform: none; font-weight: 500; }
.brand-region { display: block; font-size: 9px; color: #536570; margin-top: 3px; }
.sisave-sidebar-nav { padding: 16px 10px; }
.sisave-sidebar-nav li a { padding: 10px 12px; margin: 2px 0; border-left: 0; border-radius: 4px; font-size: 13px; color: #d6e2e8; gap: 12px; }
.sisave-sidebar-nav li a.active { background: #176b4d; color: #fff; }
.sisave-sidebar-nav li a .nav-icon { width: 18px; height: 18px; opacity: 1; }
.nav-section { padding: 19px 12px 7px; font-size: 11px; color: #b7cbd5; }
.sisave-sidebar-user .user-role { color: #bacdd6; }
.sisave-layout.with-sidebar .sisave-main-content { margin-left: 248px; }
.sisave-layout.with-sidebar.collapsed-layout .sisave-main-content { margin-left: 0; }
.sisave-layout.with-sidebar .sisave-main-content { transition: none; }
.navbar { min-height: 65px; box-shadow: none; }
.navbar-brand::before { display: none; }
.navbar-brand { font-size: 15px; margin-right: auto; }
.navbar-brand .brand-symbol { width: 32px; height: 32px; }
.navbar .navbar-nav { display: none; }
.navbar .navbar-collapse { flex-grow: 0; }
.navbar .container-fluid { padding-inline: 20px; }
main.container { max-width: 1600px; padding: 28px 30px 40px; }
.card, .card:hover { box-shadow: none; transform: none; transition: none; border: 1px solid var(--sisave-card-border); }
.card-header { border-bottom: 1px solid var(--sisave-card-border); padding: 14px 18px; background: #fff; }
.btn, .btn:hover, .btn:focus { transform: none; box-shadow: none; letter-spacing: 0; }
.btn { padding: 8px 14px; }
.btn-sm { padding: 5px 10px; }
.btn-gold, .btn-login { background: var(--sisave-secondary); border: 1px solid var(--sisave-secondary); color: #fff; }
.btn-gold:hover, .btn-login:hover { background: #10543b; border-color: #10543b; color: #fff; }
.form-label { text-transform: none; letter-spacing: 0; font-size: 13px; color: #344b59; }
.form-control::placeholder { color: #657681; }
.form-control, .form-select { caret-color: var(--sisave-secondary); }
:where(a, button, input, select, textarea):focus-visible { outline: 2px solid #176b4d; outline-offset: 3px; }
.sisave-sidebar a:focus-visible { outline-color: #eab936; }
.table { font-variant-numeric: tabular-nums; }
.table thead th { background: #eef2f4; color: #455b68; font-size: 12px; letter-spacing: 0; text-transform: none; border-bottom: 1px solid #dce2e5; }
.table td { vertical-align: middle; }
.metric-card { text-align: left; padding: 18px 20px; }
.metric-card::before { display: none; }
.metric-card .metric-value { font-size: 28px; }
.metric-card .metric-label { font-size: 12px; text-transform: none; letter-spacing: 0; }
.alert { border: 1px solid currentColor; }
.sisave-footer { background: transparent; padding: 16px; text-align: left; }
.np-action-bar { background: #fff; border: 1px solid #dce2e5; }
.np-action-bar .btn { color: #344b59; border-color: #c5cfd4; background: #fff; }
.np-action-bar .btn:hover { color: #07334b; background: #eef2f4; border-color: #9dacb5; }
.np-action-bar .btn-gold { color: #fff; background: #176b4d; border-color: #176b4d; }
.np-action-bar .btn-gold:hover { color: #fff; background: #10543b; border-color: #10543b; }
.np-action-bar .btn-warning { color: #714a0c; background: #fff5dc; border-color: #d7bd88; }
.np-filter-header { background: #e9eef1; color: #344b59; border: 1px solid #dce2e5; }
.np-filter-group-title { color: #344b59; }
.np-filter-header { width: 100%; text-align: left; }
.form-select.form-select-sm { min-width: 72px; padding-right: 28px; }
.login-wrapper { min-height: calc(100vh - 68px); padding: 20px; }
.login-split { border: 1px solid #dce2e5; box-shadow: none; max-width: 880px; }
.login-brand { background: #07334b; padding: 42px; }
.login-brand::before, .login-brand::after, .brand-accent-line { display: none; }
.login-brand .brand-symbol { width: 88px; height: 88px; border-radius: 4px; margin-bottom: 25px; }
.login-brand .brand-name { font-size: 32px; }
.login-brand .brand-tagline { color: #d3e1e8; text-transform: none; font-size: 15px; letter-spacing: 0; margin-bottom: 30px; }
.login-brand .brand-desc { color: #d3e1e8; opacity: 1; }
.login-region { color: #eab936; margin-top: 30px; font-size: 12px; }
.demo-hint { border: 1px solid #dce2e5; border-radius: 4px; background: #f5f7f8; }
.sidebar-backdrop { display: none; }
@media (min-width: 992px) {
  body:has(.with-sidebar:not(.collapsed-layout)) > .navbar { margin-left: 248px; }
}
@media (max-width: 991.98px) {
  .sisave-layout.with-sidebar .sisave-main-content { margin-left: 0; }
  .sidebar-backdrop.is-visible { display: block; position: fixed; inset: 0; z-index: 1035; background: rgb(7 30 43 / 40%); border: 0; }
  .navbar .navbar-nav { display: flex; }
  main.container { padding: 22px 18px 32px; }
}
@media (max-width: 576px) {
  main.container { padding: 18px 12px 26px; }
  .navbar .container-fluid { padding-inline: 10px; }
  .login-wrapper { padding: 0; min-height: auto; }
  .login-brand { padding: 24px; }
  .login-brand .brand-symbol { width: 56px; height: 56px; margin-bottom: 12px; }
  .login-brand .brand-tagline { margin-bottom: 0; }
  .login-region { margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

