/* OTIMIZA_A56_R12_TEAL_VISUAL_THEME_V1
   Alteracao exclusivamente visual.
   Paleta aprovada: teal/petroleo no topo, hero e barra lateral.
   Sem alteracao de RBAC, rotas, sessao, banco ou estrutura funcional.
*/

:root{
  --ag-a6-purple:#005c72;
  --ag-a6-violet:#0a91af;

  --ot-a55-purple:#00758e;
  --ot-a55-purple2:#0b96b5;
  --ot-a55-purple-soft:#eaf8fb;
  --ot-a55-purple-line:#c8eaf2;

  --ot-sb-purple:#087d98;
  --ot-sb-purple-2:#13a1bf;
  --ot-sb-soft:#eaf8fb;
}

/* Topbar */
#otimiza-a6-topbar{
  background:linear-gradient(105deg,#00566b 0%,#00758e 52%,#0a91af 100%) !important;
  box-shadow:0 2px 12px rgba(0,73,91,.20) !important;
}
#otimiza-a6-topbar .ag-a6-btn{
  border-color:rgba(255,255,255,.30) !important;
  background:rgba(255,255,255,.10) !important;
}
#otimiza-a6-topbar .ag-a6-btn:hover{
  background:rgba(255,255,255,.18) !important;
}

/* Barra lateral - fundo teal/petroleo */
#otimiza-sidebar{
  background:linear-gradient(180deg,#005469 0%,#00677e 48%,#005267 100%) !important;
  border-right-color:rgba(255,255,255,.14) !important;
  box-shadow:10px 0 28px rgba(0,69,86,.16) !important;
}
#otimiza-sidebar .ot-sb-head{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.015)) !important;
  border-bottom-color:rgba(255,255,255,.16) !important;
}
#otimiza-sidebar .ot-sb-brand{
  color:#ffffff !important;
}
#otimiza-sidebar .ot-sb-toggle{
  color:#ffffff !important;
  border-color:rgba(255,255,255,.24) !important;
  background:rgba(255,255,255,.08) !important;
}
#otimiza-sidebar .ot-sb-toggle:hover{
  color:#ffffff !important;
  border-color:rgba(255,255,255,.38) !important;
  background:rgba(255,255,255,.14) !important;
}
#otimiza-sidebar .ot-sb-section + .ot-sb-section{
  border-top-color:rgba(255,255,255,.16) !important;
}
#otimiza-sidebar .ot-sb-section-title{
  color:rgba(218,246,252,.70) !important;
}
#otimiza-sidebar .ot-sb-link{
  color:rgba(255,255,255,.92) !important;
}
#otimiza-sidebar .ot-sb-link:hover{
  color:#ffffff !important;
  background:rgba(32,184,218,.17) !important;
}
#otimiza-sidebar .ot-sb-link.is-active{
  color:#ffffff !important;
  background:linear-gradient(90deg,rgba(37,190,224,.28),rgba(255,255,255,.10)) !important;
  box-shadow:inset 4px 0 0 #55d5f0 !important;
}
#otimiza-sidebar .ot-sb-link-icon{
  color:#e8fbff !important;
  background:rgba(16,159,191,.42) !important;
  border:1px solid rgba(255,255,255,.06);
}
#otimiza-sidebar .ot-sb-link:hover .ot-sb-link-icon,
#otimiza-sidebar .ot-sb-link.is-active .ot-sb-link-icon{
  color:#ffffff !important;
  background:linear-gradient(135deg,#0782a0,#18aeca) !important;
}
#otimiza-sidebar .ot-sb-link.is-active::after{
  background:#22d79a !important;
}

/* Botao mobile */
#otimiza-sidebar-mobile-toggle{
  background:linear-gradient(135deg,#00677e,#0b96b5) !important;
  box-shadow:0 10px 24px rgba(0,93,115,.28) !important;
}

