/* Security+ PBQ drag-and-drop template — SEC+ question nav + CCNA D&D chrome
   Reference: public/COMP_TIA_SEC+/SEC+_PBQ/README.md
   Pages: security-control-map.html · log-timeline-forensics.html · TEMPLATE-dragdrop.html */

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.secplus-pbq-ui {
  padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
}

body.secplus-pbq-ui .question-shell {
  width: min(1180px, 100%);
}

body.secplus-pbq-ui .pbq-card {
  width: 100%;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-sizing: border-box;
}

body.secplus-pbq-ui .pbq-card h1 {
  margin: 0 0 10px;
  font-size: clamp(1.05rem, 2.3vw, 1.45rem);
  line-height: 1.35;
  color: #1a3d6e;
}

body.secplus-pbq-ui .pbq-sub {
  margin: 0 0 14px;
  line-height: 1.5;
  color: #475569;
  font-size: 0.95rem;
}

body.secplus-pbq-ui .pbq-instructions {
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #334155;
  line-height: 1.5;
  font-size: 0.92rem;
}

body.secplus-pbq-ui .page-logo-watermark {
  display: flex;
}

body.secplus-pbq-ui .page-logo-watermark img {
  opacity: 0.14;
}

body.secplus-pbq-ui .sim-frame {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

body.secplus-pbq-ui .layout {
  display: grid;
  gap: 14px;
  align-items: start;
}

body.secplus-pbq-ui .layout--two-col {
  grid-template-columns: minmax(240px, 0.95fr) minmax(320px, 1.25fr);
}

@media (max-width: 900px) {
  body.secplus-pbq-ui .layout--two-col {
    grid-template-columns: 1fr;
  }
}

body.secplus-pbq-ui .panel {
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
}

body.secplus-pbq-ui .panel h2 {
  margin: 0 0 10px;
  font-size: 1rem;
  color: #1a3d6e;
}

body.secplus-pbq-ui .panel-note {
  margin: 0 0 12px;
  font-size: 0.88rem;
  color: #64748b;
  line-height: 1.45;
}

body.secplus-pbq-ui .bank {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 48px;
}

body.secplus-pbq-ui .token {
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #6384ba;
  background: #cfe9ff;
  color: #10243f;
  font-weight: 700;
  font-size: 0.86rem;
  line-height: 1.38;
  cursor: grab;
  user-select: none;
  text-align: left;
}

body.secplus-pbq-ui .token--mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.78rem;
}

body.secplus-pbq-ui .token:active {
  cursor: grabbing;
}

body.secplus-pbq-ui .token.is-picked {
  border-color: #4d89ff;
  box-shadow: 0 0 0 2px rgba(77, 137, 255, 0.35);
}

body.secplus-pbq-ui .drop-slot {
  display: flex;
  min-height: 64px;
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px dashed #93c5fd;
  background: #dbeafe;
  color: #64748b;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  font-size: 0.84rem;
  font-weight: 600;
}

body.secplus-pbq-ui .drop-slot:empty::before {
  content: "Drop here";
  color: #475569;
}

body.secplus-pbq-ui .drop-slot.over {
  border-style: solid;
  border-color: #4d89ff;
  background: #bfdbfe;
}

body.secplus-pbq-ui .drop-slot.correct {
  border-color: #1f7a58;
  background: #113e2d;
  color: #e6edf3;
}

body.secplus-pbq-ui .drop-slot.incorrect {
  border-color: #8c3434;
  background: #442020;
  color: #e6edf3;
}

body.secplus-pbq-ui .drop-slot .token {
  width: 100%;
  cursor: grab;
}

body.secplus-pbq-ui .layer-list-box {
  border: 1px solid #ddd6fe;
  border-radius: 10px;
  padding: 14px 16px;
  background: #faf5ff;
}

body.secplus-pbq-ui .layer-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.secplus-pbq-ui .layer-row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 0.42fr);
  gap: 12px;
  align-items: stretch;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #ddd6fe;
  background: #f3e8ff;
}

body.secplus-pbq-ui .layer-row:last-child {
  border-bottom: 1px solid #ddd6fe;
}

body.secplus-pbq-ui .layer-badge {
  position: absolute;
  top: 12px;
  right: 14px;
  font-size: 0.72rem;
  font-weight: 700;
  color: #7c3aed;
}

body.secplus-pbq-ui .layer-copy {
  padding-right: 52px;
}

body.secplus-pbq-ui .layer-title {
  margin: 0 0 4px;
  font-size: 0.98rem;
  font-weight: 700;
  color: #1a3d6e;
}

body.secplus-pbq-ui .layer-desc {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.45;
  color: #64748b;
}

body.secplus-pbq-ui .layer-list-box .timeline {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.secplus-pbq-ui .timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
}

body.secplus-pbq-ui .layer-list-box .timeline-step {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(130px, 0.46fr);
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #ddd6fe;
  background: #f3e8ff;
}

body.secplus-pbq-ui .layer-list-box .timeline-step:not(:last-child)::after {
  display: none;
}

body.secplus-pbq-ui .timeline-step {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(130px, 0.46fr);
  gap: 12px;
  align-items: center;
  padding: 10px 0 18px;
}

body.secplus-pbq-ui .timeline-step:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 15px;
  top: 42px;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, #3d6dbb 0%, #6384ba 100%);
}

body.secplus-pbq-ui .layer-list-box .step-num {
  box-shadow: 0 0 0 4px #f3e8ff;
}

body.secplus-pbq-ui .step-num {
  position: relative;
  z-index: 1;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #254b8a;
  border: 1px solid #3d6dbb;
  color: #e6edf3;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem;
  font-weight: 800;
  flex-shrink: 0;
  box-shadow: 0 0 0 4px #ffffff;
}

body.secplus-pbq-ui .step-title {
  margin: 0 0 2px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a3d6e;
}

body.secplus-pbq-ui .step-desc {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.4;
  color: #64748b;
}

body.secplus-pbq-ui .timeline-step .drop-slot .token {
  font-size: 0.72rem;
}

body.secplus-pbq-ui .actions {
  margin-top: 14px;
  position: relative;
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
}

body.secplus-pbq-ui .actions button[id$="checkBtn"],
body.secplus-pbq-ui .actions button[id="checkBtn"] {
  order: 1;
  flex-shrink: 0;
}

body.secplus-pbq-ui .actions button[id$="resetBtn"] {
  order: 2;
  flex-shrink: 0;
}

body.secplus-pbq-ui .actions button[id$="showBtn"],
body.secplus-pbq-ui .actions button[id="showAnswerBtn"] {
  order: 4;
  margin-left: auto;
  flex-shrink: 0;
}

body.secplus-pbq-ui .actions button {
  background: #254b8a;
  color: #e6edf3;
  border: 1px solid #3d6dbb;
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.95rem;
  min-height: 48px;
  touch-action: manipulation;
}

body.secplus-pbq-ui .actions button:hover {
  filter: brightness(1.08);
}

body.secplus-pbq-ui .actions [role="status"],
body.secplus-pbq-ui .actions #result {
  order: 10;
  font-weight: 700;
  color: #1a3d6e;
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
  font-size: 0.86rem;
  line-height: 1.4;
  background: transparent;
  padding: 0;
  border: 0;
  margin-top: 2px;
}

body.secplus-pbq-ui .actions [role="status"].is-pass,
body.secplus-pbq-ui .actions #result.is-pass {
  color: #166534;
}

body.secplus-pbq-ui .actions [role="status"].is-fail,
body.secplus-pbq-ui .actions #result.is-fail {
  color: #991b1b;
}

