body{background:#f6f7fb;}
.navbar-brand{font-weight:700;}
.card{border-radius:16px;}
.badge{border-radius:999px;}
pre.diff{white-space:pre; font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; font-size:13px; line-height:1.35; padding:16px; border-radius:12px; background:#0b1020; color:#e7e9f0; overflow:auto;}
pre.code{white-space:pre; font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; font-size:13px; line-height:1.35; padding:16px; border-radius:12px; background:#0b1020; color:#e7e9f0; overflow:auto;}
.table thead th{font-size:12px; letter-spacing:.02em; text-transform:uppercase; color:#5b6475;}
.small-muted{color:#6c757d; font-size:12px;}
.path{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size:13px;}


/* Code viewer (syntax-highlighted via highlight.js) */
pre.codeview{
  white-space:pre;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  font-size:13px;
  line-height:1.45;
  padding:16px;
  border-radius:12px;
  background:#0b1020;
  color:#e7e9f0;
  overflow:auto;
  border:1px solid rgba(255,255,255,.08);
}
pre.codeview code{display:block;}

/* Side-by-side diff */
.diff-sbs-wrap{
  border-radius:12px;
  overflow:auto;
  border:1px solid rgba(255,255,255,.10);
  background:#0b1020;
}
table.diff-sbs{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  font-size:13px;
  line-height:1.45;
}
.diff-head{
  position:sticky;
  top:0;
  z-index:2;
  background:#111a33;
  color:#cfd6e6;
  text-align:left;
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.diff-ln{
  width:1%;
  white-space:nowrap;
  padding:0 10px;
  text-align:right;
  color:#7f8aa8;
  border-right:1px solid rgba(255,255,255,.08);
  vertical-align:top;
  user-select:none;
}
.diff-code{
  padding:0 12px;
  white-space:pre;
  vertical-align:top;
}
.diff-code code{display:block; white-space:pre;}
.diff-row td{
  border-bottom:1px solid rgba(255,255,255,.06);
}
.diff-row-add .diff-ln-new,
.diff-row-add .diff-code-new{
  background:rgba(34,197,94,.16);
}
.diff-row-del .diff-ln-old,
.diff-row-del .diff-code-old{
  background:rgba(239,68,68,.16);
}
.diff-row-add .diff-ln-new{color:#a9f2c4;}
.diff-row-del .diff-ln-old{color:#ffb4b4;}
.diff-row-add .diff-code-new code,
.diff-row-del .diff-code-old code{
  opacity:1;
}
.diff-row-add .diff-code-old code,
.diff-row-del .diff-code-new code{
  opacity:.55;
}

/* Change metrics */
.change-metric{border-radius:16px;}
.metric-added{background:#e9f9f0; border-left:6px solid #22c55e;}
.metric-deleted{background:#fdecec; border-left:6px solid #ef4444;}
.metric-modified{background:#fff6dd; border-left:6px solid #f59e0b;}
.metric-renamed{background:#eaf2ff; border-left:6px solid #3b82f6;}

/* Change rows (version change list) */
tr.row-added{background:#e9f9f0;}
tr.row-deleted{background:#fdecec;}
tr.row-modified{background:#fff6dd;}
tr.row-renamed{background:#eaf2ff;}
