/* ========================================================================== 
   CLOVENIX ERP v2.4 — INTERFACE PROFISSIONAL
   Tema inspirado em ERPs financeiros modernos: limpo, denso e legível.
   ========================================================================== */
:root{
  --clv-canvas:#f5f7fa;
  --clv-surface:#ffffff;
  --clv-surface-soft:#f8fafc;
  --clv-border:#dce4ed;
  --clv-border-strong:#c8d4e0;
  --clv-text:#152238;
  --clv-text-soft:#536579;
  --clv-text-muted:#718096;
  --clv-primary:#075b93;
  --clv-primary-hover:#064d7c;
  --clv-primary-soft:#eaf4fb;
  --clv-accent:#ddff63;
  --clv-accent-soft:#f0ffc4;
  --clv-accent-border:#d5ef78;
  --clv-success:#16845d;
  --clv-warning:#b46a00;
  --clv-danger:#c43d4f;
  --clv-shadow:0 1px 2px rgba(15,35,55,.035),0 7px 24px rgba(15,35,55,.055);
  --clv-radius:10px;
}

html{
  min-height:100%;
  background:var(--clv-canvas)!important;
  color-scheme:light!important;
  scroll-behavior:smooth;
}
body{
  min-height:100%!important;
  margin:0!important;
  background:var(--clv-canvas)!important;
  color:var(--clv-text)!important;
}
body.is-authenticated,
body:not(.is-login){
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
body.modal-open{overflow:hidden!important}

/* Rolagem global corrigida */
.app,
body.is-authenticated #app{
  display:grid!important;
  grid-template-columns:224px minmax(0,1fr)!important;
  width:100%!important;
  min-height:100vh!important;
  height:auto!important;
  overflow:visible!important;
  background:var(--clv-canvas)!important;
}
.main{
  min-width:0!important;
  width:100%!important;
  height:auto!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:var(--clv-canvas)!important;
}
.page{
  min-width:0!important;
  padding:20px 24px 42px!important;
  overflow:visible!important;
}
.page.active{display:block!important}