/* Exhibit + MCQ PBQ (e.g. pki-certificate-chain-browser-error.html) */

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-exhibit {
  margin: 0 0 18px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  overflow: hidden;
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-exhibit__banner {
  margin: 0;
  padding: 10px 14px;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-align: center;
  color: #1a3d6e;
  background: #e2e8f0;
  border-bottom: 1px solid #cbd5e1;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-exhibit__grid {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(280px, 1.15fr);
  gap: 0;
}

@media (max-width: 820px) {
  body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-exhibit__grid {
    grid-template-columns: 1fr;
  }
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-browser-error {
  padding: 14px 16px;
  border-right: 1px solid #cbd5e1;
  background: #fffbeb;
  border-top: 3px solid #ca8a04;
}

@media (max-width: 820px) {
  body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-browser-error {
    border-right: 0;
    border-bottom: 1px solid #cbd5e1;
  }
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-browser-error h2 {
  margin: 0 0 8px;
  font-size: 0.82rem;
  font-weight: 800;
  color: #b91c1c;
  letter-spacing: 0.04em;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-browser-error .pbq-error-code {
  margin: 0 0 10px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.82rem;
  font-weight: 700;
  color: #b91c1c;
  word-break: break-word;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-browser-error .pbq-error-headline {
  margin: 0 0 10px;
  font-size: 1rem;
  font-weight: 700;
  color: #1a3d6e;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-browser-error ul {
  margin: 0;
  padding-left: 1.15rem;
  font-size: 0.86rem;
  line-height: 1.45;
  color: #334155;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-browser-error .pbq-error-note {
  margin: 12px 0 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: #a16207;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-chain-panel {
  padding: 14px 16px 12px;
  background: #ffffff;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-chain {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-chain-step {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 0.9fr);
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #94a3b8;
  font-size: 0.84rem;
  line-height: 1.4;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-chain-step--root {
  background: #dcfce7;
  border-color: #16a34a;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-chain-step--intermediate {
  background: #dbeafe;
  border-color: #2563eb;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-chain-step--entity {
  background: #fef3c7;
  border-color: #ca8a04;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-chain-step strong {
  display: block;
  font-size: 0.9rem;
  color: #1a3d6e;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-chain-step span {
  color: #475569;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-chain-aside {
  margin: 0;
  font-size: 0.78rem;
  color: #64748b;
  line-height: 1.35;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-chain-arrow {
  text-align: center;
  color: #64748b;
  font-size: 0.9rem;
  line-height: 1;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-key-terms {
  margin: 0;
  padding: 10px 14px;
  font-size: 0.72rem;
  line-height: 1.5;
  color: #334155;
  background: #e2e8f0;
  border-top: 1px solid #cbd5e1;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-stem {
  margin: 0 0 14px;
  font-size: clamp(1rem, 2vw, 1.2rem);
  font-weight: 700;
  line-height: 1.4;
  color: #1a3d6e;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-choices {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 0 4px;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-choice {
  display: block;
  margin: 0;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  background: #f8fafc;
  font-size: 0.95rem;
  line-height: 1.45;
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-choice:has(input:checked) {
  border-color: #6384ba;
  background: #e8f4ff;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-choice input {
  margin-right: 10px;
  transform: translateY(1px);
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-exhibit__body {
  padding: 12px 14px 10px;
  background: #ffffff;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table-wrap {
  overflow-x: auto;
  margin: 0 0 12px;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 0.8rem;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table th,
body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table td {
  border: 1px solid #cbd5e1;
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table th {
  background: #1a253b;
  color: #e6edf3;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table td {
  background: #f8fafc;
  color: #334155;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table .sev-critical {
  color: #b91c1c;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table .sev-high {
  color: #a16207;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table .sev-medium {
  color: #166534;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table .sev-low {
  color: #166534;
  font-weight: 600;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table .status-open-critical,
body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table .status-open-high {
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table .status-open-critical {
  color: #b91c1c;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table .status-open-high {
  color: #a16207;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-table .status-closed {
  color: #1d4ed8;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-detail h3 {
  margin: 0 0 8px;
  font-size: 0.86rem;
  color: #1a3d6e;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-log {
  margin: 0;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #2d3b5a;
  background: #0a0e14;
  color: #d4dce8;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.76rem;
  line-height: 1.55;
  overflow-x: auto;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-log .log-alert {
  color: #fca5a5;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-siem-log .log-suspicious {
  color: #fde047;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-exhibit-notes {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  font-size: 0.8rem;
  line-height: 1.45;
  color: #334155;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-exhibit-notes li + li {
  margin-top: 8px;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-exhibit-notes .note-priority {
  color: #b91c1c;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-exhibit-notes .note-muted {
  color: #64748b;
  font-size: 0.76rem;
}

/* Vulnerability scanner exhibit (terminal-style) */

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-exhibit--scanner {
  border-color: #1e293b;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-exhibit__banner--scanner {
  color: #86efac;
  background: #0f172a;
  border-bottom-color: #334155;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-scanner {
  padding: 14px 16px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.78rem;
  line-height: 1.45;
  color: #cbd5e1;
  background: linear-gradient(180deg, #0f172a 0%, #1a1a2e 100%);
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-table-wrap {
  overflow-x: auto;
  margin-bottom: 14px;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.74rem;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-table th,
body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-table td {
  padding: 6px 8px;
  border: 1px solid #334155;
  text-align: left;
  vertical-align: top;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-table thead th {
  color: #93c5fd;
  background: #1e293b;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-table .vuln-row-critical,
body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-table .vuln-row-critical th {
  color: #fca5a5;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-table .vuln-row-critical-alt {
  color: #fdba74;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-table .vuln-row-high {
  color: #fde047;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-table .vuln-row-critical-muted {
  color: #e2e8f0;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-section h3 {
  margin: 0 0 8px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #93c5fd;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-section + .pbq-vuln-section {
  margin-top: 14px;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-summary-line {
  margin: 0 0 6px;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-summary-line .count-critical {
  color: #f87171;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-summary-line .count-high {
  color: #facc15;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-risk {
  margin: 0 0 6px;
  color: #f87171;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-meta {
  margin: 0;
  color: #94a3b8;
  font-size: 0.72rem;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-cvss {
  margin: 0;
  padding-left: 1.1rem;
  color: #e2e8f0;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-cvss li + li {
  margin-top: 4px;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-remediation-order {
  margin: 0;
  padding-left: 1.25rem;
  color: #86efac;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-remediation-order li + li {
  margin-top: 4px;
}

body.secplus-pbq-ui.pbq-exhibit-mcq .pbq-vuln-footnotes {
  margin: 14px 0 0;
  padding-top: 10px;
  border-top: 1px solid #334155;
  color: #64748b;
  font-size: 0.7rem;
}

/* Quantitative risk analysis exhibit (SLE / ARO / ALE) */

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-formula {
  margin: 0 0 12px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #fcd34d;
  background: #fffbeb;
  font-size: 0.82rem;
  line-height: 1.45;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-exhibit__banner--risk {
  background: #1e3a8a;
  color: #ffffff;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-table-wrap {
  overflow-x: auto;
  margin: 0 0 12px;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 0.78rem;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-table th,
body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-table td {
  border: 1px solid #cbd5e1;
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-table thead th {
  background: #1e3a8a;
  color: #ffffff;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-table .risk-row-critical td,
body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-table .risk-row-critical th[scope="row"] {
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-table .risk-row-high td,
body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-table .risk-row-high th[scope="row"] {
  background: #fffbeb;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-table .risk-row-low td,
body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-table .risk-row-low th[scope="row"] {
  background: #ecfdf5;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-table .risk-priority-critical {
  color: #b91c1c;
  font-weight: 800;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-table .risk-priority-high {
  color: #a16207;
  font-weight: 800;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-table .risk-priority-low {
  color: #166534;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-callout {
  margin: 0 0 10px;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 0.82rem;
  line-height: 1.5;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-callout h3 {
  margin: 0 0 8px;
  font-size: 0.84rem;
  color: #1a3d6e;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-callout p {
  margin: 0 0 6px;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-callout p:last-child {
  margin-bottom: 0;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-callout ul {
  margin: 0;
  padding-left: 1.15rem;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-callout li + li {
  margin-top: 6px;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-callout--formula {
  background: #eff6ff;
  border: 1px solid #93c5fd;
}

body.secplus-pbq-ui.pbq-risk-ale .pbq-risk-callout--notes {
  background: #ecfdf5;
  border: 1px solid #86efac;
}

/* Endpoint malware IOC exhibit (terminal-style) */

body.secplus-pbq-ui.pbq-malware-ioc .pbq-exhibit__banner--malware {
  background: #0f172a;
  color: #86efac;
  border-bottom: 1px solid #334155;
}

body.secplus-pbq-ui.pbq-malware-ioc .pbq-malware-console {
  padding: 14px 16px;
  background: #1a1a2e;
  color: #ced4da;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  line-height: 1.5;
}

body.secplus-pbq-ui.pbq-malware-ioc .pbq-malware-section + .pbq-malware-section {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #334155;
}

body.secplus-pbq-ui.pbq-malware-ioc .pbq-malware-attck {
  margin: 12px 0 0;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #93c5fd;
  background: #eff6ff;
  font-size: 0.78rem;
  line-height: 1.45;
  color: #1e3a5f;
}

body.secplus-pbq-ui.pbq-malware-ioc .pbq-malware-section h3 {
  margin: 0 0 8px;
  font-size: 0.82rem;
  font-weight: 800;
  color: #5c7cfa;
}

body.secplus-pbq-ui.pbq-malware-ioc .pbq-malware-section p {
  margin: 0 0 6px;
}

body.secplus-pbq-ui.pbq-malware-ioc .pbq-malware-section p:last-child {
  margin-bottom: 0;
}

body.secplus-pbq-ui.pbq-malware-ioc .ioc-alert {
  color: #fa5252;
}

body.secplus-pbq-ui.pbq-malware-ioc .ioc-warn {
  color: #fab005;
}

body.secplus-pbq-ui.pbq-malware-ioc .ioc-note {
  color: #f783ac;
}

body.secplus-pbq-ui.pbq-malware-ioc .ioc-hash {
  color: #74c0fc;
}

body.secplus-pbq-ui.pbq-malware-ioc .ioc-class-primary {
  color: #74c0fc;
}

body.secplus-pbq-ui.pbq-malware-ioc .ioc-class-muted {
  color: #64748b;
  font-size: 0.72rem;
}

/* Zero Trust vs perimeter exhibit */

body.secplus-pbq-ui.pbq-zero-trust .pbq-exhibit__banner--zt {
  background: #1e3a8a;
  color: #ffffff;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-grid {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
}

@media (min-width: 720px) {
  body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-grid {
    grid-template-columns: 1fr 1fr;
  }
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-model {
  padding: 12px 14px;
  border-radius: 10px;
  border: 3px solid;
  font-size: 0.82rem;
  line-height: 1.45;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-model h2 {
  margin: 0 0 6px;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-tagline {
  margin: 0 0 10px;
  font-weight: 600;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-model--traditional {
  border-color: #ca8a04;
  background: #fffbeb;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-model--zero {
  border-color: #3b82f6;
  background: #eff6ff;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-zone {
  margin: 0 0 8px;
  padding: 8px 10px;
  border-radius: 8px;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-zone h3 {
  margin: 0 0 6px;
  font-size: 0.78rem;
  font-weight: 800;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-zone ul {
  margin: 0;
  padding-left: 1.1rem;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-zone--trusted {
  background: #ecfdf5;
  border: 1px solid #86efac;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-zone--untrusted {
  background: #fef2f2;
  border: 1px solid #fca5a5;
}

body.secplus-pbq-ui.pbq-zero-trust .zt-emphasis {
  color: #b91c1c;
  text-decoration: underline;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-weakness {
  margin: 8px 0 0;
  color: #b91c1c;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-list {
  margin: 0 0 8px;
  padding-left: 1.1rem;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-list li + li {
  margin-top: 4px;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-philosophy {
  margin: 0 0 8px;
  color: #b91c1c;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-list--planes li {
  color: #c2410c;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-exhibit-note,
body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-slot-hint {
  margin: 10px 0 0;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #93c5fd;
  background: #eff6ff;
  font-size: 0.8rem;
  line-height: 1.45;
  color: #1e3a5f;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-segmentation {
  padding: 12px 14px;
  border-radius: 10px;
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  font-size: 0.8rem;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-segmentation h3 {
  margin: 0 0 8px;
  font-size: 0.84rem;
  color: #1a3d6e;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-seg-list {
  margin: 0;
  display: grid;
  gap: 8px;
}

@media (min-width: 640px) {
  body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-seg-list {
    grid-template-columns: 1fr 1fr;
  }
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-seg-list dt {
  font-weight: 800;
  color: #1a3d6e;
}

body.secplus-pbq-ui.pbq-zero-trust .pbq-zt-seg-list dd {
  margin: 0;
  color: #334155;
}

/* Data classification and protection exhibit */

body.secplus-pbq-ui.pbq-data-protection .pbq-exhibit__banner--data {
  background: #1e3a8a;
  color: #ffffff;
}

body.secplus-pbq-ui.pbq-data-protection .pbq-data-section + .pbq-data-section {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
}

body.secplus-pbq-ui.pbq-data-protection .pbq-data-section h3 {
  margin: 0 0 8px;
  font-size: 0.86rem;
  color: #1a3d6e;
}

body.secplus-pbq-ui.pbq-data-protection .pbq-data-class-table-wrap {
  overflow-x: auto;
  margin: 0 0 8px;
}

body.secplus-pbq-ui.pbq-data-protection .pbq-data-class-table {
  width: 100%;
  min-width: 420px;
  border-collapse: collapse;
  font-size: 0.8rem;
}

body.secplus-pbq-ui.pbq-data-protection .pbq-data-class-table th,
body.secplus-pbq-ui.pbq-data-protection .pbq-data-class-table td {
  border: 1px solid #cbd5e1;
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
}

body.secplus-pbq-ui.pbq-data-protection .pbq-data-class-table thead th {
  background: #1e3a8a;
  color: #ffffff;
}

body.secplus-pbq-ui.pbq-data-protection .data-class-restricted th,
body.secplus-pbq-ui.pbq-data-protection .data-class-restricted td {
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-data-protection .data-class-confidential th,
body.secplus-pbq-ui.pbq-data-protection .data-class-confidential td {
  background: #fffbeb;
}

body.secplus-pbq-ui.pbq-data-protection .data-class-sensitive th,
body.secplus-pbq-ui.pbq-data-protection .data-class-sensitive td {
  background: #ecfdf5;
}

body.secplus-pbq-ui.pbq-data-protection .data-class-public th,
body.secplus-pbq-ui.pbq-data-protection .data-class-public td {
  background: #eff6ff;
}

body.secplus-pbq-ui.pbq-data-protection .pbq-data-note,
body.secplus-pbq-ui.pbq-data-protection .pbq-data-compare {
  margin: 0 0 10px;
  font-size: 0.78rem;
  color: #475569;
}

body.secplus-pbq-ui.pbq-data-protection .pbq-data-compare {
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #93c5fd;
  background: #eff6ff;
}

body.secplus-pbq-ui.pbq-data-protection .pbq-data-states,
body.secplus-pbq-ui.pbq-data-protection .pbq-data-methods {
  margin: 0;
  padding-left: 1.15rem;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #334155;
}

body.secplus-pbq-ui.pbq-data-protection .pbq-data-states li + li,
body.secplus-pbq-ui.pbq-data-protection .pbq-data-methods li + li {
  margin-top: 6px;
}

/* Security governance exhibit */

body.secplus-pbq-ui.pbq-governance .pbq-exhibit__banner--gov {
  background: #1e3a8a;
  color: #ffffff;
}

body.secplus-pbq-ui.pbq-governance .pbq-gov-grid {
  display: grid;
  gap: 12px;
}

@media (min-width: 900px) {
  body.secplus-pbq-ui.pbq-governance .pbq-gov-grid {
    grid-template-columns: 1fr 1fr 1.1fr;
  }
}

@media (min-width: 640px) and (max-width: 899px) {
  body.secplus-pbq-ui.pbq-governance .pbq-gov-grid {
    grid-template-columns: 1fr 1fr;
  }

  body.secplus-pbq-ui.pbq-governance .pbq-gov-panel--policies {
    grid-column: 1 / -1;
  }
}

body.secplus-pbq-ui.pbq-governance .pbq-gov-panel {
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  background: #f8fafc;
  font-size: 0.8rem;
  line-height: 1.45;
}

body.secplus-pbq-ui.pbq-governance .pbq-gov-panel h3 {
  margin: 0 0 8px;
  font-size: 0.84rem;
  font-weight: 800;
  color: #1a3d6e;
}

body.secplus-pbq-ui.pbq-governance .pbq-gov-panel--policies {
  background: #eff6ff;
  border-color: #93c5fd;
}

body.secplus-pbq-ui.pbq-governance .pbq-gov-list {
  margin: 0;
  padding-left: 1.1rem;
  color: #334155;
}

body.secplus-pbq-ui.pbq-governance .pbq-gov-list li + li {
  margin-top: 6px;
}

body.secplus-pbq-ui.pbq-governance .pbq-gov-panel-title {
  margin: 0 0 12px;
  font-size: 1rem;
  font-weight: 800;
  color: #1a3d6e;
  text-align: center;
}

body.secplus-pbq-ui.pbq-governance .pbq-gov-exhibit {
  margin-bottom: 20px;
}

body.secplus-pbq-ui.pbq-governance .pbq-gov-exhibit .pbq-exhibit {
  max-width: 960px;
  margin: 0 auto;
}

body.secplus-pbq-ui.pbq-governance .pbq-gov-question {
  max-width: 720px;
  margin: 0 auto;
}

body.secplus-pbq-ui.pbq-governance .pbq-gov-hint {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #5b21b6;
  background: #f5f3ff;
  border: 1px solid #c4b5fd;
}

/* Phishing email exhibit + inline fill-in drag-and-drop */

body.secplus-pbq-ui.pbq-phishing-analysis .pbq-email-exhibit {
  margin: 0 0 16px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff;
}

body.secplus-pbq-ui.pbq-phishing-analysis .pbq-email-exhibit__banner {
  margin: 0;
  padding: 10px 14px;
  font-size: 0.92rem;
  font-weight: 800;
  text-align: center;
  color: #1a3d6e;
  background: #e2e8f0;
  border-bottom: 1px solid #cbd5e1;
}

body.secplus-pbq-ui.pbq-phishing-analysis .pbq-email-mock {
  margin: 0;
  padding: 14px 16px;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #334155;
  border-bottom: 1px solid #e2e8f0;
}

body.secplus-pbq-ui.pbq-phishing-analysis .pbq-email-mock dt {
  margin: 0;
  font-weight: 700;
  color: #1a3d6e;
}

body.secplus-pbq-ui.pbq-phishing-analysis .pbq-email-mock dd {
  margin: 0 0 8px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.82rem;
  word-break: break-word;
}

body.secplus-pbq-ui.pbq-phishing-analysis .pbq-email-mock dd:last-child {
  margin-bottom: 0;
}

body.secplus-pbq-ui.pbq-phishing-analysis .pbq-email-mock .email-subject {
  color: #b91c1c;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-phishing-analysis .pbq-email-mock .email-link {
  color: #1d4ed8;
  text-decoration: underline;
}

body.secplus-pbq-ui.pbq-phishing-analysis .pbq-email-mock .email-urgent {
  font-weight: 700;
  text-transform: uppercase;
}

body.secplus-pbq-ui.pbq-phishing-analysis .pbq-red-flags {
  margin: 0;
  padding: 12px 16px 14px;
  background: #fef9c3;
  border-top: 3px solid #ca8a04;
}

body.secplus-pbq-ui.pbq-phishing-analysis .pbq-red-flags h2 {
  margin: 0 0 8px;
  font-size: 0.82rem;
  font-weight: 800;
  color: #a16207;
  letter-spacing: 0.04em;
}

body.secplus-pbq-ui.pbq-phishing-analysis .pbq-red-flags ul {
  margin: 0;
  padding-left: 1.15rem;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #334155;
}

body.secplus-pbq-ui.pbq-phishing-analysis .pbq-fillin-panel {
  border: 1px solid #ddd6fe;
  border-radius: 10px;
  padding: 14px 16px;
  background: #faf5ff;
}

body.secplus-pbq-ui.pbq-phishing-analysis .pbq-fillin {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.65;
  color: #1a3d6e;
}

body.secplus-pbq-ui.pbq-phishing-analysis .drop-slot--inline {
  display: inline-flex;
  vertical-align: middle;
  min-width: 118px;
  min-height: 36px;
  max-width: 100%;
  margin: 2px 4px;
  padding: 4px 6px;
}

body.secplus-pbq-ui.pbq-phishing-analysis .drop-slot--inline:empty::before {
  font-size: 0.72rem;
}

body.secplus-pbq-ui.pbq-phishing-analysis .drop-slot--inline .token {
  font-size: 0.78rem;
  padding: 6px 8px;
  width: 100%;
}

/* Incident response exhibit + inline fill-in drag-and-drop */

body.secplus-pbq-ui.pbq-incident-response .pbq-ir-exhibit {
  margin: 0 0 16px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff;
}

body.secplus-pbq-ui.pbq-incident-response .pbq-ir-exhibit__banner {
  margin: 0;
  padding: 10px 14px;
  font-size: 0.88rem;
  font-weight: 800;
  text-align: center;
  color: #ffffff;
  background: #1e3a8a;
  border-bottom: 1px solid #1e40af;
}

body.secplus-pbq-ui.pbq-incident-response .pbq-ir-phase {
  margin: 12px 14px 0;
  padding: 12px 14px;
  border-radius: 10px;
  border: 2px solid;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.8rem;
  line-height: 1.45;
}

body.secplus-pbq-ui.pbq-incident-response .pbq-ir-phase h2 {
  margin: 0 0 8px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

body.secplus-pbq-ui.pbq-incident-response .pbq-ir-phase ul {
  margin: 0;
  padding-left: 1.1rem;
}

body.secplus-pbq-ui.pbq-incident-response .pbq-ir-phase--prep {
  background: #eff6ff;
  border-color: #3b82f6;
  color: #1e3a8a;
}

body.secplus-pbq-ui.pbq-incident-response .pbq-ir-phase--detect {
  background: #ecfdf5;
  border-color: #22c55e;
  color: #14532d;
}

body.secplus-pbq-ui.pbq-incident-response .pbq-ir-phase--contain {
  background: #fff7ed;
  border-color: #f97316;
  color: #7c2d12;
}

body.secplus-pbq-ui.pbq-incident-response .pbq-ir-timeline time {
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-incident-response .pbq-ir-footer {
  margin: 12px 14px 14px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  font-size: 0.8rem;
  line-height: 1.5;
  color: #334155;
}

body.secplus-pbq-ui.pbq-incident-response .pbq-ir-flow {
  margin: 0 0 10px;
}

body.secplus-pbq-ui.pbq-incident-response .pbq-ir-flow-step {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

body.secplus-pbq-ui.pbq-incident-response .pbq-ir-defs {
  margin: 0;
  padding-left: 1.1rem;
}

body.secplus-pbq-ui.pbq-incident-response .pbq-fillin-panel {
  border: 1px solid #ddd6fe;
  border-radius: 10px;
  padding: 14px 16px;
  background: #faf5ff;
}

body.secplus-pbq-ui.pbq-incident-response .pbq-fillin {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.65;
  color: #1a3d6e;
}

body.secplus-pbq-ui.pbq-incident-response .drop-slot--inline {
  display: inline-flex;
  vertical-align: middle;
  min-width: 118px;
  min-height: 36px;
  max-width: 100%;
  margin: 2px 4px;
  padding: 4px 6px;
}

body.secplus-pbq-ui.pbq-incident-response .drop-slot--inline:empty::before {
  font-size: 0.72rem;
}

body.secplus-pbq-ui.pbq-incident-response .drop-slot--inline .token {
  font-size: 0.78rem;
  padding: 6px 8px;
  width: 100%;
}

/* BeCertifiedToday RAG HR AI PBQ — configuration, guardrails, attack mitigations */

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-sim {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-arch {
  margin: 0;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  overflow: hidden;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-arch__banner {
  margin: 0;
  padding: 10px 14px;
  font-weight: 800;
  font-size: 0.9rem;
  color: #fff;
  background: #4f46e5;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-arch__body {
  padding: 14px 16px;
  background: #eef2ff;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-arch__flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #312e81;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-node {
  padding: 6px 10px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #a5b4fc;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-node--risk {
  border-color: #f97316;
  background: #fff7ed;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-arch__note {
  margin: 10px 0 0;
  font-size: 0.8rem;
  line-height: 1.45;
  color: #334155;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-trust-boundary {
  margin: 8px 0 0;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #93c5fd;
  background: #eff6ff;
  font-size: 0.8rem;
  line-height: 1.45;
  color: #1e3a5f;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-section {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 16px;
  background: #fff;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-section h2 {
  margin: 0 0 6px;
  font-size: 1rem;
  color: #1a3d6e;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-section-lead {
  margin: 0 0 12px;
  font-size: 0.88rem;
  color: #475569;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-config-grid {
  display: grid;
  gap: 10px;
}

@media (min-width: 720px) {
  body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-config-grid {
    grid-template-columns: 1fr 1fr;
  }
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-config-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.85rem;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-config-label {
  font-weight: 700;
  color: #1e3a8a;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-select {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #64748b;
  border-radius: 6px;
  font: inherit;
  font-size: 0.84rem;
  background: #fff;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-select--good {
  border-color: #16a34a;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-select--bad {
  border-color: #dc2626;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-guard-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

@media (min-width: 640px) {
  body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-guard-list {
    grid-template-columns: 1fr 1fr;
  }
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  cursor: pointer;
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-toggle input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-toggle-ui {
  flex-shrink: 0;
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background: #cbd5e1;
  position: relative;
  transition: background 0.15s ease;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-toggle-ui::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: transform 0.15s ease;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-toggle input:checked + .pbq-ai-toggle-ui {
  background: #4f46e5;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-toggle input:checked + .pbq-ai-toggle-ui::after {
  transform: translateX(20px);
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-toggle-text {
  font-size: 0.84rem;
  line-height: 1.35;
  color: #334155;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-toggle--good {
  border-color: #86efac;
  background: #ecfdf5;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-toggle--bad {
  border-color: #fca5a5;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-table-wrap {
  overflow-x: auto;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 0.84rem;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-table th,
body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-table td {
  border: 1px solid #e2e8f0;
  padding: 10px 12px;
  vertical-align: top;
  text-align: left;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-table thead th {
  background: #1e3a8a;
  color: #fff;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-part-banner {
  margin: 0 0 4px;
  padding: 10px 14px;
  font-weight: 800;
  font-size: 0.92rem;
  text-align: center;
  color: #fff;
  background: #312e81;
  border-radius: 10px;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-attack-mcq {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 16px;
  background: #fff;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-attack-mcq + .pbq-ai-attack-mcq {
  margin-top: 14px;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-attack-mcq h2 {
  margin: 0 0 8px;
  font-size: 0.95rem;
  color: #4f46e5;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-scenario {
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #f8fafc;
  border-left: 4px solid #818cf8;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #334155;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-attack-mcq .pbq-stem {
  margin: 0 0 10px;
  font-size: 0.92rem;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-attack-mcq .pbq-choices {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-attack-mcq .pbq-choice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #f8fafc;
  font-size: 0.92rem;
  line-height: 1.45;
  color: #334155;
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-attack-mcq .pbq-choice:has(input:checked) {
  border-color: #6366f1;
  background: #eef2ff;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-attack-mcq .pbq-choice input {
  flex-shrink: 0;
  margin: 0.15em 0 0;
  width: 1.1em;
  height: 1.1em;
}

body.secplus-pbq-ui.pbq-ai-rag a.pbq-ai-node {
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

body.secplus-pbq-ui.pbq-ai-rag a.pbq-ai-node:hover,
body.secplus-pbq-ui.pbq-ai-rag a.pbq-ai-node:focus-visible {
  border-color: #4f46e5;
  box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.25);
  outline: none;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-exhibit-grid {
  display: grid;
  gap: 12px;
}

@media (min-width: 900px) {
  body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-exhibit-grid {
    grid-template-columns: 1fr 1fr;
  }

  body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-exhibit--wide {
    grid-column: 1 / -1;
  }
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-exhibit {
  margin: 0;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  overflow: hidden;
  font-size: 0.82rem;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-exhibit__banner {
  margin: 0;
  padding: 8px 12px;
  font-weight: 700;
  font-size: 0.78rem;
  color: #fff;
  background: #334155;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-exhibit__banner--warn {
  background: #c2410c;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-exhibit__body {
  padding: 12px 14px;
  background: #f8fafc;
  line-height: 1.45;
  color: #1e293b;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-doc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-doc-table th,
body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-doc-table td {
  padding: 6px 8px;
  border: 1px solid #e2e8f0;
  text-align: left;
  vertical-align: top;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-doc-table thead th {
  background: #e2e8f0;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-doc-table .status-quarantine {
  color: #b45309;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-doc-table .status-approved {
  color: #047857;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-doc-table a,
body.secplus-pbq-ui.pbq-ai-rag .pbq-exhibit-cell-btn {
  color: #4f46e5;
  font-weight: 600;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-exhibit-cell-btn {
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  font-size: inherit;
  text-decoration: underline;
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-exhibit-cell-btn:hover,
body.secplus-pbq-ui.pbq-ai-rag .pbq-exhibit-cell-btn:focus-visible {
  color: #3730a3;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-chunk {
  margin: 0;
  padding: 10px 12px;
  border-radius: 8px;
  background: #0f172a;
  color: #e2e8f0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.75rem;
  white-space: pre-wrap;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-chunk__label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #94a3b8;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-hidden-line {
  display: block;
  margin-top: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  background: #fef3c7;
  border: 1px dashed #d97706;
  color: #92400e;
  font-size: 0.72rem;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-chat-log {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-chat-log li {
  margin: 0 0 8px;
  padding: 8px 10px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #e2e8f0;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-chat-log .role {
  font-weight: 700;
  color: #4f46e5;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-exhibit-ref {
  font-size: 0.82rem;
  font-weight: 600;
}

body.secplus-pbq-ui.pbq-ai-rag .pbq-ai-exhibit-ref a {
  color: #4f46e5;
}

/* BeCertifiedToday ZTA zone control map — drag-and-drop */

body.secplus-pbq-ui.pbq-zta-zone-map .layout--zt-map {
  display: grid;
  gap: 16px;
}

@media (min-width: 960px) {
  body.secplus-pbq-ui.pbq-zta-zone-map .layout--zt-map {
    grid-template-columns: minmax(200px, 240px) 1fr;
    align-items: start;
  }
}

body.secplus-pbq-ui.pbq-zta-zone-map .bank--zt {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body.secplus-pbq-ui.pbq-zta-zone-map .bank--zt .token {
  width: 100%;
  text-align: left;
  border-left: 4px solid #64748b;
}

body.secplus-pbq-ui.pbq-zta-zone-map .token--ztna {
  border-left-color: #2563eb;
}

body.secplus-pbq-ui.pbq-zta-zone-map .token--micro {
  border-left-color: #16a34a;
}

body.secplus-pbq-ui.pbq-zta-zone-map .token--cont {
  border-left-color: #7c3aed;
}

body.secplus-pbq-ui.pbq-zta-zone-map .token--jit {
  border-left-color: #ea580c;
}

body.secplus-pbq-ui.pbq-zta-zone-map .token--dlp {
  border-left-color: #dc2626;
}

body.secplus-pbq-ui.pbq-zta-zone-map .token--pam {
  border-left-color: #0891b2;
}

body.secplus-pbq-ui.pbq-zta-zone-map .token--casb {
  border-left-color: #ca8a04;
}

body.secplus-pbq-ui.pbq-zta-zone-map .token--idp {
  border-left-color: #9333ea;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-zone-grid {
  display: grid;
  gap: 12px;
}

@media (min-width: 720px) {
  body.secplus-pbq-ui.pbq-zta-zone-map .zt-zone-grid {
    grid-template-columns: 1fr 1fr;
  }
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-zone {
  border: 2px solid #cbd5e1;
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-zone--internet {
  border-color: #94a3b8;
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-zone--dmz {
  border-color: #fb923c;
  background: #fff7ed;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-zone--internal {
  border-color: #60a5fa;
  background: #eff6ff;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-zone--cloud {
  border-color: #a78bfa;
  background: #f5f3ff;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-zone__label {
  display: block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-zone__title {
  margin: 4px 0 2px;
  font-size: 0.92rem;
  font-weight: 800;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-zone__desc {
  margin: 0;
  font-size: 0.78rem;
  color: #475569;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-zone__assets {
  margin: 8px 0 10px;
  font-size: 0.72rem;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-zone__slots {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-zone__slots .drop-slot {
  flex: 1 1 140px;
  min-height: 52px;
  min-width: 120px;
}

body.secplus-pbq-ui.pbq-zta-zone-map .layout--zt-choices {
  grid-template-columns: 1fr;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-zone__slots {
  flex-direction: column;
  align-items: stretch;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-slot-choice {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
  flex: 1 1 100%;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-slot-choice__legend {
  margin: 0 0 8px;
  padding: 0;
  font-size: 0.74rem;
  font-weight: 700;
  color: #334155;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-slot-choice__options {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 480px) {
  body.secplus-pbq-ui.pbq-zta-zone-map .zt-slot-choice__options {
    grid-template-columns: 1fr;
  }
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-choice-card {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 10px 12px;
  border: 2px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  border-left-width: 4px;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-choice-card:hover {
  border-color: #94a3b8;
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-choice-card:has(input:checked) {
  border-color: #2563eb;
  background: #eff6ff;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-choice-card input {
  flex-shrink: 0;
  margin: 0;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-choice-card__text {
  font-size: 0.82rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-slot-choice.correct .zt-choice-card:has(input:checked) {
  border-color: #16a34a;
  background: #f0fdf4;
  box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.15);
}

body.secplus-pbq-ui.pbq-zta-zone-map .zt-slot-choice.incorrect .zt-choice-card:has(input:checked) {
  border-color: #dc2626;
  background: #fef2f2;
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.12);
}

/* BeCertifiedToday hybrid PKI audit PBQ */

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-crl-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #fca5a5;
  background: #fef2f2;
  font-size: 0.82rem;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-crl-status__value strong {
  color: #b91c1c;
  font-size: 1.05rem;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-crl-status--pulse {
  animation: pbq-crl-pulse 0.6s ease;
}

@keyframes pbq-crl-pulse {
  0%,
  100% {
    box-shadow: none;
  }
  50% {
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.35);
  }
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-next-lab {
  display: inline-block;
  margin-top: 8px;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-audit-banner,
body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-part-banner {
  margin: 0 0 12px;
  padding: 10px 14px;
  font-weight: 800;
  font-size: 0.88rem;
  border-radius: 8px;
  background: #1e3a5f;
  color: #fff;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-part-banner--revoke {
  background: #991b1b;
}

body.secplus-pbq-ui.pbq-pki-audit .layout--pki-chain {
  display: grid;
  gap: 16px;
}

@media (min-width: 900px) {
  body.secplus-pbq-ui.pbq-pki-audit .layout--pki-chain {
    grid-template-columns: minmax(240px, 1fr) minmax(280px, 1fr);
    align-items: start;
  }
}

body.secplus-pbq-ui.pbq-pki-audit .bank--pki-certs {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-cert-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 2px solid #cbd5e1;
  background: #fff;
  font-size: 0.78rem;
  line-height: 1.35;
  cursor: grab;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-cert-card strong {
  font-size: 0.82rem;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-cert-card span {
  color: #475569;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-cert-card--root {
  border-color: #ca8a04;
  background: #fffbeb;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-cert-card--inter-azure {
  border-color: #2563eb;
  background: #eff6ff;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-cert-card--leaf {
  border-color: #16a34a;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-cert-card--inter-warn,
body.secplus-pbq-ui.pbq-pki-audit .pbq-cert-card--leaf-bad {
  border-color: #dc2626;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-chain-ladder {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-chain-ladder > li {
  margin: 0;
  padding: 0;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-chain-arrow {
  text-align: center;
  font-size: 1.2rem;
  color: #64748b;
  padding: 4px 0;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-chain-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  font-weight: 800;
  font-size: 0.85rem;
  background: #ea580c;
  color: #fff;
  margin-bottom: 6px;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-chain-step--inter {
  background: #1d4ed8;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-chain-step--leaf {
  background: #15803d;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-chain-label {
  font-size: 0.8rem;
  font-weight: 700;
  color: #334155;
  margin-bottom: 6px;
}

body.secplus-pbq-ui.pbq-pki-audit .drop-slot--chain {
  min-height: 72px;
  margin-bottom: 8px;
}

body.secplus-pbq-ui.pbq-pki-audit .drop-slot--chain .pbq-cert-card {
  width: 100%;
  cursor: grab;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-algo-table-wrap {
  overflow-x: auto;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-algo-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.84rem;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-algo-table th,
body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-algo-table td {
  padding: 12px 10px;
  border: 1px solid #e2e8f0;
  vertical-align: top;
  text-align: left;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-algo-table thead th {
  background: #f1f5f9;
  font-weight: 800;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-use-hint {
  display: block;
  margin-top: 4px;
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 500;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-finding {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-finding--bad {
  background: #fee2e2;
  color: #991b1b;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-finding--warn {
  background: #fef3c7;
  color: #92400e;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-finding--ok {
  background: #dcfce7;
  color: #166534;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-algo-table .pbq-ai-select {
  width: 100%;
  max-width: 320px;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-revoke-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-revoke-card {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 16px;
  border-radius: 10px;
  border: 2px solid #e2e8f0;
  background: #fff;
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-revoke-card input {
  margin-top: 4px;
  flex-shrink: 0;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-revoke-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.84rem;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-revoke-body span {
  color: #64748b;
  font-size: 0.78rem;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-revoke-card--bad {
  border-color: #fca5a5;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-revoke-card--warn {
  border-color: #fdba74;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-revoke-card--ok {
  border-color: #86efac;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-revoke-card--correct {
  border-color: #16a34a;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-revoke-card--wrong {
  border-color: #dc2626;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-exhibit-title {
  margin: 0 0 12px;
  font-size: 1rem;
  font-weight: 800;
  color: #1a3d6e;
  text-align: center;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-exhibit--pki {
  margin: 0 0 18px;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-exhibit__banner--pki {
  background: #1e3a8a;
  color: #ffffff;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology {
  margin: 14px 0;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology h3 {
  margin: 0 0 10px;
  font-size: 0.84rem;
  font-weight: 800;
  color: #1a3d6e;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology__tree {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 0.8rem;
  line-height: 1.4;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology__branch {
  margin-left: 12px;
  padding-left: 10px;
  border-left: 2px solid #e2e8f0;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology__branch--valid {
  border-left-color: #86efac;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology__branch--fail {
  border-left-color: #fca5a5;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology__node {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #ffffff;
  margin: 4px 0;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology__node span {
  color: #64748b;
  font-size: 0.76rem;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology__node--root {
  border-color: #ca8a04;
  background: #fffbeb;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology__node--inter {
  border-color: #2563eb;
  background: #eff6ff;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology__node--leaf {
  border-color: #16a34a;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology__node--warn {
  border-color: #fdba74;
  background: #fff7ed;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology__node--bad {
  border-color: #fca5a5;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology__arrow {
  color: #64748b;
  font-family: ui-monospace, monospace;
  font-size: 0.78rem;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-topology__arrow--down {
  margin-left: 8px;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-inventory-wrap {
  overflow-x: auto;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-inventory-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-inventory-table th,
body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-inventory-table td {
  padding: 10px 8px;
  border: 1px solid #e2e8f0;
  vertical-align: top;
  text-align: left;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-inventory-table thead th {
  background: #f1f5f9;
  font-weight: 800;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-inventory-table__fail {
  background: #fff5f5;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-hint {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #5b21b6;
  background: #f5f3ff;
  border: 1px solid #c4b5fd;
}

body.secplus-pbq-ui.pbq-pki-audit .pbq-pki-revoke-task {
  max-width: 720px;
  margin: 0 auto;
}

/* Ubuntu SSH breach hardening (tabbed sshd / fail2ban / UFW / MCQ) */
body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-scenario {
  margin-bottom: 16px;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-scenario__eyebrow {
  margin: 0 0 6px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-scenario h1 {
  margin: 0 0 8px;
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-scenario__lead {
  margin: 0;
  line-height: 1.55;
  color: #334155;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-exhibit {
  margin: 14px 0;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-exhibit__banner {
  margin: 0;
  padding: 8px 12px;
  background: #1e293b;
  color: #f8fafc;
  font-size: 0.78rem;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-exhibit__body {
  padding: 12px;
  background: #0f172a;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-cron-line {
  margin: 0;
  color: #f87171;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.82rem;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-exhibit__note {
  margin: 8px 0 0;
  font-size: 0.78rem;
  color: #94a3b8;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-score-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-score {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  color: #475569;
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-score strong {
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-sim {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  background: #0f172a;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 1px solid #1e293b;
  background: #0f172a;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-tab {
  flex: 1 1 auto;
  min-width: 120px;
  padding: 12px 14px;
  border: none;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: #94a3b8;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-tab.active {
  color: #38bdf8;
  border-bottom-color: #2563eb;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-tab--warn .pbq-ssh-tab__icon {
  color: #fbbf24;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-panel {
  display: none;
  padding: 0;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-panel.active {
  display: block;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-editor__bar,
body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-ufw__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid #1e293b;
  background: #0b1220;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-editor__path,
body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-ufw__title {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.8rem;
  color: #cbd5e1;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-editor__hint {
  font-size: 0.72rem;
  font-style: italic;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-code {
  margin: 0;
  padding: 14px 16px 10px;
  overflow-x: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.84rem;
  line-height: 1.85;
  color: #e2e8f0;
  background: #0f172a;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-code .ln {
  display: inline-block;
  width: 1.6em;
  margin-right: 0.6em;
  color: #475569;
  user-select: none;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-code .kw {
  color: #7dd3fc;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-code .val {
  color: #6ee7b7;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-code .cm {
  color: #64748b;
  font-style: italic;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-code .sec {
  color: #f472b6;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-code--highlight {
  display: inline-block;
  padding: 0 4px;
  border-radius: 4px;
  background: rgba(127, 29, 29, 0.35);
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-select,
body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-ufw-select {
  min-width: 10em;
  max-width: 100%;
  padding: 2px 8px;
  border: 1px solid #334155;
  border-radius: 4px;
  background: #1e293b;
  color: #38bdf8;
  font: inherit;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-select--ok,
body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-ufw-select.pbq-ssh-select--ok {
  border-color: #22c55e;
  background: #14532d;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-select--bad,
body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-ufw-select.pbq-ssh-select--bad {
  border-color: #ef4444;
  background: #450a0a;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-note {
  margin: 0;
  padding: 10px 14px 14px;
  font-size: 0.8rem;
  color: #fbbf24;
  background: #0f172a;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-callout {
  margin: 0 14px 14px;
  padding: 12px 14px;
  border-radius: 8px;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #0c4a6e;
  background: #e0f2fe;
  border: 1px solid #7dd3fc;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-ufw {
  color: #e2e8f0;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-ufw__prompt {
  margin: 0;
  padding: 14px 16px 8px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.84rem;
  color: #7dd3fc;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-ufw__list {
  list-style: none;
  margin: 0;
  padding: 0 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-ufw__req {
  display: block;
  margin-bottom: 6px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.82rem;
  color: #7dd3fc;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-ufw-select {
  width: 100%;
  max-width: 520px;
  padding: 8px 10px;
  font-size: 0.82rem;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-cq-banner {
  margin: 0;
  padding: 12px 16px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #fef3c7;
  background: #422006;
  border-bottom: 1px solid #78350f;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-cq-list {
  padding: 14px 16px 8px;
  background: #f8fafc;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-cq {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-cq legend {
  font-weight: 700;
  font-size: 0.88rem;
  line-height: 1.45;
  margin-bottom: 8px;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-cq label {
  display: block;
  margin: 6px 0;
  font-size: 0.84rem;
  line-height: 1.45;
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-cq--ok {
  border-color: #22c55e;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-cq--bad {
  border-color: #ef4444;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 14px 16px;
  background: #f1f5f9;
  border-top: 1px solid #e2e8f0;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-actions + .result {
  margin: 0 16px 14px;
}

body.secplus-pbq-ui.pbq-ssh-harden .pbq-ssh-footer {
  margin: 16px 0 0;
  text-align: center;
}

/* Ubuntu CIS baseline hardening checklist */
body.secplus-pbq-ui.pbq-cis-harden .pbq-cis-checklist__title {
  margin: 0 0 14px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #475569;
}

body.secplus-pbq-ui.pbq-cis-harden .pbq-cis-checklist__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.secplus-pbq-ui.pbq-cis-harden .pbq-cis-checklist__tile {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  min-height: 4.5rem;
}

body.secplus-pbq-ui.pbq-cis-harden .pbq-cis-checklist__tile:hover {
  border-color: #93c5fd;
}

body.secplus-pbq-ui.pbq-cis-harden .pbq-cis-checklist__tile--ok {
  border-color: #16a34a;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-cis-harden .pbq-cis-checklist__tile--bad {
  border-color: #dc2626;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-cis-harden .pbq-cis-checklist__tile input {
  margin-top: 0.2rem;
  flex-shrink: 0;
}

body.secplus-pbq-ui.pbq-cis-harden .pbq-cis-checklist__copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.82rem;
  line-height: 1.35;
}

body.secplus-pbq-ui.pbq-cis-harden .pbq-cis-checklist__copy strong {
  font-size: 0.88rem;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-cis-harden .pbq-cis-checklist__copy span {
  color: #64748b;
  font-size: 0.78rem;
}

/* Firewall ACL — Security Operations PBQ */
body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-sim {
  display: grid;
  gap: 20px;
}

body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-policy {
  margin: 0;
  padding: 16px 18px;
  border: 2px solid #3b82f6;
  border-radius: 10px;
  background: #f8fafc;
  font-size: 0.95rem;
  line-height: 1.55;
}

body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-policy ul {
  margin: 10px 0;
  padding-left: 1.25rem;
}

body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-policy__note {
  margin: 12px 0 0;
  font-size: 0.9rem;
  color: #475569;
}

body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-table-wrap {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-table-banner {
  margin: 0;
  padding: 12px 14px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff;
  background: #1e3a5f;
}

body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-table thead th {
  padding: 10px 8px;
  text-align: left;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  background: #1e3a5f;
  border-bottom: 1px solid #0f2744;
}

body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-table tbody td,
body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-table tbody th {
  padding: 10px 8px;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: middle;
}

body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-row-num {
  font-weight: 700;
  color: #2563eb;
  text-align: center;
  width: 2.5rem;
}

body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-select {
  width: 100%;
  min-width: 0;
  max-width: 11rem;
  padding: 8px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 0.85rem;
  background: #fff;
}

body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-select--ok {
  border-color: #16a34a;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-select--bad {
  border-color: #dc2626;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-fixed {
  display: inline-block;
  padding: 8px 12px;
  font-weight: 700;
  font-size: 0.85rem;
  color: #64748b;
  background: #f1f5f9;
  border-radius: 8px;
}

body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-row--implicit {
  background: #fafbfc;
}

@media (max-width: 720px) {
  body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-table-wrap {
    overflow-x: auto;
  }

  body.secplus-pbq-ui.pbq-acl-secops .pbq-acl-table {
    min-width: 640px;
  }
}

/* Subnetting & IP addressing PBQ */
body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-depts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-dept {
  flex: 1 1 140px;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 0.88rem;
  line-height: 1.4;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-dept strong {
  display: block;
  font-size: 0.95rem;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-dept--sales {
  background: #dbeafe;
  border: 1px solid #93c5fd;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-dept--hr {
  background: #fef9c3;
  border: 1px solid #fde047;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-dept--it {
  background: #ffedd5;
  border: 1px solid #fdba74;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-layout {
  display: grid;
  gap: 16px;
}

@media (min-width: 900px) {
  body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-layout {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-calc,
body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-viz,
body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-assign {
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-assign {
  margin-top: 16px;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-panel-title {
  margin: 0 0 12px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #475569;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-panel-title--sub {
  margin-top: 16px;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-fields {
  margin: 0;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-field {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid #f1f5f9;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-field dt {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: #334155;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-field dd {
  margin: 0;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-fixed {
  display: inline-block;
  padding: 7px 10px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.85rem;
  background: #f1f5f9;
  border-radius: 6px;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-input,
body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-select {
  width: 100%;
  padding: 7px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font-size: 0.85rem;
  background: #fff;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-input--ok,
body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-select.pbq-subnet-input--ok {
  border-color: #16a34a;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-input--bad,
body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-select.pbq-subnet-input--bad {
  border-color: #dc2626;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-results__title {
  margin: 14px 0 8px;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-results__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 12px;
  margin: 0;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-results__grid dt {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-results__grid dd {
  margin: 2px 0 0;
  font-size: 0.9rem;
  font-weight: 700;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-bits {
  display: flex;
  gap: 4px;
  margin-bottom: 10px;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-bit {
  flex: 1;
  padding: 10px 4px;
  text-align: center;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight: 700;
  font-size: 0.9rem;
  border-radius: 6px;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-bit--net {
  background: #dcfce7;
  color: #166534;
  border: 1px solid #86efac;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-bit--host {
  background: #dbeafe;
  color: #1e40af;
  border: 1px solid #93c5fd;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-viz__summary {
  margin: 0 0 12px;
  font-size: 0.82rem;
  color: #475569;
  line-height: 1.45;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-magic {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-magic th,
body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-magic td {
  padding: 8px 10px;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-magic thead th {
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  color: #fff;
  background: #1e3a5f;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-magic tbody tr {
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-magic--active {
  background: #dcfce7;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-magic--warn {
  color: #b91c1c;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-assign__note {
  margin: 0 0 12px;
  font-size: 0.88rem;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-assign__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-assign__table th,
body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-assign__table td {
  padding: 10px 12px;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
  vertical-align: middle;
}

body.secplus-pbq-ui.pbq-subnet-ip .pbq-subnet-assign__table thead th {
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  color: #fff;
  background: #1e3a5f;
}

/* Wireless AP secure configuration PBQ */
body.secplus-pbq-ui.pbq-wap-config .pbq-wap-layout {
  display: grid;
  gap: 16px;
}

@media (min-width: 900px) {
  body.secplus-pbq-ui.pbq-wap-config .pbq-wap-layout {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-panel {
  padding: 16px 18px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-panel__title {
  margin: 0 0 14px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #475569;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-field {
  margin-bottom: 12px;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-field label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #334155;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-select,
body.secplus-pbq-ui.pbq-wap-config .pbq-wap-input {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 0.85rem;
  background: #fff;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-select--ok,
body.secplus-pbq-ui.pbq-wap-config .pbq-wap-input--ok {
  border-color: #16a34a;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-select--bad,
body.secplus-pbq-ui.pbq-wap-config .pbq-wap-input--bad {
  border-color: #dc2626;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-toggles {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 14px;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-toggle--ok {
  border-color: #16a34a;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-toggle--bad {
  border-color: #dc2626;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-toggle__copy strong {
  display: block;
  font-size: 0.85rem;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-toggle__copy span {
  font-size: 0.75rem;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-toggle__btns {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-toggle__btn {
  padding: 6px 12px;
  font-size: 0.78rem;
  font-weight: 700;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #64748b;
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-toggle__btn--active {
  border-color: #2563eb;
  background: #2563eb;
  color: #fff;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-preview {
  padding: 12px 14px;
  border-radius: 8px;
  background: #0f172a;
  color: #e2e8f0;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-preview__title {
  margin: 0 0 10px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-preview__list {
  display: grid;
  gap: 6px;
  margin: 0;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-preview__list div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.82rem;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-preview__list dt {
  color: #94a3b8;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-preview__list dd {
  margin: 0;
  font-weight: 600;
  text-align: right;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-preview__val--ok {
  color: #4ade80;
}

body.secplus-pbq-ui.pbq-wap-config .pbq-wap-preview__val--bad {
  color: #f87171;
}

/* Home router WLAN — three-tab consumer router PBQ */
body.secplus-pbq-ui.pbq-home-router.pbq-wap-config .pbq-suite-header .pbq-instructions {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid #152a45;
  border-radius: 10px;
  background: #1e3a5f;
  color: #fff;
  line-height: 1.5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

body.secplus-pbq-ui.pbq-home-router.pbq-wap-config .pbq-suite-header .pbq-instructions strong {
  color: #fff;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-home-router.pbq-mdm-config .pbq-suite-header .pbq-instructions {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid #152a45;
  border-radius: 10px;
  background: #1e3a5f;
  color: #fff;
  line-height: 1.5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

body.secplus-pbq-ui.pbq-home-router.pbq-mdm-config .pbq-suite-header .pbq-instructions strong {
  color: #fff;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-home-router.pbq-site-to-site-vpn .pbq-suite-header .pbq-instructions {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid #152a45;
  border-radius: 10px;
  background: #1e3a5f;
  color: #fff;
  line-height: 1.5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

body.secplus-pbq-ui.pbq-home-router.pbq-site-to-site-vpn .pbq-suite-header .pbq-instructions strong {
  color: #fff;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-layout {
  align-items: start;
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-reqs__list {
  margin: 0 0 12px;
  padding-left: 1.2rem;
  line-height: 1.55;
  color: #334155;
  font-size: 0.92rem;
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-reqs__list code {
  font-size: 0.86rem;
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-console-wrap {
  display: grid;
  gap: 0;
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 0;
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-tab {
  flex: 1 1 0;
  min-width: 108px;
  padding: 10px 14px;
  border: 0;
  border-radius: 6px 6px 0 0;
  background: #e8ebf5;
  font-size: 0.84rem;
  font-weight: 600;
  color: #334155;
  cursor: pointer;
  box-shadow: none;
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-tab--active {
  background: #4a5568;
  color: #fff;
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-box {
  border: 1px solid #0f172a;
  border-radius: 0 4px 4px 4px;
  background: #fff;
  padding: 0;
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-pane {
  padding: 16px 18px 20px;
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-pane__title {
  margin: 0 0 14px;
  font-size: 1rem;
  font-weight: 700;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-field {
  margin-bottom: 12px;
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-field label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #1e293b;
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-select,
body.secplus-pbq-ui.pbq-home-router .pbq-home-router-input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  font-size: 0.9rem;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-select--ok,
body.secplus-pbq-ui.pbq-home-router .pbq-home-router-input--ok {
  border-color: #16a34a;
  box-shadow: 0 0 0 1px rgba(22, 163, 74, 0.35);
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-select--bad,
body.secplus-pbq-ui.pbq-home-router .pbq-home-router-input--bad {
  border-color: #dc2626;
  box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.35);
}

body.secplus-pbq-ui.pbq-home-router .pbq-home-router-input--mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.86rem;
}

body.secplus-pbq-ui.pbq-bct-sim.pbq-home-router .pbq-home-router-tabs {
  gap: 0;
  background: #1e3a5f;
}

body.secplus-pbq-ui.pbq-bct-sim.pbq-home-router .pbq-home-router-tab {
  background: #1e3a5f;
  color: #fff;
  border-radius: 0;
}

body.secplus-pbq-ui.pbq-bct-sim.pbq-home-router .pbq-home-router-tab--active {
  background: #2563eb;
  color: #fff;
}

body.secplus-pbq-ui.pbq-bct-sim.pbq-home-router .pbq-home-router-tab:hover:not(.pbq-home-router-tab--active) {
  background: #274d78;
  filter: none;
}

/* Cloud WAF — four-tab console (logging tab wraps to second row) */
body.secplus-pbq-ui.pbq-waf-config .pbq-waf-tabs .pbq-home-router-tab {
  flex: 0 0 33.333%;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-waf-tab--logging {
  margin-top: 0;
}

/* Sample ITSM ticket panel (WAF, SIEM, etc.) */
body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket {
  padding: 0;
  overflow: hidden;
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__header {
  padding: 14px 16px;
  border-bottom: 1px solid #e2e8f0;
  background: linear-gradient(180deg, #fff 0%, #f1f5f9 100%);
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  margin-bottom: 12px;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__badge {
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #1e40af;
  background: #dbeafe;
  border: 1px solid #93c5fd;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__id {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__status {
  margin-left: auto;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__status--open {
  color: #166534;
  background: #dcfce7;
  border: 1px solid #86efac;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__meta {
  display: grid;
  gap: 8px;
  margin: 0;
}

@media (min-width: 520px) {
  body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__meta {
    grid-template-columns: 1fr 1fr;
  }
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__meta-item {
  margin: 0;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__meta-item dt {
  margin: 0 0 2px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__meta-item dd {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.4;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__summary {
  margin: 0;
  padding: 12px 16px;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #334155;
  border-bottom: 1px solid #e2e8f0;
  background: #fff;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__notes {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__note {
  padding: 12px 16px 14px;
  border-bottom: 1px solid #e2e8f0;
  background: #fff;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__note:last-child {
  border-bottom: none;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__note-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 12px;
  margin-bottom: 6px;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__author {
  font-size: 0.78rem;
  font-weight: 700;
  color: #1e3a5f;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__time {
  font-size: 0.72rem;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__task-label {
  margin: 0 0 6px;
  padding-left: 10px;
  border-left: 3px solid #2563eb;
  font-size: 0.8rem;
  font-weight: 700;
  color: #1e40af;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__task-list {
  margin: 0;
  padding-left: 1.25rem;
  font-size: 0.86rem;
  line-height: 1.45;
  color: #334155;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__task-list li + li {
  margin-top: 4px;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-sample-ticket__footer {
  margin: 0;
  padding: 10px 16px;
  font-size: 0.8rem;
  line-height: 1.45;
  color: #64748b;
  background: #f1f5f9;
  border-top: 1px solid #e2e8f0;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-waf-ticket__section {
  margin: 14px 0 6px;
  font-size: 0.88rem;
  font-weight: 700;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-waf-ticket__section:first-of-type {
  margin-top: 0;
}

body.secplus-pbq-ui.pbq-waf-config .pbq-waf-ticket__text {
  margin: 0 0 8px;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #334155;
}

body.secplus-pbq-ui.pbq-mdm-config .pbq-home-router-pane[data-pane="ios"] .pbq-home-router-field label {
  font-size: 0.86rem;
}

body.secplus-pbq-ui.pbq-siem-alert-config .pbq-siem-alert-tabs .pbq-home-router-tab {
  flex: 1 1 0;
  min-width: 140px;
}

body.secplus-pbq-ui.pbq-siem-alert-config .pbq-siem-help {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
  font-size: 0.84rem;
  line-height: 1.45;
  color: #475569;
}

body.secplus-pbq-ui.pbq-siem-alert-config .pbq-siem-help__title {
  margin: 0 0 4px;
  font-weight: 700;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-siem-alert-config .pbq-siem-help__lead {
  margin: 0 0 8px;
}

body.secplus-pbq-ui.pbq-siem-alert-config .pbq-siem-help__list {
  margin: 0;
  padding-left: 1.15rem;
}

body.secplus-pbq-ui.pbq-siem-alert-config .pbq-siem-help__list li {
  margin-bottom: 6px;
}

body.secplus-pbq-ui.pbq-protocol-match .layout--protocol-match {
  align-items: start;
}

body.secplus-pbq-ui.pbq-protocol-match:not(.pbq-crypto-match) .layout--protocol-match {
  grid-template-columns: minmax(200px, 1fr) minmax(0, 2fr);
}

body.secplus-pbq-ui.pbq-protocol-match .bank--protocols {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body.secplus-pbq-ui.pbq-protocol-match .bank--protocols .token {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-protocol-match .layer-row--protocol {
  grid-template-columns: minmax(108px, 0.34fr) minmax(0, 1fr);
  align-items: center;
  background: #fff;
  border-color: #e2e8f0;
}

body.secplus-pbq-ui.pbq-protocol-match .layer-list-box--protocol {
  background: #f8fafc;
  border-color: #cbd5e1;
}

body.secplus-pbq-ui.pbq-protocol-match .drop-slot--protocol {
  min-height: 44px;
}

body.secplus-pbq-ui.pbq-protocol-match:not(.pbq-crypto-match) .bank--protocols .token {
  border-color: #1e3a5f;
  background: #1e3a5f;
  color: #fff;
}

body.secplus-pbq-ui.pbq-protocol-match:not(.pbq-crypto-match) .bank--protocols .token:hover {
  background: #274d78;
  border-color: #274d78;
}

body.secplus-pbq-ui.pbq-protocol-match:not(.pbq-crypto-match) .bank--protocols .token.is-picked {
  border-color: #2563eb;
  background: #2563eb;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.35);
  color: #fff;
}

body.secplus-pbq-ui.pbq-protocol-match:not(.pbq-crypto-match) .drop-slot--protocol .token {
  border-color: #1e3a5f;
  background: #1e3a5f;
  color: #fff;
}

body.secplus-pbq-ui.pbq-ir-match .bank--ir-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body.secplus-pbq-ui.pbq-ir-match .token--ir-action {
  width: 100%;
  box-sizing: border-box;
  text-align: left;
  font-size: 0.82rem;
  line-height: 1.35;
  font-weight: 600;
  border-color: #1e3a5f;
  background: #1e3a5f;
  color: #fff;
}

body.secplus-pbq-ui.pbq-ir-match .bank--ir-actions .token.is-picked {
  border-color: #2563eb;
  background: #2563eb;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.35);
}

body.secplus-pbq-ui.pbq-ir-match .bank--ir-actions .token--ir-action:hover {
  background: #274d78;
  border-color: #274d78;
}

body.secplus-pbq-ui.pbq-ir-match .ir-phase-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.secplus-pbq-ui.pbq-ir-match .ir-phase-bucket {
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
  padding: 10px 12px;
}

body.secplus-pbq-ui.pbq-ir-match .ir-phase-bucket__title {
  margin: 0 0 8px;
  font-size: 0.92rem;
  font-weight: 700;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-ir-match .pbq-ir-match__hint {
  margin: 0 0 12px;
  font-size: 0.84rem;
  line-height: 1.45;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-ir-match .drop-slot--ir-bucket {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 88px;
  padding: 8px;
  border-radius: 8px;
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-ir-match .drop-slot--ir-bucket .token {
  width: 100%;
  box-sizing: border-box;
  font-size: 0.78rem;
  line-height: 1.35;
  text-align: left;
  border-color: #1e3a5f;
  background: #1e3a5f;
  color: #fff;
}

body.secplus-pbq-ui.pbq-ir-match .token.token--ok {
  border-color: #16a34a;
  background: #166534;
  color: #fff;
  box-shadow: 0 0 0 1px rgba(22, 163, 74, 0.35);
}

body.secplus-pbq-ui.pbq-ir-match .token.token--bad {
  border-color: #dc2626;
  background: #991b1b;
  color: #fff;
  box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.35);
}

body.secplus-pbq-ui.pbq-bct-sim.pbq-ir-match .bank--ir-actions .token {
  border-color: #1e3a5f;
  background: #1e3a5f;
  color: #fff;
}

body.secplus-pbq-ui.pbq-crypto-match .bank--crypto-algorithms {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body.secplus-pbq-ui.pbq-crypto-match .token--crypto-algorithm {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  font-weight: 700;
  border-color: #1e3a5f;
  background: #1e3a5f;
  color: #fff;
}

body.secplus-pbq-ui.pbq-crypto-match .bank--crypto-algorithms .token--crypto-algorithm:hover {
  background: #274d78;
  border-color: #274d78;
}

body.secplus-pbq-ui.pbq-crypto-match .bank--crypto-algorithms .token.is-picked {
  border-color: #2563eb;
  background: #2563eb;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.35);
}

body.secplus-pbq-ui.pbq-crypto-match .drop-slot--protocol .token--crypto-algorithm {
  border-color: #1e3a5f;
  background: #1e3a5f;
  color: #fff;
}

body.secplus-pbq-ui.pbq-crypto-match .token.token--ok {
  border-color: #16a34a;
  background: #166534;
  color: #fff;
  box-shadow: 0 0 0 1px rgba(22, 163, 74, 0.35);
}

body.secplus-pbq-ui.pbq-crypto-match .token.token--bad {
  border-color: #dc2626;
  background: #991b1b;
  color: #fff;
  box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.35);
}

body.secplus-pbq-ui.pbq-crypto-match .pbq-crypto-match__hint {
  margin: 0 0 12px;
  font-size: 0.84rem;
  line-height: 1.45;
  color: #64748b;
}

/* Site-to-site VPN configuration PBQ */
body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-sim {
  display: grid;
  gap: 16px;
}

body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-topology {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 18px;
  margin: 0;
  padding: 16px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: linear-gradient(180deg, #f8fafc 0%, #eff6ff 100%);
}

body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-topology__site {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 9rem;
}

body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-topology__hq {
  padding: 8px 14px;
  border: 2px solid #3b82f6;
  border-radius: 8px;
  background: #fff;
  font-weight: 800;
  font-size: 0.9rem;
}

body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-topology__lan {
  font-size: 0.78rem;
  font-weight: 700;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color: #334155;
}

body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-topology__gw {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 10px 12px;
  border: 1px solid #94a3b8;
  border-radius: 8px;
  background: #fff;
  font-size: 0.76rem;
}

body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-topology__gw-label {
  font-weight: 700;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-topology__gw-ip {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight: 700;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-topology__cloud {
  padding: 10px 16px;
  border-radius: 999px;
  background: #e2e8f0;
  font-size: 0.82rem;
  font-weight: 700;
  color: #475569;
}

body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-gateways {
  display: grid;
  gap: 16px;
}

@media (min-width: 960px) {
  body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-gateways {
    grid-template-columns: 1fr 1fr;
  }
}

body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-gateway h2 {
  margin: 0 0 12px;
  font-size: 0.95rem;
}

body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-gateway__meta {
  display: block;
  margin-top: 4px;
  font-size: 0.76rem;
  font-weight: 600;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-phases {
  display: grid;
  gap: 14px;
}

@media (min-width: 640px) {
  body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-phases {
    grid-template-columns: 1fr 1fr;
  }
}

body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-phase {
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fafbfc;
}

body.secplus-pbq-ui.pbq-site-to-site-vpn .pbq-vpn-phase__title {
  margin: 0 0 10px;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #1e40af;
}

/* Malware infection log analysis PBQ */
body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-suite-header .pbq-instructions {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid #152a45;
  border-radius: 10px;
  background: #1e3a5f;
  color: #fff;
  line-height: 1.5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-suite-header .pbq-instructions strong {
  color: #fff;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-sim {
  display: grid;
  gap: 16px;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-hosts {
  display: grid;
  gap: 12px;
}

@media (min-width: 900px) {
  body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-hosts {
    grid-template-columns: 1fr 1fr;
  }
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-host {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-host__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-host__head h3 {
  margin: 0;
  font-size: 0.92rem;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-host__ip {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight: 600;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-host__label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-host__label select {
  min-width: 8.5rem;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-host__log {
  margin: 0;
  max-height: 11rem;
  overflow: auto;
  font-size: 0.72rem;
  line-height: 1.45;
  border-radius: 0;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-host__log .pbq-malware-log-line {
  display: block;
  padding: 1px 8px;
  margin: 0 -8px;
  border-left: 3px solid transparent;
  border-radius: 2px;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-line--evidence {
  background: rgba(251, 191, 36, 0.22);
  border-left-color: #fbbf24;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-line--evidence-clean {
  background: rgba(74, 222, 128, 0.18);
  border-left-color: #4ade80;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-fw__table tr.pbq-malware-log-fw__row--evidence td {
  background: rgba(251, 191, 36, 0.2);
  box-shadow: inset 3px 0 0 #f59e0b;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-fw__table tr.pbq-malware-log-fw__row--evidence:nth-child(even) td {
  background: rgba(251, 191, 36, 0.28);
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-fw__wrap {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-fw__table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 0.8rem;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-fw__table thead th {
  padding: 10px 8px;
  text-align: left;
  background: #1e3a5f;
  color: #fff;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-fw__table tbody td {
  padding: 8px;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: top;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-fw__table tbody tr:nth-child(even) {
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log__hint {
  margin: 0 0 10px;
  font-size: 0.84rem;
  line-height: 1.45;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-select {
  border-color: #1e3a5f;
  background: #1e3a5f;
  color: #fff;
  font-weight: 600;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-select option {
  background: #fff;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-host--ok {
  border-color: #16a34a;
  box-shadow: 0 0 0 1px rgba(22, 163, 74, 0.25);
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-malware-log-host--bad {
  border-color: #dc2626;
  box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.25);
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-home-router-select--ok.pbq-malware-log-select {
  border-color: #16a34a;
  background: #166534;
}

body.secplus-pbq-ui.pbq-malware-log-analysis .pbq-home-router-select--bad.pbq-malware-log-select {
  border-color: #dc2626;
  background: #991b1b;
}

/* Web app subnet zoning PBQ */
body.secplus-pbq-ui.pbq-subnet-zoning .layout--subnet-zoning {
  align-items: start;
}

body.secplus-pbq-ui.pbq-subnet-zoning .bank--subnet-components {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body.secplus-pbq-ui.pbq-subnet-zoning .bank--subnet-components .token {
  width: 100%;
  box-sizing: border-box;
  text-align: left;
  font-size: 0.84rem;
}

body.secplus-pbq-ui.pbq-subnet-zoning .pbq-subnet-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body.secplus-pbq-ui.pbq-subnet-zoning .pbq-subnet-zone {
  border: 2px solid #cbd5e1;
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
}

body.secplus-pbq-ui.pbq-subnet-zoning .pbq-subnet-zone--public {
  border-color: #60a5fa;
  background: #eff6ff;
}

body.secplus-pbq-ui.pbq-subnet-zoning .pbq-subnet-zone--middle {
  border-color: #fbbf24;
  background: #fffbeb;
}

body.secplus-pbq-ui.pbq-subnet-zoning .pbq-subnet-zone--private {
  border-color: #34d399;
  background: #ecfdf5;
}

body.secplus-pbq-ui.pbq-subnet-zoning .pbq-subnet-zone__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

body.secplus-pbq-ui.pbq-subnet-zoning .pbq-subnet-zone__title {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

body.secplus-pbq-ui.pbq-subnet-zoning .pbq-subnet-zone__hint {
  margin: 0;
  font-size: 0.76rem;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-subnet-zoning .pbq-subnet-zone__type {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  font-weight: 700;
}

body.secplus-pbq-ui.pbq-subnet-zoning .pbq-subnet-zone__slots {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.secplus-pbq-ui.pbq-subnet-zoning .pbq-subnet-slot__label {
  margin: 0 0 6px;
  font-size: 0.76rem;
  font-weight: 600;
  color: #334155;
  line-height: 1.35;
}

body.secplus-pbq-ui.pbq-subnet-zoning .drop-slot--subnet {
  min-height: 44px;
}

body.secplus-pbq-ui.pbq-subnet-zoning .drop-slot--subnet .token {
  width: 100%;
  box-sizing: border-box;
  font-size: 0.8rem;
  text-align: left;
}

body.secplus-pbq-ui.pbq-subnet-zoning .pbq-subnet-flow-arrow {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  color: #64748b;
  line-height: 1;
}

body.secplus-pbq-ui.pbq-bct-sim.pbq-subnet-zoning .bank--subnet-components .token {
  border-color: #005ecb;
  background: rgba(0, 100, 230, 0.08);
}

/* Security control placement — three-zone network diagram */
body.secplus-pbq-ui.pbq-sec-control-map .layout--sec-control-map {
  display: grid;
  gap: 18px;
}

body.secplus-pbq-ui.pbq-sec-control-map .bank--sec-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.secplus-pbq-ui.pbq-sec-control-map .bank--sec-controls .token {
  flex: 1 1 140px;
  max-width: 100%;
}

body.secplus-pbq-ui.pbq-sec-control-map .sec-zone-flow {
  display: grid;
  gap: 12px;
  align-items: stretch;
}

@media (min-width: 900px) {
  body.secplus-pbq-ui.pbq-sec-control-map .sec-zone-flow {
    grid-template-columns: 1fr auto 1.4fr auto 1.4fr;
    align-items: start;
  }
}

body.secplus-pbq-ui.pbq-sec-control-map .sec-zone {
  border: 2px solid #cbd5e1;
  border-radius: 12px;
  padding: 14px;
  background: #fff;
}

body.secplus-pbq-ui.pbq-sec-control-map .sec-zone--internet {
  border-color: #94a3b8;
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-sec-control-map .sec-zone--dmz {
  border-color: #fb923c;
  background: #fff7ed;
}

body.secplus-pbq-ui.pbq-sec-control-map .sec-zone--internal {
  border-color: #60a5fa;
  background: #eff6ff;
}

body.secplus-pbq-ui.pbq-sec-control-map .sec-zone__title {
  margin: 0 0 4px;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-sec-control-map .sec-zone__assets {
  margin: 0 0 12px;
  font-size: 0.78rem;
  color: #64748b;
  line-height: 1.4;
}

body.secplus-pbq-ui.pbq-sec-control-map .sec-zone__slots {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.secplus-pbq-ui.pbq-sec-control-map .sec-slot__label {
  margin: 0 0 6px;
  font-size: 0.76rem;
  font-weight: 700;
  color: #334155;
  line-height: 1.35;
}

body.secplus-pbq-ui.pbq-sec-control-map .sec-slot .drop-slot {
  min-height: 52px;
}

body.secplus-pbq-ui.pbq-sec-control-map .sec-zone-arrow {
  display: none;
  align-self: center;
  font-size: 1.5rem;
  font-weight: 700;
  color: #3b82f6;
}

@media (min-width: 900px) {
  body.secplus-pbq-ui.pbq-sec-control-map .sec-zone-arrow {
    display: block;
    padding-top: 2.5rem;
  }
}

/* Advanced Firewall Rule Configurator PBQ */
body.secplus-pbq-ui.pbq-afw-config .pbq-afw-sim {
  display: grid;
  gap: 20px;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-panel-title {
  margin: 0 0 12px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #475569;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-policy,
body.secplus-pbq-ui.pbq-afw-config .pbq-afw-topology,
body.secplus-pbq-ui.pbq-afw-config .pbq-afw-rules {
  padding: 16px 18px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-exhibit {
  background: #f8fafc;
  border-color: #cbd5e1;
  text-align: center;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-exhibit .pbq-afw-panel-title {
  text-align: center;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-topo__layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  max-width: 52rem;
  margin: 0 auto;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-topo__path {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 14px;
  width: 100%;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-topo__path--mgmt {
  padding-top: 12px;
  border-top: 1px dashed #e2e8f0;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-topo__note {
  margin: 0;
  max-width: 36rem;
  font-size: 0.84rem;
  line-height: 1.45;
  color: #475569;
  text-align: center;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-policy__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-policy__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 0;
  font-size: 0.92rem;
  line-height: 1.45;
  border-bottom: 1px solid #f1f5f9;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-policy__check {
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.15rem;
  border: 2px solid #cbd5e1;
  border-radius: 50%;
  background: #fff;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-policy__item--pass .pbq-afw-policy__check {
  border-color: #16a34a;
  background: #16a34a;
  box-shadow: inset 0 0 0 2px #fff;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-topo__grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-topo__node {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 7rem;
  padding: 12px 14px;
  text-align: center;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  font-size: 0.85rem;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-topo__node--focus {
  border: 2px solid #3b82f6;
  background: #eff6ff;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-topo__node--small {
  min-width: 6rem;
  padding: 10px 12px;
  font-size: 0.8rem;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-topo__icon {
  font-size: 1.5rem;
  line-height: 1;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-topo__meta {
  font-size: 0.78rem;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-topo__arrow {
  font-size: 1.25rem;
  font-weight: 700;
  color: #3b82f6;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-topo__arrow--down {
  transform: rotate(90deg);
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-topo__branch {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-left: 8px;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-rules__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-add-btn {
  padding: 8px 14px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #fff;
  background: #2563eb;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-add-btn:hover {
  background: #1d4ed8;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-table-wrap {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 0.85rem;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-table thead th {
  padding: 10px 8px;
  text-align: left;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  background: #1e3a5f;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-table tbody td,
body.secplus-pbq-ui.pbq-afw-config .pbq-afw-table tbody th {
  padding: 8px 6px;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: middle;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-row-num {
  font-weight: 700;
  color: #2563eb;
  text-align: center;
  width: 2rem;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-select,
body.secplus-pbq-ui.pbq-afw-config .pbq-afw-input {
  width: 100%;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font-size: 0.82rem;
  background: #fff;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-field--ok {
  border-color: #16a34a;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-field--bad {
  border-color: #dc2626;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-del-btn {
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  font-size: 1.1rem;
  line-height: 1;
  color: #dc2626;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 6px;
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-hint {
  margin: 10px 0 0;
  font-size: 0.85rem;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-hint[role="note"] {
  padding: 8px 10px;
  border-radius: 8px;
  color: #5b21b6;
  background: #f5f3ff;
  border: 1px solid #ddd6fe;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-hint--field {
  margin-top: 6px;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-log {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 8px;
  background: #0f172a;
  color: #e2e8f0;
  max-height: 9rem;
  overflow-y: auto;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-log__title {
  margin: 0 0 8px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
}

body.secplus-pbq-ui.pbq-afw-config .pbq-afw-log__body {
  margin: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  line-height: 1.5;
  white-space: pre-wrap;
  color: #cbd5e1;
}

/* Ransomware DR — Acme Corp */
body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-metrics {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin: 16px 0 20px;
}

@media (min-width: 720px) {
  body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-metrics {
    grid-template-columns: repeat(4, 1fr);
  }
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-metric {
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  text-align: center;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-metric--sla {
  border-color: #93c5fd;
  background: #eff6ff;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-metric--rpo {
  border-color: #fcd34d;
  background: #fffbeb;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-metric--budget {
  border-color: #86efac;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-metric--attack {
  border-color: #fca5a5;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-metric__label {
  display: block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-metric__value {
  display: block;
  margin: 6px 0 2px;
  font-size: 1.15rem;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-metric__hint {
  display: block;
  font-size: 0.78rem;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-metrics--sticky {
  position: sticky;
  top: 8px;
  z-index: 2;
  margin-bottom: 12px;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

body.secplus-pbq-ui.pbq-dr-ransomware .layout--dr-order .bank--dr-steps {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.secplus-pbq-ui.pbq-dr-ransomware .token--dr {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px;
  line-height: 1.35;
  text-align: left;
}

body.secplus-pbq-ui.pbq-dr-ransomware .token--dr span {
  font-size: 0.82rem;
  color: #475569;
  font-weight: 400;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-order-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-order-list > li {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 10px;
  align-items: stretch;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-order-num {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1rem;
  color: #2563eb;
}

body.secplus-pbq-ui.pbq-dr-ransomware .drop-slot--dr {
  min-height: 3.5rem;
}

body.secplus-pbq-ui.pbq-dr-ransomware .drop-slot--dr:empty::before {
  content: "Drop step here";
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-targets-grid {
  display: grid;
  gap: 20px;
}

@media (min-width: 800px) {
  body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-targets-grid {
    grid-template-columns: 1fr 1fr;
  }
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-targets-panel {
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fafbfc;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-targets-panel h2 {
  margin: 0 0 14px;
  font-size: 1rem;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 14px;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-field__label {
  font-weight: 700;
  font-size: 0.9rem;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-field__hint {
  font-size: 0.8rem;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 0.88rem;
  background: #fff;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-select--ok {
  border-color: #16a34a;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-select--bad {
  border-color: #dc2626;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-tradeoffs {
  padding: 16px;
  border: 2px solid #fbbf24;
  border-radius: 10px;
  background: #fffbeb;
}

body.secplus-pbq-ui.pbq-dr-ransomware .pbq-dr-tradeoffs .pbq-ai-attack-mcq + .pbq-ai-attack-mcq {
  margin-top: 20px;
}

/* SIEM ransomware — Sigma / MITRE PBQ */
body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-timeline {
  margin: 16px 0;
  padding: 16px 18px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-timeline h2 {
  margin: 0 0 12px;
  font-size: 0.95rem;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-timeline__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-timeline__list li {
  display: grid;
  grid-template-columns: 3.5rem 5.5rem 1fr;
  gap: 8px 10px;
  align-items: start;
  font-size: 0.88rem;
  line-height: 1.45;
  padding-bottom: 10px;
  border-bottom: 1px solid #e2e8f0;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-timeline__list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-timeline__list time {
  font-weight: 700;
  color: #334155;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-host {
  font-weight: 700;
  font-size: 0.78rem;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-tag {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  white-space: nowrap;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-tag--initial { background: #ffedd5; color: #9a3412; }
body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-tag--exec { background: #fef3c7; color: #92400e; }
body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-tag--cred { background: #ede9fe; color: #5b21b6; }
body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-tag--lat { background: #e0e7ff; color: #3730a3; }
body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-tag--impact { background: #fee2e2; color: #991b1b; }

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-sigma-choices {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-sigma-card {
  display: block;
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-sigma-card input {
  position: absolute;
  opacity: 0;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-sigma-card__body {
  display: block;
  padding: 12px 14px;
  border: 2px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-sigma-card:has(input:checked) .pbq-siem-sigma-card__body {
  border-color: #2563eb;
  box-shadow: 0 0 0 1px #2563eb;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-yaml {
  margin: 0 0 8px;
  padding: 10px 12px;
  background: #1e293b;
  color: #e2e8f0;
  border-radius: 8px;
  font-size: 0.78rem;
  line-height: 1.45;
  overflow-x: auto;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-sigma-note {
  font-size: 0.85rem;
  color: #475569;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-hint {
  margin: 0 0 12px;
  font-size: 0.88rem;
  color: #64748b;
  font-style: italic;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-event-exhibit {
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-event-exhibit h2 {
  margin: 0 0 10px;
  font-size: 0.95rem;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-log {
  margin: 0;
  padding: 12px 14px;
  background: #1e293b;
  color: #e2e8f0;
  border-radius: 8px;
  font-size: 0.78rem;
  line-height: 1.5;
  overflow-x: auto;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-alert-index h2 {
  margin: 0 0 10px;
  font-size: 0.95rem;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-alert-table--index {
  min-width: 640px;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-alert-table-wrap {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-alert-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 0.86rem;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-alert-table thead th {
  padding: 10px 8px;
  text-align: left;
  background: #1e3a5f;
  color: #fff;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-alert-table tbody td,
body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-alert-table tbody th {
  padding: 10px 8px;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: top;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-sev {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 0.72rem;
  font-weight: 800;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-sev--high {
  background: #ffedd5;
  color: #c2410c;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-sev--crit {
  background: #fee2e2;
  color: #b91c1c;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-mitre-select,
body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-select {
  width: 100%;
  min-width: 10rem;
  padding: 8px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 0.85rem;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-mitre-select--ok,
body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-select--ok {
  border-color: #16a34a;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-mitre-select--bad,
body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-select--bad {
  border-color: #dc2626;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-contain {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-contain-block {
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fafbfc;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-contain-block--purple {
  border-color: #c4b5fd;
  background: #faf5ff;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-contain-block h2 {
  margin: 0 0 10px;
  font-size: 1rem;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-contain-checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-contain-checks label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-siem-ransomware label.pbq-siem-check--ok {
  border-color: #16a34a;
  background: #f0fdf4;
}

body.secplus-pbq-ui.pbq-siem-ransomware label.pbq-siem-check--bad {
  border-color: #dc2626;
  background: #fef2f2;
}

body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-field {
  display: block;
  margin-top: 10px;
}

@media (max-width: 800px) {
  body.secplus-pbq-ui.pbq-siem-ransomware .pbq-siem-timeline__list li {
    grid-template-columns: 1fr;
  }
}

/* PBQ Production suite — one page, folder sidebar, exhibit modals */
body.secplus-pbq-ui.pbq-folder-suite .question-shell--suite {
  max-width: 1280px;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-card--suite {
  padding-bottom: 24px;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-header h1 {
  margin: 0 0 8px;
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-layout {
  display: grid;
  gap: 16px;
  align-items: start;
}

@media (min-width: 900px) {
  body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-layout {
    grid-template-columns: minmax(220px, 260px) 1fr;
  }
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-folders {
  margin: 0;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f8fafc;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-folders--flat .pbq-suite-folders__label {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-folders__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.secplus-pbq-ui.pbq-hub .pbq-hub-list {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

body.secplus-pbq-ui.pbq-hub .pbq-hub-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f8fafc;
  text-decoration: none;
  color: inherit;
}

body.secplus-pbq-ui.pbq-hub .pbq-hub-card:hover {
  border-color: #254b8a;
  background: #eff6ff;
}

body.secplus-pbq-ui.pbq-hub .pbq-hub-card strong {
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-hub .pbq-hub-card span {
  font-size: 0.84rem;
  color: #475569;
  line-height: 1.45;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-scenario {
  margin: 0 0 8px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-scenario__head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  font-weight: 800;
  font-size: 0.82rem;
  cursor: pointer;
  list-style: none;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-scenario__head::-webkit-details-marker {
  display: none;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-scenario__sections {
  list-style: none;
  margin: 0;
  padding: 0 8px 8px;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-folder__item {
  display: block;
  width: 100%;
  margin: 4px 0;
  padding: 8px 10px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: #334155;
  font-size: 0.8rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-folder__item:hover {
  background: #eff6ff;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-folder__item.is-active {
  background: #254b8a;
  color: #fff;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-folder__item.is-complete::after {
  content: " ✓";
  color: #16a34a;
  font-weight: 800;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-folder__item.is-active.is-complete::after {
  color: #bbf7d0;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-layout--single {
  grid-template-columns: 1fr;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-main {
  min-width: 0;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-section {
  display: none;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-section.is-active {
  display: block;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-section__inner > h1:first-child {
  margin-top: 0;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-suite-footer {
  margin: 20px 0 0;
  text-align: center;
}

body.pbq-modal-open {
  overflow: hidden;
}

.pbq-exhibit-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.pbq-exhibit-modal[hidden] {
  display: none;
}

.pbq-exhibit-modal.is-open {
  display: flex;
}

.pbq-exhibit-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
}

.pbq-exhibit-modal__panel {
  position: relative;
  width: min(920px, 100%);
  max-height: min(88vh, 900px);
  overflow: auto;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
}

.pbq-exhibit-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.pbq-exhibit-modal__title {
  margin: 0;
  font-size: 0.95rem;
}

.pbq-exhibit-modal__close {
  border: none;
  background: transparent;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: #64748b;
}

.pbq-exhibit-modal__body {
  padding: 16px;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-exhibit-launchers {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.secplus-pbq-ui.pbq-folder-suite .pbq-exhibit-store[hidden] {
  display: none;
}

/* --------------------------------------------------------------------------
   BCT simulation pattern — PBQ_Production aligns with SEC+_Sim_Hot_Spot
   simulation-*.html (dark web, malware, VPC). Body: .pbq-bct-sim
   -------------------------------------------------------------------------- */

body.secplus-pbq-ui.pbq-bct-sim {
  background: #ffffff;
  color: #0f172a;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

body.secplus-pbq-ui.pbq-bct-sim .page-logo-watermark img {
  opacity: 0.1;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-suite-eyebrow {
  margin: 0 0 8px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-suite-objectives {
  margin: 0 0 10px;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 0.78rem;
  font-weight: 600;
  color: #5b21b6;
  background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
  border: 1px solid #ddd6fe;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-suite-verified {
  margin: 0 0 10px;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 0.78rem;
  font-weight: 700;
  color: #166534;
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
  border: 1px solid #86efac;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-card h1,
body.secplus-pbq-ui.pbq-bct-sim .pbq-suite-header h1 {
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-bct-sim .lead,
body.secplus-pbq-ui.pbq-bct-sim .pbq-sub {
  color: #475569;
}

body.secplus-pbq-ui.pbq-bct-sim .instructions,
body.secplus-pbq-ui.pbq-bct-sim .pbq-instructions {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #ffffff;
  color: #334155;
  line-height: 1.5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

body.secplus-pbq-ui.pbq-bct-sim .question-nav .question-nav-links {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  width: 100%;
  gap: 10px;
}

body.secplus-pbq-ui.pbq-bct-sim .question-nav .nav-prev {
  justify-self: start;
}

body.secplus-pbq-ui.pbq-bct-sim .question-nav .nav-home {
  justify-self: center;
}

body.secplus-pbq-ui.pbq-bct-sim .question-nav .nav-next {
  justify-self: end;
}

body.secplus-pbq-ui.pbq-bct-sim .question-nav .nav-link {
  color: #ffffff;
  background: rgba(0, 100, 230, 0.92);
  border: 1px solid #005ecb;
  box-shadow: none;
}

body.secplus-pbq-ui.pbq-bct-sim .question-nav .nav-link:hover {
  background: rgba(0, 82, 200, 0.98);
  border-color: #004799;
  filter: none;
}

body.secplus-pbq-ui.pbq-bct-sim .sim-frame {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #ffffff;
  padding: 14px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

body.secplus-pbq-ui.pbq-bct-sim .layout > .panel,
body.secplus-pbq-ui.pbq-bct-sim .pbq-suite-section .panel {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #ffffff;
  padding: 14px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

body.secplus-pbq-ui.pbq-bct-sim .panel h2 {
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-exhibit-launchers {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
  margin: 12px 0;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-exhibit-launchers li {
  margin: 0;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-exhibit-launchers .btn,
body.secplus-pbq-ui.pbq-bct-sim .sim-frame > .btn.btn-primary,
body.secplus-pbq-ui.pbq-bct-sim .sim-frame > .btn.btn-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 72px;
  margin: 0;
  border: 1px solid #005ecb;
  border-radius: 10px;
  padding: 14px 10px;
  background: rgba(0, 100, 230, 0.92);
  color: #ffffff;
  font-weight: 700;
  font-size: 0.88rem;
  line-height: 1.3;
  text-align: center;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-exhibit-launchers .btn:hover,
body.secplus-pbq-ui.pbq-bct-sim .sim-frame > .btn:hover {
  background: rgba(0, 82, 200, 0.98);
  border-color: #004799;
  box-shadow: 0 0 0 2px rgba(0, 100, 230, 0.35);
}

body.secplus-pbq-ui.pbq-bct-sim .actions button {
  border: 1px solid #005ecb;
  background: rgba(0, 100, 230, 0.92);
  color: #ffffff;
}

body.secplus-pbq-ui.pbq-bct-sim .actions button:hover {
  background: rgba(0, 82, 200, 0.98);
  border-color: #004799;
  box-shadow: 0 0 0 2px rgba(0, 100, 230, 0.35);
  filter: none;
}

body.secplus-pbq-ui.pbq-bct-sim .actions #result {
  border-radius: 10px;
  padding: 12px 14px;
  border: 1px solid #e5e7eb;
  background: #ffffff;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-bct-sim .actions #result.is-pass,
body.secplus-pbq-ui.pbq-bct-sim .actions [role="status"].is-pass {
  border-color: #86efac;
  background: #ecfdf5;
  color: #166534;
}

body.secplus-pbq-ui.pbq-bct-sim .actions #result.is-fail,
body.secplus-pbq-ui.pbq-bct-sim .actions [role="status"].is-fail {
  border-color: #fca5a5;
  background: #fef2f2;
  color: #991b1b;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-choices {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-choice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 12px 14px;
  background: #ffffff;
  font-size: 0.92rem;
  line-height: 1.45;
  color: #334155;
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-choice input[type="radio"],
body.secplus-pbq-ui.pbq-bct-sim .pbq-choice input[type="checkbox"] {
  flex-shrink: 0;
  margin: 0.15em 0 0;
  width: 1.1em;
  height: 1.1em;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-choice:has(input:checked) {
  border-color: #6366f1;
  background: #eef2ff;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-choice:hover {
  border-color: #d1d5db;
  background: #fafafa;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-suite-folders {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-suite-folder__item.is-active {
  background: rgba(0, 100, 230, 0.92);
  color: #ffffff;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-suite-footer {
  margin: 24px 0 0;
  padding-top: 20px;
  border-top: 1px solid #e5e7eb;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-suite-footer__deep-dive {
  text-align: center;
  margin-bottom: 20px;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-suite-footer .question-nav--footer {
  margin: 0;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-suite-footer .deep-dive-btn {
  border: 1px solid #005ecb;
  background: rgba(0, 100, 230, 0.92);
  color: #ffffff;
  border-radius: 10px;
  padding: 10px 14px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

body.secplus-pbq-ui.pbq-bct-sim .pbq-suite-footer .deep-dive-btn:hover {
  background: rgba(0, 82, 200, 0.98);
  border-color: #004799;
}

body.secplus-pbq-ui.pbq-bct-sim.pbq-hub .pbq-hub-card {
  border: 1px solid #005ecb;
  border-radius: 10px;
  background: rgba(0, 100, 230, 0.08);
}

body.secplus-pbq-ui.pbq-bct-sim.pbq-hub .pbq-hub-card:hover {
  border-color: #004799;
  background: rgba(0, 100, 230, 0.14);
  box-shadow: 0 0 0 2px rgba(0, 100, 230, 0.2);
}

body.secplus-pbq-ui.pbq-bct-sim.pbq-hub .pbq-hub-card strong {
  color: #004799;
}

body.secplus-pbq-ui.pbq-bct-sim .secplus-deep-dive-modal__body .deep-dive-table {
  width: 100%;
  border-collapse: collapse;
  margin: 10px 0;
  font-size: 0.84rem;
}

body.secplus-pbq-ui.pbq-bct-sim .secplus-deep-dive-modal__body .deep-dive-table th,
body.secplus-pbq-ui.pbq-bct-sim .secplus-deep-dive-modal__body .deep-dive-table td {
  border: 1px solid #e5e7eb;
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
}

body.secplus-pbq-ui.pbq-bct-sim .secplus-deep-dive-modal__body .deep-dive-table thead th {
  background: #f1f5f9;
  color: #0f172a;
}

body.secplus-pbq-ui.pbq-bct-sim .secplus-deep-dive-modal__body .deep-dive-pre {
  margin: 10px 0;
  padding: 12px;
  background: #0f172a;
  color: #e2e8f0;
  border-radius: 8px;
  overflow-x: auto;
  font-size: 0.8rem;
  line-height: 1.45;
  white-space: pre-wrap;
}

body.secplus-pbq-ui.pbq-bct-sim .secplus-deep-dive-modal__body .deep-dive-note {
  margin: 8px 0;
  padding: 8px 10px;
  border-left: 3px solid #005ecb;
  background: #f0f9ff;
  font-size: 0.84rem;
  color: #334155;
}
