.test-case-header-row {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
}

.test-case-header-row > .test-case-title-field {
  flex: 1 1 auto;
  min-width: 0;
}

.test-case-header-control {
  flex: 0 0 auto;
  width: 220px;
}

.test-case-header-control select {
  min-width: 120px;
}

@media (max-width: 1100px) {
  .test-case-header-row {
    flex-wrap: wrap;
  }

  .test-case-header-row > .test-case-title-field {
    flex-basis: 100%;
  }
}

.agent-shell {
  display: grid;
  gap: 18px;
  max-width: 980px;
}

.agent-panel,
.agent-result {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
  padding: 20px;
}

.agent-form {
  display: grid;
  gap: 12px;
}

.agent-form label,
.agent-result h2 {
  color: #162033;
  font-weight: 700;
}

.agent-form textarea {
  border: 1px solid rgba(15, 23, 42, 0.18);
  border-radius: 8px;
  min-height: 160px;
  padding: 12px 14px;
  resize: vertical;
  width: 100%;
}

.agent-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.agent-actions span {
  color: #64748b;
  font-size: 0.92rem;
}

.agent-result pre {
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 8px;
  margin: 0;
  overflow-x: auto;
  padding: 14px;
  white-space: pre-wrap;
}

.agent-answer {
  color: #334155;
  margin: 0 0 14px;
  white-space: pre-wrap;
}

.agent-prompt-templates {
  display: grid;
  gap: 7px;
}

.agent-prompt-label {
  color: #475569;
  font-size: 0.88rem;
  font-weight: 700;
}