/* Barra lateral clara, compacta e com hierarquia de ERP */
.sidebar{
  position:sticky!important;
  top:0!important;
  align-self:start!important;
  display:flex!important;
  flex-direction:column!important;
  width:224px!important;
  min-width:224px!important;
  height:100vh!important;
  min-height:100vh!important;
  padding:12px 10px 10px!important;
  gap:12px!important;
  overflow:hidden!important;
  background:#fff!important;
  border-right:1px solid var(--clv-border)!important;
  box-shadow:none!important;
  z-index:30!important;
}
.side-brand{
  position:relative!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-items:center!important;
  min-height:52px!important;
  gap:9px!important;
  padding:7px 31px 7px 7px!important;
  border:0!important;
  border-bottom:1px solid #edf1f5!important;
  border-radius:0!important;
  background:#fff!important;
}
.side-brand::before{
  content:""!important;
  display:block!important;
  width:34px!important;
  height:34px!important;
  border-radius:8px!important;
  background:#fff url('/assets/icon.png?v=20260715-8') center/contain no-repeat!important;
  border:1px solid #d8e2ec!important;
  box-shadow:0 2px 7px rgba(15,35,55,.08)!important;
}
.side-brand::after{display:none!important}
.side-brand-copy{display:flex!important;min-width:0!important;flex-direction:column!important;gap:2px!important}
.side-brand-copy strong{
  display:block!important;
  overflow:hidden!important;
  color:#13243a!important;
  font-size:.9rem!important;
  font-weight:780!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.side-brand-copy span{
  display:block!important;
  overflow:hidden!important;
  color:#718096!important;
  font-size:.55rem!important;
  font-weight:750!important;
  line-height:1.2!important;
  letter-spacing:.085em!important;
  text-overflow:ellipsis!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.sidebar-toggle{
  position:absolute!important;
  top:14px!important;
  right:2px!important;
  width:25px!important;
  height:25px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #dbe4ed!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#65788b!important;
  box-shadow:none!important;
  font-size:1rem!important;
  line-height:1!important;
}
.sidebar-toggle:hover{background:#f3f6f9!important;color:var(--clv-primary)!important;border-color:#b9ccdc!important}
.side-nav,.premium-nav{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  padding:2px 0 8px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-width:thin!important;
  scrollbar-color:#c5d0db transparent!important;
}
.side-nav::-webkit-scrollbar{width:5px}
.side-nav::-webkit-scrollbar-thumb{background:#c5d0db;border-radius:99px}
.nav-group{display:flex!important;flex-direction:column!important;gap:2px!important;margin:0 0 11px!important}
.nav-group-title{
  display:block!important;
  margin:0!important;
  padding:8px 10px 5px!important;
  color:#8a98a8!important;
  font-size:.56rem!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.side-nav a{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:39px!important;
  width:100%!important;
  gap:9px!important;
  padding:6px 9px!important;
  overflow:hidden!important;
  color:#46596d!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:.75rem!important;
  font-weight:650!important;
  line-height:1.2!important;
  text-decoration:none!important;
  transform:none!important;
  transition:background .15s,color .15s,border-color .15s!important;
}
.side-nav a::before{display:none!important}
.side-nav a:hover{
  background:#f2f5f8!important;
  border-color:#e7edf3!important;
  color:#17283d!important;
  transform:none!important;
}
.side-nav a.active{
  background:var(--clv-accent-soft)!important;
  border-color:var(--clv-accent-border)!important;
  color:#29370d!important;
  box-shadow:none!important;
}
.side-nav a.active::after{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  bottom:7px;
  width:3px;
  border-radius:0 4px 4px 0;
  background:#9bc51c;
}
.side-nav a i{
  display:grid!important;
  place-items:center!important;
  flex:0 0 26px!important;
  width:26px!important;
  min-width:26px!important;
  height:26px!important;
  margin:0!important;
  border:0!important;
  border-radius:7px!important;
  background:#f0f4f7!important;
  color:#40566d!important;
  font-size:.58rem!important;
  font-weight:800!important;
  font-style:normal!important;
}
.side-nav a i svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.side-nav a.active i{background:#dfff75!important;color:#324210!important}
.side-nav a>span{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.side-footer{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:45px!important;
  margin:0!important;
  padding:8px 9px!important;
  border:1px solid #e2e8ef!important;
  border-radius:8px!important;
  background:#f8fafc!important;
  color:#64748b!important;
}
.side-footer span{display:block!important;color:#506276!important;font-size:.58rem!important;font-weight:700!important}
.side-footer small{display:block!important;margin-top:2px!important;color:#94a0ad!important;font-size:.52rem!important}
.side-footer strong{color:#16845d!important;font-size:.59rem!important;white-space:nowrap!important}
.side-footer strong i{background:#20bd7a!important}

/* Sidebar recolhida */
.app.sidebar-collapsed{grid-template-columns:68px minmax(0,1fr)!important}
.app.sidebar-collapsed .sidebar{width:68px!important;min-width:68px!important;padding:12px 8px 10px!important}
.app.sidebar-collapsed .side-brand{display:flex!important;justify-content:center!important;padding:7px!important}
.app.sidebar-collapsed .side-brand::before{margin:0!important}
.app.sidebar-collapsed .side-brand-copy,
.app.sidebar-collapsed .nav-group-title,
.app.sidebar-collapsed .side-nav a>span,
.app.sidebar-collapsed .side-footer>div{display:none!important}
.app.sidebar-collapsed .side-nav a{justify-content:center!important;padding:6px!important;overflow:visible!important}
.app.sidebar-collapsed .side-nav a.active::after{left:-8px!important}
.app.sidebar-collapsed .side-footer{justify-content:center!important}
.app.sidebar-collapsed .sidebar-toggle{right:-20px!important;top:14px!important}

/* Topbar inspirada em ERP financeiro */
.topbar{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  display:grid!important;
  grid-template-columns:minmax(180px,auto) minmax(240px,1fr) auto!important;
  align-items:center!important;
  gap:20px!important;
  min-height:66px!important;
  margin:0!important;
  padding:11px 24px!important;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--clv-border)!important;
  box-shadow:none!important;
  backdrop-filter:blur(12px)!important;
}
.topbar #page-kicker,.topbar>div>span{
  color:#8190a0!important;
  font-size:.58rem!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.topbar h1{
  margin:2px 0 0!important;
  color:#122239!important;
  font-size:1.28rem!important;
  font-weight:780!important;
  line-height:1.2!important;
  letter-spacing:-.03em!important;
}
.topbar-search{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  max-width:680px!important;
  justify-self:center!important;
}
.topbar-search>span{
  position:absolute!important;
  left:12px!important;
  z-index:2!important;
  color:#78899a!important;
  font-size:.9rem!important;
  letter-spacing:0!important;
}
.topbar-search input{
  min-height:38px!important;
  padding:8px 12px 8px 35px!important;
  border:1px solid #dce4ed!important;
  border-radius:7px!important;
  background:#f9fbfc!important;
  color:#1e3148!important;
  font-size:.75rem!important;
  box-shadow:none!important;
}
.topbar-search input:focus{background:#fff!important;border-color:#9ebbd1!important;box-shadow:0 0 0 3px rgba(7,91,147,.09)!important}
.top-actions{display:flex!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:nowrap!important}

/* Botões */
.primary,.secondary,.ghost,.danger-light,.tiny,.login-card button{
  min-height:36px!important;
  padding:8px 12px!important;
  border-radius:7px!important;
  font-size:.72rem!important;
  font-weight:720!important;
  line-height:1.15!important;
  box-shadow:none!important;
}
.primary,.login-card button[type="submit"]{background:var(--clv-primary)!important;border:1px solid var(--clv-primary)!important;color:#fff!important}
.primary:hover,.login-card button[type="submit"]:hover{background:var(--clv-primary-hover)!important;border-color:var(--clv-primary-hover)!important}
.secondary,.ghost{background:#fff!important;border:1px solid #cfd9e4!important;color:#294159!important}
.secondary:hover,.ghost:hover{background:#f5f8fa!important;border-color:#aebdcb!important;color:#17283d!important}
.danger-light{background:#fff!important;border:1px solid #efbdc5!important;color:#b63143!important}
.danger-light:hover{background:#fff4f5!important;border-color:#e48d99!important}
.tiny{min-height:29px!important;padding:5px 8px!important;background:#fff!important;border:1px solid #ccd8e3!important;color:#324a61!important;font-size:.66rem!important}
.tiny:hover{background:#f1f6fa!important;border-color:#aebfce!important}
.tiny.danger{background:#fff!important;border-color:#efbdc5!important;color:#b63143!important}

/* Banner de empresa */
.access-point-banner{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:14px 24px 0!important;
  padding:10px 13px!important;
  border:1px solid #cfe0ed!important;
  border-left:3px solid var(--clv-primary)!important;
  border-radius:8px!important;
  background:#f4f9fc!important;
  color:#3b5269!important;
  box-shadow:none!important;
}
.access-point-banner strong,.access-point-banner b{color:#17486b!important}

/* Layout de conteúdo */
.workspace{gap:14px!important;align-items:start!important;overflow:visible!important}
.two-cols{grid-template-columns:250px minmax(0,1fr)!important}
.timeline-layout{grid-template-columns:270px minmax(0,1fr)!important}
.metric-card,.panel,.content-card,.context-panel,.system-card,
.empresa-config-card,.cadastros-shell,.support-admin-shell,
.empresa-detail-grid article,.privacy-summary article{
  background:#fff!important;
  border:1px solid var(--clv-border)!important;
  border-radius:var(--clv-radius)!important;
  box-shadow:var(--clv-shadow)!important;
  color:var(--clv-text)!important;
}
.content-card{min-width:0!important;padding:17px!important;overflow:visible!important}
.context-panel{
  position:sticky!important;
  top:84px!important;
  max-height:calc(100vh - 100px)!important;
  padding:17px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:thin!important;
  scrollbar-color:#c7d2dd transparent!important;
}
.content-head{margin-bottom:14px!important}
.content-head h2,.context-panel h2,.panel h3,.system-card h2{
  color:#14243a!important;
  font-weight:760!important;
  letter-spacing:-.025em!important;
}
.content-head h2{font-size:1.02rem!important;margin:2px 0 4px!important}
.context-panel h2{font-size:1.06rem!important;margin:3px 0 6px!important}
.content-head p,.context-panel p,.panel-head span,.system-card p{color:#637589!important;font-size:.73rem!important;line-height:1.5!important}
.context-eyebrow,.content-eyebrow{color:var(--clv-primary)!important;font-size:.57rem!important;letter-spacing:.11em!important}

/* Dashboard mais leve */
.executive-dashboard{gap:12px!important}
.executive-hero{
  min-height:auto!important;
  padding:17px 19px!important;
  border:1px solid var(--clv-border)!important;
  border-left:4px solid var(--clv-primary)!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:var(--clv-shadow)!important;
}
.executive-hero::after{display:none!important}
.executive-hero span{color:var(--clv-primary)!important;font-size:.57rem!important}
.executive-hero h2{margin:5px 0 3px!important;color:#14243a!important;font-size:1.2rem!important}
.executive-hero p{color:#64758a!important;font-size:.73rem!important}
.executive-hero .ghost{background:#fff!important;color:#25425e!important;border-color:#cdd9e3!important}
.executive-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important}
.executive-kpis article{
  min-height:88px!important;
  padding:12px 13px!important;
  border:1px solid var(--clv-border)!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:0 1px 6px rgba(15,35,55,.045)!important;
}
.executive-kpis article::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:3px!important;
  height:auto!important;
  background:#7bb5dd!important;
}
.executive-kpis article::after{display:none!important}
.executive-kpis article.kpi-danger::before{background:#d95565!important}
.executive-kpis article.kpi-warn::before{background:#e3a232!important}
.executive-kpis article.kpi-success::before{background:#32a476!important}
.executive-kpis span{margin:0!important;color:#64758a!important;font-size:.58rem!important}
.executive-kpis strong{margin:6px 0 3px!important;color:#11243a!important;font-size:1.12rem!important}
.executive-kpis small{color:#8491a0!important;font-size:.62rem!important}
.dashboard-main-grid{gap:10px!important}
.dashboard-main-grid .panel{padding:15px!important}
.panel-head h3{font-size:.88rem!important}
.panel-head span{font-size:.63rem!important}
.finance-split div,.caixa-summary div{background:#f8fafc!important;border:1px solid #e1e7ee!important;border-radius:8px!important}
.finance-split strong,.caixa-summary strong{color:#17283e!important}

/* Campos: alto contraste garantido */
input:not([type="checkbox"]):not([type="radio"]),select,textarea,
.empresa-config-card input,.empresa-config-card select,
.filial-card input,.support-admin-search{
  min-height:39px!important;
  width:100%!important;
  padding:8px 10px!important;
  border:1px solid var(--clv-border-strong)!important;
  border-radius:7px!important;
  background:#fff!important;
  background-image:none!important;
  color:#16283f!important;
  -webkit-text-fill-color:#16283f!important;
  font-size:.74rem!important;
  line-height:1.35!important;
  box-shadow:none!important;
  outline:none!important;
  color-scheme:light!important;
}
input:not([type="checkbox"]):not([type="radio"]):hover,select:hover,textarea:hover{border-color:#a5b7c8!important}
input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus,
.empresa-config-card input:focus,.empresa-config-card select:focus,.filial-card input:focus{
  border-color:#78a7c7!important;
  box-shadow:0 0 0 3px rgba(7,91,147,.09)!important;
}
input::placeholder,textarea::placeholder{color:#8695a5!important;-webkit-text-fill-color:#8695a5!important;opacity:1!important}
select option{background:#fff!important;color:#17283f!important}
label,.empresa-config-card label{color:#354b61!important;font-size:.7rem!important;font-weight:700!important}
small{color:#708195!important}

/* Tabelas sem travar a página */
.table-wrap{
  width:100%!important;
  max-height:none!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  border:1px solid var(--clv-border)!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
}
table{width:100%!important;min-width:760px!important;background:#fff!important;color:#26394f!important;font-size:.71rem!important}
th,td{padding:10px 11px!important;border-bottom:1px solid #e7ecf1!important;color:#33475c!important;vertical-align:middle!important}
th{
  position:sticky!important;
  top:65px!important;
  z-index:4!important;
  height:36px!important;
  background:#f7f9fb!important;
  color:#65778a!important;
  font-size:.57rem!important;
  font-weight:800!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
tbody tr:hover td{background:#f8fbfd!important}
td strong{color:#15273e!important}
td small{color:#758598!important}

/* Cadastros, empresas e filiais */
.cadastros-shell{min-height:0!important}
.empresa-detail-header{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  padding:13px 14px!important;
  border:1px solid #dbe5ee!important;
  border-radius:9px!important;
  background:linear-gradient(100deg,#f6f9fc,#fbfcfd)!important;
}
.empresa-detail-header span{color:var(--clv-primary)!important;font-size:.56rem!important;font-weight:800!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.empresa-detail-header h2{margin:2px 0!important;color:#14243a!important;font-size:1.15rem!important;font-weight:780!important}
.empresa-detail-header p{margin:0!important;color:#697b8e!important;font-size:.69rem!important}
.empresa-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;margin:10px 0!important}
.empresa-detail-grid article{padding:12px!important;box-shadow:none!important}
.empresa-detail-grid span{color:#6f8092!important;font-size:.57rem!important}
.empresa-detail-grid strong{margin-top:5px!important;color:#17283f!important;font-size:1.05rem!important}
.empresa-config-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)!important;gap:10px!important;align-items:start!important}
.empresa-config-card{padding:15px!important;box-shadow:none!important}
.config-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:2px 0 12px!important;
  padding:9px 10px!important;
  border:1px solid #e0e7ee!important;
  border-radius:7px!important;
  background:#f8fafc!important;
}
.config-title span{color:#617589!important;font-size:.57rem!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important}
.config-title strong{color:#263c53!important;font-size:.7rem!important}
.filiais-manager{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.filial-card{padding:10px!important;border:1px solid #dce5ed!important;border-radius:8px!important;background:#fbfcfd!important}
.filial-card-head strong{color:#263c53!important;font-size:.66rem!important}
.filial-card-head span{color:#16845d!important;background:#eaf8f2!important;border:1px solid #c6e9da!important;border-radius:99px!important;padding:2px 6px!important;font-size:.55rem!important}
.filial-card-fields{gap:8px!important}
.empresa-users-list{display:grid!important;gap:7px!important;overflow:visible!important}
.empresa-user-row,.empresa-user-row-rich{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:10px!important;
  border:1px solid #e0e7ee!important;
  border-radius:8px!important;
  background:#fff!important;
  overflow:visible!important;
}
.empresa-user-row strong{color:#1b2d43!important;font-size:.72rem!important}
.empresa-user-row small{color:#708195!important;font-size:.62rem!important;line-height:1.4!important}
.empresa-user-actions{min-width:115px!important}

/* Menus de ação sempre legíveis */
.action-menu summary{
  min-height:30px!important;
  padding:6px 9px!important;
  border:1px solid #cfd9e4!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#334c65!important;
  font-size:.66rem!important;
  font-weight:700!important;
}
.action-menu[open] summary{background:#f0f6fa!important;border-color:#9fb8ca!important;color:#164d70!important}
.action-menu div,.actions-menu-list{
  min-width:185px!important;
  padding:6px!important;
  border:1px solid #d7e0e9!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(15,35,55,.16)!important;
}
.action-menu button{
  width:100%!important;
  padding:8px 9px!important;
  border:0!important;
  border-radius:6px!important;
  background:transparent!important;
  color:#31475d!important;
  font-size:.66rem!important;
  font-weight:650!important;
  text-align:left!important;
}
.action-menu button:hover{background:#f1f5f8!important;color:#17283d!important}
.action-menu button.danger,.action-menu button.danger-action{color:#b63143!important}

/* Modais */
.modal-backdrop{overflow-y:auto!important;padding:18px!important;background:rgba(13,30,47,.48)!important;backdrop-filter:blur(5px)!important}
.modal-card{
  width:min(720px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 34px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:22px!important;
  border:1px solid #d9e2eb!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#17283f!important;
  box-shadow:0 25px 70px rgba(12,30,48,.24)!important;
}
.modal-card h2{color:#14243a!important}
.modal-card p,.modal-card small{color:#697b8e!important}
.modal-actions{position:sticky!important;bottom:-22px!important;z-index:3!important;margin-top:13px!important;padding:12px 0 0!important;border-top:1px solid #e5ebf1!important;background:#fff!important}
.modal-close{background:#fff!important;color:#5c7085!important;border:1px solid #d5dee7!important}
.modal-close:hover{background:#f3f6f8!important;color:#1b2d43!important}

/* Scrollbars discretas */
*{scrollbar-width:thin;scrollbar-color:#c4d0db transparent}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#c4d0db;border-radius:99px;border:2px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:#9fb0c1;background-clip:padding-box}

/* Responsividade */
@media(max-width:1180px){
  .app,body.is-authenticated #app{grid-template-columns:204px minmax(0,1fr)!important}
  .sidebar{width:204px!important;min-width:204px!important}
  .executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .empresa-config-layout{grid-template-columns:1fr!important}
  .two-cols{grid-template-columns:230px minmax(0,1fr)!important}
}
@media(max-width:900px){
  .app,.app.sidebar-collapsed,body.is-authenticated #app{display:block!important;min-height:100vh!important}
  .sidebar,.app.sidebar-collapsed .sidebar{
    position:relative!important;
    width:100%!important;
    min-width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:8px!important;
  }
  .side-brand,.app.sidebar-collapsed .side-brand{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;padding:6px 34px 6px 6px!important}
  .app.sidebar-collapsed .side-brand-copy{display:flex!important}
  .sidebar-toggle{display:none!important}
  .side-nav,.premium-nav{display:flex!important;flex-direction:row!important;gap:5px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px!important}
  .nav-group{display:flex!important;flex-direction:row!important;margin:0!important;gap:4px!important}.nav-group-title{display:none!important}
  .side-nav a,.app.sidebar-collapsed .side-nav a{flex:0 0 auto!important;justify-content:flex-start!important;padding:6px 9px!important}
  .app.sidebar-collapsed .side-nav a>span{display:block!important}
  .side-footer{display:none!important}
  .topbar{position:relative!important;grid-template-columns:1fr auto!important;padding:11px 16px!important}
  .topbar-search{grid-column:1/-1;grid-row:2;max-width:none!important}
  .page{padding:16px!important}.access-point-banner{margin:12px 16px 0!important}
  .two-cols,.timeline-layout{grid-template-columns:1fr!important}
  .context-panel{position:relative!important;top:auto!important;max-height:none!important}
  .empresa-detail-header{grid-template-columns:1fr!important}.empresa-detail-actions{justify-content:flex-start!important}
  .empresa-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .topbar{grid-template-columns:1fr!important}.top-actions{justify-content:flex-start!important}
  .page{padding:12px!important}.access-point-banner{margin:10px 12px 0!important}
  .executive-kpis,.empresa-detail-grid,.filiais-manager,.entry-choice-grid{grid-template-columns:1fr!important}
  .modal-card{width:calc(100vw - 16px)!important;padding:17px!important}
  .form-grid,.grouped-doc-grid{grid-template-columns:1fr!important}.form-grid .span{grid-column:1!important}
}

/* Ajustes finais de especificidade para telas administrativas */
.hidden{display:none!important}
.cadastros-section-head{margin:18px 0 11px!important;align-items:center!important}
.cadastros-section-head span{color:#748598!important;font-size:.58rem!important;font-weight:800!important;letter-spacing:.1em!important}
.cadastros-section-head strong{margin-top:3px!important;color:#17283f!important;font-size:.86rem!important;font-weight:760!important}
.cadastros-section-head small{color:#718196!important;font-size:.67rem!important}
.empresa-admin-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:10px!important}
.empresa-folder-card{
  min-height:155px!important;
  padding:14px!important;
  border:1px solid #dce5ed!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:0 1px 7px rgba(15,35,55,.045)!important;
  transform:none!important;
}
.empresa-folder-card:hover{
  transform:translateY(-1px)!important;
  border-color:#a9bfd0!important;
  background:#fbfdfe!important;
  box-shadow:0 8px 22px rgba(15,35,55,.08)!important;
}
.folder-mark{
  width:34px!important;
  height:26px!important;
  border-radius:7px 10px 10px 10px!important;
  background:linear-gradient(135deg,#0f6da6,#5ca4ce)!important;
  box-shadow:none!important;
}
.folder-mark:before{left:4px!important;top:-5px!important;width:15px!important;height:7px!important;background:#3d8dbc!important}
.empresa-folder-card strong{margin-bottom:5px!important;color:#17283f!important;font-size:.88rem!important}
.empresa-folder-card p,.empresa-folder-card small{color:#718196!important;font-size:.68rem!important}
.empresa-folder-meta{gap:6px!important;margin:11px 0!important}
.empresa-folder-meta span{
  padding:4px 7px!important;
  border:1px solid #d6e2eb!important;
  border-radius:99px!important;
  background:#f4f8fb!important;
  color:#4e6479!important;
  font-size:.62rem!important;
  font-weight:700!important;
}
.privacy-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin-bottom:12px!important}
.privacy-summary div,.privacy-summary article{padding:12px!important;border:1px solid #dce5ed!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important}
.privacy-summary span{color:#6f8092!important;font-size:.58rem!important}
.privacy-summary strong{margin-top:5px!important;color:#17283f!important;font-size:1.12rem!important}
.security-admin-panel{margin:14px 0 8px!important}
.security-card{
  align-items:center!important;
  padding:13px!important;
  border:1px solid #dce5ed!important;
  border-radius:9px!important;
  background:#f8fafc!important;
  box-shadow:none!important;
}
.security-card span{color:#075b93!important;font-size:.58rem!important}
.security-card strong{color:#17283f!important;font-size:1.08rem!important}
.security-card small{color:#718196!important;font-size:.66rem!important}
.empty-card{padding:13px!important;border:1px dashed #cbd7e1!important;border-radius:8px!important;background:#fafcfd!important;color:#718196!important}
.config-title:not(:first-child){margin-top:16px!important;padding-top:9px!important;border-top:1px solid #e5ebf0!important}
.empresa-user-row span{
  padding:3px 6px!important;
  border:1px solid #d3e1ea!important;
  border-radius:99px!important;
  background:#f0f6fa!important;
  color:#3c5b73!important;
  font-size:.6rem!important;
}
.user-status{padding:4px 7px!important;border:1px solid #cfe0eb!important;background:#edf5fa!important;color:#315873!important;font-size:.62rem!important}
.user-status.bloqueado{border-color:#efc8ce!important;background:#fff2f4!important;color:#ac3344!important}
.user-status.liberado,.user-status.administrador{border-color:#c6e7d9!important;background:#edf9f4!important;color:#18714f!important}
.user-status.pendente-de-aprovacao,.user-status.aguardando-email{border-color:#ead8ad!important;background:#fff8e8!important;color:#8a5b00!important}