/* Home Otimiza - hero principal */
body.otimiza-shell-active .ag-banner{
  background:linear-gradient(120deg,#006078 0%,#0785a2 55%,#0b96b5 100%) !important;
  border-color:transparent !important;
  box-shadow:0 12px 32px rgba(0,102,126,.16) !important;
}
body.otimiza-shell-active .ag-banner,
body.otimiza-shell-active .ag-banner h1,
body.otimiza-shell-active .ag-banner p,
body.otimiza-shell-active .ag-banner strong{
  color:#ffffff !important;
}

/* Chips, icones e chamadas */
body.otimiza-shell-active .ag-chip{
  border-color:#c8e8f0 !important;
  color:#075f75 !important;
  background:#ffffff !important;
}
body.otimiza-shell-active .ag-icon{
  color:#0782a0 !important;
  background:#e8f7fb !important;
}
body.otimiza-shell-active .ag-open,
body.otimiza-shell-active .ag-card a{
  color:#007996 !important;
}

/* Harmonizacao dos modulos nativos que usam as variaveis A55 */
body:has(.rg-upa-page) .rg-hero,
body:has(.rg-sede-page) .rg-hero,
body:has(a[href="/inventario/novo"]) .container-fluid.py-4 > .d-flex:first-of-type{
  background:linear-gradient(120deg,#006078,#0b96b5) !important;
  box-shadow:0 12px 32px rgba(0,102,126,.16) !important;
}

body:has(.rg-upa-page) .rg-kpi-icon,
body:has(.rg-sede-page) .rg-kpi-icon{
  background:#e8f7fb !important;
  color:#007f9c !important;
}

body:has(.rg-upa-page) .btn-primary,
body:has(.rg-sede-page) .btn-primary,
body:has(a[href="/inventario/novo"]) .btn-primary,
body:has(#tab-graficos) .btn-primary{
  background:#00758e !important;
  border-color:#00758e !important;
}

body:has(.rg-upa-page) .btn-primary:hover,
body:has(.rg-sede-page) .btn-primary:hover,
body:has(#tab-graficos) .btn-primary:hover{
  background:#005f75 !important;
  border-color:#005f75 !important;
}

body:has(.rg-upa-page) .form-control:focus,
body:has(.rg-upa-page) .form-select:focus,
body:has(.rg-sede-page) .form-control:focus,
body:has(.rg-sede-page) .form-select:focus,
body:has(a[href="/inventario/novo"]) .form-control:focus,
body:has(a[href="/inventario/novo"]) .form-select:focus,
body:has(#tab-graficos) .form-control:focus,
body:has(#tab-graficos) .form-select:focus{
  border-color:#69bfd2 !important;
  box-shadow:0 0 0 .2rem rgba(0,117,142,.12) !important;
}

/* =========================================================
   OTIMIZA_A56_R13_INTERNAL_MODULE_TEAL_NORMALIZATION_V1
   Escopo: somente Dashboard Otimiza e Rota da Saude.
   Estrategia: override visual carregado depois dos styles
   proprios dos templates. Nenhuma regra de autorizacao.
   ========================================================= */

/* DASHBOARD OTIMIZA */
body.otimiza-page-dashboard{
  --purple:#006a80 !important;
  --purple2:#0b96b5 !important;
}
body.otimiza-page-dashboard .hero{
  background:linear-gradient(120deg,#005c72 0%,#0785a2 58%,#0b96b5 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 12px 32px rgba(0,102,126,.16) !important;
}
body.otimiza-page-dashboard .hero *,
body.otimiza-page-dashboard .hero h1,
body.otimiza-page-dashboard .hero p{
  color:#fff !important;
}
body.otimiza-page-dashboard .back{
  color:#075f75 !important;
  border-color:#c8e8f0 !important;
  background:#fff !important;
}
body.otimiza-page-dashboard .back:hover{
  color:#004f62 !important;
  border-color:#79c7d8 !important;
  background:#eef9fb !important;
}
body.otimiza-page-dashboard .pill{
  border-color:#c8e8f0 !important;
}
body.otimiza-page-dashboard a{
  --purple:#006f88;
}

/* ROTA DA SAUDE - todas as subrotas internas */
body.otimiza-page-rota-saude{
  --p:#005c72 !important;
  --p2:#0b96b5 !important;
  --line:#d7e8ec !important;
  --bg:#f5f9fa !important;
}
body.otimiza-page-rota-saude .side{
  background:linear-gradient(180deg,#005469 0%,#00677e 55%,#005267 100%) !important;
}
body.otimiza-page-rota-saude .top{
  background:linear-gradient(120deg,#005c72 0%,#0785a2 58%,#0b96b5 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 10px 28px rgba(0,102,126,.14) !important;
}
body.otimiza-page-rota-saude .top *{
  color:#fff !important;
}
body.otimiza-page-rota-saude .btn-primary{
  background:#00758e !important;
  border-color:#00758e !important;
  color:#fff !important;
}
body.otimiza-page-rota-saude .btn-primary:hover{
  background:#005f75 !important;
  border-color:#005f75 !important;
}
body.otimiza-page-rota-saude .btn-light,
body.otimiza-page-rota-saude .toolbar .btn{
  background:#fff !important;
  color:#075f75 !important;
  border-color:#c8e8f0 !important;
}
body.otimiza-page-rota-saude .chip{
  color:#075f75 !important;
  border-color:#c8e8f0 !important;
}
body.otimiza-page-rota-saude .notice{
  border-color:#b9e0e9 !important;
  background:#eaf8fb !important;
  color:#075f75 !important;
}
body.otimiza-page-rota-saude .badge{
  background:#e6f6fa !important;
  color:#076e85 !important;
}
body.otimiza-page-rota-saude .metric .n,
body.otimiza-page-rota-saude .card .n{
  color:#00758e !important;
}
body.otimiza-page-rota-saude .code{
  color:#00758e !important;
}
body.otimiza-page-rota-print .btn{
  background:#fff !important;
  color:#075f75 !important;
  border-color:#c8e8f0 !important;
}
body.otimiza-page-rota-saude .panel-head{
  background:#f5fafb !important;
}
body.otimiza-page-rota-saude .route div{
  background:#f5fafb !important;
  border-color:#d9eaee !important;
}
body.otimiza-page-rota-saude th{
  color:#5c7077 !important;
  background:#f6fafb !important;
}
body.otimiza-page-rota-saude input,
body.otimiza-page-rota-saude select,
body.otimiza-page-rota-saude textarea{
  border-color:#cfdfe3 !important;
}
body.otimiza-page-rota-saude input:focus,
body.otimiza-page-rota-saude select:focus,
body.otimiza-page-rota-saude textarea:focus{
  border-color:#69bfd2 !important;
  outline:none !important;
  box-shadow:0 0 0 3px rgba(0,117,142,.10) !important;
}