.agent-prompt-buttons,
.agent-response-tools {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.agent-prompt-template {
  background: #fff;
  border: 1px solid #94a3b8;
  border-radius: 4px;
  color: #334155;
  font: inherit;
  font-size: 0.82rem;
  padding: 5px 9px;
}

.agent-prompt-template:hover {
  background: #f1f5f9;
  border-color: #475569;
}

.agent-prompt-template:focus-visible {
  outline: 3px solid rgba(71, 121, 134, 0.28);
  outline-offset: 2px;
}

.agent-prompt-hint,
.agent-export-status,
.agent-evidence-note {
  color: #64748b;
  font-size: 0.82rem;
}

.agent-response-tools {
  margin: 0 0 16px;
}

.agent-export-status:empty {
  display: none;
}

.agent-evidence {
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 6px;
  margin: 0 0 18px;
  padding: 10px 12px;
}

.agent-evidence summary {
  color: #334155;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 700;
}

.agent-evidence-list {
  display: grid;
  gap: 9px;
  margin: 12px 0;
  padding-left: 20px;
}

.agent-evidence-item > * {
  display: block;
  overflow-wrap: anywhere;
}

.agent-evidence-item strong {
  color: #162033;
}

.agent-evidence-item > span {
  color: #64748b;
  font-size: 0.84rem;
}

.agent-evidence-links a {
  color: #24574e;
  text-underline-offset: 2px;
}

.agent-evidence-note {
  margin: 0;
}

.agent-plan-caveat {
  background: #f8fafc;
  border-left: 3px solid #477986;
  color: #475569;
  font-size: 0.88rem;
  padding: 9px 12px;
}

.agent-plan-suites {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
}

.agent-plan-suite {
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 6px;
  padding: 12px;
}

.agent-plan-suite-choice {
  align-items: flex-start;
  display: flex !important;
  gap: 10px !important;
  margin-bottom: 6px !important;
}

.agent-plan-suite-choice input {
  flex: 0 0 auto;
  margin-top: 4px;
  width: auto;
}

.agent-plan-suite-choice span,
.agent-plan-suite-choice small {
  display: block;
}

.agent-plan-suite-choice > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.agent-plan-suite-choice small,
.agent-plan-suite > p,
.agent-plan-case-preview {
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 400;
}

.agent-plan-suite > p {
  margin: 0 0 5px 25px;
}

.agent-plan-case-preview {
  margin-left: 25px;
  overflow-wrap: anywhere;
}

.agent-plan-case-preview a {
  color: #24574e;
  text-underline-offset: 2px;
}

.agent-duplicate-warning {
  background: #fff7ed;
  border: 1px solid #fdba74;
  border-radius: 6px;
  color: #7c2d12;
  margin-bottom: 16px;
  padding: 12px 16px;
}

.agent-duplicate-warning h3 {
  margin-top: 0;
}

.agent-duplicate-warning li {
  margin-bottom: 6px;
}

.agent-duplicate-warning span {
  color: #9a3412;
  font-size: 0.9em;
}

.agent-draft-form label {
  color: #162033;
  display: grid;
  font-weight: 700;
  gap: 6px;
  margin-bottom: 12px;
}

.agent-draft-form input,
.agent-draft-form select,
.agent-draft-form textarea {
  border: 1px solid rgba(15, 23, 42, 0.18);
  border-radius: 6px;
  font: inherit;
  padding: 8px 10px;
  width: 100%;
}

.agent-draft-grid {
  display: grid;
  gap: 12px 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.agent-draft-form ol {
  padding-left: 24px;
}

.agent-draft-form li {
  margin-bottom: 12px;
}

@media (max-width: 700px) {
  .agent-draft-grid {
    grid-template-columns: 1fr;
  }
}

.agent-result-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.agent-chip {
  background: #eef2ff;
  border-radius: 999px;
  color: #3730a3;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 4px 10px;
}

.agent-chip-muted {
  background: #f1f5f9;
  color: #475569;
}

.agent-table-wrap {
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 8px;
  overflow-x: auto;
}

.agent-table {
  border-collapse: collapse;
  font-size: 0.9rem;
  min-width: 860px;
  width: 100%;
}

.agent-table th,
.agent-table td {
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}

.agent-table thead th {
  background: #f8fafc;
  color: #475569;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.agent-table tbody tr:last-child td {
  border-bottom: 0;
}

.agent-table tbody tr:hover {
  background: #f8fafc;
}

.agent-table a {
  color: #1d4ed8;
  text-decoration: none;
}

.agent-table a:hover {
  text-decoration: underline;
}

.agent-table-title {
  display: inline-block;
  font-weight: 600;
  max-width: 420px;
}

.agent-status {
  background: #f1f5f9;
  border-radius: 999px;
  color: #334155;
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 3px 9px;
  white-space: nowrap;
}

.agent-status-active {
  background: #dcfce7;
  color: #166534;
}

.agent-status-design {
  background: #e0e7ff;
  color: #3730a3;
}

.agent-status-deprecated,
.agent-status-obsolete {
  background: #fee2e2;
  color: #b91c1c;
}

.agent-empty {
  color: #64748b;
  margin: 0;
}

.agent-error {
  border-color: rgba(220, 38, 38, 0.22);
}

.agent-error p {
  color: #b91c1c;
  margin-bottom: 0;
}

.auth-page { min-height: 100vh; margin: 0; color: #18273b; background: #eef1f5; font-family: "DM Sans", "Segoe UI", sans-serif; }
.auth-page::before { position: fixed; inset: 0 0 auto; height: 42vh; content: ""; background: #17263a; clip-path: polygon(0 0, 100% 0, 100% 68%, 82% 76%, 61% 68%, 42% 82%, 20% 70%, 0 80%); }
.auth-shell { position: relative; z-index: 1; display: grid; place-items: center; min-height: 100vh; padding: 32px 18px; }
.auth-card { width: min(100%, 470px); padding: 42px 46px 30px; background: #fff; border: 1px solid rgba(224, 229, 236, .8); border-radius: 12px; box-shadow: 0 24px 65px rgba(20, 35, 57, .18); }
.auth-brand { display: flex; align-items: center; gap: 9px; color: #17263a; font-size: 1.22rem; font-weight: 800; letter-spacing: -.04em; }.auth-brand > span:last-child > span { color: #4c69e8; }.auth-brand-mark { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: #4c69e8; font-size: 1.1rem; }
.auth-heading { margin: 42px 0 25px; }.auth-eyebrow { margin: 0 0 9px; color: #4c69e8; font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.auth-heading h1 { margin: 0; color: #17263a; font-family: "Playfair Display", Georgia, serif; font-size: 2rem; line-height: 1.2; }.auth-heading p:last-child { margin: 12px 0 0; color: #8994a4; font-size: .82rem; line-height: 1.6; }
.auth-alert { display: flex; align-items: flex-start; gap: 9px; margin-bottom: 18px; padding: 11px 12px; color: #a84650; background: #fff0f1; border: 1px solid #ffd9dc; border-radius: 7px; font-size: .78rem; }.auth-alert i { margin-top: 1px; }
.auth-form { display: grid; gap: 18px; }.auth-field label { display: block; margin-bottom: 7px; color: #4f5e72; font-size: .74rem; font-weight: 700; }.auth-input-wrap { position: relative; display: flex; align-items: center; }.auth-input-wrap > i { position: absolute; left: 14px; color: #a7b0bf; font-size: .95rem; pointer-events: none; }.auth-input-wrap input { width: 100%; height: 45px; padding: 0 42px; color: #17263a; background: #fbfcfd; border: 1px solid #e2e7ee; border-radius: 7px; outline: 0; font: inherit; font-size: .8rem; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }.auth-input-wrap input:focus { background: #fff; border-color: #7187ed; box-shadow: 0 0 0 3px rgba(76, 105, 232, .11); }.auth-input-wrap input::placeholder { color: #b3bcc8; }.password-toggle { position: absolute; right: 8px; width: 30px; height: 30px; padding: 0; color: #9da8b6; background: transparent; border: 0; }
.auth-options { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #8a95a4; font-size: .7rem; }.auth-check { display: flex; align-items: center; gap: 7px; color: #59687a; }.auth-check input { accent-color: #4c69e8; }.auth-muted { text-align: right; }.auth-submit { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; height: 45px; margin-top: 3px; color: #fff; background: #4c69e8; border: 0; border-radius: 7px; box-shadow: 0 8px 18px rgba(76, 105, 232, .22); font: inherit; font-size: .8rem; font-weight: 700; transition: transform .15s ease, background .15s ease; }.auth-submit:hover { background: #3d59d0; transform: translateY(-1px); }.auth-submit i { font-size: .9rem; }.auth-footer { margin: 30px 0 0; color: #a4adba; text-align: center; font-size: .68rem; }.logout-form { margin: 0; }
@media (max-width: 520px) { .auth-card { padding: 32px 24px 26px; }.auth-heading { margin-top: 34px; }.auth-heading h1 { font-size: 1.7rem; }.auth-options { align-items: flex-start; flex-direction: column; }.auth-muted { text-align: left; } }
body {
  font-size: .875rem;
}

.feather {
  width: 16px;
  height: 16px;
}

/*
 * Sidebar
 */

.sidebar {
  position: fixed;
  top: 0;
  /* rtl:raw:
  right: 0;
  */
  bottom: 0;
  /* rtl:remove */
  left: 0;
  z-index: 100; /* Behind the navbar */
  padding: 48px 0 0; /* Height of navbar */
  box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}

@media (max-width: 767.98px) {
  .sidebar {
    top: 5rem;
  }
}

.sidebar-sticky {
  height: calc(100vh - 48px);
  overflow-x: hidden;
  overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
}

.sidebar .nav-link {
  font-weight: 500;
  color: #333;
}

.sidebar .nav-link .feather {
  margin-right: 4px;
  color: #727272;
}

.sidebar .nav-link.active {
  color: #2470dc;
}

.sidebar .nav-link:hover .feather,
.sidebar .nav-link.active .feather {
  color: inherit;
}

.sidebar-heading {
  font-size: .75rem;
}

/*
 * Navbar
 */

.navbar-brand {
  padding-top: .75rem;
  padding-bottom: .75rem;
  background-color: rgba(0, 0, 0, .25);
  box-shadow: inset -1px 0 0 rgba(0, 0, 0, .25);
}

.navbar .navbar-toggler {
  top: .25rem;
  right: 1rem;
}

.navbar .form-control {
  padding: .75rem 1rem;
}

.navbar .form-control::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: white;
  opacity: 1; /* Firefox */
}

.form-control-dark {
  color: #fff;
  background-color: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .1);
}

.form-control-dark:focus {
  border-color: transparent;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
}

/*
 * App-wide layout and alignment cleanup
 */

:root {
  --app-header-height: 48px;
  --app-content-max-width: 1400px;
  --app-space-1: 0.5rem;
  --app-space-2: 0.75rem;
  --app-space-3: 1rem;
  --app-space-4: 1.5rem;
}

body {
  background-color: #f8f9fb;
}

main {
  padding-top: calc(var(--app-header-height) + var(--app-space-2));
  padding-bottom: var(--app-space-4);
  max-width: var(--app-content-max-width);
}

.container-fluid > .row {
  align-items: flex-start;
}

/* Sidebar */
.sidebar {
  background: linear-gradient(180deg, #ffffff 0%, #f7f8fa 100%);
}

.sidebar .nav {
  padding: var(--app-space-2);
  gap: var(--app-space-1);
}

.sidebar .nav-link {
  display: flex;
  align-items: center;
  gap: var(--app-space-2);
  border-radius: 0.5rem;
  padding: 0.65rem 0.9rem;
  transition: background-color 120ms ease, color 120ms ease;
}

.sidebar .nav-link:hover {
  background-color: #eef3ff;
}

.sidebar .nav-link.active {
  background-color: #e6eeff;
}

/* Header */
header.navbar {
  min-height: var(--app-header-height);
}

header .navbar-brand {
  display: flex;
  align-items: center;
  min-height: var(--app-header-height);
}

/* Headings and sections */
main h1,
main h2,
main h3,
main h4,
main h5,
main h6 {
  margin-bottom: var(--app-space-2);
}

main .border-bottom {
  margin-bottom: var(--app-space-3) !important;
  padding-bottom: var(--app-space-2) !important;
}

/* Forms */
main form {
  width: 100%;
}

main .row {
  row-gap: var(--app-space-2);
}

main input[type="text"],
main input[type="date"],
main input[type="number"],
main input[type="url"],
main textarea,
main select {
  max-width: 100%;
}

main .form-control,
main .form-select,
main select {
  min-height: 2.25rem;
}

main textarea.form-control,
main textarea {
  min-height: 5rem;
}

main label {
  margin-bottom: 0.25rem;
  font-weight: 600;
}

main .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.dashboard-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.dashboard-action {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  color: #25324b;
  text-decoration: none;
  background: #fff;
  border: 1px solid #e4e8f0;
  border-radius: 0.6rem;
  transition: border-color 120ms ease, transform 120ms ease, box-shadow 120ms ease;
}

.dashboard-action:hover { color: #1d5fd1; border-color: #9dbcf1; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(37, 50, 75, 0.08); }
.dashboard-action > i:first-child { font-size: 1.3rem; color: #2874dc; }
.dashboard-action span { display: grid; min-width: 0; }
.dashboard-action small { color: #78849a; margin-top: 0.15rem; }
.action-arrow { margin-left: auto; font-size: 0.85rem; color: #9aa6b8; }
.health-summary { display: flex; gap: 2rem; align-items: center; }
.performance-body { padding: 1.25rem 1.5rem 1.4rem; }
.performance-row { position: relative; display: grid; grid-template-columns: minmax(220px, 1fr) auto 14px auto; gap: 1rem; align-items: center; padding: 0.6rem 0 1.45rem; color: #25324b; text-decoration: none; }
.performance-row + .performance-row { margin-top: 0.35rem; }.performance-row:hover { color: #1d5fd1; }.performance-label { display: grid; }.performance-label strong { font-size: 1rem; font-weight: 500; }.performance-label small { color: #78849a; margin-top: 0.25rem; }.performance-value, .performance-percent { color: #536078; font-size: 0.9rem; white-space: nowrap; }.performance-dot { width: 0.8rem; height: 0.8rem; border-radius: 50%; }.dot-completed, .fill-completed { background: #2588c7; }.dot-ongoing, .fill-ongoing { background: #20bfc1; }.dot-not-started, .fill-not-started { background: #8aa2bb; }.performance-track { position: absolute; right: 0; bottom: 0.45rem; left: 0; height: 0.42rem; overflow: hidden; background: #f0f3f7; border-radius: 0.3rem; }.performance-fill { display: block; height: 100%; border-radius: inherit; transition: width 250ms ease; }
.health-number { display: grid; min-width: 110px; text-align: center; }
.health-number strong { color: #1f9d68; font-size: 2.5rem; line-height: 1; }
.health-number span { color: #78849a; font-size: 0.8rem; margin-top: 0.45rem; }
.health-bars { flex: 1; }
.health-row { display: flex; justify-content: space-between; color: #5c687b; font-size: 0.8rem; margin-top: 0.6rem; }
.health-row strong { color: #25324b; }
.health-dot { display: inline-block; width: 8px; height: 8px; margin-right: 0.35rem; border-radius: 50%; }
.dot-pass, .bar-pass { background-color: #27a36d; }.dot-fail, .bar-fail { background-color: #e66767; }.dot-warn, .bar-warn { background-color: #e2a739; }
.progress { height: 0.35rem; margin-top: 0.3rem; background: #eef1f5; }
.activity-list { display: grid; }
.activity-item { display: flex; align-items: center; gap: 0.65rem; padding: 0.8rem 1rem; color: #25324b; text-decoration: none; border-bottom: 1px solid #edf0f4; }
.activity-item:last-child { border-bottom: 0; }.activity-item:hover { background: #f7f9fc; color: #1d5fd1; }
.activity-icon { display: grid; place-items: center; width: 2rem; height: 2rem; color: #2874dc; background: #eaf2ff; border-radius: 50%; }
.activity-copy { display: grid; flex: 1; min-width: 0; }.activity-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.activity-copy small { color: #78849a; margin-top: 0.2rem; }
.empty-state { padding: 1.5rem; color: #78849a; text-align: center; }
.panel-meta { color: #78849a; font-size: 0.75rem; }
.user-completion-list { display: grid; gap: 1.1rem; }.user-completion-row { position: relative; display: grid; grid-template-columns: minmax(260px, 1fr) auto; gap: 0.75rem 1.5rem; padding-bottom: 0.7rem; }.user-completion-name { display: flex; align-items: center; gap: 0.7rem; }.user-completion-name > span:last-child { display: grid; }.user-completion-name small { color: #78849a; margin-top: 0.25rem; }.user-initial { display: grid; place-items: center; width: 2rem; height: 2rem; color: #2874dc; background: #eaf2ff; border-radius: 50%; font-size: 0.8rem; font-weight: 700; }.user-completion-count { display: flex; align-items: center; gap: 0.65rem; }.user-completion-count strong { color: #25324b; font-size: 1.1rem; }.user-completion-count span { color: #78849a; font-size: 0.8rem; }.user-completion-track { grid-column: 1 / -1; height: 0.4rem; overflow: hidden; background: #eef1f5; border-radius: 0.3rem; }.user-completion-track span { display: block; height: 100%; background: #2874dc; border-radius: inherit; }
.run-results-heading { align-items: center; }
.run-picker { display: flex; align-items: center; gap: 0.6rem; margin: 0; }
.run-picker label { margin: 0; color: #78849a; font-size: 0.8rem; font-weight: 600; white-space: nowrap; }
.run-picker select { min-width: 190px; }
.run-results-layout { display: grid; grid-template-columns: minmax(280px, .95fr) minmax(300px, 1.05fr); gap: 2rem; align-items: stretch; }
.report-strip { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: .6rem; align-items: stretch; padding: .85rem 0 1rem; margin-bottom: 1.1rem; border-bottom: 1px solid #edf0f4; pointer-events: auto; }
.report-strip-heading { display: grid; align-content: center; min-width: 150px; padding: .25rem .75rem .25rem 0; border-right: 1px solid #edf0f4; }
.report-strip-heading small, .report-empty { color: #78849a; font-size: .78rem; }
.report-action { position: relative; z-index: 3; display: flex; align-items: center; gap: .55rem; min-width: 155px; padding: .55rem .7rem; color: #25324b; background: #f7f9fc; border: 1px solid #edf0f4; border-radius: .45rem; text-decoration: none; cursor: pointer; pointer-events: auto; }
.report-action:hover { color: #1d5fd1; background: #eef5ff; border-color: #cfe0f8; }
.report-action.report-loading { color: #687482; opacity: .72; pointer-events: none; }
.report-action.report-loading > i { animation: report-spin .8s linear infinite; }
@keyframes report-spin { to { transform: rotate(360deg); } }
.report-action > i { color: #2874dc; font-size: 1.1rem; }
.report-action span { display: grid; }.report-action small { color: #78849a; font-size: .72rem; margin-top: .1rem; }
.report-action-group { display: block; min-width: 220px; padding: 0; cursor: default; }
.report-action-summary { display: flex; align-items: center; gap: .55rem; min-height: 46px; padding: .55rem .7rem; list-style: none; cursor: pointer; }
.report-action-summary::-webkit-details-marker { display: none; }
.report-action-chevron { margin-left: auto; font-size: .8rem !important; transition: transform .15s ease; }
.report-action-group[open] { background: #fff; border-color: #cfe0f8; }
.report-action-group[open] .report-action-chevron { transform: rotate(180deg); }
.report-action-subitems { position: static; display: grid; min-width: 0; margin: 0 .45rem .35rem 1.65rem; padding: .2rem 0 0; border-top: 1px solid #edf0f4; }
.report-action-subitem { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .45rem .35rem; color: #25324b; border-radius: .3rem; text-decoration: none; }
.report-action-subitem:hover, .report-action-subitem:focus-visible { color: #1d5fd1; background: #eef5ff; }
.report-action-subitem strong { min-width: 1.5rem; text-align: right; }
.status-chart-wrap { position: relative; height: 320px; min-width: 0; padding: 10px; }
.chart-center { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; pointer-events: none; }
.chart-center strong { color: #25324b; font-size: 2.35rem; line-height: 1; }.chart-center span { color: #78849a; font-size: 0.8rem; margin-top: 0.35rem; }
.status-case-panel { min-width: 0; }.status-case-heading { display: flex; align-items: center; justify-content: space-between; padding-bottom: 0.65rem; border-bottom: 1px solid #edf0f4; }.status-case-heading > div { display: grid; }.status-case-heading span { color: #78849a; font-size: 0.8rem; margin-top: 0.2rem; }
.status-case-list { max-height: 255px; overflow-y: auto; }.status-case-item { display: flex; align-items: center; gap: 0.6rem; padding: 0.7rem 0.15rem; color: #25324b; text-decoration: none; border-bottom: 1px solid #edf0f4; }.status-case-item:hover { color: #1d5fd1; }.status-case-item > span:nth-child(2) { display: grid; flex: 1; min-width: 0; }.status-case-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.status-case-item small { color: #78849a; margin-top: 0.15rem; }.status-case-item > i { color: #9aa6b8; }.case-status-dot { width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; }.status-pass { background: #17b897; }.status-fail { background: #e66767; }.status-inconclusive { background: #e2a739; }.status-paused { background: #2874dc; }.status-not-tested { background: #cbd3df; }

@media (max-width: 767.98px) { .dashboard-actions { grid-template-columns: 1fr; } .health-summary { gap: 1rem; } .health-number { min-width: 85px; } .run-results-heading { align-items: flex-start; gap: 0.75rem; flex-direction: column; }.run-picker, .run-picker select { width: 100%; }.run-results-layout { grid-template-columns: 1fr; gap: 1rem; } }

/* Tables */
main .table-responsive,
main table {
  margin-top: var(--app-space-2);
}

main .table {
  background-color: #fff;
  border-radius: 0.5rem;
  overflow: hidden;
}

main .table th,
main .table td {
  vertical-align: middle;
  padding: 0.65rem 0.75rem;
}

main .table th {
  white-space: nowrap;
}

main .table .text-end {
  white-space: nowrap;
}

/* Cards / list blocks used in detail pages */
main .list-group-item {
  padding: 0.75rem 1rem;
}

/* Better mobile alignment */
@media (max-width: 991.98px) {
  main {
    padding-top: calc(var(--app-header-height) + var(--app-space-1));
  }

  .sidebar {
    box-shadow: none;
  }

  .sidebar .nav {
    padding: var(--app-space-1);
  }
}

/* TestViewer workspace theme */
:root {
  --ink: #17233c;
  --muted: #7d879b;
  --line: #e8ebf2;
  --canvas: #f5f7fb;
  --navy: #17233c;
  --blue: #4667e8;
}

body.app-shell { background: var(--canvas); color: var(--ink); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: .9rem; }
.app-header { height: 72px; display: flex; background: #fff; border-bottom: 1px solid var(--line); z-index: 1030; }
.app-brand { width: 240px; flex: 0 0 240px; display: flex; align-items: center; gap: 10px; padding: 0 28px; color: var(--ink); font-size: 1.2rem; font-weight: 800; letter-spacing: -.04em; text-decoration: none; }
.brand-mark { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; background: var(--blue); color: #fff; font-size: 1.15rem; }
.brand-accent { color: var(--blue); }
.header-content { min-width: 0; flex: 1; display: flex; align-items: center; gap: 24px; padding: 0 30px; }
.header-search { width: min(430px, 52%); height: 40px; display: flex; align-items: center; gap: 10px; padding: 0 13px; color: #a3abbb; background: #f7f8fb; border: 1px solid #edf0f5; border-radius: 8px; }
.header-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: .83rem; }
.search-key { width: 20px; height: 20px; display: grid; place-items: center; border: 1px solid #dfe3ec; border-radius: 4px; color: #a3abbb; font-size: .75rem; }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 16px; color: #657087; }
.header-icon { position: relative; padding: 4px; border: 0; background: transparent; color: inherit; font-size: 1.1rem; }
.notification-dot { position: absolute; top: 2px; right: 1px; width: 6px; height: 6px; border: 2px solid #fff; border-radius: 50%; background: #ef6b75; }
.header-divider { height: 26px; border-left: 1px solid var(--line); }
.user-avatar { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 50%; background: #e9edff; color: var(--blue); font-size: .7rem; font-weight: 800; }
.user-name { color: var(--ink); font-size: .78rem; font-weight: 600; white-space: nowrap; }
.user-name i { margin-left: 5px; color: #9da5b5; font-size: .65rem; }
@media (max-width: 767.98px) {
  .app-header .app-brand { gap: 8px; padding: 0 12px; font-size: 1rem; }
  .app-header .header-content { gap: 8px; padding: 0 10px; }
  .app-header .header-search { min-width: 0; width: auto; flex: 1 1 0; gap: 7px; padding: 0 8px; }
  .app-header .header-search input { width: 0; max-width: none; min-width: 0; }
  .app-header .search-key { display: none; }
  .app-header .header-actions { flex: 0 0 auto; gap: 0; }
  .app-header .header-actions > :not(.logout-form) { display: none; }
}
.app-main { min-height: calc(100vh - 72px); padding: 38px 42px 60px; max-width: none; }
.sidebar { top: 72px; padding: 0; background: var(--navy); box-shadow: none; }
.sidebar-sticky { height: calc(100vh - 72px); padding: 31px 16px 20px; }
.sidebar-label { padding: 0 13px 12px; color: #6f7e9d; font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sidebar-label-spaced { margin-top: 31px; }
.sidebar .nav { gap: 4px; padding: 0; }
.sidebar .nav-link { display: flex; align-items: center; gap: 13px; padding: 11px 13px; border-radius: 7px; color: #9ca8c1; font-size: .82rem; font-weight: 600; transition: background .15s ease, color .15s ease; }
.sidebar .nav-link:hover, .sidebar .nav-link.active { background: #293753; color: #fff; }
.sidebar .nav-link i:first-child { width: 17px; color: #8290ad; font-size: .95rem; text-align: center; }
.sidebar .nav-link.active i:first-child { color: #7f98ff; }
.sidebar .nav-chevron { margin-left: auto; font-size: .65rem; }
.sidebar .my-work-submenu .nav-link { padding-left: 29px; font-size: .76rem; }
.sidebar .my-work-submenu .nav-link i:first-child { color: #8290ad; }
.sidebar .my-work-submenu .nav-link.active i:first-child { color: #7f98ff; }
.sidebar .nav-link-label { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.sidebar .nav-count { flex: 0 0 auto; min-width: 21px; padding: 2px 6px; color: #dce5f7; background: #354765; border-radius: 10px; font-size: .62rem; font-variant-numeric: tabular-nums; line-height: 1.4; text-align: center; }
.sidebar-footer { display: flex; align-items: center; gap: 10px; margin: 34px 4px 0; padding: 12px 10px; color: #a4b0c8; border: 1px solid #2b3a58; border-radius: 8px; font-size: .7rem; }
.sidebar-footer strong, .sidebar-footer span { display: block; }
.sidebar-footer strong { color: #fff; margin-bottom: 2px; font-size: .72rem; }
.sidebar-footer > i { margin-left: auto; color: #70809e; }
.sidebar-footer-icon { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 6px; background: #2b3a58; color: #83a0ff; }
.page-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 30px; }
.eyebrow, .panel-kicker { color: var(--blue); font-size: .67rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.page-heading h1 { margin: 5px 0 5px; color: var(--ink); font-size: 1.65rem; font-weight: 750; letter-spacing: -.04em; }
.heading-wave { color: #f2b84b; font-size: 1.1rem; }
.page-subtitle { margin: 0; color: var(--muted); font-size: .84rem; }
.page-action { padding: .62rem 1rem; border: 0; border-radius: 7px; background: var(--blue); font-size: .79rem; font-weight: 700; box-shadow: 0 5px 12px rgba(70, 103, 232, .18); }
.test-plans-heading .page-action.btn-primary, .test-runs-heading .page-action.btn-primary { color: var(--bs-btn-color); background-color: var(--bs-btn-bg); border-color: var(--bs-btn-border-color); }
.suite-detail-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }.suite-detail-heading h1 { margin: 5px 0 0; color: var(--ink); font-size: 1.65rem; font-weight: 750; }.suite-cases-layout { display: block; }.suite-cases-table { margin-bottom: 0; }.suite-case-card { width: 175px; padding: 11px 12px 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 4px 18px rgba(25, 38, 66, .025); text-decoration: none; }.suite-case-card-top { display: flex; align-items: center; justify-content: space-between; color: #304363; font-size: .74rem; font-weight: 700; }.suite-case-card-top i { color: #98a8bf; font-size: .95rem; }.suite-case-card-main { display: flex; align-items: center; gap: 9px; margin: 8px 0 6px; }.suite-case-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #1689d4; font-size: .9rem; }.suite-case-card-main strong { color: #304363; font-size: 1.45rem; font-weight: 500; line-height: 1; }.suite-case-card-foot { color: #91a0b6; font-size: .62rem; }.suite-case-card-foot i { margin-right: 3px; color: #1689d4; font-size: .55rem; }
.suite-info-layout { display: grid; grid-template-columns: minmax(0, 1fr) 175px; gap: 18px; align-items: start; }.suite-detail-info { width: 100%; }.suite-cases-table th:nth-child(2), .suite-cases-table td:nth-child(2) { min-width: 1200px; }
.suite-case-link { color: var(--blue); text-decoration: none; }.suite-case-link:hover { text-decoration: underline; }
.plan-suite-link { color: var(--blue); text-decoration: none; }.plan-suite-link:hover { text-decoration: underline; }
.dashboard-stats { --bs-gutter-x: 1rem; }
.stat-card, .dashboard-panel { border: 1px solid var(--line); border-radius: 9px; box-shadow: 0 4px 18px rgba(25, 38, 66, .025); }
.stat-card { position: relative; overflow: hidden; }
.stat-card::after { position: absolute; right: -18px; bottom: -26px; width: 95px; height: 95px; content: ""; border: 15px solid currentColor; border-radius: 50%; opacity: .06; }
.stat-card .card-body { padding: 20px; }
.stat-icon { width: 35px; height: 35px; display: grid; place-items: center; margin-bottom: 17px; border-radius: 8px; color: currentColor; background: currentColor; font-size: 1rem; }
.stat-icon i { color: #fff; }
.stat-label { color: #657087; font-size: .76rem; font-weight: 700; }
.stat-trend { float: right; color: #38a879; font-size: .67rem; font-weight: 700; }
.stat-card h3 { margin: 7px 0 3px; color: var(--ink); font-size: 1.75rem; font-weight: 750; letter-spacing: -.04em; }
.stat-foot { color: #9ba4b5; font-size: .7rem; }
.stat-blue { color: #4d6ee9; }.stat-purple { color: #9672df; }.stat-green { color: #39ad88; }.stat-orange { color: #ef9d55; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .85fr); gap: 16px; }
.planning-grid { align-items: start; }
.planning-grid > .dashboard-panel { min-width: 0; }
.dashboard-panel { margin-bottom: 0 !important; background: #fff; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; padding: 21px 22px 15px; border-bottom: 0; background: #fff; }
.panel-heading h5, .process-panel h5 { margin: 5px 0 0; color: var(--ink); font-size: .98rem; font-weight: 750; }
.panel-link { color: var(--blue); font-size: .72rem; font-weight: 700; text-decoration: none; }.panel-link i { margin-left: 4px; }
.dashboard-panel .table { margin-top: 0; }.dashboard-panel th { padding: 11px 22px; color: #9da5b5; border-bottom: 1px solid var(--line); font-size: .65rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }.dashboard-panel td { padding: 15px 22px; color: #536078; border-color: #f0f2f6; font-size: .78rem; }.dashboard-panel tr:last-child td { border-bottom: 0; }
.quick-start-row { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 520px); gap: 12px; align-items: start; margin-bottom: 1.5rem; }.quick-start-row .dashboard-actions { grid-template-columns: 1fr; gap: .4rem; margin-bottom: 0 !important; }.quick-start-row .dashboard-action { min-height: 0; padding: .55rem .75rem; }.process-panel { max-width: 360px; }.process-panel .card-body { padding: 8px 14px; }.process-list { list-style: none; padding: 0; margin-top: 6px; counter-reset: steps; }.process-list li { position: relative; display: flex; align-items: center; gap: 8px; padding: 3px 0 3px 27px; color: #657087; border-bottom: 1px solid #f0f2f6; font-size: .72rem; }.process-list li:last-child { border-bottom: 0; }.process-list li::before { position: absolute; left: 0; width: 18px; height: 18px; display: grid; place-items: center; counter-increment: steps; content: counter(steps); border-radius: 50%; background: #eef1ff; color: var(--blue); font-size: .6rem; font-weight: 800; }
@media (max-width: 767.98px) { .app-header { height: 62px; }.app-brand { width: auto; flex-basis: auto; padding: 0 18px; }.header-content { gap: 12px; padding: 0 16px; }.header-search { width: auto; flex: 1; }.header-search input { max-width: 120px; }.header-actions { gap: 8px; }.user-name, .header-divider { display: none; }.sidebar { top: 62px; }.sidebar-sticky { height: calc(100vh - 62px); }.app-main { min-height: calc(100vh - 62px); padding: 27px 17px 45px; }.page-heading { align-items: flex-start; flex-direction: column; margin-bottom: 23px; gap: 15px; }.page-heading h1 { font-size: 1.4rem; }.dashboard-grid { display: block; }.dashboard-panel { margin-bottom: 16px !important; }.page-action { align-self: stretch; text-align: center; }.suite-detail-heading { flex-direction: column; gap: 16px; }.suite-info-layout { grid-template-columns: 1fr; }.suite-detail-info { width: 100%; }.suite-cases-layout { grid-template-columns: 1fr; }.suite-case-card { width: 100%; } }
@media (max-width: 767.98px) { .quick-start-row { display: block; }.quick-start-row .process-panel { max-width: none; }.quick-start-row .dashboard-actions { margin-bottom: 1.5rem !important; } }
@media (max-width: 767.98px) { .app-header { height: 62px; }.app-brand { width: auto; flex-basis: auto; padding: 0 18px; }.header-content { gap: 12px; padding: 0 16px; }.header-search { width: auto; flex: 1; }.header-search input { max-width: 120px; }.header-actions { gap: 8px; }.user-name, .header-divider { display: none; }.sidebar { top: 62px; }.sidebar-sticky { height: calc(100vh - 62px); }.app-main { min-height: calc(100vh - 62px); padding: 27px 17px 45px; }.page-heading { align-items: flex-start; flex-direction: column; margin-bottom: 23px; gap: 15px; }.page-heading h1 { font-size: 1.4rem; }.dashboard-grid { display: block; }.dashboard-panel { margin-bottom: 16px !important; }.page-action { align-self: stretch; text-align: center; }.suite-detail-heading { flex-direction: column; gap: 16px; }.suite-detail-info { width: 100%; }.suite-cases-layout { grid-template-columns: 1fr; }.suite-case-card { width: 100%; } }

/* Test case forms and library */
.test-case-heading { margin-bottom: 24px; }
.test-case-details a { overflow-wrap: anywhere; }
.test-case-heading h1 { margin: 5px 0 5px; color: var(--ink); font-size: 1.55rem; font-weight: 750; letter-spacing: -.035em; }
.test-case-heading p { margin: 0; color: var(--muted); font-size: .82rem; }
.test-case-heading .btn { margin-top: 4px; }
.test-case-heading-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.test-case-number-corner { color: var(--blue); font-size: 1.5rem; font-weight: 800; line-height: 1; white-space: nowrap; }
.test-case-number { color: var(--blue); font-size: 1.1rem; font-weight: 800; line-height: 1; white-space: nowrap; }
.plan-case-list { display: grid; gap: 5px; min-width: 220px; }
.plan-case-link { display: flex; align-items: baseline; gap: 8px; color: var(--ink); font-size: .75rem; text-decoration: none; }
.plan-case-link:hover { color: var(--blue); text-decoration: underline; }
.plan-suite-summary-row > td { padding-top: 13px; padding-bottom: 11px; background: #fff; border-top: 1px solid var(--line); }
.plan-suite-summary-row .plan-suite-link { font-size: .8rem; font-weight: 750; }
.plan-suite-status { display: inline-block; padding: 4px 8px; border-radius: 4px; color: #23784d; background: #e9f5ee; font-size: .66rem; font-weight: 750; }
.plan-suite-status.status-inactive, .plan-suite-status.status-closed { color: #687482; background: #f0f2f5; }
.plan-suite-status.status-design { color: #315cad; background: #edf3ff; }
.plan-suite-status.status-not-set { color: #687482; background: #f0f2f5; }
.plan-suite-cases-row > td { padding: 8px 13px 14px 28px; background: #fafbfd; border-top: 0; }
.plan-suite-cases-heading { display: flex; align-items: center; gap: 7px; margin-bottom: 7px; color: #68758a; font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.plan-suite-cases-heading span { display: inline-grid; min-width: 19px; height: 19px; padding: 0 5px; place-items: center; border-radius: 10px; color: #485a78; background: #e8edf4; font-size: .6rem; }
.plan-case-id, .run-case-id { color: var(--blue); font-size: .72rem; font-weight: 800; white-space: nowrap; }
.run-case-id { text-decoration: none; }
.run-case-id:hover { text-decoration: underline; }
.test-case-form { display: block; padding: 20px 30px 4px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 4px 18px rgba(25, 38, 66, .025); }
.test-case-form > br { display: none; }
.test-case-form > .row { margin: 0 0 6px; padding-bottom: 6px; border-bottom: 1px solid #eef0f5; }
.test-case-form > .row:last-of-type { border-bottom: 0; }
.test-case-form .row > [class*="col"], .test-case-form .row .row > [class*="col"] { min-width: 0; padding: 0 9px; }
.test-case-form .row > [class*="col"]:first-child { padding-left: 0; }
.test-case-form .row > [class*="col"]:last-child { padding-right: 0; }
.test-case-form label { display: block; margin-bottom: 4px; color: #59657d; font-size: .71rem; font-weight: 750 !important; letter-spacing: .01em; }
.test-case-form input:not([type="file"]), .test-case-form select, .test-case-form textarea { width: 100% !important; max-width: none !important; min-height: 32px; padding: 6px 12px !important; color: var(--ink); background: #fbfcfe; border: 1px solid #e2e6ef; border-radius: 6px; font-size: .8rem; transition: border-color .15s ease, box-shadow .15s ease; }
.test-case-form textarea { min-height: 60px; resize: vertical; }
.test-case-form #testCaseDiscussion, .test-case-form #testCaseDescription { min-height: 46px; }
.test-case-form input:not([type="file"]):focus, .test-case-form select:focus, .test-case-form textarea:focus { background: #fff; border-color: #8498ef; box-shadow: 0 0 0 3px rgba(70, 103, 232, .1); outline: 0; }
.test-case-form select { appearance: auto; }
.test-case-form input[type="file"] { width: 100%; min-height: 42px; padding: 10px; color: #7d879b; background: #fbfcfe; border: 1px dashed #cfd5e2; border-radius: 6px; font-size: .72rem; }
.test-case-form .container-fluid { margin: 0; padding: 0; }
.test-case-form #dynamicTable { width: 100%; margin: 0; border-collapse: separate; border-spacing: 0 4px; }
.test-case-form #dynamicTable th { padding: 0 0 4px; color: #59657d; font-size: .71rem; font-weight: 750; }
.test-case-form #dynamicTable td { position: relative; display: flex; align-items: center; flex-wrap: wrap; gap: 5px; padding: 8px 10px; border: 1px solid #e2e6ef; border-radius: 8px; background: #fff; }
.test-case-form #dynamicTable td.step-cell { box-shadow: 0 2px 8px rgba(25, 38, 66, .025); }
.test-case-form #dynamicTable td input { flex: 1 1 auto; width: auto !important; min-width: 0; }
.test-case-form #dynamicTable td .step-toolbar { flex: 1 0 100%; display: flex; align-items: center; gap: 2px; order: -1; }
.test-case-form #dynamicTable td .step-toolbar button, .test-case-form #dynamicTable td .step-toolbar label { width: 20px; height: 18px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: #8994aa; font-size: .65rem; cursor: pointer; }
.test-case-form #dynamicTable td .step-toolbar input { display: none; }
.test-case-form #dynamicTable td .step-main { flex: 1 0 100%; display: flex; align-items: flex-start; gap: 6px; }
.test-case-form #dynamicTable td .step-editor { flex: 1 1 auto; min-width: 0; min-height: 18px; padding: 3px 8px; overflow-wrap: anywhere; background: #fbfcfe; border: 1px solid #e2e6ef; border-radius: 6px; color: var(--ink); font-size: .78rem; line-height: 1.3; outline: 0; }
.test-case-form #dynamicTable td .step-editor:empty::before, .step-code code:empty::before { content: attr(data-placeholder); color: #a7afbe; }
.test-case-form #dynamicTable td .step-code { flex: 1 0 100%; margin: 4px 0 0; padding: 10px; background: #17233c; border-radius: 6px; color: #dce5ff; font-size: .75rem; white-space: pre-wrap; }
.test-case-form #dynamicTable td .step-code { position: relative; }
.test-case-form #dynamicTable td .step-remove-code { position: absolute; top: 7px; right: 7px; width: 24px; height: 24px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 4px; background: #dc6f78; color: #fff; font-size: .65rem; }
.test-case-form #dynamicTable td .step-code code { display: block; min-height: 28px; outline: 0; }
.test-case-form #dynamicTable td .step-images { display: flex; flex: 1 0 100%; gap: 8px; flex-wrap: wrap; }
.test-case-form #dynamicTable td .step-image-item { position: relative; display: block; width: 90px; height: 60px; }
.test-case-form #dynamicTable td .step-images img { width: 90px; height: 60px; object-fit: cover; border: 1px solid #e2e6ef; border-radius: 5px; }
.test-case-form #dynamicTable td .step-remove-image { position: absolute; top: 3px; right: 3px; width: 18px; height: 18px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: #dc6f78; color: #fff; font-size: .65rem; line-height: 1; }
.test-case-form #dynamicTable td .step-actions { display: flex; flex: 0 0 auto; gap: 5px; }
.test-case-form #dynamicTable td .btn { flex: 0 0 24px; width: 24px; height: 24px; display: inline-grid; place-items: center; padding: 0; margin: 0; border: 0; border-radius: 5px; color: #fff; font-size: .65rem; line-height: 1; }
.test-case-form #dynamicTable td .btn-outline-primary { background: #4667e8; }
.test-case-form #dynamicTable td .btn-outline-danger { background: #dc6f78; }
.test-case-form .btn-info { width: auto !important; height: 36px !important; margin: 4px 0 10px; padding: 0 13px; color: #4667e8; background: #eef1ff; border: 0; border-radius: 6px; }
.test-case-form .form-group { display: flex; justify-content: flex-start; gap: 10px; margin: 0 -30px; padding: 10px 30px 12px; border-top: 1px solid #eef0f5; }
.test-case-form .form-group .btn { min-width: 130px; min-height: 40px; justify-content: center; border-radius: 6px; font-size: .78rem; font-weight: 700; }
.test-case-form .form-group .btn-primary { background: var(--blue); border-color: var(--blue); }
.test-case-form .breadcrumb { margin: 0; }
.testcase-search-panel { padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.testcase-search-panel .form-label { margin-bottom: 6px; font-size: .78rem; }
.testcase-search-panel .form-control, .testcase-search-panel .form-select { min-width: 0; min-height: 38px; font-size: .82rem; }
.testcase-search-panel .btn { min-height: 38px; white-space: nowrap; }
.testcase-result-summary { color: #536078; font-size: .82rem; overflow-wrap: anywhere; }
.testcase-title-cell { max-width: 560px; overflow-wrap: anywhere; }
.testcase-result-title { color: var(--ink); font-weight: 600; }
.testcase-match-label { margin-top: 5px; color: #58667b; font-size: .7rem; }
.testcase-match-excerpt { margin-top: 3px; color: #536078; font-size: .75rem; line-height: 1.5; }
.testcase-title-cell mark { padding: 0 1px; color: inherit; background: #fff0a8; }
@media (max-width: 767.98px) {
  .testcase-search-results .table { table-layout: fixed; width: 100%; }
  .testcase-search-results th, .testcase-search-results td { padding: 10px 8px; vertical-align: top !important; }
  .testcase-search-results th:nth-child(1), .testcase-search-results td:nth-child(1) { width: 44px; }
  .testcase-search-results th:nth-child(4), .testcase-search-results td:nth-child(4) { display: none; }
  .testcase-search-results th:nth-child(5), .testcase-search-results td:nth-child(5) { width: 96px; }
  .testcase-search-results .btn { width: 24px; height: 28px; }
  .testcase-search-results .d-flex.gap-2 { gap: 4px !important; }
}
.test-case-table-panel { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 4px 18px rgba(25, 38, 66, .025); }
.test-case-table-panel .table { margin: 0; }
.test-case-table-panel th { padding: 15px 20px; color: #9da5b5; border-bottom: 1px solid var(--line); font-size: .66rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.test-case-table-panel td { padding: 15px 20px; color: #536078; border-color: #f0f2f6; font-size: .78rem; }
.test-case-table-panel tbody tr:hover { background: #fafbff; }
.test-case-table-panel .btn { width: 32px; height: 32px; display: inline-grid; place-items: center; padding: 0; border: 0; border-radius: 6px; }
.test-case-table-panel .btn-primary { background: #eef1ff; color: var(--blue); }.test-case-table-panel .btn-warning { background: #fff4df; color: #d99632; }.test-case-table-panel .btn-danger { background: #ffebed; color: #dc6f78; }
.test-case-table-panel + nav .page-link { color: var(--blue); border-color: var(--line); font-size: .75rem; }
.step-view-item { display: flex; align-items: flex-start; gap: 14px; }.step-number { width: 26px; height: 26px; flex: 0 0 26px; display: grid; place-items: center; border-radius: 50%; background: #eef1ff; color: var(--blue); font-size: .7rem; font-weight: 800; }.step-view-content { min-width: 0; flex: 1; }.step-rich-content p:last-child { margin-bottom: 0; }.step-view-code { margin: 10px 0; padding: 13px; overflow-x: auto; background: #17233c; border-radius: 6px; color: #dce5ff; font-size: .78rem; }.step-view-image { max-width: 280px; max-height: 190px; margin: 5px 8px 0 0; border: 1px solid var(--line); border-radius: 6px; }
.test-plans-heading { margin-bottom: 24px; }
.test-plan-alert { border: 0; border-radius: 8px; font-size: .8rem; }
.test-plan-stats { margin-bottom: 18px; }
.plan-stat { display: flex; align-items: center; gap: 14px; min-height: 103px; padding: 17px 18px; background: #fff; border: 1px solid var(--line); border-radius: 9px; box-shadow: 0 4px 18px rgba(25, 38, 66, .025); }
.plan-stat-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 38px; border-radius: 8px; color: currentColor; background: currentColor; }.plan-stat-icon i { color: #fff; }
.plan-stat span, .plan-stat small { display: block; color: #7d879b; font-size: .68rem; }.plan-stat strong { display: block; margin: 3px 0 1px; color: var(--ink); font-size: 1.45rem; line-height: 1; }
.plan-stat-blue { color: #4d6ee9; }.plan-stat-green { color: #39ad88; }.plan-stat-orange { color: #ef9d55; }.plan-stat-purple { color: #9672df; }
.test-plan-panel { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 4px 18px rgba(25, 38, 66, .025); }.test-plan-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px 16px; border-bottom: 1px solid var(--line); }.test-plan-toolbar h2 { margin: 4px 0 0; color: var(--ink); font-size: 1rem; font-weight: 750; }
.plan-filter { display: flex; align-items: center; gap: 9px; color: #7d879b; font-size: .72rem; font-weight: 700; }.plan-filter .form-select { width: 145px; color: var(--ink); border-color: #e2e6ef; font-size: .75rem; }.clear-filter { color: var(--blue); font-size: .7rem; text-decoration: none; }
.test-plans-table { margin: 0; }.test-plans-table th { padding: 12px 22px; color: #9da5b5; border-bottom: 1px solid var(--line); font-size: .64rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }.test-plans-table td { padding: 14px 22px; color: #536078; border-color: #f0f2f6; font-size: .78rem; }.test-plans-table tbody tr:hover { background: #fafbff; }
.plan-name { display: flex; align-items: center; gap: 11px; color: var(--ink); text-decoration: none; }.plan-avatar { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 34px; border-radius: 7px; color: var(--blue); background: #eef1ff; }.plan-name strong, .plan-name small { display: block; }.plan-name strong { font-weight: 700; }.plan-name small { margin-top: 2px; color: #a0a8b7; font-size: .67rem; }
.plan-id { color: #8b95a9; font-family: monospace; font-size: .72rem; }.suite-count { color: #657087; }.suite-count i { margin-right: 3px; color: #9ca8c1; }.plan-status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 5px; font-size: .68rem; font-weight: 700; }.plan-status i { font-size: .42rem; }.status-active { color: #2d946f; background: #eaf8f2; }.status-design { color: #c17a22; background: #fff5e5; }.status-inactive { color: #778197; background: #f0f2f6; }.status-closed { color: #8464c2; background: #f1edfb; }.status-completed { color: #4777b5; background: #eaf2fc; }.plan-status.status-paused { color: #2874dc; background: #e8f0ff; }
.plan-actions { display: inline-flex; gap: 5px; }.plan-actions .btn, .plan-edit-action { width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 6px; color: var(--blue); background: #eef1ff; }.plan-actions .suite-delete { color: #dc6f78; background: #ffebed; }.plan-edit-action { color: #d99632; background: #fff4df; }.suite-type { color: #657087; }.suite-type i { margin-right: 3px; color: #9ca8c1; }.empty-plans { padding: 48px 20px !important; text-align: center; }.empty-plans i, .empty-plans strong, .empty-plans span { display: block; }.empty-plans i { margin-bottom: 10px; color: #aab3c3; font-size: 1.6rem; }.empty-plans strong { color: var(--ink); }.empty-plans span { margin-top: 4px; color: #8994aa; font-size: .75rem; }.test-plan-panel + nav .page-link { color: var(--blue); border-color: var(--line); font-size: .75rem; }
@media (max-width: 767.98px) { .test-plan-toolbar { align-items: flex-start; flex-direction: column; padding: 17px 15px 14px; }.plan-filter { width: 100%; }.plan-filter .form-select { flex: 1; }.test-plans-table th, .test-plans-table td { padding: 12px 13px; }.test-plans-table th:nth-child(2), .test-plans-table td:nth-child(2), .test-plans-table th:nth-child(3), .test-plans-table td:nth-child(3) { display: none; }.test-plans-table td { font-size: .75rem; }.test-plans-table .text-end { padding-left: 0; }.plan-name { gap: 8px; }.plan-avatar { width: 30px; height: 30px; flex-basis: 30px; }.test-plans-heading .page-action { width: 100%; justify-content: center; } }
.test-runs-table th, .test-runs-table td { white-space: nowrap; }.test-runs-table .plan-name { white-space: normal; }.test-runs-table .plan-name small { white-space: nowrap; }
@media (max-width: 767.98px) { .test-runs-table th:nth-child(2), .test-runs-table td:nth-child(2), .test-runs-table th:nth-child(3), .test-runs-table td:nth-child(3), .test-runs-table th:nth-child(4), .test-runs-table td:nth-child(4) { display: none; } }

/* Admin user directory */
.admin-users-panel { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 4px 18px rgba(25, 38, 66, .025); }.admin-users-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 20px 22px 16px; border-bottom: 1px solid var(--line); }.admin-users-toolbar h2 { margin: 4px 0 0; color: var(--ink); font-size: 1rem; font-weight: 750; }.admin-users-toolbar-meta { color: #8994aa; font-size: .74rem; }.admin-users-toolbar-meta i { color: var(--blue); }
.admin-user-grid { padding: 18px 18px 20px; }.admin-user-card { height: 100%; padding: 18px; border: 1px solid #e9edf4; border-radius: 9px; transition: border-color .15s ease, box-shadow .15s ease; }.admin-user-card:hover { border-color: #d6def7; box-shadow: 0 8px 22px rgba(25, 38, 66, .06); }.admin-user-card-top { display: flex; align-items: center; gap: 12px; }.admin-user-avatar { width: 43px; height: 43px; display: grid; place-items: center; flex: 0 0 43px; border-radius: 50%; color: var(--blue); background: #e9edff; font-size: .76rem; font-weight: 800; }.admin-user-identity { min-width: 0; flex: 1; }.admin-user-identity h3 { overflow: hidden; margin: 0 0 3px; color: var(--ink); font-size: .9rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }.admin-user-identity span { color: #8994aa; font-size: .72rem; }.admin-user-status { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 5px; font-size: .64rem; font-weight: 700; }.admin-user-status i { font-size: .4rem; }.user-status-active { color: #2d946f; background: #eaf8f2; }.user-status-invited { color: #c17a22; background: #fff5e5; }.user-status-inactive { color: #778197; background: #f0f2f6; }
.admin-user-details { display: grid; gap: 9px; margin: 18px 0; padding: 15px 0; border-top: 1px solid #f0f2f6; border-bottom: 1px solid #f0f2f6; }.admin-user-details div { display: flex; align-items: center; gap: 10px; min-width: 0; color: #657087; font-size: .73rem; }.admin-user-details i { width: 15px; color: #a1aabd; text-align: center; }.admin-user-details span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.admin-user-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.admin-user-card-footer small { color: #a0a8b7; font-size: .66rem; }.admin-user-actions { display: flex; gap: 5px; }.admin-user-actions .btn { width: 29px; height: 29px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 6px; color: #d99632; background: #fff4df; }.admin-user-actions .btn:last-child { color: #dc6f78; background: #ffebed; }.admin-users-empty { padding: 50px 20px; text-align: center; }.admin-users-empty i, .admin-users-empty strong, .admin-users-empty span { display: block; }.admin-users-empty i { margin-bottom: 10px; color: #aab3c3; font-size: 1.6rem; }.admin-users-empty strong { color: var(--ink); }.admin-users-empty span { margin-top: 4px; color: #8994aa; font-size: .75rem; }
.admin-user-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; max-width: 850px; padding: 22px 24px 8px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }.admin-user-form-grid label { display: block; margin-bottom: 5px; color: #59657d; font-size: .72rem; font-weight: 750; }.admin-user-form-grid .form-control, .admin-user-form-grid .form-select { min-height: 38px; font-size: .8rem; }.admin-user-form-grid .mb-3 { margin-bottom: 15px !important; }
@media (max-width: 767.98px) { .admin-users-toolbar { padding: 17px 15px 14px; }.admin-user-grid { padding: 14px 13px 16px; }.admin-user-card { padding: 15px; }.admin-user-status { padding: 4px 6px; font-size: .59rem; }.admin-user-form-grid { display: block; padding: 17px 16px 4px; }.admin-user-form-grid .form-control, .admin-user-form-grid .form-select { width: 100%; } }
.run-assignee-select { min-width: 150px; color: var(--ink); border-color: #e2e6ef; font-size: .75rem; }.run-assignee { display: inline-flex; align-items: center; gap: 6px; color: #657087; font-size: .75rem; }.run-assignee i { color: var(--blue); }
.run-step-status-select { width: 150px; min-width: 150px; }
.run-steps-row .card form { flex: 0 0 150px; margin-left: auto; }
.run-comment-form { display: grid; grid-template-columns: auto minmax(220px, 1fr) auto; align-items: center; gap: 8px; }.run-comment-form label { color: var(--muted); font-size: .72rem; font-weight: 700; }.run-comment-form textarea { min-height: 38px; font-size: .75rem; resize: vertical; }.run-comment-form .btn { white-space: nowrap; }
.run-submit-case { display: inline-flex !important; width: fit-content !important; max-width: max-content; margin: 0 0 18px; padding: .45rem .85rem; }
.run-case-pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 18px 0; color: var(--muted); font-size: .75rem; }.run-case-pagination .disabled { pointer-events: none; opacity: .45; }.run-case-pagination-top { width: fit-content; margin: 0 0 0 auto; }
@media (max-width: 767.98px) { .run-assignee-select { min-width: 125px; font-size: .7rem; } }
.run-detail-table { table-layout: fixed; margin-top: 18px; background: #fff; }.run-detail-table th, .run-detail-table td { vertical-align: middle; }.run-detail-table thead tr:first-child th { padding: 14px 13px 10px; color: var(--ink); background: #fff; border-bottom: 0; font-size: .8rem; }.run-detail-table thead tr:last-child th { padding: 11px 13px; color: #7d879b; background: #f7f8fb; border-bottom: 1px solid var(--line); font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; }.run-detail-table .run-case-number { width: 6%; }.run-detail-table .run-case-title { width: 48%; }.run-detail-table .run-case-status { width: 18%; }.run-detail-table .run-case-assignee { width: 28%; }.run-detail-table tbody > tr:not(.run-steps-row):not(.run-comment-row) td { padding: 14px 13px; border-color: #f0f2f6; overflow-wrap: anywhere; }.run-detail-table .run-steps-row td { padding: 10px 13px 18px; background: #fafbfe; border: 0; }.run-detail-table .run-comment-row td { padding: 10px 13px 18px; color: #657087; background: #fafbfe; border-bottom: 1px solid var(--line); font-size: .78rem; }.run-detail-table .run-steps-row .btn { margin: 0 0 10px; }.run-detail-table .card { border-color: #e5e9f1; box-shadow: none; }.run-detail-table .step-view-image { max-width: 220px; max-height: 150px; }
.run-detail-table .run-case-number-col { width: 4%; }.run-detail-table .run-case-title-col { width: 58%; }.run-detail-table .run-case-status-col { width: 16%; }.run-detail-table .run-case-assignee-col { width: 22%; }.run-detail-table .run-case-number-col, .run-detail-table .run-case-title-col, .run-detail-table .run-case-status-col, .run-detail-table .run-case-assignee-col { min-width: 0; }
@media (max-width: 767.98px) { .run-detail-table { min-width: 680px; }.run-detail-table .run-case-title { width: 42%; }.run-detail-table .run-case-status { width: 20%; }.run-detail-table .run-case-assignee { width: 32%; } }
.assigned-email-form { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 18px; }.assigned-email-form strong, .assigned-email-form small { display: block; }.assigned-email-form strong { color: var(--ink); font-size: .8rem; }.assigned-email-form small { margin-top: 3px; color: #8994aa; font-size: .7rem; }.assigned-email-controls { display: flex; align-items: center; gap: 8px; min-width: 300px; }.assigned-email-controls .form-select { min-width: 190px; font-size: .75rem; }.assigned-email-controls .btn { flex: 0 0 auto; white-space: nowrap; }.shared-run-page { max-width: 980px; margin: 0 auto; }.shared-run-header { margin-bottom: 24px; }.shared-run-header h1 { margin: 6px 0; color: var(--ink); font-size: 1.7rem; font-weight: 750; }.shared-run-header p { color: var(--muted); font-size: .84rem; }.shared-run-meta { display: flex; flex-wrap: wrap; gap: 15px; color: #657087; font-size: .75rem; }.shared-run-meta i { margin-right: 4px; color: var(--blue); }.shared-run-panel { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 4px 18px rgba(25, 38, 66, .025); }.shared-run-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px 16px; border-bottom: 1px solid var(--line); }.shared-run-panel-heading h2 { margin: 4px 0 0; color: var(--ink); font-size: 1rem; }.shared-run-table { margin: 0; }.shared-run-table th { padding: 12px 22px; color: #9da5b5; border-bottom: 1px solid var(--line); font-size: .64rem; text-transform: uppercase; }.shared-run-table td { padding: 15px 22px; color: #536078; border-color: #f0f2f6; font-size: .78rem; }
@media (max-width: 767.98px) { .assigned-email-form { align-items: stretch; flex-direction: column; padding: 14px 13px; }.assigned-email-controls { min-width: 0; }.assigned-email-controls .form-select { flex: 1; min-width: 0; }.assigned-email-controls .btn { white-space: nowrap; }.shared-run-header h1 { font-size: 1.4rem; }.shared-run-panel-heading { align-items: flex-start; flex-direction: column; padding: 17px 15px 14px; }.shared-run-table th, .shared-run-table td { padding: 12px 13px; }.run-comment-form { grid-template-columns: 1fr; }.run-comment-form .btn { justify-self: start; } }
@media (max-width: 767.98px) { .test-case-form { padding: 17px 16px 0; }.test-case-form > .row { margin-bottom: 10px; padding-bottom: 10px; }.test-case-form .row > [class*="col"], .test-case-form .row .row > [class*="col"] { width: 100% !important; margin-bottom: 10px; padding: 0 !important; }.test-case-form .form-group { margin: 0 -16px; padding: 15px 16px; }.test-case-form .form-group .btn { flex: 1; }.test-case-heading .btn { width: 100%; }.test-case-table-panel th, .test-case-table-panel td { padding: 12px 13px; }.test-case-table-panel th:nth-child(3), .test-case-table-panel td:nth-child(3) { display: none; } }
.run-detail-table .run-case-number { width: 3%; }.run-detail-table .run-case-title { width: 65%; }.run-detail-table .run-case-status { width: 14%; }.run-detail-table .run-case-assignee { width: 18%; }
.step-image-button { display: inline-block; padding: 0; margin: 5px 8px 0 0; border: 0; background: transparent; cursor: zoom-in; }.step-view-image { max-width: 280px; max-height: 190px; border: 1px solid var(--line); border-radius: 6px; transition: transform .15s ease, box-shadow .15s ease; }.step-image-button:hover .step-view-image, .step-image-button:focus-visible .step-view-image { transform: scale(1.02); box-shadow: 0 4px 14px rgba(25, 38, 66, .16); }.image-lightbox .modal-content { overflow: hidden; background: #17233c; border: 0; }.image-lightbox .modal-header { color: #fff; border-bottom-color: rgba(255, 255, 255, .14); }.image-lightbox .modal-title { font-size: .9rem; }.image-lightbox .btn-close { filter: invert(1); }.image-lightbox .modal-body { display: flex; align-items: center; justify-content: center; min-height: 220px; padding: 16px; }.image-lightbox .modal-body img { display: block; max-width: 100%; max-height: calc(100vh - 150px); width: auto; height: auto; object-fit: contain; }

.plan-avatar.membership-entity-color { color: var(--entity-color); background: color-mix(in srgb, var(--entity-color) 12%, white); }
.run-case-id:has(+ .run-membership-colors-preview) { display: block; width: fit-content; }
.run-detail-table:has(.run-membership-colors-preview) col:first-child { width: 80px; }
.run-membership-colors-preview { display: grid; grid-template-columns: repeat(2, 12px); gap: 4px; width: 28px; margin-top: 8px; }
.run-membership-color-preview { display: block; width: 12px; height: 12px; border-radius: 2px; }
.run-membership-color-preview-plan { grid-column: 1; }
.run-membership-color-preview-suite { grid-column: 2; }

.run-table-scroll { max-width: 100%; overflow-x: auto; }
.run-detail-table { min-width: 940px; }
.run-detail-table .run-case-number-col, .run-detail-table .run-case-number { width: 9%; }
.run-detail-table .run-case-title-col, .run-detail-table .run-case-title { width: 43%; }
.run-detail-table .run-case-status-col, .run-detail-table .run-case-status { width: 17%; }
.run-detail-table .run-case-assignee-col, .run-detail-table .run-case-assignee { width: 36%; }
.run-detail-table .run-case-status-cell { padding-right: 4px !important; padding-left: 4px !important; }
.run-case-status-control { display: flex; align-items: center; gap: 4px; min-width: 0; }
.run-overview { margin: 2px 0 22px; padding: 0 1px; }
.run-overview-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 0 0 17px; border-bottom: 1px solid var(--line); }
.run-overview-eyebrow { color: var(--blue); font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.run-overview-heading h1 { margin: 5px 0 0; color: var(--ink); font-size: 1.45rem; font-weight: 750; overflow-wrap: anywhere; }
.run-overview-status { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 5px; color: #815b10; background: #fff6df; font-size: .7rem; font-weight: 800; }
.run-overview-status::before { width: 7px; height: 7px; border-radius: 50%; background: currentColor; content: ""; }
.run-overview-status-label { font-size: .56rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; opacity: .8; }
.run-overview-status strong { font-size: .7rem; }
.run-overview-status.status-completed, .run-overview-status.status-closed { color: #23784d; background: #e9f5ee; }
.run-overview-status.status-paused, .run-overview-status.status-design { color: #315cad; background: #edf3ff; }
.run-overview-status.status-inactive, .run-overview-status.status-unknown { color: #687482; background: #f0f2f5; }
.run-overview-metadata { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 17px; padding: 14px 0 16px; border-bottom: 1px solid var(--line); }
.run-overview-metadata > div { min-width: 0; }
.run-overview-metadata span { display: block; margin-bottom: 3px; color: var(--muted); font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.run-overview-metadata strong { display: block; overflow-wrap: anywhere; color: #33435c; font-size: .72rem; font-weight: 650; }
.run-overview .case-run-history { margin-top: 14px; }
.run-overview-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; }
.run-overview-toolbar > div strong, .run-overview-toolbar > div small { display: block; }
.run-overview-toolbar > div strong { color: var(--ink); font-size: .72rem; }
.run-overview-toolbar > div small { margin-top: 2px; color: var(--muted); font-size: .62rem; }
.run-overview-email-form { display: flex; align-items: center; gap: 7px; }
.run-overview-email-form .form-select { width: 185px; font-size: .68rem; }
.run-overview-email-form .btn { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.run-overview-status-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.run-overview-status-link, .run-overview-total { display: flex; align-items: center; justify-content: center; gap: 6px; min-width: 0; padding: 11px 8px; border-right: 1px solid var(--line); }
.run-overview-status-link { text-decoration: none; transition: background-color .15s ease; }
.run-overview-status-link:hover { background: #f8faff; }
.run-overview-status-link > i:first-child, .run-overview-total > i { flex: 0 0 auto; font-size: 1rem; }
.run-overview-status-link > span, .run-overview-total > span { overflow: hidden; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.run-overview-status-link > strong, .run-overview-total > strong { color: var(--ink); font-size: .82rem; }
.run-overview-status-link .run-overview-external { flex: 0 0 auto; font-size: .78rem; }
.run-overview-status-link.status-pass { color: green; }
.run-overview-status-link.status-fail { color: red; }
.run-overview-status-link.status-pass, .run-overview-status-link.status-fail { background-color: transparent; }
.run-overview-status-link.status-pass:hover, .run-overview-status-link.status-fail:hover { background-color: transparent; }
.run-overview-status-link.status-review { color: yellowgreen; }
.run-overview-status-link.status-untested { color: blue; }
.run-overview-total { border: 0; color: rgb(2, 14, 33); }
.run-overview-total > i { font-size: .95rem; }
.run-date-list { margin-top: 16px; }
@media (max-width: 991.98px) { .run-overview-metadata { grid-template-columns: repeat(3, minmax(0, 1fr)); }.run-overview-status-link, .run-overview-total { gap: 4px; padding: 10px 5px; }.run-overview-status-link > span, .run-overview-total > span { font-size: .62rem; } }
@media (max-width: 767.98px) { .run-overview-heading { align-items: flex-start; flex-direction: column; }.run-overview-metadata { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }.run-overview-toolbar { align-items: flex-start; flex-direction: column; }.run-overview-email-form { width: 100%; }.run-overview-email-form .form-select { flex: 1; min-width: 0; }.run-overview-status-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }.run-overview-status-link { justify-content: flex-start; border-bottom: 1px solid var(--line); }.run-overview-status-link:nth-child(even) { border-right: 0; }.run-overview-total { grid-column: 1 / -1; border-top: 0; } }
.case-run-history-row > td { padding: 0 13px 14px !important; background: #fff; border: 0; }
.case-run-history { padding: 13px 14px; border: 1px solid #e1e7ee; border-radius: 6px; background: #fbfcfe; }
.case-run-history-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.case-run-history-heading .eyebrow { font-size: .58rem; }
.case-run-history-heading h3 { margin: 2px 0 0; color: var(--ink); font-size: .82rem; font-weight: 750; }
.case-run-history-heading small { color: var(--muted); font-size: .63rem; }
.case-run-history-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.case-run-history-card { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.case-run-history-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.case-run-history-card-heading strong { font-size: .68rem; }
.case-run-history-status { display: inline-flex; align-items: center; gap: 5px; padding: 3px 6px; border-radius: 4px; font-size: .62rem; font-weight: 750; white-space: nowrap; }
.case-run-history-status::before { width: 5px; height: 5px; border-radius: 50%; background: currentColor; content: ""; }
.case-run-history-status.status-pass { color: #23784d; background: #e9f5ee; }
.case-run-history-status.status-fail { color: #a63b3b; background: #fbefed; }
.case-run-history-status.status-paused, .case-run-history-status.status-inconclusive { color: #87621d; background: #fff6df; }
.case-run-history-status.status-not-tested { color: #315cad; background: #edf3ff; }
.case-run-history-title { margin-top: 5px; overflow: hidden; color: #536078; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.case-run-history-meta { margin-top: 3px; color: var(--muted); font-size: .6rem; }
.case-run-history-difference { grid-column: 1 / -1; display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: .62rem; }
.case-run-history-empty { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: .67rem; }
@media (max-width: 767.98px) { .case-run-history-heading { align-items: flex-start; flex-direction: column; }.case-run-history-cards { grid-template-columns: 1fr; }.case-run-history-difference, .case-run-history-empty { grid-column: auto; } }

.reports-heading { margin-bottom: 20px; }
.reports-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.report-tool { min-width: 0; padding: 15px; background: #fff; border: 1px solid var(--line); border-radius: 6px; }
.report-tool-heading { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
.report-tool-heading > i { color: var(--blue); font-size: 1rem; }
.report-tool-heading h2 { margin: 0; color: var(--ink); font-size: .9rem; font-weight: 750; }
.report-tool-heading p { margin: 3px 0 0; color: var(--muted); font-size: .72rem; }
.report-form { display: grid; align-items: end; gap: 8px; }
.report-comparison-form { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; }
.report-matrix-form { grid-template-columns: minmax(0, 1fr) minmax(230px, .75fr) auto; align-items: end; }
.report-matrix-form select { min-height: 132px; }
.report-matrix-filters { display: grid; gap: 10px; align-content: end; }
.report-matrix-filters .form-check { margin: 0; }
.report-matrix-table td small { display: block; margin-top: 4px; font-weight: 400; white-space: normal; }
.reports-layout { display: grid; grid-template-columns: minmax(220px, 260px) minmax(0, 1fr); align-items: start; gap: 14px; }
.reports-layout.reports-layout-single { grid-template-columns: minmax(0, 1fr); }
.reports-navigation, .reports-main > .report-output { min-width: 0; padding: 14px; background: #fff; border: 1px solid var(--line); border-radius: 7px; }
.reports-navigation h2 { margin: 2px 9px 10px; color: var(--ink); font-size: .88rem; font-weight: 750; }
.reports-navigation-link { display: flex; align-items: flex-start; gap: 10px; padding: 10px 9px; border-radius: 5px; color: #465671; text-decoration: none; }
.reports-navigation-link:hover { color: var(--blue); background: #f5f7fb; }
.reports-navigation-link.active { color: #294ba9; background: #edf2ff; }
.reports-navigation-link > i { width: 18px; margin-top: 2px; color: var(--blue); text-align: center; }
.reports-navigation-link strong, .reports-navigation-link small { display: block; }
.reports-navigation-link strong { font-size: .75rem; }
.reports-navigation-link small { margin-top: 2px; color: var(--muted); font-size: .67rem; }
.reports-navigation-group { min-width: 0; margin: 2px 0; border-radius: 5px; }
.reports-navigation-group-summary { display: flex; align-items: flex-start; gap: 10px; padding: 10px 9px; list-style: none; border-radius: 5px; color: #465671; cursor: pointer; }
.reports-navigation-group-summary::-webkit-details-marker { display: none; }
.reports-navigation-group-summary:hover, .reports-navigation-group[open] > .reports-navigation-group-summary { color: var(--blue); background: #f5f7fb; }
.reports-navigation-group.active > .reports-navigation-group-summary { color: #294ba9; background: #edf2ff; }
.reports-navigation-group-summary > i:first-child { width: 18px; margin-top: 2px; color: var(--blue); text-align: center; }
.reports-navigation-group-summary > span { display: block; flex: 1; min-width: 0; }
.reports-navigation-group-summary strong, .reports-navigation-group-summary small { display: block; }
.reports-navigation-group-summary strong { font-size: .75rem; }
.reports-navigation-group-summary small { margin-top: 2px; color: var(--muted); font-size: .67rem; }
.reports-navigation-chevron { width: auto !important; margin: 2px 3px 0 0; color: var(--muted) !important; transition: transform .15s ease; }
.reports-navigation-group[open] .reports-navigation-chevron { transform: rotate(180deg); }
.reports-navigation-subitems { display: grid; margin: 2px 0 5px 27px; padding-left: 9px; border-left: 1px solid #dfe5ec; }
.reports-navigation-sublink { display: block; padding: 8px 9px; border-radius: 5px; color: #465671; text-decoration: none; font-size: .73rem; }
.reports-navigation-sublink:hover { color: var(--blue); background: #f5f7fb; }
.reports-navigation-sublink.active { color: #294ba9; background: #edf2ff; font-weight: 700; }
.report-context-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: 10px; margin-bottom: 12px; padding: 13px; background: #fff; border: 1px solid var(--line); border-radius: 7px; }
.report-context-form .form-label { margin-bottom: 4px; font-size: .7rem; font-weight: 700; }
.report-context-form .btn { white-space: nowrap; }
.report-context-form.report-matrix-form { grid-template-columns: minmax(0, 1fr) minmax(180px, .8fr) auto; }
.report-context-form.report-matrix-form select { min-height: 90px; }
.reports-main > .report-output { margin-top: 0; }
.reports-main .report-output-heading { margin: -14px -14px 14px; padding: 14px; border-bottom: 1px solid var(--line); }
.report-tool-featured { grid-column: 1 / -1; }
.report-single-form { grid-template-columns: minmax(0, 1fr) auto; }
.report-form .form-label { margin-bottom: 4px; color: #657087; font-size: .68rem; font-weight: 700; }
.report-form .form-select { min-width: 0; font-size: .72rem; }
.report-form .btn { white-space: nowrap; }
.report-output { margin-top: 18px; padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 6px; }
.report-output-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.report-download-bar { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.report-output-heading h2 { margin: 4px 0 0; color: var(--ink); font-size: 1.05rem; font-weight: 750; }
.comparison-runs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.comparison-runs > div { display: grid; gap: 4px; padding: 12px; background: #f7f8fb; border: 1px solid var(--line); border-radius: 5px; }
.comparison-run-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.comparison-run-status { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 5px; padding: 4px 7px; border-radius: 4px; font-size: .65rem !important; font-weight: 750; }
.comparison-run-status::before { width: 6px; height: 6px; border-radius: 50%; background: currentColor; content: ""; }
.comparison-runs .comparison-run-status-label { color: #69778b; font-size: .59rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.run-status-active { color: #87621d !important; background: #fff6df; }
.run-status-completed, .run-status-closed { color: #23784d !important; background: #e9f5ee; }
.run-status-paused, .run-status-design { color: #315cad !important; background: #edf3ff; }
.run-status-inactive, .run-status-unknown { color: #687482 !important; background: #f0f2f5; }
.comparison-case-status { display: inline-block; padding: 3px 7px; border-radius: 4px; font-size: .68rem; font-weight: 750; }
.comparison-case-status.status-pass { color: #176b37; background: #eaf6ed; }
.comparison-case-status.status-fail { color: #a52c2c; background: #fff0ed; }
.comparison-case-status.status-inconclusive, .comparison-case-status.status-paused { color: #8b6212; background: #fff7df; }
.comparison-case-status.status-not-tested { color: #315cad; background: #edf3ff; }
.comparison-case-status.status-not-in-run { color: #687482; background: #f0f2f5; }
.comparison-runs strong { display: -webkit-box; overflow: hidden; color: var(--ink); font-size: .8rem; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.comparison-runs span { color: var(--muted); font-size: .7rem; }
.report-label { color: var(--blue) !important; font-size: .63rem !important; font-weight: 800; text-transform: uppercase; }
.report-stat-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 18px; }
.report-stat-row > div { display: grid; gap: 3px; min-width: 100px; padding: 9px 11px; background: #f7f8fb; border: 1px solid var(--line); border-radius: 5px; }
.report-stat-row span, .report-context { color: var(--muted); font-size: .68rem; }
.report-stat-row strong { color: var(--ink); font-size: 1rem; }
.report-output h3 { margin: 18px 0 8px; color: var(--ink); font-size: .82rem; font-weight: 750; }
.report-table { margin-bottom: 12px; font-size: .75rem; }
.report-matrix-scroll { max-width: 100%; }
.report-matrix-table { min-width: 760px; }
.report-matrix-table thead th { min-width: 150px; }
.report-matrix-table thead th:first-child, .report-matrix-table tbody th { min-width: 220px; }
.report-matrix-table thead th strong, .report-matrix-table thead th span { display: block; }
.report-matrix-table thead th span { margin-top: 3px; color: var(--muted); font-size: .66rem; font-weight: 400; }
.report-matrix-table .report-status { font-weight: 750; white-space: nowrap; }
.report-matrix-table .status-pass { color: #176b37; background: #eaf6ed; }
.report-matrix-table .status-fail { color: #a52c2c; background: #fff0ed; }
.report-matrix-table .status-inconclusive, .report-matrix-table .status-paused { color: #8b6212; background: #fff7df; }
.report-matrix-table .status-not-tested { color: #315cad; background: #edf3ff; }
.report-matrix-table .status-not-in-run { color: #687482; background: #f4f6f8; }
.report-table th { color: #7d879b; font-size: .65rem; text-transform: uppercase; }
.report-rating { padding: 5px 9px; border-radius: 4px; font-size: .72rem; font-weight: 750; }
.rating-ready, .rating-healthy { color: #176b37; background: #eaf6ed; }
.rating-risk, .rating-at-risk { color: #a52c2c; background: #fff0ed; }
.rating-needs-review { color: #8b6212; background: #fff7df; }
.report-list { margin: 0; padding-left: 20px; color: #536078; font-size: .76rem; }
.report-list li { padding: 3px 0; }
.report-factor-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 18px; }
.report-factor-list > div { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; color: #536078; border-bottom: 1px solid #f0f2f6; font-size: .72rem; }
.report-empty { margin: 12px 0; color: var(--muted); font-size: .76rem; }
.my-work-save-filter { position: relative; flex: 0 0 auto; }
.my-work-save-filter > summary { cursor: pointer; list-style: none; }
.my-work-save-filter > summary::-webkit-details-marker { display: none; }
.my-work-save-form { position: absolute; z-index: 20; top: calc(100% + 6px); right: 0; display: grid; width: 280px; gap: 8px; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 8px 24px rgba(25, 38, 66, .12); }
.my-work-save-form label, .my-work-filter-field label { margin: 0 0 4px; color: var(--muted); font-size: .68rem; font-weight: 700; }
.my-work-filters { display: grid; gap: 8px; margin: 12px 0 14px; }
.my-work-filter-row { display: grid; grid-template-columns: minmax(220px, 1.35fr) repeat(3, minmax(120px, .75fr)); gap: 8px; }
.my-work-filter-row-secondary { grid-template-columns: repeat(4, minmax(120px, 1fr)) auto; }
.my-work-filter-field { display: grid; min-width: 0; gap: 4px; }
.my-work-filter-field .form-select, .my-work-filter-field .form-control { min-width: 0; min-height: 35px; font-size: .72rem; }
.my-work-search-input { display: flex; align-items: center; gap: 8px; min-height: 35px; padding: 0 10px; color: var(--muted); background: #fff; border: 1px solid #d5dce7; border-radius: 5px; }
.my-work-search-input input { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: .72rem; }
.my-work-filter-actions { display: flex; align-items: flex-end; gap: 6px; }
.my-work-filter-actions .btn { min-height: 35px; font-size: .7rem; }
.my-work-saved-filters { overflow: hidden; }
.saved-filter-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; min-height: 58px; padding: 9px 15px; border-bottom: 1px solid #edf0f4; }
.saved-filter-row:last-child { border-bottom: 0; }
.saved-filter-row > div { display: grid; min-width: 0; gap: 3px; }
.saved-filter-row small { overflow: hidden; color: var(--muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.my-work-favorite-form { display: inline-flex; flex: 0 0 25px; width: 25px; min-width: 25px; margin: 0; }
.my-work-favorite { display: inline-grid; width: 25px; height: 25px; padding: 0; place-items: center; color: #8390a3; background: transparent; border: 0; border-radius: 4px; }
.my-work-favorite:hover, .my-work-favorite:focus-visible { color: #be841a; background: #fff7e5; }
.my-work-favorite.is-favorite { color: #c38b1e; }
.my-work-due-form { display: flex; flex: 0 0 auto; align-items: center; gap: 4px; min-width: 0; }
.my-work-due-assignee { gap: 6px; }
.my-work-due-assignee .badge { flex: 0 0 auto; }
.my-work-due-form input[type="date"] { width: 132px; min-width: 0; min-height: 30px; padding: 3px 5px; border: 1px solid #d5dce7; border-radius: 4px; font-size: .65rem; }
.my-work-due-form .btn { min-width: 30px; min-height: 30px; padding: 2px 6px; }
.my-work-summary { margin-top: 12px; }
.confirmed-cases-search { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px; margin: 18px 0 10px; }
.confirmed-cases-search-field { flex: 1 1 300px; max-width: 600px; }
.confirmed-cases-search-field .form-label { margin-bottom: 4px; color: var(--muted); font-size: .72rem; }
.confirmed-cases-search .btn { min-height: 38px; }
.confirmed-cases-search .btn i { margin-right: 5px; }
.confirmed-cases-pagination { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin: 12px 0; color: var(--muted); font-size: .75rem; }
.my-work-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.my-work-list-inner { min-width: 900px; color: var(--ink); font-size: .88rem; }
.my-work-column-header, .my-work-case-row { display: grid; grid-template-columns: 48px 42px minmax(0, 1fr) 230px; align-items: center; }
.my-work-list-inner.due-date-list { min-width: 1000px; }
.my-work-list-inner.due-date-list .my-work-column-header, .my-work-list-inner.due-date-list .my-work-case-row { grid-template-columns: 48px 42px minmax(0, 1fr) 330px; }
.my-work-column-header { min-height: 42px; color: #606b7c; background: #f7f8fa; border-bottom: 1px solid var(--line); font-size: .73rem; font-weight: 700; }
.my-work-column-header > span, .my-work-case-row > span { min-width: 0; padding: 8px 12px; }
.my-work-run-group { border-bottom: 1px solid #e3e5e8; }
.my-work-run-heading { display: grid; grid-template-columns: 90px minmax(0, 1fr); align-items: center; min-height: 42px; padding: 8px 12px; color: #414b58; background: #f8f9fa; cursor: pointer; list-style: none; }
.my-work-run-heading::-webkit-details-marker { display: none; }
.my-work-run-heading:focus-visible { outline: 2px solid #3c88f5; outline-offset: -2px; }
.my-work-run-title { display: grid; grid-template-columns: 16px minmax(0, 1fr); grid-template-rows: auto auto; gap: 2px 8px; grid-column: 2; min-width: 0; font-size: .78rem; font-weight: 700; }
.my-work-run-label { grid-column: 2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.my-work-run-chevron { flex: 0 0 auto; color: #697586; transition: transform .15s ease; }
.my-work-run-chevron { grid-row: 1 / span 2; align-self: center; }
.my-work-run-group[open] .my-work-run-chevron { transform: rotate(90deg); }
.my-work-run-meta { grid-column: 2; color: var(--muted); font-size: .67rem; font-weight: 400; }
.my-work-case-row { min-height: 54px; border-top: 1px solid #e3e5e8; }
.my-work-case-row:hover { background: #f0f1f2; }
.my-work-checkbox { width: 18px; height: 18px; margin: 0; vertical-align: middle; border-color: #9aa1ab; }
.my-work-type-icon { color: #3c88f5; font-size: 1.05rem; }
.my-work-identity { display: flex; align-items: center; gap: 14px; min-width: 0; }
.my-work-case-id { flex: 0 0 auto; color: #1769d2; text-decoration: underline; text-underline-offset: 2px; }
.my-work-case-title { flex: 1 1 auto; min-width: 0; overflow: hidden; color: #343a40; text-overflow: ellipsis; white-space: nowrap; }
.my-work-resume { flex: 0 0 auto; color: #5d6570; opacity: 0; text-decoration: none; }
.my-work-case-row:hover .my-work-resume, .my-work-resume:focus-visible { opacity: 1; }
.my-work-assignee { display: flex; align-items: center; gap: 10px; min-width: 0; white-space: nowrap; }
.my-work-avatar { display: inline-grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: #fff; background: #00875a; font-size: .68rem; font-weight: 700; }
@media (max-width: 767.98px) { .my-work-list-inner { min-width: 820px; }.my-work-column-header, .my-work-case-row { grid-template-columns: 48px 42px minmax(0, 1fr) 190px; }.my-work-list-inner.due-date-list { min-width: 920px; }.my-work-list-inner.due-date-list .my-work-column-header, .my-work-list-inner.due-date-list .my-work-case-row { grid-template-columns: 48px 42px minmax(0, 1fr) 290px; }.my-work-identity { gap: 9px; }.my-work-resume { opacity: 1; }.my-work-filter-row, .my-work-filter-row-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }.my-work-search-field { grid-column: 1 / -1; }.my-work-filter-actions { grid-column: 1 / -1; }.my-work-save-form { position: fixed; top: 50%; left: 50%; right: auto; width: min(320px, calc(100vw - 32px)); transform: translate(-50%, -50%); } }
@media (max-width: 767.98px) { .reports-grid, .comparison-runs { grid-template-columns: 1fr; }.reports-layout { grid-template-columns: 1fr; }.reports-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.reports-navigation h2 { grid-column: 1 / -1; }.report-context-form, .report-context-form.report-matrix-form { grid-template-columns: 1fr; }.reports-heading { align-items: flex-start; }.report-comparison-form { grid-template-columns: 1fr; }.report-single-form { grid-template-columns: 1fr auto; }.report-output { padding: 15px; } }
@media (max-width: 480px) { .reports-navigation { grid-template-columns: 1fr; }.reports-navigation h2 { grid-column: auto; } }
@media print { .app-header, .sidebar, .reports-grid, .reports-navigation, .report-context-form, .report-output-heading .btn { display: none !important; }.app-main { width: 100% !important; margin: 0 !important; padding: 0 !important; }.report-output { border: 0; padding: 0; } }
@media (max-width: 767.98px) {
  .test-case-heading-actions { width: 100%; align-items: flex-end; }
  .test-case-heading-actions form { width: 100%; }
}
.run-case-status-icon { flex: 0 0 14px; width: 14px; font-size: .85rem; text-align: center; }
.run-status-icon-pass { color: green; }
.run-status-icon-fail { color: red; }
.run-status-icon-inconclusive { color: yellowgreen; }
.run-status-icon-not-tested { color: blue; }
.run-status-icon-paused { color: #657087; }
.run-case-status-select { width: 132px; min-width: 132px; }
.run-assignee-actions { display: flex; align-items: center; gap: 8px; min-width: 0; width: 100%; }
.run-assignee-actions .run-assignee-select { flex: 0 0 220px; width: 220px; min-width: 220px; max-width: 220px; }
.run-playwright-form { flex: 0 0 auto; margin: 0 0 0 auto; }
.run-playwright-form .btn { white-space: nowrap; }
.run-draft-playwright-form { flex: 0 0 auto; margin: 0 0 0 auto; }
.run-draft-playwright-form .btn { white-space: nowrap; }
.playwright-run-message { color: var(--muted); font-size: .8rem; }
.playwright-progress { margin-top: 10px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 6px; background: #f8f9fc; font-size: .82rem; }
.playwright-progress-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 6px; color: var(--muted); font-size: .72rem; }
.playwright-progress-heading strong { display: inline-flex; align-items: center; gap: 6px; color: var(--ink); font-size: .75rem; font-weight: 700; }
.playwright-progress-heading > span { flex: 0 0 auto; }
.playwright-progress ol { margin: 0; padding: 0; list-style: none; }
.playwright-progress li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 5px 0; border-top: 1px solid #e9edf3; }
.playwright-step-title { min-width: 0; line-height: 1.35; }
.playwright-step-status { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; padding: 2px 7px; border: 1px solid transparent; border-radius: 4px; font-size: .72rem; font-weight: 650; white-space: nowrap; }
.playwright-step-status[data-status="Pass"] { border-color: #c8e7d2; background: #edf8f0; color: #176b37; }
.playwright-step-status[data-status="Fail"] { border-color: #f0cbca; background: #fff1f0; color: #a52c2c; }
.playwright-step-status[data-status="Running"] { border-color: #cbd9f5; background: #eef4ff; color: #315cad; }
.playwright-step-status[data-status="Inconclusive"] { border-color: #ead9b1; background: #fff8e8; color: #86620d; }
.playwright-step-status[data-status="Running"] i { animation: playwright-progress-spin 1.2s linear infinite; }
@keyframes playwright-progress-spin { to { transform: rotate(360deg); } }
.form-check-input.record-confirmation {
  width: 20px;
  height: 20px;
  border: 2px solid #3356a0;
  background-color: #fff;
  cursor: pointer;
}
.form-check-input.record-confirmation:checked { border-color: #163d86; background-color: #0d6efd; }
.form-check-input.record-confirmation:not(:disabled):hover { border-color: #0b285e; }
.form-check-input.record-confirmation:focus { outline: 3px solid #163d86; outline-offset: 3px; box-shadow: none; }
.form-check-input.record-confirmation:disabled { border-color: #7c879c; background-color: #eef1f6; opacity: 1; cursor: not-allowed; }
.form-check-input.record-confirmation:disabled:checked { border-color: #4f5f7c; background-color: #64789d; }
.record-confirmation + .form-check-label { padding-left: 4px; cursor: pointer; }
.record-confirmation:disabled + .form-check-label { cursor: not-allowed; }
.record-review-form input, .record-review-form textarea, .record-review-form summary { scroll-margin-block-end: 160px; }
.record-review-actions {
  position: sticky;
  bottom: 0;
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
  padding: 12px 12px max(12px, env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 -3px 10px rgba(25, 38, 66, .05);
}
@media (max-width: 575.98px) {
  .record-review-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .record-review-actions .btn { display: inline-flex; align-items: center; justify-content: center; min-width: 0; min-height: 38px; padding: 8px; font-size: .8rem; white-space: normal; }
  .record-review-actions > a { grid-column: 1 / -1; }
}
.automation-refresh-form { margin: 16px 0 24px; }
.automation-source-editor { min-height: 360px; font-family: Consolas, "Courier New", monospace; font-size: .82rem; line-height: 1.45; tab-size: 2; }
.automation-candidate-state { padding: 4px 9px; border-radius: 4px; background: #f1f3f6; color: var(--ink); font-size: .8rem; font-weight: 650; }
.automation-candidate-state[data-status="Pass"] { background: #edf8f0; color: #176b37; }
.automation-candidate-state[data-status="Fail"], .automation-candidate-state[data-status="Inconclusive"] { background: #fff1f0; color: #a52c2c; }
.automation-review-section { margin: 22px 0; }
.automation-review-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; border-bottom: 1px solid var(--line); padding-bottom: 7px; }
.automation-review-heading h2 { margin: 0; font-size: 1rem; }
.automation-review-heading span { color: var(--muted); font-size: .8rem; }
.automation-diff { max-height: 440px; overflow: auto; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 4px; background: #f8f9fc; font-size: .78rem; }
.automation-run-output { margin: 14px 0; }
.automation-run-output summary { cursor: pointer; color: var(--ink); font-size: .85rem; font-weight: 650; }
.automation-run-output pre { max-height: 320px; overflow: auto; margin: 8px 0 0; padding: 10px; border: 1px solid var(--line); border-radius: 4px; background: #f8f9fc; font-size: .75rem; }
.automation-pdf-page { margin-top: 16px; }
.automation-pdf-comparison { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 8px; }
.automation-pdf-comparison figure { min-width: 0; margin: 0; }
.automation-pdf-comparison img { display: block; width: 100%; max-height: 520px; border: 1px solid var(--line); background: #fff; object-fit: contain; }
.automation-pdf-comparison figcaption { padding-top: 4px; color: var(--muted); font-size: .75rem; }
.automation-apply-form { padding: 14px; border: 1px solid #c8e7d2; border-radius: 6px; background: #f2faf4; }
.automation-live-run { margin: 18px 0; padding: 14px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.automation-live-heading { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.automation-live-run ol { margin: 8px 0; padding-left: 22px; }
.automation-live-run li { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; }
.automation-live-run li[data-status="Fail"] { color: #a52c2c; }
.automation-live-run li[data-status="Pass"] { color: #176b37; }
.automation-live-run li[data-status="Running"] { color: #315cad; }
.automation-live-run output, .automation-live-run pre { max-height: 320px; overflow: auto; margin: 12px 0 0; padding: 10px; border: 1px solid var(--line); border-radius: 4px; background: #f8f9fc; font-size: .8rem; white-space: pre-wrap; }
@media (max-width: 767.98px) { .automation-pdf-comparison { grid-template-columns: 1fr; } }

@media (max-width: 767.98px) {
  .run-detail-table { min-width: 860px; }
  .run-detail-table .run-case-number-col, .run-detail-table .run-case-number { width: 4%; }
  .run-detail-table .run-case-title-col, .run-detail-table .run-case-title { width: 38%; }
  .run-detail-table .run-case-status-col, .run-detail-table .run-case-status { width: 20%; }
  .run-detail-table .run-case-assignee-col, .run-detail-table .run-case-assignee { width: 38%; }
}