/* ConnexiFi Feasibility Studio nav cleanup
   Scope intentionally limited to Feasibility Studio sidebar/nav only. */

:root {
  --cxfi-nav-bg: #07111f;
  --cxfi-nav-panel: #0d1728;
  --cxfi-nav-line: rgba(148, 163, 184, .18);
  --cxfi-nav-text: #dce8f8;
  --cxfi-nav-muted: #8da2bd;
  --cxfi-nav-active: #12c7e8;
  --cxfi-nav-active-bg: rgba(18, 199, 232, .12);
  --cxfi-nav-hover: rgba(255,255,255,.06);
  --cxfi-green: #22c55e;
}

aside,
.sidebar,
.side,
#sidebar,
.cxfi-sidebar {
  background: linear-gradient(180deg, #07111f 0%, #0b1322 100%) !important;
  border-right: 1px solid var(--cxfi-nav-line) !important;
}

.sidebar,
#sidebar,
.cxfi-sidebar {
  width: 260px !important;
  min-width: 260px !important;
}

.sidebar .brand,
#sidebar .brand,
.cxfi-sidebar .brand,
.sidebar-brand,
.brand-block {
  padding: 18px 14px 20px !important;
  border-bottom: 1px solid var(--cxfi-nav-line) !important;
  margin-bottom: 14px !important;
}

.sidebar .brand h1,
#sidebar .brand h1,
.cxfi-sidebar .brand h1,
.sidebar-brand h1,
.brand-block h1 {
  font-size: 15px !important;
  line-height: 1.15 !important;
  letter-spacing: .02em !important;
  margin: 0 !important;
}

.sidebar .brand p,
#sidebar .brand p,
.cxfi-sidebar .brand p,
.sidebar-brand p,
.brand-block p {
  color: var(--cxfi-nav-muted) !important;
  font-size: 11px !important;
  margin-top: 5px !important;
}

nav.feasibility-nav,
.sidebar nav,
#sidebar nav,
.cxfi-sidebar nav,
.feas-nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  padding: 8px 10px !important;
}

nav.feasibility-nav a,
.sidebar nav a,
#sidebar nav a,
.cxfi-sidebar nav a,
.feas-nav a,
a.feas-nav-link {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 38px !important;
  padding: 9px 11px !important;
  border-radius: 10px !important;
  color: var(--cxfi-nav-text) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  border: 1px solid transparent !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

nav.feasibility-nav a:hover,
.sidebar nav a:hover,
#sidebar nav a:hover,
.cxfi-sidebar nav a:hover,
.feas-nav a:hover,
a.feas-nav-link:hover {
  background: var(--cxfi-nav-hover) !important;
  border-color: rgba(148, 163, 184, .22) !important;
}

nav.feasibility-nav a.active,
nav.feasibility-nav a[aria-current="page"],
.sidebar nav a.active,
.sidebar nav a[aria-current="page"],
#sidebar nav a.active,
#sidebar nav a[aria-current="page"],
.cxfi-sidebar nav a.active,
.cxfi-sidebar nav a[aria-current="page"],
.feas-nav a.active,
.feas-nav a[aria-current="page"] {
  background: var(--cxfi-nav-active-bg) !important;
  color: #ffffff !important;
  border-color: rgba(18, 199, 232, .4) !important;
  box-shadow: inset 3px 0 0 var(--cxfi-nav-active) !important;
}

.feas-nav-section,
.sidebar .feas-nav-section,
#sidebar .feas-nav-section,
.cxfi-sidebar .feas-nav-section {
  color: var(--cxfi-nav-muted) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  margin: 17px 12px 6px !important;
}

.feas-user-pill,
.sidebar .feas-user-pill,
#sidebar .feas-user-pill {
  display: block !important;
  margin: 12px 10px 14px !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  background: rgba(148, 163, 184, .08) !important;
  border: 1px solid rgba(148, 163, 184, .16) !important;
  color: var(--cxfi-nav-text) !important;
  font-size: 12px !important;
}

.feas-legacy-nav-hidden {
  display: none !important;
}

.feasibility-nav-normalised .feas-nav-icon {
  flex: 0 0 17px !important;
  width: 17px !important;
  display: inline-flex !important;
  justify-content: center !important;
  opacity: .9 !important;
}

.feasibility-nav-normalised .feas-nav-label {
  flex: 1 1 auto !important;
}

/* Fix cramped nav text from legacy inline icons/labels. */
.sidebar nav,
#sidebar nav {
  line-height: 1.25 !important;
}

.sidebar small,
#sidebar small,
.cxfi-sidebar small {
  color: var(--cxfi-nav-muted) !important;
}

/* Keep footer/logout separated from main nav. */
.sidebar-footer,
.feas-sidebar-footer {
  margin: 22px 10px 0 !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--cxfi-nav-line) !important;
  color: var(--cxfi-nav-muted) !important;
  font-size: 11px !important;
}

/* Duplicate icon hardening */
.feasibility-nav-normalised a.feas-nav-link {
  position: relative !important;
}

.feasibility-nav-normalised .feas-nav-icon + .feas-nav-label {
  margin-left: 0 !important;
}

.feasibility-nav-normalised .feas-nav-icon {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
