/* HCPCS 2026 styling - modeled on the CodeCloud Pro screenshots:
   red top nav, grey crumb bar, left Specialities rail, dark Sections header,
   right-hand mini panels (Crosswalk, NCCI, Fee Schedule, LCD). */

* { box-sizing: border-box; }

html, body {
  margin: 0;
  font-family: "Segoe UI", Tahoma, Verdana, Arial, sans-serif;
  font-size: 13px;
  color: #222;
  background: #f1f5f9;
}

a { color: #4f46e5; text-decoration: none; }
a:hover { text-decoration: underline; }

/* ---- Top toolbar (matches main CodeCloud Pro toolbar) ---- */
.topToolBar {
  background: #b6b9bc;
  border-bottom: 1px solid #9aa0a4;
  position: relative;
}
.tb-container {
  min-height: 60px;
  padding: 0 22px;
  display: flex;
  align-items: center;
  gap: 18px;
}
.tb-logo {
  display: flex;
  align-items: center;
  height: 60px;
  flex: 0 0 auto;
}
.tb-logo img {
  height: 42px;
  width: auto;
  display: block;
}
.tb-title {
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #1e293b;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  white-space: nowrap;
}
.tb-search {
  display: flex;
  flex: 1 1 auto;
  max-width: 520px;
  margin: 0 auto;
}
.tb-search input {
  flex: 1;
  padding: 7px 10px;
  border: 1px solid #9aa0a4;
  border-right: none;
  font: inherit;
  background: #fff;
}
.tb-search button {
  padding: 7px 22px;
  background: #4338ca;
  color: #fff;
  border: 1px solid #3730a3;
  cursor: pointer;
  font: inherit;
  font-weight: 600;
}
.tb-search button:hover { background: #3730a3; }
.tb-user {
  flex: 0 0 auto;
  font-size: 14px;
  color: #312e81;
  margin-left: auto;
}
.tb-user .userDropDown {
  position: relative;
  display: inline-block;
  cursor: pointer;
  color: #312e81;
  padding: 6px 12px;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.45);
  border-radius: 3px;
  font-weight: 600;
}
.tb-user .userDropDown:hover { background: #ffffff; border-color: #312e81; }
.tb-user-icon {
  height: 14px;
  width: auto;
  vertical-align: middle;
  margin-right: 6px;
}
.tb-user .userDropDownContent {
  display: none;
  position: absolute;
  background-color: #ffffff;
  min-width: 180px;
  margin-top: 2px;
  right: 0;
  top: 100%;
  box-shadow: 0px 5px 4px 0px rgba(0, 0, 0, 0.2);
  z-index: 600;
  border: 1px solid #312e81;
}
.tb-user .userDropDownContent ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.tb-user .userDropDownContent li {
  line-height: 30px;
  padding-left: 10px;
  color: #6f6f6f;
  background-color: #fff;
  border-bottom: 1px solid #312e81;
}
.tb-user .userDropDownContent li:last-child { border-bottom: none; }
.tb-user .userDropDownContent li:hover {
  color: #ffffff;
  background-color: #312e81;
}
.tb-user .userDropDownMenuItem {
  text-decoration: none;
  font-size: 13px;
  color: #6f6f6f;
  display: table;
  width: 100%;
  font-weight: 400;
}
.tb-user .userDropDownContent li:hover .userDropDownMenuItem { color: #ffffff; }
.tb-user .userDropDown:hover .userDropDownContent { display: block; }
.tb-counts {
  position: absolute;
  right: 22px;
  bottom: 3px;
  color: #475569;
  font-size: 11px;
  pointer-events: none;
}

@media (max-width: 980px) {
  .tb-container { flex-wrap: wrap; padding: 8px 14px; }
  .tb-title { font-size: 19px; }
  .tb-search { order: 4; flex-basis: 100%; max-width: none; margin: 0; }
}

/* ---- Top nav ---- */
.topnav {
  background: #4f46e5;
  border-bottom: 4px solid #4338ca;
  color: #fff;
}
.topnav > ul { list-style: none; margin: 0; padding: 0; display: flex; max-width: 1400px; margin: 0 auto; }
.topnav li { position: relative; }
.topnav a {
  display: block;
  padding: 12px 26px;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.3px;
}
.topnav a:hover { background: rgba(0,0,0,0.18); text-decoration: none; }
.topnav a.active { background: #6366f1; }
.caret { font-size: 10px; margin-left: 4px; }

.submenu {
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  color: #222;
  border: 1px solid #c0c0c0;
  min-width: 200px;
  z-index: 50;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.submenu a {
  color: #222;
  padding: 9px 14px;
  font-weight: 500;
  border-bottom: 1px solid #eee;
}
.submenu a:hover { background: #f0f0f0; }

/* ---- Breadcrumb bar ---- */
.crumbar {
  background: #ececec;
  border-bottom: 1px solid #d0d0d0;
  padding: 10px 22px;
  color: #555;
  font-size: 13px;
}

/* ---- Layout ---- */
main { max-width: 1400px; margin: 0 auto; padding: 14px 18px 22px; }
.page[hidden] { display: none !important; }

#page-search:not([hidden]),
#page-detail:not([hidden]) { display: grid; grid-template-columns: 230px 1fr; gap: 18px; align-items: start; }

#page-detail .back-wrap { grid-column: 2; margin-bottom: 10px; }
#page-detail .detail-grid-cols { grid-column: 2; }
.rail-detail { grid-column: 1; grid-row: 1 / span 3; }

.backbtn {
  padding: 7px 14px;
  background: #4338ca;
  color: #fff;
  border: 1px solid #3730a3;
  cursor: pointer;
  font: inherit;
  font-weight: 600;
}
.backbtn:hover { background: #3730a3; }
.rail {
  background: #f1f5f9;
  border: 1px solid #d8d8d8;
  align-self: start;
}
.rail-title {
  background: #ececec;
  border-bottom: 1px solid #d0d0d0;
  padding: 10px 14px;
  text-align: center;
  color: #555;
  font-weight: 600;
}
.speclist { list-style: none; margin: 0; padding: 0; }
.speclist li a {
  display: block;
  padding: 9px 14px;
  border-bottom: 1px solid #ececec;
  color: #4f46e5;
}
.speclist li a:hover { background: #f0f7fa; text-decoration: none; }
.speclist li a.active {
  background: #fff;
  outline: 1px solid #4f46e5;
  font-weight: 600;
  color: #3730a3;
}

.content {}

.searchbox {
  display: flex;
  gap: 0;
  background: #ececec;
  border: 1px solid #d0d0d0;
  padding: 14px;
  margin-bottom: 14px;
}
.searchbox input {
  flex: 1;
  padding: 9px 10px;
  border: 1px solid #c0c0c0;
  border-right: none;
  font: inherit;
  background: #fff;
}
.searchbox button {
  padding: 9px 20px;
  background: #4338ca;
  color: #fff;
  border: 1px solid #3730a3;
  cursor: pointer;
  font: inherit;
  font-weight: 600;
}
.searchbox button:hover { background: #3730a3; }

/* ---- Sections panel ---- */
.sections-panel {
  border: 1px solid #d8d8d8;
  background: #fff;
  margin-bottom: 14px;
}
.sections-header {
  background: #5e5e5e;
  color: #fff;
  padding: 10px 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
}
.sections-header .crumbs { font-weight: 400; font-size: 12px; opacity: 0.95; }
.sections-header .crumbs a { color: #ffeaa6; }
.sections-header .crumbs a:hover { color: #fff; }

.section-row {
  background: #d4f1f9;
  border: 1px solid #b9e0ec;
  margin: 10px 12px;
  padding: 10px 14px;
  color: #0f766e;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}
.section-row:hover { background: #c4eaf5; }
.section-row.depth-2 { margin-left: 30px; }
.section-row.depth-3 { margin-left: 50px; }
.section-row .label { font-weight: 600; }
.section-row .badge {
  background: #4ea963;
  color: #fff;
  padding: 3px 9px;
  font-size: 11px;
  border-radius: 3px;
}

.codes-table { margin: 10px 12px 14px; border: 1px solid #d8d8d8; }
.codes-table thead th {
  background: #5e5e5e;
  color: #fff;
  text-align: left;
  padding: 8px 12px;
  font-weight: 600;
}
.codes-table tbody td {
  padding: 8px 12px;
  border-bottom: 1px solid #ececec;
  vertical-align: top;
}
.codes-table tbody tr:nth-child(odd) td { background: #f5f5f5; }
.codes-table tbody tr:nth-child(even) td { background: #fff; }
.codes-table tbody tr:hover td { background: #fff4dd; cursor: pointer; }
.codes-table td.code,
.codes-table td.desc { color: #16a34a; font-family: "Segoe UI", sans-serif; }
.codes-table tbody.terminal td.code,
.codes-table tbody.terminal td.desc { color: #c0392b; }
.codes-table tbody.flat td { color: #222; }
.codes-table tbody.flat td.code { font-family: "Consolas", "Courier New", monospace; color: #6a3a1a; }

/* ---- Plain search-results table (when user types into the search box) ---- */
.tablewrap { overflow-x: auto; }
.tablewrap > table { width: 100%; border-collapse: collapse; border: 1px solid #d8d8d8; }
.tablewrap > table thead th {
  background: #14b8a6; color: #fff; padding: 8px 10px; text-align: left;
}
.tablewrap > table tbody td {
  padding: 7px 10px; border-bottom: 1px solid #ececec;
}
.tablewrap > table tbody tr:nth-child(odd) td { background: #f3f3f3; }
.tablewrap > table tbody tr:hover td { background: #e8f1f5; cursor: pointer; }

.src-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: 3px;
  margin-left: 6px;
  vertical-align: middle;
}
.src-tag.hcpcs { background: #14b8a6; color: #fff; }
.src-tag.cpt { background: #6366f1; color: #fff; }

/* ---- Detail page ---- */
.detail-grid-cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 14px;
}

.card {
  background: #fff;
  border: 1px solid #d8d8d8;
  margin-bottom: 14px;
}
.card-header {
  background: #f0f0f0;
  border-bottom: 1px solid #d8d8d8;
  padding: 9px 14px;
  font-weight: 600;
  color: #444;
  text-align: center;
  position: relative;
}
.card-header.dark { background: #5e5e5e; color: #fff; }
.card-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #14b8a6;
  color: #fff;
  padding: 2px 9px;
  cursor: pointer;
}
.card-nav { left: 10px; }
.card-nav.right { left: auto; right: 10px; }
.card-body { padding: 14px; }
.crumbs-body .crumb-row {
  background: #d4f1f9;
  border: 1px solid #b9e0ec;
  margin: 6px 0;
  padding: 10px 14px;
  color: #0f766e;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.crumbs-body .crumb-row .badge {
  background: #4ea963;
  color: #fff;
  padding: 3px 9px;
  font-size: 11px;
  border-radius: 3px;
}

.detail-meta-grid {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 4px 14px;
}
.detail-meta-grid dt {
  font-weight: 600;
  color: #555;
  padding: 4px 0;
  border-bottom: 1px solid #f0f0f0;
}
.detail-meta-grid dd {
  margin: 0;
  padding: 4px 0;
  border-bottom: 1px solid #f0f0f0;
}

/* Right-side mini panels */
.detail-right .card { margin-bottom: 14px; }
.detail-right .panel-crosswalk .card-header { background: #8ab64e; color: #fff; }
.detail-right .panel-ncci .card-header { background: #d68a3c; color: #fff; }
.detail-right .panel-fee .card-header { background: #d96a73; color: #fff; }
.detail-right .panel-lcd .card-header { background: #4eb6a8; color: #fff; }

.tabs {
  display: flex;
  background: #ececec;
  border-bottom: 1px solid #d0d0d0;
  flex-wrap: wrap;
}
.tabs.lower { border-top: 1px solid #d0d0d0; border-bottom: none; }
.tab {
  flex: 1;
  background: #ececec;
  border: none;
  border-right: 1px solid #d0d0d0;
  padding: 6px 8px;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
  color: #444;
}
.tab.active {
  background: #5e5e5e;
  color: #fff;
}
.tab:last-child { border-right: none; }

table.mini {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
table.mini thead th {
  background: #f6f6f6;
  border-bottom: 1px solid #d8d8d8;
  text-align: left;
  padding: 6px 10px;
  font-weight: 600;
  color: #555;
}
table.mini tbody td {
  padding: 6px 10px;
  border-bottom: 1px solid #efefef;
}
table.mini tbody td.empty {
  text-align: center;
  color: #b58b30;
  font-style: italic;
  padding: 14px 10px;
}
table.mini tr.total td { color: #c0392b; font-weight: 600; }

/* HCPCS right-rail panels: cap height so a long Crosswalk / NCCI / LCD list
   scrolls inside the panel instead of stretching the page. Sticky thead so
   the column titles stay visible while scrolling. */
.detail-right table.mini {
  display: block;
  max-height: 460px;
  overflow-y: auto;
}
.detail-right table.mini thead,
.detail-right table.mini tbody { display: table; width: 100%; table-layout: fixed; }
.detail-right table.mini thead { position: sticky; top: 0; z-index: 2; }
.detail-right table.mini thead th { background: #f6f6f6; }
/* Custom scrollbar so it doesn't fight the panel border. */
.detail-right table.mini::-webkit-scrollbar { width: 8px; }
.detail-right table.mini::-webkit-scrollbar-thumb { background: #c8c8c8; border-radius: 4px; }
.detail-right table.mini::-webkit-scrollbar-thumb:hover { background: #a8a8a8; }
.detail-right table.mini::-webkit-scrollbar-track { background: #f4f4f4; }

/* Fee-Schedule panel ships TWO mini tables stacked - shrink each so both fit. */
.detail-right .panel-fee table.mini { max-height: 180px; }

/* ---- Alpha bar (Index, Drugs) ---- */
.alpha-bar {
  background: #f1f5f9;
  border: 1px solid #d8d8d8;
  padding: 10px 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 14px;
}
.alpha-bar button {
  width: 30px;
  height: 28px;
  border: 1px solid #c0c0c0;
  background: #fff;
  cursor: pointer;
  font: inherit;
}
.alpha-bar button.active {
  background: #14b8a6;
  border-color: #0d9488;
  color: #fff;
}

.bottombar {
  border-top: 1px solid #d6d6d6;
  background: #ececec;
  padding: 8px 22px;
  color: #555;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}

/* ============================================================
   ICD-10-CM / PCS 2026 pages - red sidebar + nested term lists
   ============================================================ */
#page-icd10cm:not([hidden]),
#page-icd10pcs:not([hidden]) {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 18px;
  align-items: start;
}
.rail-icd { background: #fff; border: 1px solid #d8d8d8; }
.rail-title-red {
  background: #4f46e5;
  color: #fff;
  text-align: center;
  padding: 10px 14px;
  font-weight: 700;
  letter-spacing: 0.3px;
}
.icd-sidenav { list-style: none; margin: 0; padding: 0; }
.icd-sidenav li a {
  display: block;
  padding: 11px 16px;
  border-bottom: 1px solid #ececec;
  color: #333;
  font-weight: 600;
}
.icd-sidenav li a:hover { background: #f7f7f7; text-decoration: none; }
.icd-sidenav li a.active {
  background: #fef2f2;
  color: #4338ca;
  border-left: 4px solid #4f46e5;
  padding-left: 12px;
}

.icd-sub { animation: fadein 80ms ease-in; }
@keyframes fadein { from { opacity: 0; } to { opacity: 1; } }

.muted { color: #666; font-size: 12px; margin: 8px 0 12px; }
.link-btn {
  background: transparent;
  color: #ffeaa6;
  border: 0;
  font: inherit;
  cursor: pointer;
  padding: 0 8px 0 0;
}
.link-btn:hover { color: #fff; text-decoration: underline; }

/* Chapter / section list (Code Sets sub-page) */
.cm-chapter {
  border: 1px solid #d8d8d8;
  margin-bottom: 14px;
  background: #fff;
}
.cm-chapter-header {
  background: #4a4a4a;
  color: #fff;
  padding: 9px 14px;
  font-weight: 600;
}
.cm-section {
  background: #d4f1f9;
  border-bottom: 1px solid #b9e0ec;
  padding: 8px 14px;
  cursor: pointer;
  color: #0f766e;
  display: flex;
  justify-content: space-between;
}
.cm-section:hover { background: #c4eaf5; }
.cm-section .id { font-weight: 600; min-width: 90px; }

/* Alphabetic index trees (Index / E-Index / Drug / Neoplasm) */
.index-body { background: #fff; border: 1px solid #d8d8d8; padding: 8px 14px 14px; min-height: 200px; }
.index-body .empty { color: #888; padding: 30px 0; text-align: center; }

.cm-term { margin: 6px 0; padding-left: 0; }
.cm-term .title { color: #222; }
.cm-term .code { display: inline-block; margin-left: 8px; color: #4f46e5; font-weight: 600; cursor: pointer; }
.cm-term .code:hover { text-decoration: underline; }
.cm-term .see, .cm-term .seealso {
  color: #888; font-style: italic; margin-left: 6px;
}
.cm-term .nemod { color: #999; font-style: italic; }
.cm-term-main {
  border-top: 1px solid #f0f0f0;
  padding-top: 8px;
  margin-top: 8px;
  font-weight: 600;
}
.cm-term-main:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.cm-term-children { margin-left: 22px; border-left: 2px solid #f1d9d9; padding-left: 10px; }

/* Drug + Neoplasm cell tables - row of code chips */
.cm-cells { display: inline-flex; gap: 4px; margin-left: 10px; flex-wrap: wrap; }
.cm-cell {
  display: inline-block;
  padding: 1px 6px;
  background: #f7eaea;
  border: 1px solid #e3c4c4;
  color: #3730a3;
  font-size: 11px;
  border-radius: 3px;
  cursor: pointer;
}
.cm-cell:hover { background: #f0d4d4; }
.cm-cell .colno { color: #aa6f6f; font-size: 10px; margin-right: 3px; }
.cm-cell-empty { color: #ccc; }

/* Validator rows */
#cmValBody td.status-ok { color: #2a7a3d; font-weight: 600; }
#cmValBody td.status-bad { color: #4338ca; font-weight: 600; }
#cmValBody td.status-warn { color: #c87a1a; font-weight: 600; }
#cmValBody .note-block { color: #555; font-size: 12px; margin-top: 4px; }

/* -------- ICD-10-CM detail view (Family Details + Code Family) -------- */
.cm-detail-search { display: flex; margin-bottom: 12px; }
.cm-detail-search input { flex: 1; padding: 8px 10px; border: 1px solid #c0c0c0; border-right: 0; font: inherit; background: #fff; }
.cm-detail-search button { padding: 8px 18px; background: #4338ca; color: #fff; border: 1px solid #3730a3; font: inherit; font-weight: 600; cursor: pointer; }

.cm-detail-header {
  background: #ececec;
  border: 1px solid #d0d0d0;
  padding: 10px 14px;
  margin-bottom: 12px;
  font-size: 13px;
  color: #444;
}
.cm-detail-header .cm-detail-code { color: #4338ca; font-weight: 700; font-size: 15px; margin-right: 8px; }
.cm-detail-header .cm-detail-back { float: right; }

.cm-detail-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 14px; align-items: start; }
.cm-detail-main, .cm-detail-side { min-width: 0; }
.card-header.teal { background: #14b8a6; color: #fff; }

.cm-anc {
  border: 1px solid #e0e0e0;
  margin-bottom: 8px;
}
.cm-anc-title {
  background: #f3f3f3;
  padding: 7px 12px;
  font-weight: 600;
  border-bottom: 1px solid #e0e0e0;
}
.cm-anc-title .cm-anc-code { color: #4f46e5; cursor: pointer; }
.cm-anc-title .cm-anc-code:hover { text-decoration: underline; }
.cm-anc-body { padding: 8px 12px; }

/* Note blocks - colors match the old CodeCloud screenshot */
.note-block-tag {
  display: block;
  margin: 6px 0;
  border-radius: 0;
}
.note-block-tag .nb-head {
  padding: 5px 10px;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.3px;
}
.note-block-tag .nb-body { background: #fcfcfc; padding: 6px 10px 6px 26px; border: 1px solid; border-top: 0; }
.note-block-tag .nb-body ul { margin: 0; padding-left: 16px; }
.note-block-tag .nb-body li { padding: 2px 0; }

.nb-includes  .nb-head { background: #4ea963; color: #fff; }   .nb-includes  .nb-body { border-color: #4ea963; }
.nb-inclusionTerm .nb-head { background: #4ea963; color: #fff; } .nb-inclusionTerm .nb-body { border-color: #4ea963; }
.nb-useAdditionalCode .nb-head { background: #e3c93b; color: #5a4a00; } .nb-useAdditionalCode .nb-body { border-color: #e3c93b; }
.nb-codeFirst .nb-head { background: #e3c93b; color: #5a4a00; } .nb-codeFirst .nb-body { border-color: #e3c93b; }
.nb-codeAlso  .nb-head { background: #e3c93b; color: #5a4a00; } .nb-codeAlso  .nb-body { border-color: #e3c93b; }
.nb-excludes1 .nb-head { background: #e98d8d; color: #fff; }   .nb-excludes1 .nb-body { border-color: #e98d8d; }
.nb-excludes2 .nb-head { background: #f3c89e; color: #6a3a00; } .nb-excludes2 .nb-body { border-color: #f3c89e; }
.nb-notes     .nb-head { background: #cfd8e3; color: #1e293b; } .nb-notes     .nb-body { border-color: #cfd8e3; }
.nb-sevenChrNote .nb-head { background: #cfd8e3; color: #1e293b; } .nb-sevenChrNote .nb-body { border-color: #cfd8e3; }
.nb-sevenChrDef .nb-head { background: #b0c4d8; color: #1e293b; } .nb-sevenChrDef .nb-body { border-color: #b0c4d8; }

/* Code Family rows */
.cm-fam-item {
  border-top: 1px solid #f0f0f0;
}
.cm-fam-item:first-child { border-top: 0; }
.cm-fam-item.depth-1 .cm-fam-row { padding-left: 0; }
.cm-fam-item.depth-2 .cm-fam-row { padding-left: 20px; }
.cm-fam-item.depth-3 .cm-fam-row { padding-left: 40px; }
.cm-fam-item.depth-4 .cm-fam-row { padding-left: 60px; }
.cm-fam-row {
  display: flex;
  gap: 12px;
  padding: 6px 0;
  align-items: flex-start;
}
.cm-fam-item.is-header .cm-fam-code { color: #4338ca; font-weight: 700; }
.cm-fam-row .cm-fam-code {
  flex: 0 0 110px;
  color: #4f46e5;
  font-weight: 600;
  cursor: pointer;
}
.cm-fam-row .cm-fam-code:hover { text-decoration: underline; }
.cm-fam-row .cm-fam-desc { flex: 1; color: #222; }
.cm-fam-row .cm-fam-toggle {
  flex: 0 0 14px;
  cursor: pointer;
  color: #888;
  user-select: none;
  text-align: center;
}
.cm-fam-item.has-notes .cm-fam-row .cm-fam-toggle:hover { color: #4338ca; }
.cm-fam-notes { margin: 0 0 8px 0; }
.cm-fam-item.collapsed .cm-fam-notes { display: none; }

@media (max-width: 900px) {
  .cm-detail-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   ICD-10-PCS 2026 page - axis breakdown table
   ============================================================ */
.pcs-axes { width: 100%; border-collapse: collapse; }
.pcs-axes th, .pcs-axes td {
  text-align: left;
  padding: 8px 12px;
  border-bottom: 1px solid #ececec;
  vertical-align: top;
}
.pcs-axes th {
  background: #f4f4f4;
  font-weight: 600;
  width: 60px;
  white-space: nowrap;
}
.pcs-axes tr:last-child th, .pcs-axes tr:last-child td { border-bottom: 0; }
.pcs-axes .pcs-char {
  display: inline-block;
  min-width: 22px;
  padding: 2px 6px;
  border: 1px solid #c4c4c4;
  background: #fff;
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-weight: 700;
  color: #4338ca;
  text-align: center;
  margin-right: 8px;
}
.pcs-axes .pcs-axis-name { color: #555; min-width: 110px; display: inline-block; }
.pcs-axes .pcs-axis-value { color: #1a1a1a; font-weight: 600; }
.pcs-axes .pcs-axis-def { color: #666; font-size: 12px; font-style: italic; display: block; margin-top: 2px; }

/* ------- ICD-10-CM Drug + Neoplasm cell tables (Table of Drugs / Neoplasm Table) ------- */
.cm-celltable {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #d8d8d8;
}
.cm-celltable thead th {
  background: #14b8a6;
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 10px 8px;
  border-right: 1px solid #0d9488;
  vertical-align: middle;
  font-size: 12px;
  line-height: 1.3;
}
.cm-celltable thead th:last-child { border-right: 0; }
.cm-celltable thead th.cm-cell-th-left { text-align: left; padding-left: 14px; }
.cm-celltable tbody td {
  border-top: 1px solid #ececec;
  border-right: 1px solid #f0f0f0;
  padding: 7px 10px;
  vertical-align: top;
  font-size: 13px;
}
.cm-celltable tbody td:last-child { border-right: 0; }
.cm-celltable tbody td.cm-cell-td-left { color: #222; }
.cm-celltable tbody td.cm-cell-td { text-align: left; white-space: nowrap; }
.cm-celltable tr.is-sub td.cm-cell-td-left { color: #444; font-size: 12.5px; }
.cm-celltable tr:hover td { background: #f8fbfd; }
.cm-celltable .cm-cell-link {
  color: #4f46e5;
  text-decoration: underline;
  cursor: pointer;
}
.cm-celltable .cm-cell-link:hover { color: #3730a3; }
.cm-celltable .nemod { color: #999; font-style: italic; }
.cm-celltable .see, .cm-celltable .seealso { color: #888; font-style: italic; }

/* ------- ICD-10-CM flag badges (femaleOnly, maternityDx, POA, etc.) ------- */
.cm-badges { display: inline-flex; gap: 3px; vertical-align: middle; align-items: center; margin-left: 6px; }
.cm-badge {
  height: 18px;
  width: auto;
  vertical-align: middle;
  border: 0;
  border-radius: 2px;
}
.cm-badge:hover { opacity: 0.8; cursor: help; }
.cm-flags-cell { white-space: nowrap; }
.cm-flags-cell .cm-badges { margin-left: 0; }

/* ------- ICD-10-PCS Table card (Body Part / Approach / Device / Qualifier grid) ------- */
.pcs-tablecard-header { display: flex; justify-content: space-between; align-items: center; }
.pcs-table-id {
  background: #fff;
  color: #333;
  font-weight: 700;
  padding: 2px 14px;
  border-radius: 2px;
  letter-spacing: 0.6px;
  font-size: 13px;
}
.pcs-table-head {
  background: #f5f5f5;
  border-bottom: 1px solid #d0d0d0;
}
.pcs-table-head > div {
  display: flex;
  align-items: baseline;
  padding: 6px 14px;
  font-size: 13px;
  border-bottom: 1px solid #ececec;
}
.pcs-table-head > div:last-child { border-bottom: 0; }
.pcs-table-head .lbl {
  color: #777;
  font-style: italic;
  width: 100px;
  flex-shrink: 0;
}
.pcs-table-head .val { color: #1a1a1a; font-weight: 600; }
.pcs-table-head .pcs-table-opdef { color: #666; font-style: italic; font-weight: 400; margin-left: 6px; }
.pcs-char-mini {
  display: inline-block;
  background: #fff;
  color: #4338ca;
  font-weight: 700;
  font-family: "Consolas", "Courier New", monospace;
  padding: 0 6px;
  border: 1px solid #d8d8d8;
  border-radius: 2px;
  margin-right: 8px;
  min-width: 18px;
  text-align: center;
  font-size: 12px;
  line-height: 18px;
}

.pcs-tbl { width: 100%; border-collapse: collapse; background: #fff; }
.pcs-tbl thead th {
  background: #14b8a6;
  color: #fff;
  font-weight: 600;
  text-align: left;
  padding: 8px 12px;
  border-right: 1px solid #0d9488;
  font-size: 12px;
}
.pcs-tbl thead th:last-child { border-right: 0; }
.pcs-tbl tbody td {
  vertical-align: top;
  padding: 10px 12px;
  border-top: 1px solid #ececec;
  border-right: 1px solid #f1f1f1;
  width: 25%;
  font-size: 12.5px;
}
.pcs-tbl tbody td:last-child { border-right: 0; }
.pcs-tbl tbody tr.is-current td { background: #fff8db; }
.pcs-axis-line {
  display: flex;
  align-items: baseline;
  padding: 2px 0;
  line-height: 1.4;
}
.pcs-axis-line .pcs-axis-val { color: #1a1a1a; }
.pcs-axis-line.is-match {
  background: #ffeaa6;
  border-radius: 2px;
  padding: 2px 4px;
  margin: 0 -4px;
}
.pcs-axis-line.is-match .pcs-axis-val { font-weight: 700; color: #5a4a00; }
.pcs-axis-line.is-match .pcs-char-mini { background: #fffce8; color: #5a4a00; border-color: #d3b53b; }

/* ---- LCD Reference card ---- */
.lcd-link { color: #4f46e5; font-weight: 600; text-decoration: none; }
.lcd-link:hover { text-decoration: underline; }
.lcd-excluded { color: #c0392b; font-weight: 600; }
.muted-inline { color: #888; font-size: 11px; font-style: italic; }
.lcd-contractor-empty { color: #aaa; font-style: italic; }
#cmDetailLcdNote .muted { padding: 6px 10px; margin: 0; }
table.mini.lcd-table tbody td { vertical-align: top; }

/* 7th-character extension chip on synthesized family rows (V94.4XXA etc.) */
.cm-fam-extchip {
  display: inline-block;
  background: #4338ca;
  color: #fff;
  font-family: "Consolas", "Courier New", monospace;
  font-weight: 700;
  font-size: 11px;
  padding: 1px 5px;
  border-radius: 2px;
  margin-right: 6px;
  vertical-align: middle;
}

/* ---- NCCI Validation (Non-Facility) ---- */
.ncci-input {
  width: 100%; box-sizing: border-box; font-family: "Consolas", "Courier New", monospace;
  font-size: 13px; padding: 8px; border: 1px solid #c8c8c8; border-radius: 3px; resize: vertical;
}
.ncci-controls { display: flex; gap: 12px; align-items: center; margin-top: 10px; flex-wrap: wrap; }
.ncci-controls button { padding: 6px 16px; background: #4338ca; color: #fff; border: 0; border-radius: 3px; cursor: pointer; font-weight: 600; }
.ncci-controls button:hover { background: #3730a3; }
.ncci-date input { margin-left: 6px; padding: 4px 6px; border: 1px solid #c8c8c8; border-radius: 3px; }
.ncci-error { color: #b30000; background: #fff1f1; border: 1px solid #f4c2c2; padding: 6px 10px; margin-top: 10px; border-radius: 3px; font-size: 13px; }
.ncci-badge { display: inline-block; min-width: 22px; text-align: center; font-weight: 700; padding: 2px 8px; border-radius: 10px; font-size: 12px; }
.ncci-badge.is-block { background: #f4c2c2; color: #7a1212; }
.ncci-badge.is-allow { background: #fde6a8; color: #6b4500; }
.ncci-badge.is-na    { background: #d8d8d8; color: #444; }

/* ---- UB-04 Revenue Code Lookup ---- */
.ub04-pill {
  display: inline-block; min-width: 44px; text-align: center; font-weight: 700;
  padding: 2px 8px; border-radius: 10px; font-size: 12px; font-family: "Consolas", monospace;
  margin-right: 6px;
}
.ub04-pill.rev-0274 { background: #d8e9f7; color: #1e293b; }
.ub04-pill.rev-0623 { background: #fde6a8; color: #6b4500; }
.ub04-pill.rev-0270 { background: #d8f0d8; color: #1f5a1f; }
.ub04-pill.rev-other { background: #efeaff; color: #3b2871; }
.ub04-pill.rev-none { background: #d8d8d8; color: #444; }
.ub04-legend { margin-top: 12px; font-size: 12px; color: #555; display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }

/* ---- Revenue Code Reference Browser (foldable panel) ---- */
.revref { margin-top: 18px; }
.revref-panel { padding: 0; }
.revref-panel > .card-body { display: none; }
.revref-panel[open] > .card-body { display: block; }
.revref-summary {
  display: flex; align-items: center; justify-content: space-between;
  cursor: pointer; user-select: none; list-style: none;
}
.revref-summary::-webkit-details-marker { display: none; }
.revref-chevron { transition: transform 0.15s ease; font-size: 14px; }
.revref-panel[open] .revref-chevron { transform: rotate(90deg); }
.revref-controls { display: flex; gap: 10px; align-items: center; margin-bottom: 8px; flex-wrap: wrap; }
.revref-controls input, .revref-controls select {
  padding: 5px 8px; border: 1px solid #c8c8c8; border-radius: 3px; font-size: 13px;
}
.revref-controls input { min-width: 240px; }
.revref-count { color: #666; font-size: 12px; }
.revref-table td.col-rev { font-family: "Consolas", monospace; font-weight: 700; width: 80px; }
.revref-table td.col-cat { color: #555; width: 200px; font-size: 12px; }
.revref-group-row td { background: #f3f3f3; font-weight: 700; color: #4338ca; padding: 6px 8px; }

/* MPFS Fee Schedule tool - reuses .ncci-* layout */
#mpfsLocality { padding: 4px 6px; border: 1px solid #c8c8c8; border-radius: 3px; min-width: 280px; }

/* CPT/HCPCS Crosswalks */
.xwalk-tabs { display: flex; gap: 4px; margin: 6px 0 12px; border-bottom: 1px solid #d8d8d8; }
.xwalk-tab { background: #f4f4f4; border: 1px solid #d8d8d8; border-bottom: none;
  padding: 6px 14px; cursor: pointer; font-size: 13px; border-radius: 4px 4px 0 0; }
.xwalk-tab.is-active { background: #fff; font-weight: 600; }
.xwalk-pane { padding-top: 6px; }
.xwalk-result { margin-top: 14px; }
.xwalk-kv { border-collapse: collapse; font-size: 14px; }
.xwalk-kv th { text-align: left; padding: 4px 12px 4px 0; color: #555; font-weight: 600;
  vertical-align: top; width: 200px; }
.xwalk-kv td { padding: 4px 0; vertical-align: top; }

/* HCPCS - NDC Crosswalk */
.ndc-cw-input { padding: 6px 10px; min-width: 240px; border: 1px solid #ccc; border-radius: 3px; font-size: 14px; }
.ndc-cw-pricing { margin-top: 12px; padding: 10px 14px; background: #eef5fb; border: 1px solid #c8ddee; border-radius: 4px; font-size: 14px; color: #1e293b; }
.ndc-cw-pricing strong { color: #312e81; }

/* ABN Form (CMS-R-131) */
.abn-twocol { display: grid; grid-template-columns: minmax(360px, 420px) 1fr; gap: 16px; align-items: start; }
.abn-form-fields .abn-fs { border: 1px solid #c8c8c8; border-radius: 4px; padding: 8px 10px; margin: 0 0 10px; }
.abn-form-fields legend { font-weight: 600; font-size: 12px; padding: 0 4px; color: #4338ca; }
.abn-form-fields label { display: block; font-size: 12px; margin: 4px 0; }
.abn-form-fields input[type="text"], .abn-form-fields textarea {
  width: 100%; box-sizing: border-box; padding: 4px 6px; border: 1px solid #c8c8c8; border-radius: 3px; font: inherit;
}
.abn-items-edit { width: 100%; border-collapse: collapse; font-size: 12px; }
.abn-items-edit th, .abn-items-edit td { border: 1px solid #d8d8d8; padding: 3px; }
.abn-items-edit input { width: 100%; box-sizing: border-box; border: 0; padding: 3px; font: inherit; }
.abn-it-del { background: #b30000; color: #fff; border: 0; border-radius: 3px; padding: 2px 6px; cursor: pointer; }
.abn-actions { margin-top: 10px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.abn-actions button { padding: 8px 18px; background: #4338ca; color: #fff; border: 0; border-radius: 3px; font-weight: 600; cursor: pointer; }
.abn-actions button:hover { background: #3730a3; }

.abn-preview { background: #f0f0f0; padding: 16px; border-radius: 4px; }
.abn-page {
  background: #fff; color: #000; font-family: "Times New Roman", Times, serif; font-size: 11pt;
  width: 8.5in; min-height: 11in; padding: 0.5in; margin: 0 auto;
  box-shadow: 0 1px 6px rgba(0,0,0,0.25); box-sizing: border-box; border: 1px solid #000;
}
.abn-hdr { display: flex; justify-content: space-between; gap: 12px; border-bottom: 2px solid #000; padding-bottom: 6px; margin-bottom: 6px; }
.abn-hdr-left { flex: 1; }
.abn-hdr-right { font-size: 9pt; text-align: right; white-space: nowrap; }
.abn-title { font-weight: 700; font-size: 13pt; }
.abn-sub { font-size: 10pt; margin-top: 4px; }
.abn-ab, .abn-def { width: 100%; border-collapse: collapse; margin-top: 6px; }
.abn-ab td, .abn-def th, .abn-def td { border: 1px solid #000; padding: 6px; vertical-align: top; }
.abn-def th { background: #e8e8e8; font-weight: 700; text-align: left; }
.abn-def tbody tr { height: 36px; }
.abn-options { margin-top: 8px; border: 1px solid #000; padding: 6px; }
.abn-opt { margin: 6px 0; font-size: 10.5pt; line-height: 1.35; }
.abn-chk { font-size: 14pt; display: inline-block; width: 18px; }
.abn-h { margin-top: 8px; border: 1px solid #000; padding: 6px; min-height: 60px; }
.abn-addl { white-space: pre-wrap; }
.abn-sig { margin-top: 8px; font-size: 10pt; }
.abn-sigtable { width: 100%; margin-top: 10px; border-collapse: collapse; }
.abn-sigtable td { padding: 6px 0; }
.abn-foot { margin-top: 10px; font-size: 8pt; color: #333; border-top: 1px solid #000; padding-top: 4px; }

@media (max-width: 1100px) { .abn-twocol { grid-template-columns: 1fr; } .abn-page { width: 100%; min-height: 0; } }

@media print {
  body.abn-printing .topToolBar,
  body.abn-printing .topnav,
  body.abn-printing .crumbar,
  body.abn-printing .abn-form-fields,
  body.abn-printing .rail { display: none !important; }
  body.abn-printing #main, body.abn-printing .content, body.abn-printing .abn-twocol { display: block !important; padding: 0; margin: 0; }
  body.abn-printing .abn-preview { background: #fff; padding: 0; }
  body.abn-printing .abn-page { box-shadow: none; border: 0; width: 100%; padding: 0.4in; }
  @page { size: letter portrait; margin: 0.4in; }
}

/* E&M Services Guide */
.em-cat-rail { min-width: 280px; }
.em-cat-rail .speclist a.active { background: #4338ca; color: #fff; }
.em-content { flex: 1; }
.em-howto { margin-bottom: 14px; }
.em-howto > summary { cursor: pointer; display: flex; justify-content: space-between; align-items: center; list-style: none; }
.em-howto > summary::-webkit-details-marker { display: none; }
.em-howto[open] .revref-chevron { transform: rotate(90deg); }
.em-mdm-grid { display: grid; grid-template-columns: 130px 1fr 1fr 1fr; gap: 0; border: 1px solid #d0d4dc; font-size: 13px; }
.em-mdm-grid > div { padding: 8px 10px; border-top: 1px solid #e2e5ec; border-left: 1px solid #e2e5ec; background: #fff; }
.em-mdm-grid > div:nth-child(-n+4) { background: #4338ca; color: #fff; font-weight: 700; border-top: 0; }
.em-mdm-lvl { font-weight: 700; color: #4338ca; background: #f3f6fb !important; }

/* E&M Audit Tool */
.em-audit-controls { margin-bottom: 12px; padding: 10px; background: #f7f7f7; border-radius: 4px; }
.em-audit-controls .em-radio { margin-left: 14px; }
.em-radio { display: inline-block; margin-right: 14px; font-size: 13px; cursor: pointer; }
.em-radio input { margin-right: 4px; vertical-align: middle; }
.em-audit-tabs { display: flex; gap: 4px; margin-bottom: 14px; border-bottom: 2px solid #4338ca; }
.em-tab { padding: 8px 18px; background: #e6e6e6; color: #333; border: 0; border-radius: 4px 4px 0 0; cursor: pointer; font-weight: 600; font-size: 13px; }
.em-tab.active { background: #4338ca; color: #fff; }
.em-tab:hover:not(.active) { background: #d4d4d4; }
.em-audit-grid { display: block; margin-bottom: 16px; }
.em-audit-panel { padding: 12px; background: #f1f5f9; border: 1px solid #e0e0e0; border-radius: 4px; }
.em-num { margin-left: 8px; padding: 6px 10px; font-size: 14px; width: 90px; border: 1px solid #c8c8c8; border-radius: 3px; }
.em-audit-mdm-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
.em-audit-mdm-col { background: #fff; padding: 12px; border: 1px solid #d8d8d8; border-radius: 4px; }
.em-audit-mdm-col h4 { margin: 0 0 8px 0; font-size: 13px; color: #4338ca; border-bottom: 1px solid #e0e0e0; padding-bottom: 4px; }
.em-audit-mdm-col .em-radio { display: block; margin: 6px 0; font-size: 12px; line-height: 1.4; }
.em-audit-result { margin-top: 18px; padding: 18px; background: linear-gradient(135deg, #4338ca 0%, #3730a3 100%); color: #fff; border-radius: 6px; text-align: center; }
.em-result-code { font-size: 42px; font-weight: 700; font-family: "Consolas", monospace; letter-spacing: 2px; }
.em-result-basis { font-size: 14px; margin-top: 4px; opacity: 0.92; }
.em-result-trail { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.25); font-size: 12px; text-align: left; opacity: 0.95; line-height: 1.6; }
@media (max-width: 800px) { .em-audit-mdm-row { grid-template-columns: 1fr; } }


/* ============================================================
   CodeCloud Nova - shell, sidebar & modern primitives (appended)
   These rules come last, so they win over the originals.
   ============================================================ */
:root{
  --nova-shell:#0f172a; --nova-shell2:#1e293b; --nova-accent:#6366f1;
  --nova-accent2:#4f46e5; --nova-accent3:#4338ca; --nova-teal:#14b8a6;
  --nova-bg:#f1f5f9; --nova-card:#ffffff; --nova-line:#e2e8f0;
  --nova-text:#1e293b; --nova-muted:#64748b;
}
html,body{
  font-size:12px;
  background:var(--nova-bg); color:var(--nova-text);
  font-family:'Inter','Segoe UI',system-ui,-apple-system,Tahoma,Arial,sans-serif;
}

/* ---- App shell: full-width header + left sidebar + content ---- */
body{
  display:grid; min-height:100vh;
  grid-template-columns:244px 1fr;
  grid-template-rows:auto auto 1fr auto;
  grid-template-areas:"head head" "nav crumb" "nav main" "nav foot";
}
.topToolBar{grid-area:head; background:var(--nova-shell); border-bottom:1px solid #0b1222;}
.topnav{grid-area:nav; background:var(--nova-shell2); border:0; border-right:1px solid #0b1222; overflow-y:auto;}
.crumbar{grid-area:crumb;}
main{grid-area:main; max-width:none; margin:0; width:100%;}
.bottombar{grid-area:foot;}

/* ---- Header bar ---- */
.tb-container{min-height:52px;}
.tb-logo{height:auto;}
.nova-logo{display:flex; align-items:center; gap:10px;}
.nova-brandmark{height:30px; width:30px; flex:0 0 auto;}
.tb-title{position:static; transform:none; left:auto; top:auto; color:#fff;
  font-size:18px; font-weight:700; letter-spacing:.5px; pointer-events:auto;}
.nova-tagline{color:#94a3b8; font-size:11px; font-weight:500;}
.tb-user{color:#e2e8f0; margin-left:auto;}
.tb-user .userDropDown{color:#e2e8f0; background:rgba(255,255,255,.08); border-color:transparent;}
.tb-user .userDropDown:hover{background:rgba(255,255,255,.16); border-color:transparent;}
.tb-user-icon{height:16px;}

/* ---- Sidebar nav (vertical accordion) ---- */
.topnav>ul{flex-direction:column; max-width:none; margin:0; padding:8px 0; gap:1px;}
.topnav li{position:static;}
.topnav a{padding:10px 18px; color:#cbd5e1; font-weight:600; font-size:12.5px;
  border-left:3px solid transparent;}
.topnav a:hover{background:rgba(255,255,255,.06); color:#fff;}
.topnav a.active{background:rgba(99,102,241,.20); color:#fff; border-left-color:var(--nova-accent);}
.caret{float:right; opacity:.7;}
.submenu{position:static; background:rgba(0,0,0,.22); border:0; box-shadow:none; min-width:0;}
.submenu a{color:#94a3b8; padding:8px 18px 8px 36px; border-bottom:0; font-weight:500;}
.submenu a:hover{background:rgba(255,255,255,.05); color:#fff;}

/* ---- Breadcrumb ---- */
.crumbar{background:#fff; border-bottom:1px solid var(--nova-line); color:var(--nova-muted);
  padding:11px 22px; font-weight:600; font-size:12px;}

/* ---- Cards: rounded, soft shadow ---- */
.card{border:1px solid var(--nova-line); border-radius:10px; overflow:hidden; background:var(--nova-card);
  box-shadow:0 1px 2px rgba(15,23,42,.05), 0 6px 16px rgba(15,23,42,.05);}
.card-header{font-size:12px; font-weight:700; letter-spacing:.2px;}
.card-header.dark{background:var(--nova-shell2); color:#fff;}
.card-header.teal{background:var(--nova-teal); color:#04302b;}

/* ---- Buttons (primary actions already recoloured to indigo) ---- */
button{border-radius:7px;}
.tab,.em-tab,.xwalk-tab{border-radius:7px 7px 0 0;}

/* ---- Tables ---- */
.tablewrap{border:1px solid var(--nova-line); border-radius:10px; overflow:hidden; background:#fff;}
table thead th{background:#f8fafc; color:#334155; font-weight:700; border-bottom:1px solid var(--nova-line);}
.mini thead th{background:#f8fafc;}

/* ---- Search + rails ---- */
.searchbox{border-radius:10px; border:1px solid var(--nova-line); background:#eef2f7;}
.searchbox input{border-radius:7px 0 0 7px;}
.rail{border-radius:10px; overflow:hidden; border:1px solid var(--nova-line); background:#fff;}
.rail-title{background:#f8fafc; color:#334155;}

/* ---- Alpha bar / pills get a touch of rounding ---- */
.alpha-bar a, .alpha-bar button{border-radius:6px;}

/* ---- Footer ---- */
.bottombar{background:#fff; border-top:1px solid var(--nova-line); color:var(--nova-muted);}

/* ---- Print: hide the shell so the ABN form prints clean ---- */
@media print{
  body{display:block;}
  .topToolBar,.topnav,.crumbar,.bottombar{display:none !important;}
}

/* ---- Narrow screens: collapse sidebar to top ---- */
@media (max-width:900px){
  body{grid-template-columns:1fr; grid-template-areas:"head" "nav" "crumb" "main" "foot";}
  .topnav{border-right:0; border-bottom:1px solid #0b1222;}
  .topnav>ul{flex-direction:row; flex-wrap:wrap;}
}

/* ---- CodeCloud Nova login / landing overlay ---- */
/* While auth is unresolved the inline <head> guard sets .nova-auth-pending on
   <html>; hide the app body so the post-login UI never flashes before the login
   overlay paints. auth.js clears the class once a valid token is confirmed. The
   overlay itself is exempt so the login screen stays visible. */
html.nova-auth-pending body > *:not(.nova-login-overlay){visibility:hidden !important;}
html.nova-auth-pending body{background:#080c1c;}
.nova-login-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  padding:24px;overflow:auto;
  background:radial-gradient(1100px 700px at 80% -10%,#1b2150 0%,transparent 60%),
            radial-gradient(900px 600px at 0% 100%,#0c2b2b 0%,transparent 55%),
            linear-gradient(135deg,#080c1c 0%,#0f172a 55%,#10163a 100%);
  font-family:"Inter","Segoe UI",Tahoma,Verdana,Arial,sans-serif;}

/* animated background accents */
.nova-login-aura{position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(700px 460px at 78% 8%,rgba(99,102,241,.34),transparent 60%),
            radial-gradient(620px 420px at 10% 88%,rgba(20,184,166,.20),transparent 60%);}
.nova-login-grid{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background-image:linear-gradient(rgba(148,163,184,.06) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(148,163,184,.06) 1px,transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:radial-gradient(1000px 640px at 50% 0%,#000 30%,transparent 80%);
          mask-image:radial-gradient(1000px 640px at 50% 0%,#000 30%,transparent 80%);}

/* two-panel shell */
.nova-login-shell{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;
  width:min(960px,100%);border-radius:22px;overflow:hidden;
  background:rgba(15,23,42,.62);border:1px solid rgba(148,163,184,.16);
  box-shadow:0 50px 110px -34px rgba(2,6,23,.92),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(14px) saturate(150%);}

/* left hero panel */
.nova-login-hero{position:relative;padding:38px 40px;display:flex;flex-direction:column;gap:26px;
  background:linear-gradient(160deg,rgba(67,56,202,.42),rgba(20,184,166,.12) 70%,transparent);
  border-right:1px solid rgba(148,163,184,.12);color:#e6e9f5;}
.nova-hero-mark{display:flex;align-items:center;gap:13px;}
.nova-hero-mark svg{filter:drop-shadow(0 8px 20px rgba(99,102,241,.55));}
.nova-hero-name{font-size:20px;font-weight:800;letter-spacing:.4px;color:#fff;line-height:1.05;}
.nova-hero-name span{background:linear-gradient(90deg,#5eead4,#818cf8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.nova-hero-tag{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#94a3b8;margin-top:2px;}
.nova-hero-body{display:flex;flex-direction:column;gap:14px;}
.nova-hero-title{margin:0;font-size:34px;line-height:1.08;letter-spacing:-1px;font-weight:900;color:#fff;}
.nova-hero-title .grad{background:linear-gradient(100deg,#5eead4,#93c5fd 45%,#818cf8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.nova-hero-sub{margin:0;font-size:14px;line-height:1.6;color:#cbd5e1;}
.nova-hero-feats{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:11px;}
.nova-hero-feats li{display:flex;align-items:center;gap:11px;font-size:13.5px;color:#e2e8f0;}
.nova-hero-feats .ck{flex:0 0 auto;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;
  font-size:12px;color:#5eead4;background:rgba(20,184,166,.16);border:1px solid rgba(20,184,166,.4);}
.nova-hero-foot{margin-top:auto;display:flex;align-items:center;gap:12px;padding-top:18px;
  border-top:1px solid rgba(148,163,184,.12);font-size:12px;color:#94a3b8;}
.nova-epicle-logo{height:34px;width:auto;display:block;
  background:#fff;padding:5px 9px;border-radius:8px;
  box-shadow:0 4px 14px rgba(2,6,23,.35);transition:transform .2s ease;}
.nova-epicle-logo:hover{transform:translateY(-1px);}

/* right sign-in card */
.nova-login-card{background:rgba(255,255,255,.97);padding:34px 36px 40px;display:flex;flex-direction:column;gap:13px;justify-content:center;}
.nova-card-logo{display:block;align-self:center;margin:0 0 6px;}
.nova-card-logo img{height:72px;width:auto;display:block;transition:transform .2s ease;}
.nova-card-logo:hover img{transform:translateY(-1px);}
.nova-login-brand{display:flex;align-items:center;gap:12px;margin-bottom:8px;}
.nova-login-title{font-size:20px;font-weight:800;color:#0f172a;line-height:1.1;}
.nova-login-sub{font-size:12px;color:#64748b;margin-top:2px;}
.nova-login-card label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:#334155;}
.nova-login-card input{padding:11px 12px;border:1px solid #cbd5e1;border-radius:9px;font-size:13.5px;font-family:inherit;
  background:#fff;transition:border-color .15s ease,box-shadow .15s ease;}
.nova-login-card input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.18);}
.nova-login-err{color:#c0392b;font-size:12px;min-height:15px;}
#nova-login-btn{background:linear-gradient(180deg,#7c7ff6,#4338ca);color:#fff;border:0;border-radius:10px;padding:13px;
  font-weight:700;font-size:14px;cursor:pointer;letter-spacing:.2px;
  box-shadow:0 12px 26px -10px rgba(99,102,241,.8);transition:transform .12s ease,box-shadow .2s ease;}
#nova-login-btn:hover{transform:translateY(-1px);box-shadow:0 16px 32px -10px rgba(99,102,241,.9);}
#nova-login-btn:disabled{opacity:.6;cursor:default;transform:none;}
.nova-login-foot-mobile{display:none;font-size:12px;color:#94a3b8;text-align:center;margin-top:4px;}
.nova-login-foot-mobile a{color:#4f46e5;font-weight:600;}

@media (max-width:780px){
  .nova-login-shell{grid-template-columns:1fr;width:min(420px,100%);}
  .nova-login-hero{display:none;}
  .nova-login-card{padding:34px 28px;}
  .nova-login-foot-mobile{display:block;}
}

/* ============================================================= */
/* Intelligence module (intel.js)                                */
/* ============================================================= */
.submenu-intel { max-height: 70vh; overflow-y: auto; min-width: 260px; }
.submenu-intel .submenu-group {
  padding: 6px 14px 2px; font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .04em; color: #6366f1; border-top: 1px solid #eee; margin-top: 2px;
}
.submenu-intel li:first-child.submenu-group { border-top: 0; margin-top: 0; }

.intel-root { padding-top: 4px; }
.intel-err { color: #b30000; background: #fff1f1; border: 1px solid #f4c2c2; padding: 6px 10px; margin-top: 10px; border-radius: 4px; font-size: 13px; }
.intel-summary { margin: 12px 0 6px; font-size: 13px; color: #1e293b; }
.note-line { margin: 8px 0; font-size: 13px; color: #334155; }
.intel-h { margin: 16px 0 6px; font-size: 13px; font-weight: 700; color: #4338ca; }
.empty-box { color: #888; padding: 18px; text-align: center; background: #fafafa; border: 1px dashed #ddd; border-radius: 4px; }
.muted2 { color: #94a3b8; }

/* Form helpers */
.grid-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px 16px; align-items: end; }
.grid-form label { display: flex; flex-direction: column; font-size: 12px; color: #475569; gap: 4px; }
.grid-form input, .grid-form select { padding: 6px 8px; border: 1px solid #cbd5e1; border-radius: 4px; }
.grid-form button { padding: 8px 18px; background: #4338ca; color: #fff; border: 0; border-radius: 4px; cursor: pointer; font-weight: 600; height: 34px; }
.grid-form button:hover { background: #3730a3; }

/* Stat cards */
.intel-cards { display: flex; flex-wrap: wrap; gap: 12px; margin: 14px 0; }
.stat { flex: 1 1 140px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px; padding: 10px 14px; }
.stat-k { font-size: 11px; text-transform: uppercase; letter-spacing: .03em; color: #64748b; }
.stat-v { font-size: 20px; font-weight: 700; color: #0f172a; margin-top: 2px; }
.stat-hi { background: #eef2ff; border-color: #c7d2fe; }
.stat-hi .stat-v { color: #4338ca; }

/* Pills */
.pill { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 11px; font-weight: 700; }
.pill-ok { background: #dcfce7; color: #166534; }
.pill-bad { background: #fee2e2; color: #991b1b; }
.pill-warn { background: #fef3c7; color: #92400e; }
.pill-muted2 { background: #e2e8f0; color: #475569; }
.pill-muted { background: #e2e8f0; color: #475569; }

/* Flag badges */
.badge-wrap { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.intel-badge { display: block; padding: 5px 10px; border-radius: 4px; font-size: 12px; border-left: 4px solid #94a3b8; background: #f8fafc; }
.intel-badge b { margin-right: 6px; }
.intel-badge.b-status { border-left-color: #4338ca; background: #eef2ff; }
.intel-badge.b-global { border-left-color: #0891b2; background: #ecfeff; }
.intel-badge.b-pctc   { border-left-color: #7c3aed; background: #f5f3ff; }
.intel-badge.b-bilat  { border-left-color: #d97706; background: #fffbeb; }
.intel-badge.b-asst   { border-left-color: #059669; background: #ecfdf5; }
.intel-badge.b-co     { border-left-color: #0d9488; background: #f0fdfa; }
.intel-badge.b-team   { border-left-color: #db2777; background: #fdf2f8; }
.intel-badge.b-mult   { border-left-color: #ca8a04; background: #fefce8; }

/* Banners */
.banner { padding: 10px 14px; border-radius: 5px; font-size: 13px; margin: 12px 0; }
.banner-warn { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }
.banner-ok { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; }

/* Two-column results */
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 900px) { .two-col { grid-template-columns: 1fr; } }

/* Family tree */
.fam-crumb { font-size: 12px; color: #475569; margin: 8px 0; }
.fam-crumb .crumb { display: inline-block; }
.fam-crumb .crumb-sep { margin: 0 6px; color: #cbd5e1; }
.fam-list { list-style: none; margin: 4px 0; padding: 0; max-height: 360px; overflow-y: auto; }
.fam-list li { padding: 4px 0; font-size: 13px; border-bottom: 1px solid #f1f5f9; }
.fam-link { color: #4338ca; text-decoration: none; }
.fam-link:hover { text-decoration: underline; }

/* PCS builder */
.pcs-build-bar { display: flex; align-items: center; gap: 12px; margin-top: 6px; }
.pcs-code-display { font-family: ui-monospace, Menlo, monospace; font-size: 22px; letter-spacing: 4px; }
.pcs-char { color: #4338ca; font-weight: 700; }
.pcs-char.pcs-empty { color: #cbd5e1; }
.pcs-opts { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; margin-top: 8px; }
.pcs-opt { display: flex; align-items: center; gap: 10px; text-align: left; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 5px; background: #fff; cursor: pointer; }
.pcs-opt:hover { background: #eef2ff; border-color: #6366f1; }
.pcs-opt-ch { font-family: ui-monospace, Menlo, monospace; font-weight: 700; font-size: 16px; color: #4338ca; min-width: 18px; }
.pcs-opt-v { font-size: 12px; color: #334155; }
.link-btn { background: none; border: 0; color: #4338ca; cursor: pointer; font-size: 13px; padding: 2px 4px; }
.link-btn:hover { text-decoration: underline; }

/* ===================================================================== */
/* ICD-10-CM module (icd.html) - all rules scoped to #icd-content/#icdnav */
/* so they can never affect the HCPCS/2026 pages that share styles.css.   */
/* ===================================================================== */
#main { max-width: 1400px; margin: 0 auto; padding: 14px 18px; }
#icdnav .submenu a.disabled { color: #9ca3af; cursor: not-allowed; }
#icdnav .soon { font-size: 10px; color: #f59e0b; border: 1px solid #f59e0b; border-radius: 3px; padding: 0 4px; margin-left: 6px; text-transform: uppercase; }
#icd-content .muted { color: #6b7280; font-size: 13px; padding: 6px 2px; }
#icd-content .cm-err { color: #b91c1c; background: #fee2e2; border: 1px solid #fecaca; border-radius: 6px; padding: 10px 12px; }
#icd-content .cm-pane { margin-top: 8px; }
#icd-content .cm-crumbs { font-size: 13px; margin: 4px 0 10px; color: #334155; }
#icd-content .cm-crumbs a { color: #4338ca; }
#icd-content .cm-list { border: 1px solid #e2e8f0; border-radius: 6px; overflow: hidden; }
#icd-content .cm-row { display: flex; align-items: baseline; gap: 8px; padding: 7px 12px; border-bottom: 1px solid #eef2f7; cursor: pointer; }
#icd-content .cm-row:last-child { border-bottom: none; }
#icd-content .cm-row:hover { background: #eef2ff; }
#icd-content .cm-code { font-family: ui-monospace, Menlo, monospace; font-weight: 700; color: #4338ca; }
#icd-content .cm-desc { color: #1f2937; }
#icd-content .cm-leaf { font-size: 10px; color: #047857; border: 1px solid #6ee7b7; border-radius: 3px; padding: 0 4px; text-transform: uppercase; }
#icd-content .cm-search { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
#icd-content .cm-search input[type=search], #icd-content .cm-search input[type=text] { padding: 9px 12px; border: 1px solid #cbd5e1; border-radius: 6px; min-width: 320px; font-size: 14px; }
#icd-content .cm-search button { padding: 9px 18px; background: #4338ca; color: #fff; border: 0; border-radius: 6px; cursor: pointer; font-weight: 600; }
#icd-content .cm-search button:hover { background: #3730a3; }
#icd-content .cm-restable { width: 100%; border-collapse: collapse; margin-top: 8px; }
#icd-content .cm-restable td { padding: 7px 12px; border-bottom: 1px solid #eef2f7; }
#icd-content .cm-restable tr { cursor: pointer; }
#icd-content .cm-restable tr:hover td { background: #eef2ff; }
#icd-content .cm-pill { font-size: 11px; border-radius: 4px; padding: 1px 7px; font-weight: 600; }
#icd-content .cm-pill.ok { background: #d1fae5; color: #065f46; }
#icd-content .cm-pill.no { background: #fee2e2; color: #991b1b; }
#icd-content .cm-pill.warn { background: #fef3c7; color: #92400e; }
#icd-content .cm-detail { max-width: 900px; }
#icd-content .cm-ancbar { font-size: 12px; color: #475569; margin-bottom: 8px; }
#icd-content .cm-ancbar a, #icd-content .cm-anc { color: #4338ca; }
#icd-content .cm-detail-code { font-family: ui-monospace, Menlo, monospace; margin: 6px 0; }
#icd-content .cm-detail-desc { font-size: 16px; color: #111827; margin-bottom: 14px; }
#icd-content .cm-note { background: #f8fafc; border-left: 3px solid #6366f1; padding: 6px 10px; margin: 6px 0; font-size: 13px; }
#icd-content .cm-note-lbl { font-weight: 700; color: #4338ca; margin-right: 6px; }
#icd-content .cm-sub { margin: 16px 0 6px; font-size: 14px; }
#icd-content .cm-letters { display: flex; flex-wrap: wrap; gap: 3px; margin-bottom: 10px; }
#icd-content .cm-letters button { width: 30px; height: 30px; border: 1px solid #cbd5e1; background: #fff; border-radius: 5px; cursor: pointer; font-weight: 600; color: #334155; }
#icd-content .cm-letters button:hover { background: #eef2ff; }
#icd-content .cm-letters button.active { background: #4338ca; color: #fff; border-color: #4338ca; }
#icd-content .cm-tree, #icd-content .cm-tree ul { list-style: none; margin: 0; padding-left: 16px; }
#icd-content .cm-tree li { padding: 2px 0; }
#icd-content .cm-tog { cursor: pointer; color: #4338ca; display: inline-block; width: 14px; user-select: none; }
#icd-content .cm-tog-empty { display: inline-block; width: 14px; }
#icd-content .cm-term { color: #1f2937; }
#icd-content .cm-codelink { font-family: ui-monospace, Menlo, monospace; color: #4338ca; margin-left: 6px; }
#icd-content .cm-celltable { display: inline-block; margin-left: 8px; border-collapse: collapse; vertical-align: middle; }
#icd-content .cm-celltable td { border: 1px solid #e2e8f0; padding: 1px 6px; font-size: 11px; font-family: ui-monospace, Menlo, monospace; }
#icd-content .cm-guide { width: 100%; height: 75vh; border: 1px solid #cbd5e1; border-radius: 6px; }
#icd-content .cm-hint { background: #eff6ff; border: 1px solid #bfdbfe; color: #1e3a8a; border-radius: 6px; padding: 8px 12px; font-size: 13px; margin-bottom: 10px; }
#icd-content .cm-hint code { background: #dbeafe; padding: 1px 5px; border-radius: 3px; font-family: ui-monospace, Menlo, monospace; }
#icd-content .cm-chev { color: #6366f1; font-weight: 700; width: 12px; display: inline-block; }
#icd-content .cm-chev-sp { width: 12px; display: inline-block; }
#icd-content .cm-open { margin-left: auto; font-size: 11px; color: #6366f1; }
#icd-content .cm-row { justify-content: flex-start; }

/* ---- CPT / HCPCS (codes.js) additions ---- */
#icd-content .cm-tag {
  display: inline-block; font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .03em; color: #4338ca; background: #e0e7ff; border: 1px solid #c7d2fe;
  padding: 1px 6px; border-radius: 10px; vertical-align: middle; margin-left: 2px;
}
#icd-content .cm-rich {
  margin: 10px 0; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; overflow: hidden;
}
#icd-content .cm-rich > summary {
  cursor: pointer; padding: 8px 12px; font-weight: 600; color: #3730a3;
  background: #f5f3ff; list-style: revert;
}
#icd-content .cm-rich[open] > summary { border-bottom: 1px solid #e5e7eb; }
#icd-content .cm-rich-body { padding: 10px 14px; font-size: 13px; line-height: 1.5; overflow-x: auto; }
#icd-content .cm-rich-body img { max-width: 100%; height: auto; }

/* ----- ICD-10-PCS tables & MS-DRG detail (pcsdrg.js) ----- */
#icd-content .pcs-table { margin: 10px 0; overflow-x: auto; }
#icd-content .pcs-grid td { vertical-align: top; border: 1px solid #e5e7eb; padding: 6px 8px; }
#icd-content .pcs-grid .pcs-rownum {
  width: 28px; text-align: center; color: #6b7280; font-weight: 600;
  background: #f9fafb; border-color: #e5e7eb;
}
#icd-content .pcs-axis {
  font-size: 11px; text-transform: uppercase; letter-spacing: .03em;
  color: #3730a3; font-weight: 700; margin-bottom: 4px;
}
#icd-content .pcs-val { font-size: 13px; line-height: 1.5; }
#icd-content .pcs-val .cm-code { margin-right: 4px; }
#icd-content .cm-and { font-weight: 700; color: #b45309; margin: 8px 0; text-align: center; }
#icd-content .cm-statbar { margin: 6px 0 12px; font-size: 13px; color: #374151; }
#icd-content .cm-restable tr.hot td { background: #fef9c3; }

/* ----- Administration forms (admin.js) ----- */
#icd-content .cm-primary {
  background: #6366f1; color: #fff; border: 0; border-radius: 6px;
  padding: 7px 14px; font-weight: 600; cursor: pointer;
}
#icd-content .cm-primary:hover { background: #4f46e5; }
#icd-content .aLink { color: #4f46e5; text-decoration: none; }
#icd-content .aLink:hover { text-decoration: underline; }
#icd-content .aLink.aDanger { color: #dc2626; }
#icd-content .aForm {
  border: 1px solid #e5e7eb; border-radius: 8px; padding: 14px 16px;
  margin: 12px 0; background: #fafafe;
}
#icd-content .aRow { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 10px; }
#icd-content .aRow label, #icd-content .aField .aLbl {
  display: flex; flex-direction: column; font-size: 12px; font-weight: 600;
  color: #374151; flex: 1; min-width: 200px; gap: 4px;
}
#icd-content .aRow input, #icd-content .aRow select {
  padding: 7px 9px; border: 1px solid #d1d5db; border-radius: 6px;
  font-size: 14px; font-weight: 400;
}
#icd-content .aRow input[readonly] { background: #f3f4f6; color: #6b7280; }
#icd-content .aField { margin-bottom: 10px; }
#icd-content .aField .aLbl { min-width: 0; }
#icd-content .aChks {
  display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 6px;
  max-height: 160px; overflow-y: auto; padding: 8px; border: 1px solid #eef0f4; border-radius: 6px;
}
#icd-content .aChk { font-size: 13px; font-weight: 400; color: #1f2937; display: inline-flex; gap: 5px; align-items: center; }
#icd-content .aActions { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
#icd-content .aActions button:not(.cm-primary) {
  background: #fff; border: 1px solid #d1d5db; border-radius: 6px; padding: 7px 14px; cursor: pointer;
}
#icd-content .aMsg { font-size: 13px; color: #6b7280; }
#icd-content .aErr { color: #dc2626; }
#icd-content .aOk { color: #047857; font-weight: 600; }
#icd-content .ceArea {
  width: 100%; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px; line-height: 1.45; padding: 8px 10px; border: 1px solid #d1d5db; border-radius: 6px; resize: vertical;
}

/* ----- Graceful "not available" notice (haad.js) ----- */
#icd-content .cm-empty {
  max-width: 560px; margin: 48px auto; text-align: center; padding: 28px 24px;
  border: 1px solid #e5e7eb; border-radius: 12px; background: #fafafe;
}
#icd-content .cm-empty-icon { font-size: 44px; line-height: 1; margin-bottom: 8px; }
#icd-content .cm-empty h2 { margin: 6px 0 14px; font-size: 19px; color: #1f2937; }
#icd-content .cm-empty p { margin: 8px 0; font-size: 14px; line-height: 1.55; color: #374151; }
#icd-content .cm-backlink { display: inline-block; margin-top: 12px; text-decoration: none; }

/* ----- Phase 7 parity: prev/next nav, range links, NCCI manual list ----- */
#icd-content .cm-prevnext { display: flex; gap: 8px; margin-bottom: 8px; }
#icd-content .cm-pn {
  background: #fff; border: 1px solid #d1d5db; border-radius: 6px; padding: 4px 12px;
  font-size: 13px; cursor: pointer; color: #374151;
}
#icd-content .cm-pn:hover:not(:disabled) { background: #f5f3ff; border-color: #6366f1; color: #4f46e5; }
#icd-content .cm-pn:disabled { opacity: .45; cursor: default; }
#icd-content .cm-rangelink { border-bottom: 1px dashed currentColor; }
#icd-content .cm-manual { margin: 0; padding-left: 18px; }
#icd-content .cm-manual li { font-size: 13px; line-height: 1.7; }

/* ============================================================= */
/* Sidebar additions: Dashboard accent + group labels            */
/* ============================================================= */
.nav-group-label {
  padding: 12px 18px 4px; font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: #64748b; pointer-events: none;
}
.topnav a.nav-dash {
  margin: 8px 10px 4px; border-radius: 8px; background: rgba(99,102,241,.16);
  color: #fff; border-left-color: transparent; font-weight: 700;
}
.topnav a.nav-dash:hover { background: rgba(99,102,241,.28); }
.topnav a.nav-dash.active { background: var(--nova-accent); border-left-color: transparent; }

/* ============================================================= */
/* Two-tab module shell: Sample Use Cases | Tool                 */
/* ============================================================= */
.usetabs {
  display: flex; gap: 4px; margin-bottom: 14px;
  border-bottom: 2px solid var(--nova-line);
}
.usetab {
  border: 0; background: transparent; cursor: pointer; font: inherit; font-weight: 600;
  color: #64748b; padding: 9px 16px; border-radius: 8px 8px 0 0; position: relative; top: 2px;
  border-bottom: 2px solid transparent;
}
.usetab:hover { color: #334155; background: #eef2f7; }
.usetab.active { color: #4338ca; border-bottom-color: var(--nova-accent3); background: #fff; }
.usetab-panel[hidden] { display: none !important; }

/* ---- Sample cards ---- */
.sample-intro {
  margin: 0 0 14px; padding: 12px 14px; background: #eef2ff; border: 1px solid #c7d2fe;
  border-radius: 10px; color: #3730a3; font-size: 12.5px; line-height: 1.55;
}
.sample-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px;
}
.sample-card {
  background: #fff; border: 1px solid var(--nova-line); border-radius: 12px; padding: 16px 16px 14px;
  display: flex; flex-direction: column; gap: 8px;
  box-shadow: 0 1px 2px rgba(15,23,42,.05), 0 6px 16px rgba(15,23,42,.05);
}
.sample-card-head { display: flex; align-items: center; gap: 10px; }
.sample-num {
  flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; background: var(--nova-accent3);
  color: #fff; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center;
}
.sample-card-head h4 { margin: 0; font-size: 13.5px; color: #0f172a; }
.sample-scenario { margin: 0; font-size: 12.5px; color: #334155; line-height: 1.5; }
.sample-input {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 11px;
}
.sample-input-k { text-transform: uppercase; letter-spacing: .04em; color: #94a3b8; font-weight: 700; }
.sample-input code {
  font-family: ui-monospace, Menlo, monospace; background: #f1f5f9; border: 1px solid #e2e8f0;
  border-radius: 5px; padding: 2px 7px; color: #4338ca; font-size: 11.5px; white-space: pre-wrap;
}
.sample-why { margin: 2px 0 6px; font-size: 12px; color: #475569; line-height: 1.5; }
.sample-why-k {
  display: inline-block; font-weight: 700; color: #0d9488; text-transform: uppercase;
  font-size: 10px; letter-spacing: .05em; margin-right: 6px;
}
.sample-try {
  align-self: flex-start; margin-top: auto; border: 0; cursor: pointer; font: inherit; font-weight: 600;
  background: var(--nova-accent3); color: #fff; padding: 8px 16px; border-radius: 8px; font-size: 12.5px;
}
.sample-try:hover { background: #3730a3; }

/* ============================================================= */
/* Dashboard                                                     */
/* ============================================================= */
.dash { display: flex; flex-direction: column; gap: 18px; }

.dash-hero {
  display: flex; gap: 24px; flex-wrap: wrap; align-items: center; justify-content: space-between;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 55%, #312e81 100%);
  border-radius: 16px; padding: 26px 28px; color: #e2e8f0;
}
.dash-hero-main { flex: 1 1 360px; min-width: 280px; }
.dash-hero h1 { margin: 0 0 6px; font-size: 26px; color: #fff; letter-spacing: .4px; }
.dash-hero-tag { margin: 0 0 16px; font-size: 13px; line-height: 1.6; color: #cbd5e1; max-width: 640px; }
.dash-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.dash-cta {
  border: 0; cursor: pointer; font: inherit; font-weight: 600; font-size: 13px;
  background: var(--nova-accent); color: #fff; padding: 9px 18px; border-radius: 9px;
}
.dash-cta:hover { background: var(--nova-accent2); }
.dash-cta.ghost { background: rgba(255,255,255,.12); }
.dash-cta.ghost:hover { background: rgba(255,255,255,.22); }

.dash-stats { display: flex; gap: 12px; flex-wrap: wrap; }
.dash-stat {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 12px;
  padding: 12px 16px; min-width: 104px; text-align: center;
}
.dash-stat-v { font-size: 20px; font-weight: 800; color: #fff; }
.dash-stat-k {
  font-size: 10px; text-transform: uppercase; letter-spacing: .05em; color: #94a3b8; margin-top: 2px;
}

/* ---- Workflow strip ---- */
.dash-flow {
  background: #fff; border: 1px solid var(--nova-line); border-radius: 14px; padding: 16px 18px;
  box-shadow: 0 1px 2px rgba(15,23,42,.05), 0 6px 16px rgba(15,23,42,.05);
}
.dash-flow-title { font-size: 12px; font-weight: 700; color: #4338ca; text-transform: uppercase;
  letter-spacing: .05em; margin-bottom: 12px; }
.dash-flow-row { display: flex; align-items: stretch; gap: 6px; flex-wrap: wrap; }
.dash-flow-step {
  flex: 1 1 150px; text-align: left; border: 1px solid var(--nova-line); background: #f8fafc;
  border-radius: 10px; padding: 10px 12px; cursor: pointer; display: flex; flex-direction: column; gap: 3px;
}
.dash-flow-step:hover { border-color: var(--nova-accent); background: #eef2ff; }
.dash-flow-n {
  width: 20px; height: 20px; border-radius: 50%; background: var(--nova-teal); color: #04302b;
  font-weight: 800; font-size: 11px; display: flex; align-items: center; justify-content: center;
}
.dash-flow-t { font-weight: 700; font-size: 12.5px; color: #0f172a; }
.dash-flow-d { font-size: 11px; color: #64748b; line-height: 1.4; }
.dash-flow-arrow { align-self: center; color: #cbd5e1; font-size: 16px; }
@media (max-width: 760px) { .dash-flow-arrow { display: none; } }

/* ---- Module directory ---- */
.dash-groups { display: flex; flex-direction: column; gap: 16px; }
.dash-group {
  background: #fff; border: 1px solid var(--nova-line); border-radius: 14px; padding: 16px 18px 18px;
  border-left: 4px solid var(--nova-accent);
  box-shadow: 0 1px 2px rgba(15,23,42,.05), 0 6px 16px rgba(15,23,42,.05);
}
.dash-group-ref { border-left-color: #ef4444; }
.dash-group-tools { border-left-color: #f59e0b; }
.dash-group-intel { border-left-color: var(--nova-accent); }
.dash-group-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.dash-group-head h3 { margin: 0; font-size: 16px; color: #0f172a; }
.dash-group-blurb { font-size: 12px; color: #64748b; flex: 1 1 auto; }
.dash-group-count { font-size: 11px; color: #94a3b8; font-weight: 600; }
.dash-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); gap: 10px; }
.dash-card {
  text-align: left; border: 1px solid var(--nova-line); background: #f8fafc; border-radius: 10px;
  padding: 12px 13px; cursor: pointer; display: flex; flex-direction: column; gap: 4px; min-height: 78px;
}
.dash-card:hover { border-color: var(--nova-accent); background: #eef2ff; transform: translateY(-1px); }
.dash-card-name { font-weight: 700; font-size: 13px; color: #1e293b; }
.dash-card-desc { font-size: 11.5px; color: #64748b; line-height: 1.45; flex: 1 1 auto; }
.dash-card-go { font-size: 11px; font-weight: 700; color: #4338ca; }
