/* =========================================================
   CDXCLOUDS AWS R10.30.11 — destaque visual Conduvox
   Paleta de referência:
   #029F8E verde | #61BFBA turquesa claro | #2D3078 azul-marinho
   #4357A3 azul | #B2B2B2 cinza
   Ações principais usam o verde de referência #029F8E.
   ========================================================= */
:root{
  --cdx-ref-green:#029F8E;
  --cdx-ref-green-action:#029F8E;
  --cdx-ref-green-hover:#00695C;
  --cdx-ref-teal:#61BFBA;
  --cdx-ref-navy:#2D3078;
  --cdx-ref-blue:#4357A3;
  --cdx-ref-gray:#B2B2B2;
  --cdx-ref-ink:#1D2640;
  --cdx-ref-soft-teal:#EAF8F7;
  --cdx-ref-soft-blue:#EEF1FA;
  --cdx-ref-soft-navy:#F0F1F8;
  --cdx-ref-border:#DCE2EC;
}

/* Navegação: azul-marinho como base e turquesa/verde como sinalização. */
body.cdx-body .cdx-sidebar{
  background:linear-gradient(180deg,#2D3078 0%,#252866 48%,#1E234D 100%);
  box-shadow:12px 0 34px rgba(45,48,120,.16);
}
body.cdx-body .cdx-brand-mark{
  background:linear-gradient(135deg,var(--cdx-ref-green-action),var(--cdx-ref-blue));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 10px 24px rgba(2,159,142,.28);
}
body.cdx-body .cdx-nav-caption{color:#C6D0EA}
body.cdx-body .cdx-nav-caption i{color:var(--cdx-ref-teal)}
body.cdx-body .cdx-nav-link{gap:10px;color:#E2E7F5!important}
body.cdx-body .cdx-nav-link>i{
  width:30px;height:30px;flex:0 0 30px;display:inline-grid;place-items:center;
  border-radius:9px;color:#DFF8F5;background:rgba(97,191,186,.13);
  border:1px solid rgba(97,191,186,.20);transition:.18s ease;
}
body.cdx-body .cdx-nav-link:hover{
  background:rgba(255,255,255,.08);color:#fff!important;
}
body.cdx-body .cdx-nav-link:hover>i{
  background:rgba(97,191,186,.22);border-color:rgba(97,191,186,.36);color:#fff;
}
body.cdx-body .cdx-nav-link.is-active{
  background:linear-gradient(90deg,rgba(2,159,142,.34),rgba(67,87,163,.17));
  box-shadow:inset 4px 0 0 var(--cdx-ref-teal),0 6px 18px rgba(16,23,65,.12);
}
body.cdx-body .cdx-nav-link.is-active>i{
  background:var(--cdx-ref-teal);border-color:var(--cdx-ref-teal);color:var(--cdx-ref-navy);
  box-shadow:0 5px 14px rgba(97,191,186,.20);
}

/* Ícones utilitários e atalhos ganham uma superfície própria. */
body.cdx-body .cdx-icon-button{
  color:var(--cdx-ref-navy);background:var(--cdx-ref-soft-blue);
  border-color:rgba(67,87,163,.24);box-shadow:0 5px 14px rgba(45,48,120,.06);
  transition:.18s ease;
}
body.cdx-body .cdx-icon-button:hover,
body.cdx-body .cdx-icon-button:focus{
  color:var(--cdx-ref-navy);background:var(--cdx-ref-soft-teal);
  border-color:var(--cdx-ref-teal);transform:translateY(-1px);
}
body.cdx-body .cdx-quick i,
body.cdx-body .cdx-stat-icon,
body.cdx-body .cdx-card-head h2>i,
body.cdx-body .cdx-card>h2>i,
body.cdx-body .cdx-section-title>i{
  color:var(--cdx-ref-navy)!important;background:var(--cdx-ref-soft-teal);
  border:1px solid rgba(97,191,186,.34);border-radius:10px;
  box-shadow:0 5px 14px rgba(2,159,142,.07);
}
body.cdx-body .cdx-quick i{
  width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;
}
body.cdx-body .cdx-stat-icon{background:linear-gradient(135deg,#EAF8F7,#EEF1FA)}
body.cdx-body .cdx-card-head h2>i,
body.cdx-body .cdx-card>h2>i,
body.cdx-body .cdx-section-title>i{
  display:inline-grid;place-items:center;width:30px;height:30px;margin-right:7px;font-size:.86em;
}
body.cdx-body .cdx-quick:hover{
  border-color:rgba(67,87,163,.35);box-shadow:0 11px 26px rgba(45,48,120,.09);
}

/* Botões: hierarquia consistente e contraste adequado. */
body.cdx-body .btn{
  border-radius:11px!important;font-weight:750;letter-spacing:.005em;
  transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease;
}
body.cdx-body .btn:not(.btn-link):not(:disabled):hover{transform:translateY(-1px)}
body.cdx-body .btn-primary,
body.cdx-body .btn-success,
body.cdx-body .btn-sucess{
  background:var(--cdx-ref-green-action)!important;border-color:var(--cdx-ref-green-action)!important;
  color:#fff!important;box-shadow:0 6px 16px rgba(2,159,142,.18)!important;
}
body.cdx-body .btn-primary:hover,body.cdx-body .btn-primary:focus,
body.cdx-body .btn-success:hover,body.cdx-body .btn-success:focus,
body.cdx-body .btn-sucess:hover,body.cdx-body .btn-sucess:focus{
  background:var(--cdx-ref-green-hover)!important;border-color:var(--cdx-ref-green-hover)!important;
  box-shadow:0 8px 20px rgba(0,105,92,.22)!important;
}
body.cdx-body .btn-secondary{
  background:var(--cdx-ref-navy)!important;border-color:var(--cdx-ref-navy)!important;color:#fff!important;
  box-shadow:0 6px 16px rgba(45,48,120,.16)!important;
}
body.cdx-body .btn-info{
  background:var(--cdx-ref-blue)!important;border-color:var(--cdx-ref-blue)!important;color:#fff!important;
  box-shadow:0 6px 16px rgba(67,87,163,.16)!important;
}
body.cdx-body .btn-outline-primary,
body.cdx-body .btn-outline-info{
  color:var(--cdx-ref-blue)!important;border-color:rgba(67,87,163,.62)!important;background:#fff!important;
}
body.cdx-body .btn-outline-success{
  color:var(--cdx-ref-green-action)!important;border-color:rgba(2,159,142,.62)!important;background:#fff!important;
}
body.cdx-body .btn-light{
  color:var(--cdx-ref-navy)!important;background:var(--cdx-ref-soft-navy)!important;
  border-color:rgba(67,87,163,.22)!important;
}
body.cdx-body .btn>i:first-child:not(:last-child){margin-right:.36rem}
body.cdx-body .btn>i:last-child:not(:first-child){margin-left:.36rem}

/* Labels de formulário: texto marinho + marcador turquesa/verde. */
body.cdx-body .cdx-main .form-group>label:not(.form-check-label):not(.custom-control-label),
body.cdx-body .cdx-main fieldset>label:not(.form-check-label):not(.custom-control-label),
body.cdx-body .cdx-card>label:not(.form-check-label):not(.custom-control-label){
  color:var(--cdx-ref-navy);font-weight:800;font-size:.83rem;letter-spacing:.01em;
}
body.cdx-body .cdx-main .form-group>label:not(.form-check-label):not(.custom-control-label)::before,
body.cdx-body .cdx-main fieldset>label:not(.form-check-label):not(.custom-control-label)::before,
body.cdx-body .cdx-card>label:not(.form-check-label):not(.custom-control-label)::before{
  content:"";display:inline-block;width:7px;height:7px;border-radius:3px;
  margin-right:7px;vertical-align:1px;background:var(--cdx-ref-teal);
  box-shadow:0 0 0 3px rgba(97,191,186,.14);
}
body.cdx-body .form-control:focus,
body.cdx-body .custom-select:focus{
  border-color:var(--cdx-ref-green)!important;
  box-shadow:0 0 0 .2rem rgba(2,159,142,.13)!important;
}

/* Títulos, tabelas, chips e badges: mais hierarquia sem excesso de cor. */
body.cdx-body .cdx-eyebrow{color:var(--cdx-ref-green-action)}
body.cdx-body .cdx-top-title strong,
body.cdx-body .cdx-page-head h1,
body.cdx-body .cdx-card-head h2,
body.cdx-body .cdx-section-title{color:var(--cdx-ref-navy)}
body.cdx-body .cdx-section-title{
  border-left:4px solid var(--cdx-ref-green);padding-left:10px;
}
body.cdx-body .table thead th{
  color:var(--cdx-ref-navy);background:linear-gradient(180deg,#FAFBFE,#F4F6FB);
  border-bottom-color:rgba(67,87,163,.20);font-weight:800;
}
body.cdx-body .badge-primary{background:var(--cdx-ref-navy)!important;color:#fff!important}
body.cdx-body .badge-info{background:var(--cdx-ref-blue)!important;color:#fff!important}
body.cdx-body .badge-success{background:var(--cdx-ref-green-action)!important;color:#fff!important}
body.cdx-body .badge-secondary{background:#E5E7EB!important;color:var(--cdx-ref-ink)!important;border:1px solid var(--cdx-ref-gray)}
body.cdx-body .badge-light{
  color:var(--cdx-ref-navy)!important;background:var(--cdx-ref-soft-teal)!important;
  border:1px solid rgba(97,191,186,.35);
}
body.cdx-body .cdx-status-chip{
  color:var(--cdx-ref-navy);border-color:rgba(97,191,186,.40);background:var(--cdx-ref-soft-teal);
}
body.cdx-body .cdx-status-dot{background:var(--cdx-ref-green);box-shadow:0 0 0 4px rgba(2,159,142,.12)}
body.cdx-body .cdx-tabs a.active{
  background:var(--cdx-ref-navy)!important;border-color:var(--cdx-ref-navy)!important;
  box-shadow:inset 0 -3px 0 var(--cdx-ref-teal);
}
body.cdx-body .custom-control-input:checked~.custom-control-label::before{
  background-color:var(--cdx-ref-green-action)!important;border-color:var(--cdx-ref-green-action)!important;
}

/* Login: mesma linguagem visual da área interna. */
body.dashboard-auth-body .dashboard-auth-brand-panel{
  background:linear-gradient(145deg,#2D3078 0%,#29306D 50%,#1E285A 100%);
}
body.dashboard-auth-body .dashboard-auth-kicker{color:#CFF5F1}
body.dashboard-auth-body .dashboard-auth-feature i,
body.dashboard-auth-body .dashboard-auth-logo>span{
  background:linear-gradient(135deg,#EAF8F7,#EEF1FA)!important;
  color:var(--cdx-ref-navy)!important;border:1px solid rgba(97,191,186,.42);
}
body.dashboard-auth-body .dashboard-auth-form .form-group>label{
  color:var(--cdx-ref-navy);font-weight:800;font-size:.86rem;
}
body.dashboard-auth-body .dashboard-auth-form .form-group>label::before{
  content:"";display:inline-block;width:7px;height:7px;border-radius:3px;margin-right:7px;
  background:var(--cdx-ref-teal);box-shadow:0 0 0 3px rgba(97,191,186,.14);
}
body.dashboard-auth-body .dashboard-input-icon>i{color:var(--cdx-ref-blue)}
body.dashboard-auth-body .dashboard-input-icon:focus-within>i{color:var(--cdx-ref-green-action)}
body.dashboard-auth-body .btn-primary{
  background:var(--cdx-ref-green-action)!important;border-color:var(--cdx-ref-green-action)!important;
  box-shadow:0 8px 20px rgba(2,159,142,.20)!important;
}
body.dashboard-auth-body .btn-primary:hover,
body.dashboard-auth-body .btn-primary:focus{
  background:var(--cdx-ref-green-hover)!important;border-color:var(--cdx-ref-green-hover)!important;
}

/* Acessibilidade: foco visível na cor da marca, sem depender apenas da cor de fundo. */
body.cdx-body a:focus-visible,
body.cdx-body button:focus-visible,
body.cdx-body input:focus-visible,
body.cdx-body select:focus-visible,
body.cdx-body textarea:focus-visible,
body.dashboard-auth-body a:focus-visible,
body.dashboard-auth-body button:focus-visible,
body.dashboard-auth-body input:focus-visible{
  outline:3px solid rgba(97,191,186,.58)!important;outline-offset:2px!important;
}

@media(max-width:850px){
  body.cdx-body .cdx-nav-link>i{width:28px;height:28px;flex-basis:28px}
}
