/* Prevent AJAX sites-list-table from stretching vertically */
.sites-list-col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  min-width: 350px;
  max-width: 600px;
}
.sites-list-table {
  margin-top: 0;
  margin-bottom: 0;
  align-self: flex-start;
}
/* Top actions flex row */
.custom-module-indexer-top-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2em;
}
.custom-module-indexer-top-actions .index-btn-right {
  margin-left: auto;
}
/* Zebra striping for tables */
.modules-list-table tr:nth-child(even),
.tags-list-table tr:nth-child(even),
.dataviz-chart table tr:nth-child(even) {
  background: #f6f7f9;
}
.modules-tags-list-wrapper {
  display: flex;
  gap: 2em;
  justify-content: center;
  margin: 2em 0;
}
.modules-list-table, .tags-list-table {
  flex: 1 1 0;
  min-width: 350px;
  max-width: 600px;
}
.dataviz-btn {
  font-size: 1.1em;
  background: #16a085;
  color: #fff !important;
  border-radius: 4px;
  padding: 0.7em 1.5em;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: background 0.2s;
  margin-right: 1rem;
}
.dataviz-btn:hover {
  background: #13876c;
}
.custom-module-indexer-stats-boxes {
  display: flex;
  gap: 2em;
  margin-bottom: 2em;
  justify-content: flex-start;
}
.stats-box {
  background: #fff;
  border: 1px solid #e2e3e5;
  border-radius: 8px;
  padding: 1.5em 2em;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.circle-graph {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0074bd 60%, #e2e3e5 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1em;
}
.circle-graph span {
  font-size: 2em;
  color: #fff;
  font-weight: bold;
}
.stats-label {
  font-size: 1.1em;
  margin-bottom: 1em;
  color: #333;
}
.stats-view-list-btn {
  display: inline-block;
  padding: 0.5em 1.2em;
  background: #0074bd;
  color: #fff !important;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 500;
  margin-top: 0.5em;
  transition: background 0.2s;
}
.stats-view-list-btn:hover {
  background: #005fa3;
}
/* Stats/info block styling */
.custom-module-indexer-stats {
  margin: 1.5em 0 1em 0;
  padding: 0.75em 1.5em;
  background: #f8f9fa;
  border: 1px solid #e2e3e5;
  border-radius: 6px;
  font-size: 1.1em;
  color: #333;
}
.custom-module-indexer-stats strong {
  color: #0074bd;
}
/* Flex styling for site accordion titles */
.site-accordion-title-flex > summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.site-label-left {
  flex: 1 1 auto;
}
.site-label-left span{
  font-size: 23px;
  font-weight: 500;
  margin-left: 15px;
}
.site-label-tags {
  flex: 0 0 auto;
  margin-left: 2em;
  color: #888;
  font-style: italic;
  min-width: 120px;
  display: inline-block;
}
/* Prevent word-breaks in project names */
.custom-module-index-table .module-project-list li {
  white-space: nowrap;
}
.custom-module-index-actions-fixed {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--color-link);
  color: white;;
  padding: 1em;
  padding-bottom: 0;
  padding-top: 0;
  box-shadow: 0 -2px 8px rgba(0,0,0,0.08);
  z-index: 100;
  display: flex;
  gap: 1em;
  justify-content: flex-end;
  align-items: center !important;
}
.custom-module-indexer-index-modules-form .custom-module-index-actions-fixed .form-item--search-field {
  margin-top: 0;
}
.custom-module-indexer-index-modules-form {
  display: flex;
  justify-content: center;
  background-color: #c4c2c2;
}

.custom-module-indexer-index-modules-form .form-item {
  margin: 0;
  margin-right: 1rem;
}

.custom-module-indexer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.custom-module-indexer-overlay__content {
  background: #fff;
  border-radius: 8px;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.custom-module-indexer-overlay .ajax-progress-throbber {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.custom-module-indexer-overlay .message {
  font-weight: 600;
  color: #1f2937;
}

body.custom-module-indexer-overlay-active {
  cursor: progress;
}

body.custom-module-indexer-overlay-active * {
  pointer-events: none;
}

body.custom-module-indexer-overlay-active .custom-module-indexer-overlay,
body.custom-module-indexer-overlay-active .custom-module-indexer-overlay * {
  pointer-events: auto;
}

/* Security check table — risk level badges */
.security-status-badge {
  display: inline-block;
  padding: 0.2em 0.65em;
  border-radius: 3px;
  font-size: 0.82em;
  font-weight: 600;
  white-space: nowrap;
  color: #fff;
}
.security-status-highly_critical { background: #6c0012; }
.security-status-critical         { background: #c0392b; }
.security-status-moderate         { background: #d35400; }
.security-status-less_critical    { background: #b7770d; }
.security-status-not_critical     { background: #1a7a4a; }
.security-status-safe             { background: #27ae60; }

/* Security check table — advisory link under module name */
.security-advisory-link {
  font-size: 0.85em;
  color: #c0392b;
  text-decoration: underline;
  margin-top: 2px;
  display: inline-block;
}
.security-advisory-link:hover {
  color: #922b21;
}
.security-advisory-link--none {
  color: #888;
  font-style: italic;
}
.security-advisory-link--none:hover {
  color: #555;
}

/* Acknowledge note shown under module name in the muted section */
.security-ack-note {
  display: inline-block;
  margin-top: 3px;
  font-size: 0.82em;
  font-style: italic;
  color: #4a6fa5;
}
.security-ack-note__label {
  font-weight: 600;
  font-style: normal;
  color: #2c4f8c;
}

/* Acknowledged table — muted appearance */
.security-check-table--acked {
  opacity: 0.55;
}
.security-check-table--acked .security-status-badge--acked {
  filter: grayscale(60%);
}

/* Add a wrench icon before Q2 tools admin menu links. */
a.q2-tools-admin-link,
li.q2-tools-admin-link > a,
li.q2-tools-admin-link a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

a.q2-tools-admin-link::before,
li.q2-tools-admin-link > a::before,
li.q2-tools-admin-link a::before {
  content: "";
  width: 0.95rem;
  height: 0.95rem;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230074bd'%3E%3Cpath d='M22.7 19.3l-6.2-6.2a7 7 0 01-8.8-8.8l3.1 3.1 2.6-.5.5-2.6-3.1-3.1a7 7 0 008.8 8.8l6.2 6.2a2 2 0 102.9-2.9zM6 18a2 2 0 11-4 0 2 2 0 014 0z'/%3E%3C/svg%3E");
}

