
/* v149 - fixes reales: PDV sin duplicado desde recarga, roles robustos, organigrama visual */
/* Oculta el acceso físico duplicado a /notas-venta desde el primer paint, antes de que corran scripts. */
.pdv-subnav a[href*="/empresa/pdv/notas-venta"],
.pdv-subnav .subnav-item[href*="/empresa/pdv/notas-venta"],
.fact-subnav a[href*="/empresa/pdv/notas-venta"],
.fact-subnav .subnav-item[href*="/empresa/pdv/notas-venta"]{
  display:none!important;
}

/* Acciones de notas en una sola línea */
body.route-notas-like table th:last-child,
body.route-notas-like table td:last-child,
body.route-pdv-module table th:last-child,
body.route-pdv-module table td:last-child{
  min-width:235px!important;
}
body.route-notas-like table tbody td:last-child,
body.route-pdv-module table tbody td:last-child{
  white-space:nowrap!important;
}
body.route-notas-like table tbody td:last-child button,
body.route-notas-like table tbody td:last-child .btn-icon{
  display:inline-flex!important;
  vertical-align:middle!important;
  margin:0 3px!important;
}

/* Roles y permisos: mejora visual y lectura */
.roles-layout{
  display:grid!important;
  grid-template-columns:minmax(250px,280px) minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.roles-sidebar{
  border:1px solid #e1e8f3!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.06)!important;
  overflow:hidden!important;
}
.rol-item{
  border-radius:14px!important;
  margin:8px!important;
  border:1px solid transparent!important;
}
.rol-item:hover{
  background:#f8fbff!important;
  border-color:#dbeafe!important;
}
.rol-item.active,
.rol-item.selected{
  background:#eef5ff!important;
  border-color:#bfdbfe!important;
}
.permisos-panel{
  border:1px solid #e1e8f3!important;
  border-radius:22px!important;
  box-shadow:0 14px 32px rgba(15,23,42,.07)!important;
  overflow:hidden!important;
}
.permisos-header{
  background:linear-gradient(180deg,#fff,#fbfcff)!important;
  border-bottom:1px solid #e8edf6!important;
}
.permisos-table-wrap{
  overflow:auto!important;
}
.permisos-table{
  min-width:900px!important;
}
.permisos-table th{
  position:sticky!important;
  top:0!important;
  z-index:1!important;
  background:#f5f7fb!important;
}
.permisos-table td,.permisos-table th{
  padding:11px 12px!important;
}
.modulo-cell{
  min-width:260px!important;
}

/* Organigrama: vista más clara y moderna */
.org-container{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;
  gap:18px!important;
  align-items:start!important;
}
.org-tree-wrap{
  background:radial-gradient(circle at 10% 0%,rgba(29,124,255,.06),transparent 28%),#fff!important;
  border:1px solid #e1e8f3!important;
  border-radius:24px!important;
  min-height:560px!important;
  padding:28px!important;
  box-shadow:0 14px 34px rgba(15,23,42,.07)!important;
  overflow:auto!important;
}
.org-tree{
  min-width:max-content!important;
  padding:10px 20px 30px!important;
}
.node-card{
  min-width:210px!important;
  max-width:260px!important;
  padding:13px 15px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff,#fbfcff)!important;
  border:1px solid #dde7f5!important;
  border-top:4px solid var(--nc,#1d7cff)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
}
.node-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 18px 38px rgba(15,23,42,.12)!important;
}
.node-card.selected{
  box-shadow:0 0 0 4px rgba(29,124,255,.15),0 18px 38px rgba(15,23,42,.12)!important;
  border-color:#bfdbfe!important;
}
.node-avatar{
  width:42px!important;
  height:42px!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.28)!important;
}
.node-nombre{
  font-size:14px!important;
  color:#111827!important;
  font-weight:900!important;
}
.node-users{
  margin-top:3px!important;
  color:#64748b!important;
}
.node-count{
  min-width:20px!important;
  height:20px!important;
  border-radius:999px!important;
  border:2px solid #fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:10px!important;
}
.node-add{
  width:26px!important;
  height:26px!important;
  border-radius:10px!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
  border:1px solid #bfdbfe!important;
}
.v-line,.v-line-top{
  background:#cbd5e1!important;
}
.h-line{
  border-color:#cbd5e1!important;
}
.org-detail-panel{
  border:1px solid #e1e8f3!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(15,23,42,.07)!important;
  overflow:hidden!important;
}
.detail-header{
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
  border-bottom:1px solid #e8edf6!important;
}
.detail-rol-nombre{
  font-size:21px!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}
.detail-section{
  border-top:1px solid #edf2f7!important;
}
.det-user{
  border-radius:14px!important;
  background:#f8fafc!important;
  border:1px solid #e8edf6!important;
}
.permisos-chips .badge{
  margin:3px!important;
}

@media(max-width:1100px){
  .roles-layout,.org-container{
    grid-template-columns:1fr!important;
  }
  .org-detail-panel{
    order:-1!important;
  }
}
