body{margin:0;background:radial-gradient(1100px 620px at -5% -10%,#DCE6F2 0%,transparent 60%),radial-gradient(900px 560px at 105% -5%,#F5DDE0 0%,transparent 58%),radial-gradient(900px 700px at 60% 120%,#E4EAF3 0%,transparent 60%),#F4F5F8;background-attachment:fixed;font-family:'Manrope',system-ui,sans-serif;color:#14202E;-webkit-font-smoothing:antialiased}
a{color:#0B3157}a:hover{color:#B4000E}
*{box-sizing:border-box}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield;appearance:textfield}
*{scrollbar-width:thin;scrollbar-color:rgba(11,49,87,.18) transparent}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(11,49,87,.18);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:rgba(11,49,87,.32)}
::-webkit-scrollbar-button{display:none;height:0;width:0}
button:disabled{opacity:.6;cursor:default!important}

/* Efeitos de passar o mouse / foco (equivalentes ao design) */
.hv-navy:hover{background:#123F6E!important}
.hv-red:hover{background:#950010!important}
.hv-soft:hover{background:#F3F5F8!important}
.hv-row:hover{background:#F7F9FB!important}
.hv-pink:hover{background:#FBEAEB!important}
.hv-blue:hover{background:#EAF0F6!important}
.hv-opt:hover{background:#F1F4F8!important}
.hv-redtxt:hover{color:#B4000E!important}
.hvi:hover{background:#EBEEF2!important}
.fc:focus{background:#fff!important;box-shadow:0 0 0 1px #E3E7EC!important}
.hv-under:hover{text-decoration:underline}
.hv-navytxt:hover{color:#0B3157!important}
/* Esconde o "ver senha" e o "limpar" próprios do Edge (o sistema já tem o seu) */
input::-ms-reveal,input::-ms-clear{display:none}

/* ===== Notebook: compacta um pouco para caber melhor (monitor grande fica igual ao design) ===== */
@media (max-width: 1100px){ .kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important} }
@media (max-width: 1500px){
  .kpi{padding:16px 16px!important;gap:11px!important;border-radius:22px!important}
  .kpi-val{font-size:clamp(18px,1.6vw,28px)!important}
  .kpi > div:first-child > span:first-child{font-size:12px!important}
  .kpi > div:first-child > span:last-child, .kpi > div:first-child > button{width:34px!important;height:34px!important;border-radius:11px!important}
  .kpi > div:first-child svg{width:17px;height:17px}
  .kpi > span:last-child, .kpi > div:last-child > span{font-size:11.5px!important}
}
@media (max-width: 1440px){
  .side{width:224px!important;padding:18px 12px 12px!important;gap:18px!important}
  .side-logo{width:128px!important}
  .main{padding:22px 22px 22px 18px!important;gap:16px!important}
  .main h1{font-size:28px!important}
  .f-busca{flex-basis:220px!important}
  .f-datas{flex-basis:316px!important;min-width:300px!important}
  .f-busca input{font-size:13.5px!important}
  .tab-desp{font-size:13.5px!important}
  .tab-desp th, .tab-desp td{padding-left:12px!important;padding-right:12px!important}
  .tab-desp td{padding-top:12px!important;padding-bottom:12px!important}
  .tab-desp .td-quebra{white-space:normal!important;min-width:110px;max-width:190px}
  .tab-desp td:nth-child(2){min-width:180px!important}
}
/* Campos só de leitura (perfil de visualização): mesmo visual, sem cursor de digitação */
input[readonly],textarea[readonly]{cursor:default}
