/* ── Sidebar ── */
aside{
  width:var(--nav-w);flex:none;
  background:var(--bg);
  display:flex;flex-direction:column;
  transition:width .22s cubic-bezier(.4,0,.2,1);
  overflow:hidden;position:relative;height:100%;
}
aside.collapsed{width:var(--nav-col)}

/* logo row */
.nav-logo{display:flex;align-items:center;gap:11px;padding:20px 10px 12px;min-width:var(--nav-w);margin-left:10px;}
.nav-logo img{width:30px;height:30px;border-radius:8px;flex:none;object-fit:contain}
.nav-logo .wordmark{font-size:19px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;flex:1;opacity:1;transition:opacity .15s}
aside.collapsed .nav-logo .wordmark{opacity:0;pointer-events:none;width:0;overflow:hidden;flex:none}
/* tooltip needs overflow:visible — toggled via JS after transition */
aside.collapsed.settled{overflow:visible}

/* collapse toggle */
.nav-toggle{width:100%;border:none;background:none;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:var(--ink3);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s,color .12s;text-align:left}
.nav-toggle svg{flex:none;width:15px;height:15px}
.nav-toggle .nt{white-space:nowrap;transition:opacity .15s}
.nav-toggle:hover{color:var(--ink);background:var(--soft2)}
.nav-foot{padding:8px 10px 16px;margin-top:auto;flex:none;}
aside.collapsed .nav-foot{padding:8px 0 16px;display:flex;justify-content:center}
aside.collapsed .nav-toggle{width:36px;height:36px;padding:0;justify-content:center}
aside.collapsed .nav-toggle .nt{opacity:0;width:0;overflow:hidden;flex:none}
aside.collapsed .nav-logo{padding:20px 8px 12px;justify-content:center;min-width:0}

/* active icon centered in collapsed */
aside.collapsed .ni{width:36px;height:36px;padding:0;justify-content:center;gap:0}

/* quick-action new campaign button */
.nav-new{display:flex;align-items:center;gap:9px;width:calc(100% - 20px);margin:0 10px 10px;padding:9px 12px;border:none;border-radius:9px;background:var(--nc);color:#fff;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s}
.nav-new:hover{background:var(--ncd)}
.nav-new svg{flex:none;width:16px;height:16px}
.nav-new .nn{flex:1;text-align:left;transition:opacity .15s;overflow:hidden}
aside.collapsed .nav-new{width:36px;height:36px;padding:0;justify-content:center;margin:0 auto 10px;border-radius:9px}
aside.collapsed .nav-new .nn{opacity:0;width:0;flex:none}

/* nav list */
.nav-list{display:flex;flex-direction:column;padding:0 10px;gap:2px;margin-top:16px}
aside.collapsed .nav-list{padding:0 8px;align-items:center}

/* section label */
.nav-sec{font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--ink3);text-transform:uppercase;padding:18px 8px 6px;white-space:nowrap;overflow:hidden;transition:opacity .15s}
aside.collapsed .nav-sec{opacity:0;height:14px;padding:8px 0 0}

/* nav item */
.ni{
  position:relative;display:flex;align-items:center;gap:11px;
  width:100%;border:none;background:none;
  color:var(--ink2);text-align:left;
  padding:10px 10px;border-radius:9px;
  font-size:14px;font-weight:500;
  transition:background .12s,color .12s;
  white-space:nowrap;
}
.ni:hover{background:var(--soft2);color:var(--ink)}
.ni.on{background:rgba(232,90,12,.10);color:var(--o)}
.ni.on svg{color:var(--o)}
.ni svg{width:18px;height:18px;flex:none;color:var(--ink3);transition:color .12s}
.ni .nl{flex:1;overflow:hidden;text-overflow:ellipsis;transition:opacity .15s}
aside.collapsed .ni .nl{opacity:0;width:0;flex:none}

/* tooltip when collapsed */
aside.collapsed .nav-new:hover::after{
  content:attr(data-tip);
  position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);
  background:var(--ink);color:#fff;font-size:12px;font-weight:500;
  padding:5px 10px;border-radius:7px;white-space:nowrap;pointer-events:none;z-index:99;
}
aside.collapsed .ni:hover::after{
  content:attr(data-tip);
  position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);
  background:var(--ink);color:#fff;font-size:12px;font-weight:500;
  padding:5px 10px;border-radius:7px;white-space:nowrap;pointer-events:none;z-index:99;
}

/* ── Sidebar Sub-menus (Dropdowns) ── */
.nav-group {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.report-flat {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.nav-group-toggle {
  cursor: pointer;
}

.nav-sub-list {
  display: flex;
  flex-direction: column;
  padding-left: 20px;
  gap: 2px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.22s cubic-bezier(0.4, 0, 0.2, 1), margin-top 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  margin-top: 0;
}

.nav-group.open .nav-sub-list {
  max-height: 128px;
  margin-top: 6px;
}

.nav-group.open .chevron {
  transform: rotate(180deg);
}

aside.collapsed .nav-sub-list {
  padding-left: 0;
  display: none; /* hide sub-menu completely when sidebar is collapsed */
}
