:root{--one-sidebar-width:256px;--one-sidebar-bg:#0d1b2a;--one-sidebar-line:rgba(255,255,255,.12);--one-sidebar-text:#b7c2cc;--one-sidebar-gold:#d6bd8d}

/* Base lateral da La Clé One */
.portal-sidebar,.module-sidebar,.sign-sidebar,.sidebar,.valence-module .header,.master-page>aside{
  width:var(--one-sidebar-width)!important;
  background:var(--one-sidebar-bg)!important;
  color:#fff!important;
  scrollbar-width:thin;
  scrollbar-color:#53616d transparent;
}
.portal-sidebar::-webkit-scrollbar,.module-sidebar::-webkit-scrollbar,.sign-sidebar::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.valence-module .header::-webkit-scrollbar,.master-page>aside::-webkit-scrollbar,[data-sidebar=content]::-webkit-scrollbar{width:6px;height:6px}
.portal-sidebar::-webkit-scrollbar-track,.module-sidebar::-webkit-scrollbar-track,.sign-sidebar::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track,.valence-module .header::-webkit-scrollbar-track,.master-page>aside::-webkit-scrollbar-track,[data-sidebar=content]::-webkit-scrollbar-track{background:transparent}
.portal-sidebar::-webkit-scrollbar-thumb,.module-sidebar::-webkit-scrollbar-thumb,.sign-sidebar::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb,.valence-module .header::-webkit-scrollbar-thumb,.master-page>aside::-webkit-scrollbar-thumb,[data-sidebar=content]::-webkit-scrollbar-thumb{background:#53616d;border:2px solid var(--one-sidebar-bg);border-radius:999px}
.portal-sidebar::-webkit-scrollbar-thumb:hover,.module-sidebar::-webkit-scrollbar-thumb:hover,.sign-sidebar::-webkit-scrollbar-thumb:hover,.sidebar::-webkit-scrollbar-thumb:hover,.valence-module .header::-webkit-scrollbar-thumb:hover,.master-page>aside::-webkit-scrollbar-thumb:hover,[data-sidebar=content]::-webkit-scrollbar-thumb:hover{background:#71808b}

/* A marca é o retorno único à home da plataforma */
.one-brand,.portal-sidebar>.brand,.module-sidebar>.brand,.sign-sidebar>.brand,.standard-brand,.lacle-brand{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:9px!important;
  padding:22px 12px 21px!important;
  margin:0 0 14px!important;
  border:0!important;
  border-bottom:1px solid var(--one-sidebar-line)!important;
  color:inherit!important;
  text-decoration:none!important;
}
.one-brand img,.portal-sidebar>.brand img,.module-sidebar>.brand img,.sign-sidebar>.brand img,.standard-brand img,.lacle-brand img{width:188px!important;max-width:100%!important;height:auto!important;margin:0!important}
.one-brand span,.portal-sidebar>.brand span,.module-sidebar>.brand span,.sign-sidebar>.brand small,.standard-brand small,.lacle-brand span{
  display:block!important;
  margin:0 0 0 7px!important;
  color:var(--one-sidebar-gold)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
}
.one-brand:hover,.portal-sidebar>.brand:hover,.module-sidebar>.brand:hover,.sign-sidebar>.brand:hover,.standard-brand:hover,.lacle-brand:hover{opacity:.88}
.master-page aside>.one-brand:after{content:none!important}
.one-brand:focus-visible,.portal-sidebar>.brand:focus-visible,.module-sidebar>.brand:focus-visible,.sign-sidebar>.brand:focus-visible,.standard-brand:focus-visible,.lacle-brand:focus-visible{outline:2px solid var(--one-sidebar-gold)!important;outline-offset:-2px!important;border-radius:8px!important}

/* Estrutura, módulo ativo e navegação */
.portal-shell,.module-shell{grid-template-columns:var(--one-sidebar-width) minmax(0,1fr)!important}
.portal-sidebar,.module-sidebar,.sign-sidebar{padding:0 18px 18px!important;overflow-y:auto!important;overflow-x:visible!important}
.module-identity,.identity,.product,.dental-module-label{margin:0!important;padding:18px 12px!important;border:0!important;background:transparent!important}
.module-identity strong,.identity h2,.product h1,.dental-module-label strong{color:#f0ddb7!important;font-size:18px!important;line-height:1.25!important;font-weight:700!important}
.module-identity small,.identity small,.product>span{color:#d2ba8d!important;font-size:9px!important;letter-spacing:.14em!important}
.module-identity span{font-size:10px!important;color:#9eabb5!important}
.portal-sidebar nav,.module-sidebar nav,.sign-sidebar nav,.sidebar nav{gap:4px!important}
.portal-sidebar nav button,.module-sidebar nav button,.sign-sidebar nav button,.sign-sidebar nav a,.sidebar nav button{
  min-height:46px!important;
  padding:11px 13px!important;
  border-radius:10px!important;
  color:var(--one-sidebar-text)!important;
  font-size:13px!important;
  font-weight:560!important;
}
.portal-sidebar nav button:hover,.module-sidebar nav button:hover,.sign-sidebar nav button:hover,.sign-sidebar nav a:hover,.sidebar nav button:hover{background:rgba(255,255,255,.055)!important;color:#fff!important}
.portal-sidebar nav button.active,.module-sidebar nav button.active,.sign-sidebar nav button.active,.sidebar nav button.active{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  box-shadow:inset 3px 0 #d0ad70!important;
}
.return-platform,.back,.standard-back,.back-one{display:none!important}

/* Ajustes de área útil dos layouts legados */
.sign-module>main,.sidebar+main{margin-left:var(--one-sidebar-width)}
.master-page{grid-template-columns:var(--one-sidebar-width) minmax(0,1fr)!important}
.valence-module{padding-left:var(--one-sidebar-width)!important}
.valence-module .header{height:100dvh!important;overflow-y:auto!important}
.valence-module .header-inner{padding:0 18px 18px!important}
.valence-module .standard-brand{margin-bottom:0!important}

/* Rodapé fixo visualmente estável */
.portal-license,.module-copilot,.security,.demo-card{border-color:rgba(255,255,255,.13)!important;background:#142838!important;border-radius:12px!important}
.lacle-account{flex:0 0 auto!important}

/* Sidebar do módulo odontológico (componente React) */
.nav-shell [data-sidebar=sidebar]{width:var(--one-sidebar-width)!important;background:var(--one-sidebar-bg)!important;scrollbar-width:thin;scrollbar-color:#53616d transparent}
.nav-shell [data-sidebar=gap]{width:var(--one-sidebar-width)!important}
.nav-shell [data-sidebar=content]{scrollbar-width:thin;scrollbar-color:#53616d transparent}
.nav-shell .lacle-brand{margin-bottom:0!important}

/* Padrão único: a mesma composição da Gestão Odontológica em toda a plataforma */
.one-sidebar-standard{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif!important}
.portal-sidebar,.module-sidebar,.sign-sidebar,.master-page>aside,body>.sidebar{
  height:100dvh!important;
  padding:0 18px 14px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.valence-module .header{overflow:hidden!important}
.valence-module .header-inner{height:100%!important;min-height:0!important;padding:0 18px 14px!important}
.one-brand,.portal-sidebar>.brand,.module-sidebar>.brand,.sign-sidebar>.brand,.standard-brand,.lacle-brand{
  flex:0 0 auto!important;
  gap:10px!important;
  padding:27px 12px 23px!important;
  margin:0!important;
}
.one-brand img,.portal-sidebar>.brand img,.module-sidebar>.brand img,.sign-sidebar>.brand img,.standard-brand img,.lacle-brand img{width:188px!important}
.one-brand span,.portal-sidebar>.brand span,.module-sidebar>.brand span,.sign-sidebar>.brand small,.standard-brand small,.lacle-brand span{
  margin:0 0 0 7px!important;
  font-size:11px!important;
  letter-spacing:.24em!important;
}
.one-module-heading,.module-sidebar .module-identity,.sidebar .identity,.dental-module-label,.valence-module .module-heading{
  flex:0 0 auto!important;
  min-height:82px!important;
  margin:0!important;
  padding:22px 12px 20px!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-items:center!important;
  gap:13px!important;
  color:#f0ddb7!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.sign-sidebar .product{flex:0 0 auto!important;margin:0!important;padding:22px 12px 20px!important;background:transparent!important}
.sign-sidebar .product .module-title-line{min-height:40px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:13px!important;align-items:center!important}
.one-module-heading strong,.module-identity>strong,.sidebar .identity h2,.sign-sidebar .product h1,.dental-module-label strong,.valence-module .module-heading strong{
  margin:0!important;
  color:#f0ddb7!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:720!important;
  letter-spacing:-.02em!important;
}
.module-identity>small,.module-identity>span:not(.one-module-icon),.sidebar .identity small,.sign-sidebar .product>p,.valence-module .module-heading small{display:none!important}
.one-module-icon,.module-symbol{
  width:38px!important;
  height:38px!important;
  border:1px solid rgba(214,189,141,.65)!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:transparent!important;
  color:#e3c991!important;
}
.one-module-icon svg,.module-symbol svg{width:23px!important;height:23px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.module-identity>.one-module-icon{grid-row:1!important}.module-identity>strong{grid-column:2!important;grid-row:1!important}
.module-sidebar .module-identity>.one-module-icon{display:grid!important;margin:0!important;font-size:inherit!important;color:#e3c991!important}
.sidebar .identity>.one-module-icon{grid-column:1!important;grid-row:1!important}.sidebar .identity h2{grid-column:2!important;grid-row:1!important}
.valence-module .module-heading>div{min-width:0!important}.valence-module .module-heading .module-symbol{flex:none!important}
.valence-module .header.one-sidebar-standard .nav-actions .nav-btn.active,.valence-module .header.one-sidebar-standard .nav-actions .nav-btn.nav-cta,.valence-module .header.one-sidebar-standard .nav-actions .nav-btn.filter-action{
  background:transparent!important;color:#b7c2cc!important;border:0!important;box-shadow:none!important
}
.valence-module .header.one-sidebar-standard .nav-actions .nav-btn.active{background:rgba(255,255,255,.105)!important;color:#fff!important;box-shadow:inset 4px 0 #d3b577!important}
.portal-sidebar>nav,.module-sidebar>nav,.sign-sidebar>nav,.master-page>aside>nav,body>.sidebar>nav,.valence-module .nav-actions{
  flex:1 1 auto!important;
  min-height:0!important;
  margin:0!important;
  padding:13px 4px 10px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-width:thin!important;
  scrollbar-color:#53616d transparent!important;
}
.portal-sidebar nav button,.module-sidebar nav button,.sign-sidebar nav button,.sign-sidebar nav a,.master-page>aside nav button,body>.sidebar nav button,.valence-module .nav-btn{
  flex:0 0 auto!important;
  width:100%!important;
  min-height:48px!important;
  margin:0!important;
  padding:11px 13px!important;
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  border:0!important;
  border-radius:13px!important;
  background:transparent!important;
  color:#b7c2cc!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:520!important;
  text-align:left!important;
  box-shadow:none!important;
}
.portal-sidebar nav button.active,.module-sidebar nav button.active,.sign-sidebar nav button.active,.master-page>aside nav button.active,body>.sidebar nav button.active,.valence-module .nav-btn.active{
  background:rgba(255,255,255,.105)!important;
  color:#fff!important;
  font-weight:700!important;
  box-shadow:inset 4px 0 #d3b577!important;
}
.one-nav-icon{width:24px!important;height:24px!important;display:grid!important;place-items:center!important;flex:0 0 auto!important;color:#b9c6d0!important}
.one-nav-icon svg{width:23px!important;height:23px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.active>.one-nav-icon,.active .one-nav-icon{color:#e2c990!important}
.portal-license,.security,.module-copilot,.demo-card,.more-menu{display:none!important}
.dentist-brand{flex:0 0 68px!important;margin:0 14px 10px!important}
.nav-shell [data-sidebar=content]{min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;padding:8px 18px 10px!important}
.nav-shell [data-sidebar=content] [data-sidebar=menu]{display:flex!important;flex-direction:column!important;gap:5px!important}
.nav-shell .nav-item{min-height:48px!important;height:48px!important;margin:0!important;padding:11px 13px!important;border-radius:13px!important;font-size:14px!important;gap:13px!important}
.nav-shell .nav-item[data-active=true]{box-shadow:inset 4px 0 #d3b577!important}
.nav-shell [data-sidebar=footer]{flex:0 0 auto!important;padding:0 18px 14px!important}
.lacle-account{margin-top:0!important;padding-top:14px!important}
.portal-sidebar .sidebar-user.lacle-account,.module-sidebar .module-user.lacle-account,.sign-sidebar .session.lacle-account,.master-page .master-user.lacle-account,.sidebar .account-slot.lacle-account,.nav-shell .doctor.lacle-account,.valence-module .standard-session.lacle-account{flex:0 0 auto!important}

.portal-sidebar>nav::-webkit-scrollbar,.module-sidebar>nav::-webkit-scrollbar,.sign-sidebar>nav::-webkit-scrollbar,.master-page>aside>nav::-webkit-scrollbar,body>.sidebar>nav::-webkit-scrollbar,.valence-module .nav-actions::-webkit-scrollbar{width:6px}
.portal-sidebar>nav::-webkit-scrollbar-track,.module-sidebar>nav::-webkit-scrollbar-track,.sign-sidebar>nav::-webkit-scrollbar-track,.master-page>aside>nav::-webkit-scrollbar-track,body>.sidebar>nav::-webkit-scrollbar-track,.valence-module .nav-actions::-webkit-scrollbar-track{background:transparent}
.portal-sidebar>nav::-webkit-scrollbar-thumb,.module-sidebar>nav::-webkit-scrollbar-thumb,.sign-sidebar>nav::-webkit-scrollbar-thumb,.master-page>aside>nav::-webkit-scrollbar-thumb,body>.sidebar>nav::-webkit-scrollbar-thumb,.valence-module .nav-actions::-webkit-scrollbar-thumb{background:#53616d;border:2px solid var(--one-sidebar-bg);border-radius:999px}

@media(max-width:900px){
  .valence-module{padding-left:0!important}
  .valence-module .header{width:auto!important;height:auto!important;overflow:visible!important}
  .valence-module .header-inner{padding:12px 16px!important}
  .valence-module .standard-brand{padding:8px 4px!important;margin:0!important;border:0!important}
  .valence-module .standard-brand small{display:none!important}
}
@media(max-width:760px){
  .portal-shell,.module-shell{display:block!important}
  .portal-sidebar,.module-sidebar,.sign-sidebar{width:var(--one-sidebar-width)!important}
  .sign-module>main,.sidebar+main{margin-left:0}
}

/* Cléo é exclusiva do SaaS B2B/B2C. */
.cleo-dock,.cleo-panel,.cleo-drawer,#openCleoFloating,#moduleCleo{display:none!important}

.one-sidebar-standard .company-module-brand{display:flex;align-items:center;justify-content:center;min-height:58px;margin:2px 8px 17px;padding:8px 12px;border-top:1px solid rgba(255,255,255,.11);border-bottom:1px solid rgba(255,255,255,.11)}
.one-sidebar-standard .company-module-brand img{display:block;width:auto!important;max-width:100%;height:auto;max-height:48px;object-fit:contain}
