/* ===== Custom JaCoCo Report Theme ===== */
/* Matches the Copilot SDK site design */

body, td {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 10pt;
  color: #24292f;
  -webkit-font-smoothing: antialiased;
}

body {
  background: #f6f8fa;
  margin: 0;
  padding: 20px;
}

h1 {
  font-weight: 800;
  font-size: 18pt;
  color: #24292f;
  margin-bottom: 16px;
}

a {
  color: #0969da;
  text-decoration: none;
}

a:hover {
  color: #0550ae;
  text-decoration: underline;
}

/* ===== Breadcrumb ===== */
.breadcrumb {
  background: #fff;
  border: 1px solid #d0d7de;
  border-radius: 10px;
  padding: 10px 16px;
  margin-bottom: 20px;
}

.breadcrumb .info {
  float: right;
}

.breadcrumb .info a {
  margin-left: 8px;
  color: #57606a;
  font-size: 0.9em;
}

.breadcrumb .info a:hover {
  color: #0969da;
}

/* ===== Element Icons ===== */
.el_report {
  padding-left: 18px;
  background-image: url(report.gif);
  background-position: left center;
  background-repeat: no-repeat;
}

.el_group {
  padding-left: 18px;
  background-image: url(group.gif);
  background-position: left center;
  background-repeat: no-repeat;
}

.el_bundle {
  padding-left: 18px;
  background-image: url(bundle.gif);
  background-position: left center;
  background-repeat: no-repeat;
}

.el_package {
  padding-left: 18px;
  background-image: url(package.gif);
  background-position: left center;
  background-repeat: no-repeat;
}

.el_class {
  padding-left: 18px;
  background-image: url(class.gif);
  background-position: left center;
  background-repeat: no-repeat;
}

.el_source {
  padding-left: 18px;
  background-image: url(source.gif);
  background-position: left center;
  background-repeat: no-repeat;
}

.el_method {
  padding-left: 18px;
  background-image: url(method.gif);
  background-position: left center;
  background-repeat: no-repeat;
}

.el_session {
  padding-left: 18px;
  background-image: url(session.gif);
  background-position: left center;
  background-repeat: no-repeat;
}

/* ===== Source Code ===== */
pre.source {
  background: #fff;
  border: 1px solid #d0d7de;
  border-radius: 10px;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  overflow-x: auto;
}

pre.source ol {
  margin-bottom: 0;
  margin-top: 0;
}

pre.source li {
  border-left: 1px solid #d0d7de;
  color: #8b949e;
  padding-left: 0;
}

pre.source span.fc {
  background-color: #dafbe1;
}

pre.source span.nc {
  background-color: #ffeef0;
}

pre.source span.pc {
  background-color: #fff8c5;
}

pre.source span.bfc {
  background-image: url(branchfc.gif);
  background-repeat: no-repeat;
  background-position: 2px center;
}

pre.source span.bfc:hover {
  background-color: #aff5b4;
}

pre.source span.bnc {
  background-image: url(branchnc.gif);
  background-repeat: no-repeat;
  background-position: 2px center;
}

pre.source span.bnc:hover {
  background-color: #ffcecb;
}

pre.source span.bpc {
  background-image: url(branchpc.gif);
  background-repeat: no-repeat;
  background-position: 2px center;
}

pre.source span.bpc:hover {
  background-color: #fff2b2;
}

/* ===== Coverage Table ===== */
table.coverage {
  empty-cells: show;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #d0d7de;
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
  background: #fff;
}

table.coverage thead {
  background: #f6f8fa;
}

table.coverage thead td {
  white-space: nowrap;
  padding: 10px 14px 10px 10px;
  border-bottom: 2px solid #d0d7de;
  font-weight: 700;
  color: #24292f;
  font-size: 0.92em;
}

table.coverage thead td.bar {
  border-left: 1px solid #eaeef2;
}

table.coverage thead td.ctr1 {
  text-align: right;
  border-left: 1px solid #eaeef2;
}

table.coverage thead td.ctr2 {
  text-align: right;
  padding-left: 2px;
}

table.coverage thead td.sortable {
  cursor: pointer;
  background-image: url(sort.gif);
  background-position: right center;
  background-repeat: no-repeat;
}

table.coverage thead td.up {
  background-image: url(up.gif);
}

table.coverage thead td.down {
  background-image: url(down.gif);
}

table.coverage tbody td {
  white-space: nowrap;
  padding: 8px 10px;
  border-bottom: 1px solid #eaeef2;
}

table.coverage tbody tr:hover {
  background: rgba(102, 126, 234, 0.04) !important;
}

table.coverage tbody td.bar {
  border-left: 1px solid #eaeef2;
}

table.coverage tbody td.ctr1 {
  text-align: right;
  padding-right: 14px;
  border-left: 1px solid #eaeef2;
}

table.coverage tbody td.ctr2 {
  text-align: right;
  padding-right: 14px;
  padding-left: 2px;
}

table.coverage tfoot td {
  white-space: nowrap;
  padding: 8px 10px;
  font-weight: 700;
  background: #f6f8fa;
  border-top: 2px solid #d0d7de;
}

table.coverage tfoot td.bar {
  border-left: 1px solid #eaeef2;
}

table.coverage tfoot td.ctr1 {
  text-align: right;
  padding-right: 14px;
  border-left: 1px solid #eaeef2;
}

table.coverage tfoot td.ctr2 {
  text-align: right;
  padding-right: 14px;
  padding-left: 2px;
}

/* ===== Footer ===== */
.footer {
  margin-top: 24px;
  border-top: 1px solid #d0d7de;
  padding-top: 8px;
  font-size: 8pt;
  color: #8b949e;
}

.footer a {
  color: #8b949e;
}

.footer a:hover {
  color: #0969da;
}

.right {
  float: right;
}
