/* Premium 3D sidebar: code-native icons keep the app fast while giving each module a distinct visual tile. */
.sidebar{
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important;
  border-right:1px solid #dbe7f3!important;
  box-shadow:10px 0 28px rgba(15,23,42,.06)!important;
  transition:width .22s ease,min-width .22s ease,max-width .22s ease!important;
  display:flex!important;
  flex-direction:column!important;
  height:100vh!important;
  max-height:100vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}
.sidebar-top{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important}
.sidebar nav{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  padding-bottom:18px!important;
}
.sidebar-brand-row{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-bottom:10px!important;
}
.auris-sidebar-logo{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  object-fit:contain!important;
  padding:4px!important;
  border:1px solid #dbe7f3!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 10px 22px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.sidebar-top .co-logo{
  width:90px!important;
  min-width:90px!important;
  max-width:90px!important;
  height:58px!important;
  margin:0!important;
  padding:0!important;
  border-radius:12px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
}
.sidebar-top .co-initials{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  margin:0!important;
  border-radius:12px!important;
  font-size:13px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
}
.sidebar-top .co-initials{
  background:linear-gradient(145deg,#34d399,#059669 62%,#047857)!important;
  color:#fff!important;
  font-weight:800!important;
}
.nav-section{
  padding:16px 18px 7px!important;
  color:#94a3b8!important;
  letter-spacing:.09em!important;
}
.nav-item{
  position:relative!important;
  min-height:34px!important;
  margin:2px 10px!important;
  padding:3px 9px!important;
  gap:8px!important;
  border-left:0!important;
  border-radius:12px!important;
  color:#0f172a!important;
  font-weight:700!important;
  background:transparent!important;
  overflow:visible!important;
  transition:background .12s ease,color .12s ease,box-shadow .12s ease!important;
}
.nav-item:hover{
  background:linear-gradient(135deg,#f8fbff,#eef6ff)!important;
  box-shadow:0 10px 22px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.nav-item.active{
  background:linear-gradient(135deg,#eaf4ff 0%,#fff 100%)!important;
  color:#075985!important;
  box-shadow:0 12px 26px rgba(37,99,235,.13),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.nav-label{display:inline!important;white-space:normal!important;line-height:1.18!important}
.nav-item i{
  position:relative!important;
  overflow:hidden!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  border-radius:7px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1!important;
  background:linear-gradient(145deg,#60a5fa 0%,#2563eb 62%,#1e40af 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68),inset 0 -3px 6px rgba(15,23,42,.18),0 5px 9px rgba(37,99,235,.2)!important;
  text-shadow:0 1px 1px rgba(15,23,42,.28)!important;
}
.nav-item i:after{
  content:"";
  position:absolute;
  left:6px;
  top:5px;
  width:45%;
  height:28%;
  border-radius:999px;
  background:rgba(255,255,255,.46);
  pointer-events:none;
}
.nav-item[data-nav-key="ai-insights"] i{background:linear-gradient(145deg,#c084fc,#7c3aed 62%,#4c1d95)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -4px 8px rgba(46,16,101,.2),0 7px 12px rgba(124,58,237,.25)!important}
.nav-item[data-nav-key="kpi"] i,.nav-item[data-nav-key="actions"] i{background:linear-gradient(145deg,#fde68a,#f59e0b 60%,#b45309)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -4px 8px rgba(120,53,15,.18),0 7px 12px rgba(245,158,11,.24)!important}
.nav-item[data-nav-key="events"] i,.nav-item[data-nav-key="emergency"] i{background:linear-gradient(145deg,#fca5a5,#ef4444 60%,#991b1b)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.68),inset 0 -4px 8px rgba(127,29,29,.18),0 7px 12px rgba(239,68,68,.24)!important}
.nav-item[data-nav-key="observation"] i,.nav-item[data-nav-key="inspection"] i,.nav-item[data-nav-key="risk"] i,.nav-item[data-nav-key="ppe"] i,.nav-item[data-nav-key="sitemap"] i,.nav-item[data-nav-key="esg"] i{background:linear-gradient(145deg,#6ee7b7,#10b981 60%,#047857)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.68),inset 0 -4px 8px rgba(6,95,70,.18),0 7px 12px rgba(16,185,129,.24)!important}
.nav-item[data-nav-key="permit"] i,.nav-item[data-nav-key="legal"] i,.nav-item[data-nav-key="approvals"] i{background:linear-gradient(145deg,#93c5fd,#2563eb 58%,#1d4ed8)!important}
.nav-item[data-nav-key="tools"] i,.nav-item[data-nav-key="fleet"] i,.nav-item[data-nav-key="contractor"] i{background:linear-gradient(145deg,#fdba74,#f97316 58%,#9a3412)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.68),inset 0 -4px 8px rgba(124,45,18,.18),0 7px 12px rgba(249,115,22,.24)!important}
.nav-item[data-nav-key="atex"] i,.nav-item[data-nav-key="fire"] i{background:linear-gradient(145deg,#fb7185,#dc2626 58%,#9f1239)!important}
.nav-item[data-nav-key="chemical"] i{background:linear-gradient(145deg,#67e8f9,#0891b2 58%,#155e75)!important}
.nav-item[data-nav-key="noise"] i{background:linear-gradient(145deg,#7dd3fc,#0ea5e9 58%,#075985)!important}
.nav-item[data-nav-key="meetings"] i,.nav-item[data-nav-key="training"] i,.nav-item[data-nav-key="document"] i,.nav-item[data-nav-key="sop"] i,.nav-item[data-nav-key="swms"] i{background:linear-gradient(145deg,#bfdbfe,#3b82f6 58%,#1d4ed8)!important}
.nav-item[data-nav-key="admin"] i,.nav-item[data-nav-key="settings"] i,.nav-item[data-nav-key="integrations"] i,.nav-item[data-nav-key="audit"] i,.nav-item[data-nav-key="users"] i,.nav-item[data-nav-key="people"] i,.nav-item[data-nav-key="companies"] i{background:linear-gradient(145deg,#cbd5e1,#64748b 58%,#334155)!important}
@media (min-width:769px){
  .sidebar.collapsed{
    display:block!important;
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
    height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-bottom:72px!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  .sidebar.collapsed nav{
    display:block!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    height:auto!important;
    max-height:none!important;
  }
  .sidebar.collapsed .nav-section,.sidebar.collapsed .profile-info,.sidebar.collapsed .role-switcher,.sidebar.collapsed .btn-danger{display:none!important}
  .sidebar.collapsed .sidebar-top{padding:10px 5px!important}
  .sidebar.collapsed .sidebar-brand-row{justify-content:center!important;margin-bottom:0!important}
  .sidebar.collapsed .auris-sidebar-logo{width:42px!important;height:42px!important;min-width:42px!important}
  .sidebar.collapsed .co-logo,.sidebar.collapsed .co-initials{display:none!important}
  .sidebar.collapsed .nav-item{
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    min-height:34px!important;
    padding:4px!important;
    margin:3px auto!important;
    border-radius:11px!important;
    justify-content:center!important;
    overflow:visible!important;
  }
  .sidebar.collapsed .nav-label{display:none!important}
  .sidebar.collapsed .nav-item i{width:22px!important;height:22px!important;min-width:22px!important;flex:0 0 22px!important;font-size:13px!important}
  .sidebar.collapsed .nav-item.active{background:rgba(37,99,235,.08)!important}
}
@media (max-width:768px){
  .nav-item{min-height:48px!important}
  .nav-item i{width:26px!important;height:26px!important;min-width:26px!important}
  .sidebar-top .co-logo{width:96px!important;min-width:96px!important;max-width:96px!important;height:62px!important}
}
.modules-menu-item{
  gap:9px!important;
  min-height:34px!important;
  padding:7px 14px!important;
}
.modules-menu-item i{
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#64748b!important;
  font-size:15px!important;
}
.modules-menu-item.active i{color:var(--green)!important}
