/* NEXCOR admin sidebar group hierarchy — v105. Scoped to admin only. */
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group summary,
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group summary .nx89-label {
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.45!important;
  letter-spacing:.01em!important;
}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group .admin-nav-items a,
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group .admin-nav-items a .nx89-label {
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.45!important;
  letter-spacing:normal!important;
}
/* The open group receives a clear navy-tinted section background. */
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group[open] {
  background:#eef1fc!important;
  border:1px solid #cdd4ed!important;
  border-radius:8px!important;
  overflow:hidden;
}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group[open] > summary {
  background:#292d77!important;
  color:#ffffff!important;
}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group[open] > summary *,
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group[open] > summary::after {
  color:#ffffff!important;
}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group[open] > .admin-nav-items {
  background:#eef1fc!important;
  padding:4px 5px 7px!important;
}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group[open] > .admin-nav-items a:not(.active) {
  color:#292d77!important;
  background:transparent!important;
}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group[open] > .admin-nav-items a.active {
  background:#d5e9e1!important;
  color:#125b49!important;
  font-weight:600!important;
  border-radius:6px!important;
}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group[open] > .admin-nav-items a:hover {
  background:#dfe5f8!important;
  color:#292d77!important;
}
/* Icon-only compact mode: don't force labels to display. */
@media(min-width:901px){
 body.nx-admin-modern.nx89-compact #sidebar nav.admin-grouped-nav .admin-nav-group summary .nx89-label,
 body.nx-admin-modern.nx89-compact #sidebar nav.admin-grouped-nav .admin-nav-items a .nx89-label{font-size:inherit!important}
}

/* CMC NEXCOR 2027 approved light admin shell — Nov 2026.
   Overrides the historical dark active-group styling without changing routes. */
