/* SeverityIQ override layer — enhancements on top of the pristine Novapay
   vendored stylesheet (never edit vendor files; see PROVENANCE.md). */
:root {
  --silk: cubic-bezier(0.16, 1, 0.3, 1);
}

.siq-body {
  background: var(--base, #0F1319);
  color: var(--text1, #E4EEF8);
  min-height: 100vh;
}

.siq-nav {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem max(48px, calc((100vw - 1280px) / 2));
  border-bottom: 1px solid var(--border1, #1E3050);
}

.siq-brand {
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--accent, #4A9EE8);
}

.siq-brand-dot { color: var(--text1, #E4EEF8); }

.siq-sub { color: var(--text2, #8AAEC8); font-size: 0.85rem; }

.siq-nav-links { margin-left: auto; display: flex; align-items: center; gap: 0.75rem; }

.siq-user { color: var(--text2, #8AAEC8); font-size: 0.85rem; }

.siq-main {
  padding: 3rem max(48px, calc((100vw - 1280px) / 2));
  min-height: 60vh;
}

.siq-footer {
  padding: 1rem max(48px, calc((100vw - 1280px) / 2));
  border-top: 1px solid var(--border1, #1E3050);
  color: var(--text3, #506070);
  font-size: 0.8rem;
}

.siq-h1 { font-size: 2.4rem; font-weight: 800; letter-spacing: -0.03em; }
.siq-h2 { font-size: 1.5rem; font-weight: 700; letter-spacing: -0.03em; }
.siq-lede { color: var(--text2, #8AAEC8); font-size: 1.05rem; margin-top: 0.5rem; }

.siq-tenant-tag {
  display: inline-block; margin-top: 1rem; padding: 0.35rem 0.9rem;
  border: 1px solid var(--border2, #2A4060); border-radius: 999px;
  color: var(--accent, #4A9EE8); font-size: 0.85rem;
}

.siq-card {
  background: var(--surface1, #141920);
  border: 1px solid var(--border1, #1E3050);
  border-radius: 12px;
  padding: 1.75rem;
  max-width: 640px;
  transition: transform 600ms var(--silk);
}

.siq-card:hover { transform: translateY(-2px); }

.siq-btn {
  display: inline-block; margin-top: 1rem; padding: 0.6rem 1.4rem;
  background: var(--accent, #4A9EE8); color: #0F1319;
  border-radius: 8px; font-weight: 600; text-decoration: none;
  transition: transform 500ms var(--silk);
}

.siq-btn:hover { transform: scale(1.03); }

.siq-btn-ghost {
  padding: 0.4rem 0.9rem; border: 1px solid var(--border2, #2A4060);
  border-radius: 8px; color: var(--text1, #E4EEF8);
  background: transparent; cursor: pointer; text-decoration: none; font-size: 0.85rem;
}

.siq-ok { color: var(--green, #3DCC8E); }
.siq-error { color: var(--red, #E85A5A); }
.siq-flash {
  padding: 0.6rem 1rem; margin-bottom: 1rem;
  border: 1px solid var(--border2, #2A4060); border-radius: 8px;
  background: var(--surface1, #141920);
}

.inline { display: inline; }

@media (max-width: 900px) {
  .siq-nav { padding: 1rem 24px; flex-wrap: wrap; }
  .siq-main { padding: 1.5rem 24px; }
  .siq-h1 { font-size: 1.8rem; }
}

/* Form controls — dark theme consistent with the vendored palette. */
.siq-card input, .siq-card select, .siq-card textarea {
  background: var(--surface2, #1A2130);
  color: var(--text1, #E4EEF8);
  border: 1px solid var(--border2, #2A4060);
  border-radius: 6px;
  padding: 0.45rem 0.7rem;
  font-family: inherit;
  width: 100%;
  max-width: 420px;
  margin-top: 0.3rem;
}
.siq-card label { color: var(--text2, #8AAEC8); font-size: 0.9rem; }
.siq-nav-link {
  color: var(--text1, #E4EEF8);
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 400ms var(--silk);
}
.siq-nav-link:hover { color: var(--accent, #4A9EE8); }
.siq-tenant-bar {
  padding: 0.5rem max(48px, calc((100vw - 1280px) / 2));
  border-bottom: 1px solid var(--border1, #1E3050);
  color: var(--accent, #4A9EE8);
  font-size: 0.85rem;
}

/* Phase 7 builder island */
.siq-builder-tabs { margin-bottom: 0.5rem; }
.siq-builder-tabrow { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.35rem; }
.siq-builder-tab { padding: 0.3rem 0.8rem; border-radius: 8px; border: 1px solid #2a4060; background: #121a26; color: #8aaec8; font-size: 0.8rem; cursor: pointer; }
.siq-builder-tab.is-active { background: #1e3050; color: #e4eef8; font-weight: 600; }
.siq-builder-tab.siq-sev-red.is-active { background: #7f1d1d; }
.siq-builder-tab.siq-sev-orange.is-active { background: #7c2d12; }
.siq-builder-tab.siq-sev-yellow.is-active { background: #713f12; }
.siq-builder-tab.siq-sev-green.is-active { background: #14532d; }
.siq-builder-layout { display: flex; gap: 1rem; align-items: flex-start; }
.siq-builder-palette { width: 240px; flex: 0 0 240px; }
.siq-builder-palette-list { list-style: none; margin: 0.5rem 0 0; padding: 0; max-height: 560px; overflow-y: auto; }
.siq-builder-palette-heading { color: #8aaec8; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 0.5rem 0 0.25rem; }
.siq-builder-chip { display: flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.5rem; border: 1px solid #2a4060; border-radius: 8px; margin-bottom: 0.3rem; background: #121a26; cursor: grab; }
.siq-builder-chip.is-selected { border-color: #4f46e5; box-shadow: 0 0 0 2px #4f46e555; }
.siq-builder-chip-initials { width: 1.6rem; height: 1.6rem; border-radius: 50%; background: #4f46e5; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 0.7rem; font-weight: 700; flex: 0 0 1.6rem; }
.siq-builder-chip-name { color: #e4eef8; font-size: 0.85rem; }
.siq-builder-chip-role, .siq-builder-chip-org { color: #8aaec8; font-size: 0.7rem; }
.siq-builder-canvas-wrap { flex: 1; min-width: 0; position: relative; }
.siq-builder-canvas { max-width: 100%; height: auto; display: block; }
.siq-builder-ghost { background: #1e3050; color: #e4eef8; border: 1px solid #4f46e5; border-radius: 8px; padding: 0.3rem 0.7rem; font-size: 0.8rem; z-index: 100; transform: translate(-50%, -50%); }
.siq-builder-trash { border: 1px dashed #b91c1c; color: #f87171; border-radius: 8px; padding: 0.4rem; margin-top: 0.5rem; text-align: center; font-size: 0.8rem; }
.siq-builder-publishbar { display: flex; gap: 0.5rem; align-items: center; margin-top: 1rem; flex-wrap: wrap; }
.siq-builder-spacer { flex: 1; }
.siq-builder-publishbar textarea { flex: 1 1 260px; min-width: 200px; }
.siq-builder-findings { border: 1px solid #b91c1c; color: #fca5a5; background: #2a1215; border-radius: 8px; padding: 0.6rem; margin-top: 0.5rem; font-size: 0.85rem; }
@media (max-width: 760px) {
  .siq-builder-layout { flex-direction: column; }
  .siq-builder-palette { width: 100%; flex: auto; }
}

/* Phase 10 template chooser */
.siq-builder-chooser { border: 1px solid #2a4060; border-radius: 10px; padding: 0.8rem; margin-bottom: 0.8rem; background: #121a26; }
.siq-builder-template-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border: 1px solid #2a4060; border-radius: 8px; padding: 0.6rem; margin-top: 0.5rem; }
.siq-builder-template-card strong { color: #e4eef8; }


/* Phase 10 E-05: distinct escalation badge */
.siq-escalated-badge { display: inline-block; background: #b91c1c; color: #fecaca; border-radius: 6px; padding: 0.1rem 0.5rem; font-size: 0.75rem; font-weight: 700; margin-left: 0.4rem; }

/* Phase 12 dashboard + queue */
.siq-stats { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 0.6rem; }
.siq-stat { border: 1px solid #2a4060; border-radius: 10px; padding: 0.7rem 1.1rem; background: #121a26; min-width: 130px; }
.siq-stat strong { display: block; font-size: 1.7rem; color: #e4eef8; }
.siq-stat span { color: #8aaec8; font-size: 0.78rem; }
.siq-stat.siq-sev-red strong { color: #f87171; }
.siq-stat.siq-sev-orange strong { color: #fb923c; }
.siq-filters { display: flex; gap: 0.5rem; margin-bottom: 0.8rem; align-items: center; }
.siq-row-head { border-bottom: 1px solid #2a4060; padding-bottom: 0.3rem; color: #8aaec8; font-size: 0.75rem; text-transform: uppercase; }