body.nx-admin-modern{--nx89-side:290px;--nx-ink:#11265a;--nx-green:#4f873f;background:#f6f8fc!important}
body.nx-admin-modern .workspace{background:#f6f8fc!important}
body.nx-admin-modern #sidebar{background:#fff!important;border-right:1px solid #dee5ee!important}
body.nx-admin-modern #sidebar .nx90-brand{order:0!important;padding:16px 15px 12px!important;gap:10px!important;border-bottom:0!important}
body.nx-admin-modern #sidebar .nx90-logo{width:100%!important;height:99px!important;max-width:195px!important;object-fit:contain!important;margin:auto!important}
body.nx-admin-modern #sidebar .nx90-brand-title{font-size:16px!important;font-weight:850!important;color:#101f5a!important;letter-spacing:.01em!important}
body.nx-admin-modern #sidebar .nx90-brand-sub{font-size:10px!important;letter-spacing:.09em!important;text-transform:uppercase!important;color:#52627c!important}
body.nx-admin-modern #sidebar .nx90-website{display:flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:9px 10px!important;border:1px solid #cdd8e4!important;border-radius:6px!important;font-size:10px!important;color:#1f3a75!important;background:#fff!important;letter-spacing:.04em!important}
body.nx-admin-modern #sidebar .nx90-website::before{content:'◎';font-size:15px;margin-right:8px;color:#365b8d}
body.nx-admin-modern #sidebar .nx90-website::after{content:'↗';font-size:14px;margin-left:8px;color:#365b8d}
body.nx-admin-modern #sidebar .sidebar-welcome{order:1!important;flex:0 0 auto!important;margin:4px 12px 12px!important;padding:13px 9px!important;border:1px solid #dce7dc!important;border-top:4px solid #398746!important;border-radius:8px!important;background:linear-gradient(135deg,#f8fcf7,#fff)!important;text-align:center!important;box-shadow:0 2px 5px #172e5710!important}
body.nx-admin-modern #sidebar .sidebar-welcome .eyebrow{font-size:10px!important;letter-spacing:.08em!important;color:#317d46!important}
body.nx-admin-modern #sidebar .sidebar-welcome h2{font-size:19px!important;color:#14256a!important;line-height:1.3!important}
body.nx-admin-modern #sidebar .sidebar-welcome p:last-child{font-size:12px!important;color:#5b6880!important}
body.nx-admin-modern #sidebar > a.nx92-home{order:2!important;margin:0 12px 5px!important;min-height:44px!important;padding:11px 12px!important;border-radius:6px!important;color:#162d69!important;font-size:13px!important;font-weight:800!important;border:0!important}
body.nx-admin-modern #sidebar > a.nx92-home.active{background:#e8effe!important;box-shadow:none!important}
body.nx-admin-modern #sidebar nav.admin-grouped-nav{order:3!important;padding:0 12px 18px!important;display:block!important;min-height:0!important;flex:1 1 auto!important;overflow-y:auto!important;overflow-x:hidden!important}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group{margin:0!important;border:0!important;border-bottom:1px solid #dfe5ed!important;border-radius:0!important;padding:2px 0!important;background:#fff!important;overflow:visible!important}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group[open]{border:0!important;border-bottom:1px solid #dfe5ed!important;border-radius:7px!important;background:#fff!important}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group > summary{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;min-height:45px!important;padding:11px 12px!important;font-size:12.5px!important;font-weight:800!important;letter-spacing:.01em!important;line-height:1.4!important;color:#142865!important;background:#fff!important;border-radius:6px!important;list-style:none!important;cursor:pointer!important}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group > summary::-webkit-details-marker{display:none}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group > summary::after{content:'›'!important;display:inline-block!important;margin-left:auto!important;font-size:23px!important;line-height:15px!important;font-weight:500!important;color:#142865!important;transform:none!important}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group[open] > summary{background:#eaf4e6!important;color:#142865!important}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group[open] > summary::after{content:'⌄'!important;color:#142865!important}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group > summary *,body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group[open] > summary *{color:inherit!important}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group > .admin-nav-items,body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group[open] > .admin-nav-items{padding:0 3px 8px 12px!important;margin-left:14px!important;border-left:3px solid #75ad63!important;background:#fff!important}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-items a{display:flex!important;align-items:center!important;gap:9px!important;margin:0!important;padding:9px 8px!important;min-height:37px!important;border:0!important;border-radius:3px!important;border-bottom:1px solid #e8edf2!important;font-size:12px!important;font-weight:500!important;text-transform:none!important;color:#29384c!important;background:#fff!important}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-items a:last-child{border-bottom:0!important}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-items a.active{background:#edf6e9!important;color:#123c2c!important;font-weight:750!important;box-shadow:none!important}
body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-items a:hover,body.nx-admin-modern #sidebar nav.admin-grouped-nav .admin-nav-group summary:hover{background:#f1f6fc!important;color:#15296a!important}
body.nx-admin-modern #sidebar .nx89-icon{width:19px!important;min-width:19px!important;height:19px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:inherit!important}
body.nx-admin-modern #sidebar .nx89-icon svg{width:19px;height:19px;display:block}
body.nx-admin-modern #sidebar nav.admin-grouped-nav #logout{display:flex!important;justify-content:center!important;gap:9px!important;width:100%!important;margin:18px 0 4px!important;border:1px solid #bccbdc!important;background:#fff!important;color:#142968!important;min-height:44px!important;border-radius:6px!important;font-weight:800!important}
body.nx-admin-modern .nx89-shellbar{background:#fff!important;border-bottom:1px solid #e3e9f0!important;min-height:56px!important;height:56px!important}
body.nx-admin-modern #main{background:#f6f8fc!important}
/* Overview: modernize existing live data widgets; do not fabricate chart series or records. */
body.nx-admin-modern:has(#dashboardStats) #main .portal-welcome.admin-welcome{padding:22px 25px!important;border-radius:10px!important;margin-bottom:20px!important}
body.nx-admin-modern:has(#dashboardStats) #main .card{border-radius:10px!important;box-shadow:0 3px 14px rgba(17,37,90,.055)!important}
body.nx-admin-modern:has(#dashboardStats) #dashboardStats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
body.nx-admin-modern:has(#dashboardStats) .dashboard-stat{border:1px solid #e3eaf2!important;border-top:4px solid #4e904f!important;border-radius:9px!important;background:#fff!important;padding:16px!important;box-shadow:0 4px 12px #1b376d0c!important}
body.nx-admin-modern:has(#dashboardStats) .dashboard-stat:nth-child(4n+1){background:#f0f6ff!important;border-top-color:#3f75b4!important}
body.nx-admin-modern:has(#dashboardStats) .dashboard-stat:nth-child(4n+2){background:#f1f9ef!important;border-top-color:#53963e!important}
body.nx-admin-modern:has(#dashboardStats) .dashboard-stat:nth-child(4n+3){background:#fffbef!important;border-top-color:#b88724!important}
body.nx-admin-modern:has(#dashboardStats) .dashboard-stat:nth-child(4n+4){background:#f7f2ff!important;border-top-color:#8269ba!important}
body.nx-admin-modern:has(#dashboardStats) .dashboard-stat strong{font-size:clamp(24px,2.6vw,36px)!important;line-height:1.2!important;margin:12px 0!important}
body.nx-admin-modern:has(#dashboardStats) .dashboard-breakdown{border:1px solid #e2e9f1!important;border-radius:9px!important;padding:16px!important;margin-top:14px!important;min-width:0!important}
body.nx-admin-modern:has(#dashboardStats) .dashboard-breakdown h3{color:#142968!important;font-size:15px!important}
body.nx-admin-modern:has(#dashboardStats) #dashboardBreakdown{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
@media(min-width:901px){body.nx-admin-modern.nx89-compact #sidebar .nx90-logo{height:36px!important;max-width:51px!important}body.nx-admin-modern.nx89-compact #sidebar .nx90-website::before{content:'↗'!important;margin:0!important}body.nx-admin-modern.nx89-compact #sidebar .nx90-website::after{display:none!important}body.nx-admin-modern.nx89-compact #sidebar .sidebar-welcome{display:none!important}body.nx-admin-modern.nx89-compact #sidebar .admin-nav-group summary::after{display:none!important}body.nx-admin-modern.nx89-compact #sidebar .admin-nav-group[open] > .admin-nav-items{display:none!important}}
@media(max-width:1300px){body.nx-admin-modern:has(#dashboardStats) #dashboardStats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){body.nx-admin-modern #sidebar{width:min(290px,92vw)!important}body.nx-admin-modern.nx89-compact #sidebar .nx90-website::before{content:'◎'!important;margin-right:8px!important}body.nx-admin-modern.nx89-compact #sidebar .nx90-website::after{display:inline!important}body.nx-admin-modern.nx89-compact #sidebar .sidebar-welcome{display:block!important}body.nx-admin-modern.nx89-compact #sidebar .admin-nav-group summary::after{display:inline-block!important}body.nx-admin-modern #main{padding:18px clamp(12px,3vw,24px) 36px!important}}
@media(max-width:640px){body.nx-admin-modern:has(#dashboardStats) #dashboardStats,body.nx-admin-modern:has(#dashboardStats) #dashboardBreakdown{grid-template-columns:1fr!important}body.nx-admin-modern:has(#dashboardStats) #main .portal-welcome.admin-welcome{padding:18px 14px!important}}
@media print{body.nx-admin-modern #sidebar .nx90-brand,body.nx-admin-modern #sidebar .sidebar-welcome{display:none!important}}
