/* ==========================================================================
   ITSEO Site Auditor Modern Stylesheet
   Preserves backward compatibility while delivering the modern UI
   ========================================================================== */

.site-auditor,
.site-auditor-modern {
  --sa-bg: #f5f7fb;
  --sa-surface: #ffffff;
  --sa-surface-soft: #f8f9fc;
  --sa-line: #e7eaf0;
  --sa-line-strong: #d9dde7;
  --sa-ink: #182033;
  --sa-muted: #727b91;
  --sa-muted-2: #9aa2b3;
  --sa-purple: #7657f6;
  --sa-purple-dark: #6041df;
  --sa-purple-soft: #efecff;
  --sa-red: #e35761;
  --sa-red-soft: #fff0f1;
  --sa-orange: #ed9d35;
  --sa-orange-soft: #fff7e8;
  --sa-blue: #3b82e6;
  --sa-blue-soft: #edf5ff;
  --sa-green: #2aaa76;
  --sa-green-soft: #eaf9f2;
  --sa-shadow: 0 1px 2px rgba(18, 28, 45, .03), 0 10px 30px rgba(18, 28, 45, .045);
  --sa-radius: 14px;
}

/* --------------------------------------------------------------------------
   Legacy Compatibility Selectors (Do not remove)
   -------------------------------------------------------------------------- */
.site-auditor { color: var(--sa-ink); }
.site-auditor__shell { max-width: 1228px; }
.site-auditor__eyebrow { color: var(--sa-purple); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.site-auditor__hero { background: linear-gradient(135deg, #fbf9ff 0%, #fff 58%, #f8f8ff 100%); border: 1px solid #e5ddff; border-radius: .875rem; padding: clamp(1.25rem, 3vw, 2.5rem); }
.site-auditor__hero h1 { letter-spacing: -.03em; line-height: 1.1; max-width: 42rem; }
.site-auditor__hero-copy { color: #505050; font-size: 1.05rem; max-width: 42rem; }
.site-auditor__form { background: #fff; border: 1px solid var(--sa-line); border-radius: .75rem; box-shadow: 0 .75rem 2rem rgba(33, 20, 72, .08); }
.site-auditor__feature { border-top: 3px solid var(--sa-purple); padding-top: .8rem; }
.site-auditor__feature strong { display: block; margin-bottom: .35rem; }
.site-auditor__feature p { color: var(--sa-muted); font-size: .9rem; margin-bottom: 0; }
.site-auditor__card-heading { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; }
.site-auditor__muted { color: var(--sa-muted); }
.site-auditor__url { max-width: 48rem; overflow-wrap: anywhere; }

.site-auditor__status { align-items: center; display: inline-flex; font-size: .8rem; font-weight: 700; gap: .4rem; white-space: nowrap; }
.site-auditor__status::before { background: #b8b8b8; border-radius: 50%; content: ""; height: .55rem; width: .55rem; }
.site-auditor__status--success::before { background: var(--sa-green); }
.site-auditor__status--danger::before { background: var(--sa-red); }
.site-auditor__status--active::before { background: var(--sa-purple); box-shadow: 0 0 0 .2rem rgba(118, 87, 246, .2); }

.site-auditor__progress { background: #ece8f8; border-radius: 999px; height: .65rem; overflow: hidden; }
.site-auditor__progress-bar { background: var(--sa-purple); height: 100%; transition: width .25s ease; }
.site-auditor__progress-card { border-left: .3rem solid var(--sa-purple) !important; }
.site-auditor__progress-note { color: var(--sa-muted); font-size: .85rem; }
.site-auditor__progress-counters span { color: var(--sa-muted); display: block; font-size: .75rem; }
.site-auditor__progress-counters strong { display: block; font-size: 1.15rem; }
.site-auditor__progress.is-indeterminate .site-auditor__progress-bar { animation: sa-progress 1.4s ease-in-out infinite; width: 35% !important; }
@keyframes sa-progress { 0% { margin-left: -35%; } 100% { margin-left: 100%; } }

.site-auditor__http-hop { border: 1px solid currentColor; border-radius: .3rem; display: inline-block; font-size: .72rem; font-weight: 700; line-height: 1; padding: .25rem .38rem; }
.site-auditor__http-hop--2xx { background: #e7f6ed; color: #116b3b; }
.site-auditor__http-hop--3xx { background: #e8f0ff; color: #174ea6; }
.site-auditor__http-hop--4xx { background: #fff3d9; color: #794d00; }
.site-auditor__http-hop--5xx { background: #fde8eb; color: #9b2435; }

.site-auditor__badge { display: inline-flex; align-items: center; justify-content: center; text-align: center; gap: 4px; padding: .25rem .5rem; border-radius: 999px; font-size: .75rem; font-weight: 700; }
.site-auditor__badge--critical, .site-auditor__badge--error { background: var(--sa-red-soft); color: var(--sa-red); }
.site-auditor__badge--warning { background: var(--sa-orange-soft); color: #a96c1c; }
.site-auditor__badge--notice { background: var(--sa-blue-soft); color: var(--sa-blue); }

/* --------------------------------------------------------------------------
   Modern Site Auditor Shell & Base Layout (.site-auditor-modern)
   -------------------------------------------------------------------------- */
.site-auditor-modern {
  color: var(--sa-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 14px;
  line-height: 1.45;
}

.site-auditor-modern a {
  color: var(--sa-purple-dark);
  text-decoration: none;
}

.site-auditor-modern a:hover {
  text-decoration: underline;
}

/* Page Head */
.site-auditor-modern .sa-page-head,
.site-auditor-modern .page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}

.site-auditor-modern .sa-breadcrumbs,
.site-auditor-modern .breadcrumbs {
  margin-bottom: 8px;
  color: var(--sa-muted);
  font-size: 12px;
}

.site-auditor-modern .sa-breadcrumbs a,
.site-auditor-modern .breadcrumbs a {
  color: var(--sa-muted);
}

.site-auditor-modern .sa-breadcrumbs a:hover,
.site-auditor-modern .breadcrumbs a:hover {
  color: var(--sa-purple);
  text-decoration: none;
}

.site-auditor-modern .sa-breadcrumbs span,
.site-auditor-modern .breadcrumbs span {
  margin: 0 7px;
  color: #c0c5d0;
}

.site-auditor-modern .sa-report-kicker,
.site-auditor-modern .report-kicker {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 9px;
  color: var(--sa-purple);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.site-auditor-modern .sa-report-kicker::before,
.site-auditor-modern .report-kicker::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--sa-green);
  content: "";
}

.site-auditor-modern .sa-report-kicker.is-warning::before {
  background: var(--sa-orange);
}

.site-auditor-modern .sa-report-kicker.is-active::before {
  background: var(--sa-purple);
  box-shadow: 0 0 0 3px rgba(118, 87, 246, .25);
  animation: sa-kicker-pulse 1.8s infinite;
}

@keyframes sa-kicker-pulse {
  0% { box-shadow: 0 0 0 0 rgba(118, 87, 246, .4); }
  70% { box-shadow: 0 0 0 6px rgba(118, 87, 246, 0); }
  100% { box-shadow: 0 0 0 0 rgba(118, 87, 246, 0); }
}

.site-auditor-modern .sa-title {
  margin: 0;
  font-size: clamp(22px, 2.8vw, 30px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.035em;
  color: var(--sa-ink);
}

.site-auditor-modern .sa-subtitle,
.site-auditor-modern .subtitle {
  margin: 7px 0 0;
  color: var(--sa-muted);
  font-size: 13px;
}

.site-auditor-modern .sa-head-actions,
.site-auditor-modern .head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

/* Tabs Navigation */
.site-auditor-modern .sa-tabs-shell,
.site-auditor-modern .tabs-shell {
  position: relative;
  scroll-margin-top: 72px;
  z-index: 5;
  display: block;
  margin: 0 0 20px;
  padding: 16px;
  border: 1px solid var(--sa-line);
  border-radius: 11px;
  background: #ffffff;
  box-shadow: 0 3px 12px rgba(31, 36, 55, .04);
}

.site-auditor-modern .sa-nav-heading,
.site-auditor-modern .report-nav-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.site-auditor-modern .sa-nav-heading strong,
.site-auditor-modern .report-nav-heading strong {
  font-size: 15px;
  font-weight: 750;
  color: var(--sa-ink);
}

.site-auditor-modern .sa-nav-heading span,
.site-auditor-modern .report-nav-heading span {
  font-size: 11.5px;
  color: var(--sa-muted);
}

.site-auditor-modern .sa-audit-tabs,
.site-auditor-modern .audit-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1.15fr 1fr;
  gap: 10px;
}

.site-auditor-modern .sa-tab,
.site-auditor-modern .tab {
  position: relative;
  display: inline-flex;
  justify-content: flex-start;
  min-height: 68px;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #dce0e8;
  border-radius: 9px;
  background: #ffffff;
  color: #303c50;
  cursor: pointer;
  font-size: 13.5px;
  font-weight: 650;
  line-height: 1.2;
  text-align: left;
  white-space: nowrap;
  text-decoration: none !important;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.site-auditor-modern .sa-tab:hover,
.site-auditor-modern .tab:hover {
  color: var(--sa-purple-dark);
  background: #faf9ff;
  border-color: #bcb0f6;
  box-shadow: 0 3px 8px rgba(57, 42, 106, .06);
}

.site-auditor-modern .sa-tab.active,
.site-auditor-modern .tab.active {
  color: var(--sa-purple-dark);
  font-weight: 750;
  border-color: #b8a8ff;
  background: #f3f0ff;
  box-shadow: inset 0 0 0 1px #b8a8ff;
}

.site-auditor-modern .sa-tab .sa-tab-icon,
.site-auditor-modern .tab svg {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  color: #8590a3;
  transition: color .15s ease;
}

.site-auditor-modern .sa-tab.active .sa-tab-icon,
.site-auditor-modern .tab.active svg,
.site-auditor-modern .sa-tab:hover .sa-tab-icon,
.site-auditor-modern .tab:hover svg {
  color: var(--sa-purple);
}

.site-auditor-modern .nav-copy {
  display: block;
}

.site-auditor-modern .nav-action {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  font-weight: 600;
  color: var(--sa-purple-dark);
}

.site-auditor-modern .sa-tab.active .nav-action,
.site-auditor-modern .tab.active .nav-action {
  color: #7d719f;
}

.site-auditor-modern .sa-tab b,
.site-auditor-modern .tab b {
  padding: 2px 6px;
  margin-left: 4px;
  border-radius: 6px;
  background: #f0f1f5;
  color: #606b7e;
  font-size: 11px;
  font-weight: 700;
}

.site-auditor-modern .sa-tab.active b,
.site-auditor-modern .tab.active b {
  background: var(--sa-purple-soft);
  color: var(--sa-purple-dark);
}

/* Tab Views Display */
.site-auditor-modern.sa-js-ready .sa-view:not(.active),
.site-auditor-modern.sa-js-ready .view:not(.active) {
  display: none !important;
}

.site-auditor-modern .sa-view.active,
.site-auditor-modern .view.active {
  display: block;
  animation: sa-fade .18s ease;
}

@keyframes sa-fade {
  from { opacity: .55; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Guest note */
.site-auditor-modern .guest-note {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding: 12px 16px;
  border: 1px solid #ded8ff;
  border-radius: 10px;
  background: #f8f6ff;
  color: #555e73;
  font-size: 12.5px;
}

.site-auditor-modern .guest-note .guest-icon {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 8px;
  background: #ece7ff;
  color: var(--sa-purple);
}

.site-auditor-modern .guest-note strong {
  color: var(--sa-ink);
}

.site-auditor-modern .guest-note a {
  margin-left: auto;
  color: var(--sa-purple-dark);
  font-weight: 700;
  white-space: nowrap;
}

/* Grids & Cards */
.site-auditor-modern .grid {
  display: grid;
  gap: 16px;
}

.site-auditor-modern .hero-grid {
  grid-template-columns: minmax(280px, .9fr) minmax(480px, 1.45fr) minmax(250px, .8fr);
}

.site-auditor-modern .hero-grid > .card {
  display: flex;
  flex-direction: column;
}

.site-auditor-modern .card {
  min-width: 0;
  border: 1px solid var(--sa-line);
  border-radius: var(--sa-radius);
  background: var(--sa-surface);
  box-shadow: var(--sa-shadow);
}

.site-auditor-modern .card-pad {
  padding: 20px;
}

.site-auditor-modern .card-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 17px;
}

.site-auditor-modern .card-head.align-items-center,
.site-auditor-modern .card-head--center {
  align-items: center;
}

.site-auditor-modern .card-head .site-auditor__badge {
  align-self: center;
}

.site-auditor-modern .card-title {
  margin: 0;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: -.015em;
  color: var(--sa-ink);
}

.site-auditor-modern .card-note {
  margin-top: 3px;
  color: var(--sa-muted);
  font-size: 11.5px;
}

.site-auditor-modern .card-link {
  color: var(--sa-purple-dark);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.site-auditor-modern .card-link:hover {
  text-decoration: underline;
}

/* Health Ring */
.site-auditor-modern .health-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 4px 0 9px;
}

.site-auditor-modern .health-ring {
  position: relative;
  display: grid;
  width: 124px;
  height: 124px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--sa-purple) 0 calc(var(--score-pct, 0) * 1%), #ececf2 calc(var(--score-pct, 0) * 1%) 100%);
}

.site-auditor-modern .health-ring::after {
  position: absolute;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: #ffffff;
  content: "";
}

.site-auditor-modern .health-score {
  position: relative;
  z-index: 1;
  text-align: center;
}

.site-auditor-modern .health-score strong {
  display: block;
  font-size: 34px;
  line-height: 1;
  letter-spacing: -.06em;
  color: var(--sa-ink);
}

.site-auditor-modern .health-score span {
  color: var(--sa-muted);
  font-size: 11px;
}

.site-auditor-modern .health-copy strong {
  display: block;
  margin-bottom: 5px;
  font-size: 16px;
  font-weight: 700;
  color: var(--sa-ink);
}

.site-auditor-modern .health-copy p {
  margin: 0;
  color: var(--sa-muted);
  font-size: 12px;
}

.site-auditor-modern .health-copy .trend {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 10px;
  color: var(--sa-muted);
  font-size: 11.5px;
  font-weight: 600;
}

/* Issue Summary in Overview */
.site-auditor-modern .issue-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.site-auditor-modern .issue-stat {
  padding: 14px;
  border: 1px solid var(--sa-line);
  border-radius: 11px;
  background: var(--sa-surface-soft);
}

.site-auditor-modern .issue-stat-top {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--sa-muted);
  font-size: 12px;
  font-weight: 650;
}

.site-auditor-modern .severity-icon {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 900;
}

.site-auditor-modern .severity-icon.error { background: var(--sa-red-soft); color: var(--sa-red); }
.site-auditor-modern .severity-icon.warning { background: var(--sa-orange-soft); color: var(--sa-orange); }
.site-auditor-modern .severity-icon.notice { background: var(--sa-blue-soft); color: var(--sa-blue); }

.site-auditor-modern .issue-number {
  margin-top: 8px;
  font-size: 27px;
  font-weight: 800;
  letter-spacing: -.04em;
  color: var(--sa-ink);
}

.site-auditor-modern .issue-delta {
  color: var(--sa-muted);
  font-size: 11px;
}

.site-auditor-modern .stacked-bar {
  display: flex;
  height: 8px;
  margin-top: 18px;
  overflow: hidden;
  border-radius: 10px;
  background: #eee;
}

.site-auditor-modern .bar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 9px;
  color: var(--sa-muted);
  font-size: 10px;
}

.site-auditor-modern .bar-legend span::before {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 5px;
  border-radius: 50%;
  content: "";
}

.site-auditor-modern .bar-legend .l1::before { background: var(--sa-red); }
.site-auditor-modern .bar-legend .l2::before { background: var(--sa-orange); }
.site-auditor-modern .bar-legend .l3::before { background: var(--sa-blue); }

/* Pages card inner */
.site-auditor-modern .pages-card-inner {
  display: flex;
  flex-direction: column;
}

.site-auditor-modern .pages-big {
  display: flex;
  align-items: baseline;
  gap: 7px;
}

.site-auditor-modern .pages-big strong {
  font-size: 31px;
  font-weight: 800;
  letter-spacing: -.045em;
  color: var(--sa-ink);
}

.site-auditor-modern .pages-big span {
  color: var(--sa-muted);
  font-size: 13px;
}

.site-auditor-modern .page-health {
  display: grid;
  gap: 10px;
  margin-top: 17px;
}

.site-auditor-modern .page-row {
  display: grid;
  grid-template-columns: 10px 1fr auto;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.site-auditor-modern .page-row i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
}

.site-auditor-modern .page-row span {
  color: var(--sa-muted);
}

.site-auditor-modern .page-row strong {
  font-size: 12px;
  color: var(--sa-ink);
}

.site-auditor-modern .crawl-meta {
  display: flex;
  justify-content: space-between;
  margin-top: 17px;
  padding-top: 14px;
  border-top: 1px solid var(--sa-line);
  color: var(--sa-muted);
  font-size: 11px;
}

/* Technical Summary Insights */
.site-auditor-modern .section-gap {
  margin-top: 16px;
}

.site-auditor-modern .insights {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.site-auditor-modern .insight {
  position: relative;
  min-height: 127px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid var(--sa-line);
  border-radius: 12px;
  background: #ffffff;
}

.site-auditor-modern .insight-icon {
  display: grid;
  width: 32px;
  height: 32px;
  margin-bottom: 13px;
  place-items: center;
  border-radius: 9px;
  background: var(--sa-purple-soft);
  color: var(--sa-purple);
}

.site-auditor-modern .insight-icon svg {
  width: 16px;
  height: 16px;
}

.site-auditor-modern .insight label {
  display: block;
  margin-bottom: 4px;
  color: var(--sa-muted);
  font-size: 11px;
  font-weight: 600;
}

.site-auditor-modern .insight strong {
  display: block;
  font-size: 16px;
  color: var(--sa-ink);
  line-height: 1.25;
}

.site-auditor-modern .insight small {
  display: block;
  margin-top: 4px;
  color: var(--sa-muted);
  font-size: 11px;
}

.site-auditor-modern .status-ok { color: var(--sa-green) !important; }
.site-auditor-modern .status-warn { color: var(--sa-orange) !important; }
.site-auditor-modern .status-danger { color: var(--sa-red) !important; }

/* Analysis Grid (Donuts & Diagnostics) */
.site-auditor-modern .section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin: 24px 2px 12px;
}

.site-auditor-modern .section-heading h2 {
  margin: 0;
  font-size: 17px;
  font-weight: 750;
  letter-spacing: -.02em;
  color: var(--sa-ink);
}

.site-auditor-modern .section-heading p {
  margin: 4px 0 0;
  color: var(--sa-muted);
  font-size: 11.5px;
}

.site-auditor-modern .analysis-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.site-auditor-modern .analysis-card {
  padding: 18px;
}

.site-auditor-modern .analysis-body {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
}

.site-auditor-modern .donut {
  position: relative;
  display: grid;
  width: 114px;
  height: 114px;
  place-items: center;
  border-radius: 50%;
  transition: transform .2s ease;
}

.site-auditor-modern .donut::after {
  position: absolute;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: #ffffff;
  content: "";
}

.site-auditor-modern .donut-value {
  position: relative;
  z-index: 1;
  text-align: center;
}

.site-auditor-modern .donut-value strong {
  display: block;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.04em;
  color: var(--sa-ink);
}

.site-auditor-modern .donut-value span {
  display: block;
  margin-top: 4px;
  color: var(--sa-muted);
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
}

.site-auditor-modern .legend-list {
  display: grid;
  gap: 8px;
}

.site-auditor-modern .legend-row {
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  padding: 2px 4px;
  border-radius: 6px;
  transition: background .15s ease;
}

.site-auditor-modern .legend-row i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
}

.site-auditor-modern .legend-row span {
  overflow: hidden;
  color: var(--sa-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-auditor-modern .legend-row strong {
  font-size: 11.5px;
  color: var(--sa-ink);
}

/* Priority list & Categories */
.site-auditor-modern .two-col {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(310px, .75fr);
  gap: 16px;
}

.site-auditor-modern .priority-list {
  overflow: hidden;
}

.site-auditor-modern .priority-row {
  display: grid;
  grid-template-columns: minmax(240px, 1.6fr) minmax(120px, .7fr) 100px 34px;
  align-items: center;
  gap: 16px;
  min-height: 64px;
  padding: 11px 18px;
  border-top: 1px solid var(--sa-line);
  cursor: pointer;
  text-decoration: none !important;
  color: inherit;
  transition: background .16s ease;
}

.site-auditor-modern .priority-row:hover {
  background: #fbfaff;
}

.site-auditor-modern .priority-row:first-child {
  border-top: 0;
}

.site-auditor-modern .issue-name {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}

.site-auditor-modern .issue-name div {
  min-width: 0;
}

.site-auditor-modern .issue-name strong {
  display: block;
  overflow: hidden;
  font-size: 13px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--sa-ink);
}

.site-auditor-modern .issue-name span {
  color: var(--sa-muted);
  font-size: 11px;
}

.site-auditor-modern .priority-row .category {
  color: var(--sa-muted);
  font-size: 12px;
}

.site-auditor-modern .impact {
  text-align: right;
}

.site-auditor-modern .impact strong {
  display: block;
  font-size: 13px;
  color: var(--sa-ink);
}

.site-auditor-modern .impact span {
  color: var(--sa-muted);
  font-size: 10px;
}

.site-auditor-modern .chev {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 8px;
  color: var(--sa-muted);
}

.site-auditor-modern .priority-row:hover .chev {
  background: var(--sa-purple-soft);
  color: var(--sa-purple);
}

/* Category list */
.site-auditor-modern .category-list {
  display: grid;
  gap: 13px;
}

.site-auditor-modern .category-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px 12px;
}

.site-auditor-modern .category-row strong {
  font-size: 12px;
  color: var(--sa-ink);
}

.site-auditor-modern .category-row > span {
  color: var(--sa-muted);
  font-size: 11px;
}

.site-auditor-modern .category-row .track {
  grid-column: 1 / -1;
  height: 6px;
  overflow: hidden;
  border-radius: 5px;
  background: #eff0f4;
}

.site-auditor-modern .category-row .track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--sa-purple);
}

/* Coverage Grid */
.site-auditor-modern .coverage-grid {
  grid-template-columns: 1.05fr .95fr;
}

.site-auditor-modern .coverage-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
}

.site-auditor-modern .micro-stat {
  padding: 13px;
  border: 1px solid var(--sa-line);
  border-radius: 10px;
  background: var(--sa-surface-soft);
}

.site-auditor-modern .micro-stat span {
  display: block;
  min-height: 27px;
  color: var(--sa-muted);
  font-size: 10px;
  line-height: 1.35;
}

.site-auditor-modern .micro-stat strong {
  display: block;
  margin-top: 5px;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.035em;
  color: var(--sa-ink);
}

.site-auditor-modern .progress-line {
  height: 8px;
  margin: 15px 0 8px;
  overflow: hidden;
  border-radius: 10px;
  background: #e9ebf1;
}

.site-auditor-modern .progress-line i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--sa-purple), #9c83ff);
}

.site-auditor-modern .subtle-line {
  display: flex;
  justify-content: space-between;
  color: var(--sa-muted);
  font-size: 10.5px;
}

.site-auditor-modern .reason-list {
  display: grid;
  gap: 10px;
}

.site-auditor-modern .reason-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
}

.site-auditor-modern .reason-row div {
  display: grid;
  grid-template-columns: 100px minmax(80px, 1fr);
  align-items: center;
  gap: 9px;
}

.site-auditor-modern .reason-row span {
  color: var(--sa-muted);
  font-size: 11px;
}

.site-auditor-modern .reason-row strong {
  font-size: 11px;
  color: var(--sa-ink);
}

.site-auditor-modern .reason-track {
  height: 5px;
  overflow: hidden;
  border-radius: 6px;
  background: #eceef3;
}

.site-auditor-modern .reason-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--sa-orange);
}

/* Audit Facts Grid (.audit-facts-grid) */
.site-auditor-modern .audit-facts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.site-auditor-modern .fact-group {
  padding: 15px;
  border: 1px solid var(--sa-line);
  border-radius: 11px;
  background: #ffffff;
}

.site-auditor-modern .fact-group h3 {
  margin: 0 0 11px;
  font-size: 12.5px;
  font-weight: 750;
  color: var(--sa-ink);
}

.site-auditor-modern .fact-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 28px;
  border-top: 1px solid #f0f1f5;
  color: var(--sa-muted);
  font-size: 11.5px;
}

.site-auditor-modern .fact-line:first-of-type {
  border-top: 0;
}

.site-auditor-modern .fact-line strong {
  color: var(--sa-ink);
  font-size: 11.5px;
  text-align: right;
}

.site-auditor-modern .fact-line .bad,
.site-auditor-modern .fact-line strong.bad,
.site-auditor-modern .bad {
  color: var(--sa-red) !important;
}

.site-auditor-modern .fact-line .good,
.site-auditor-modern .fact-line strong.good,
.site-auditor-modern .good {
  color: var(--sa-green) !important;
}

/* Site Structure & Depth Layout (.depth-layout) */
.site-auditor-modern .depth-layout {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 22px;
  align-items: start;
}

.site-auditor-modern .depth-bars {
  display: grid;
  gap: 11px;
}

.site-auditor-modern .depth-row {
  display: grid;
  grid-template-columns: 85px minmax(80px, 1fr) 30px;
  align-items: center;
  gap: 9px;
  font-size: 11px;
}

.site-auditor-modern .depth-row span {
  color: var(--sa-muted);
  white-space: nowrap;
}

.site-auditor-modern .depth-row div {
  height: 7px;
  overflow: hidden;
  border-radius: 8px;
  background: #eeeff4;
}

.site-auditor-modern .depth-row i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--sa-purple);
}

.site-auditor-modern .depth-row strong {
  font-size: 12px;
  color: var(--sa-ink);
  text-align: right;
}

/* Helpers & Interactive Elements */
.site-auditor-modern .click-hint {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--sa-purple);
  font-size: 10.5px;
  font-weight: 700;
}

.site-auditor-modern .click-hint::before {
  content: "↗";
}

.site-auditor-modern .table-help {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--sa-purple-dark);
  font-weight: 650;
  font-size: 12px;
}

.site-auditor-modern .pulse-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--sa-purple);
  box-shadow: 0 0 0 0 rgba(118, 87, 246, .35);
  animation: saPulseDot 1.8s infinite;
}

@keyframes saPulseDot {
  70% { box-shadow: 0 0 0 7px rgba(118, 87, 246, 0); }
  100% { box-shadow: 0 0 0 0 rgba(118, 87, 246, 0); }
}

.site-auditor-modern .affected-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 9px;
}

.site-auditor-modern .affected-top strong {
  font-size: 14px;
}

.site-auditor-modern .affected-top span {
  color: var(--sa-muted);
  font-size: 11px;
}

.site-auditor-modern .affected-url {
  display: flex;
  gap: 8px;
  padding: 9px 0;
  border-top: 1px solid var(--sa-line);
  color: #435ca8;
  font-size: 12px;
}

.site-auditor-modern .affected-url:first-of-type {
  border-top: 0;
}

.site-auditor-modern .affected-url span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Toolbars & Tables */
.site-auditor-modern .toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--sa-line);
}

.site-auditor-modern .search {
  position: relative;
  flex: 1;
  max-width: 390px;
}

.site-auditor-modern .search svg {
  position: absolute;
  top: 10px;
  left: 11px;
  width: 16px;
  height: 16px;
  color: var(--sa-muted);
}

.site-auditor-modern .input,
.site-auditor-modern .select {
  width: 100%;
  height: 38px;
  padding: 7px 11px;
  border: 1px solid var(--sa-line-strong);
  border-radius: 8px;
  outline: none;
  background: #ffffff;
  color: var(--sa-ink);
  font-size: 13px;
}

.site-auditor-modern .input {
  padding-left: 35px;
}

.site-auditor-modern .input:focus,
.site-auditor-modern .select:focus {
  border-color: var(--sa-purple);
  box-shadow: 0 0 0 3px rgba(118, 87, 246, .1);
}

.site-auditor-modern .select {
  width: auto;
  min-width: 140px;
}

.site-auditor-modern .table-wrap {
  overflow-x: auto;
}

.site-auditor-modern table {
  width: 100%;
  border-collapse: collapse;
}

.site-auditor-modern th {
  padding: 11px 16px;
  border-bottom: 1px solid var(--sa-line);
  background: #fafbfc;
  color: var(--sa-muted);
  font-size: 10.5px;
  font-weight: 750;
  letter-spacing: .06em;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-auditor-modern td {
  padding: 13px 16px;
  border-bottom: 1px solid var(--sa-line);
  font-size: 12.5px;
  vertical-align: middle;
}

.site-auditor-modern tr:last-child td {
  border-bottom: 0;
}

.site-auditor-modern tbody tr:hover {
  background: #fbfaff;
}

.site-auditor-modern .url-cell {
  max-width: 360px;
}

.site-auditor-modern .url-main {
  overflow: hidden;
  color: #3d57a7;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-auditor-modern .url-sub {
  margin-top: 2px;
  color: var(--sa-muted);
  font-size: 10.5px;
}

.site-auditor-modern .http {
  display: inline-flex;
  min-width: 38px;
  justify-content: center;
  padding: 3px 6px;
  border-radius: 6px;
  background: var(--sa-green-soft);
  color: #16855b;
  font-size: 11px;
  font-weight: 750;
}

.site-auditor-modern .http.redirect { background: var(--sa-orange-soft); color: #a86918; }
.site-auditor-modern .http.error { background: var(--sa-red-soft); color: #b93c47; }

.site-auditor-modern .issue-pill {
  display: inline-flex;
  min-width: 24px;
  justify-content: center;
  padding: 3px 7px;
  border-radius: 20px;
  background: var(--sa-red-soft);
  color: var(--sa-red);
  font-weight: 750;
  font-size: 11px;
}

.site-auditor-modern .issue-pill.zero {
  background: var(--sa-green-soft);
  color: var(--sa-green);
}

.site-auditor-modern .indexable {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--sa-green);
  font-weight: 650;
}

.site-auditor-modern .indexable::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

.site-auditor-modern .indexable.no {
  color: var(--sa-red);
}

.site-auditor-modern .table-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 18px;
  border-top: 1px solid var(--sa-line);
  color: var(--sa-muted);
  font-size: 11.5px;
}

/* Page Detail Pro Component */
.site-auditor-modern .page-detail-pro {
  margin-top: 16px;
  overflow: hidden;
  border: 1px solid var(--sa-line);
  border-radius: var(--sa-radius);
  background: var(--sa-surface);
  box-shadow: var(--sa-shadow);
}

.site-auditor-modern .page-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--sa-line);
}

.site-auditor-modern .page-detail-head h2 {
  margin: 0 0 5px;
  font-size: 16px;
  font-weight: 750;
  color: var(--sa-ink);
}

.site-auditor-modern .page-detail-url {
  color: #435ca8;
  font-size: 12px;
  word-break: break-all;
}

.site-auditor-modern .page-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

.site-auditor-modern .page-detail-cell {
  min-height: 76px;
  min-width: 0;
  padding: 14px 17px;
  border-right: 1px solid var(--sa-line);
  border-bottom: 1px solid var(--sa-line);
}

.site-auditor-modern .page-detail-cell:nth-child(4n) {
  border-right: 0;
}

.site-auditor-modern .page-detail-cell label {
  display: block;
  margin-bottom: 6px;
  color: var(--sa-muted);
  font-size: 9.5px;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.site-auditor-modern .page-detail-cell strong {
  display: block;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--sa-ink);
}

.site-auditor-modern .page-detail-cell small {
  display: block;
  margin-top: 3px;
  color: var(--sa-muted);
  font-size: 10.5px;
}

.site-auditor-modern .detail-split {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
}

.site-auditor-modern .detail-panel {
  padding: 18px 20px;
}

.site-auditor-modern .detail-panel + .detail-panel {
  border-left: 1px solid var(--sa-line);
}

.site-auditor-modern .detail-panel h3 {
  margin: 0 0 12px;
  font-size: 13.5px;
  font-weight: 750;
  color: var(--sa-ink);
}

.site-auditor-modern .tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.site-auditor-modern .data-tag {
  padding: 5px 8px;
  border-radius: 7px;
  background: #f1f2f6;
  color: #596277;
  font-size: 10.5px;
  font-weight: 650;
}

.site-auditor-modern .data-tag.green { background: var(--sa-green-soft); color: var(--sa-green); }
.site-auditor-modern .data-tag.purple { background: var(--sa-purple-soft); color: var(--sa-purple-dark); }
.site-auditor-modern .data-tag.orange { background: var(--sa-orange-soft); color: #9d651d; }
.site-auditor-modern .data-tag.red { background: var(--sa-red-soft); color: var(--sa-red); }

@media (max-width: 900px) {
  .site-auditor-modern .page-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-auditor-modern .page-detail-cell:nth-child(2n) { border-right: 0; }
  .site-auditor-modern .detail-split { grid-template-columns: 1fr; }
  .site-auditor-modern .detail-panel + .detail-panel { border-left: 0; border-top: 1px solid var(--sa-line); }
}

@media (max-width: 480px) {
  .site-auditor-modern .page-detail-grid { grid-template-columns: 1fr; }
  .site-auditor-modern .page-detail-cell { border-right: 0; }
}

/* Interactive Issue Details Modal */
.sa-issue-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1060;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, .6);
  backdrop-filter: blur(4px);
  padding: 16px;
  overflow: hidden;
  opacity: 0;
  transition: opacity .2s ease;
}

.sa-issue-modal-backdrop.is-open {
  display: flex !important;
  opacity: 1;
}

body.sa-modal-open {
  overflow: hidden;
}

.sa-issue-modal {
  display: flex;
  width: min(960px, calc(100vw - 32px));
  height: min(880px, calc(100dvh - 32px));
  max-height: calc(100dvh - 32px);
  min-height: 0;
  background: #ffffff;
  border: 1px solid var(--sa-line);
  border-radius: 14px;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, .25);
  overflow: hidden;
  outline: none;
}

.sa-issue-modal__dialog {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  min-height: 0;
  max-height: calc(100dvh - 32px);
  position: relative;
  overflow: hidden;
}

.sa-issue-modal__close {
  position: absolute;
  top: 16px;
  right: 18px;
  z-index: 10;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  background: var(--sa-surface-soft);
  border: 1px solid var(--sa-line);
  border-radius: 8px;
  color: var(--sa-muted);
  cursor: pointer;
  transition: all .15s ease;
}

.sa-issue-modal__close:hover {
  background: #ffffff;
  color: var(--sa-ink);
  border-color: #cbd5e1;
}

.sa-issue-modal__container {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.sa-issue-modal__header {
  flex: 0 0 auto;
  position: sticky;
  top: 0;
  z-index: 5;
  background: #ffffff;
  border-bottom: 1px solid var(--sa-line);
  padding: 20px 24px;
}

.sa-issue-modal__header-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-right: 42px;
}

.sa-issue-modal__title-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sa-issue-modal__title {
  margin: 0;
  font-size: 20px;
  font-weight: 750;
  color: var(--sa-ink);
  line-height: 1.3;
  letter-spacing: -.02em;
}

.sa-issue-modal__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.site-auditor__badge--penalty {
  background: #fee2e2;
  color: #b91c1c;
}

.sa-issue-modal__body {
  flex: 1 1 auto;
  min-height: 0;
  padding: 20px 24px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.sa-issue-modal__section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sa-issue-modal__section-title {
  font-size: 13px;
  font-weight: 750;
  color: var(--sa-muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0;
}

.sa-issue-modal__text {
  margin: 0;
  font-size: 14px;
  color: #334155;
  line-height: 1.6;
}

.sa-issue-modal__pages-list,
.sa-issue-modal__site-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 4px;
}

.sa-issue-modal__page-card,
.sa-issue-modal__site-item {
  border: 1px solid var(--sa-line);
  border-radius: 10px;
  background: var(--sa-surface-soft);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.sa-issue-modal__page-head {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-bottom: 1px solid var(--sa-line);
  padding-bottom: 10px;
}

.sa-issue-modal__page-url-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.sa-issue-modal__page-url {
  font-weight: 700;
  font-size: 14px;
  color: var(--sa-ink);
  overflow-wrap: anywhere;
  word-break: break-all;
}

.sa-issue-modal__page-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.sa-issue-modal__page-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--sa-muted);
}

.sa-issue-modal__items-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sa-issue-modal__evidence-card {
  background: #ffffff;
  border: 1px solid var(--sa-line);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px;
}

.sa-issue-modal__evidence-card--image {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sa-issue-modal__evidence-details {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.sa-issue-modal__evidence-url {
  flex: 1 1 300px;
  overflow-wrap: anywhere;
  word-break: break-all;
}

.sa-issue-modal__evidence-url code {
  background: #f1f5f9;
  color: #0f172a;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 12px;
}

.sa-issue-modal__evidence-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.sa-issue-modal__evidence-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.sa-issue-modal__size-tag,
.sa-issue-modal__pos-tag {
  font-size: 11px;
  color: var(--sa-muted);
  background: var(--sa-surface-soft);
  border: 1px solid var(--sa-line);
  padding: 2px 6px;
  border-radius: 4px;
}

.sa-issue-modal__preview-holder {
  margin-top: 6px;
  padding: 8px;
  border: 1px dashed var(--sa-line);
  border-radius: 6px;
  background: #fafafa;
  max-width: 320px;
}

.sa-issue-modal__preview-img {
  max-width: 100%;
  max-height: 200px;
  object-fit: contain;
  border-radius: 4px;
  display: block;
}

.sa-issue-modal__truncation-notice {
  font-size: 12px;
  font-weight: 600;
  color: #d97706;
  background: #fef3c7;
  padding: 6px 10px;
  border-radius: 6px;
  margin-bottom: 6px;
}

.sa-issue-modal__footer-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid var(--sa-line);
  gap: 12px;
  flex-wrap: wrap;
}

.sa-issue-modal__pagination-links {
  display: flex;
  align-items: center;
  gap: 4px;
}

.sa-issue-modal__loading,
.sa-issue-modal__error {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  gap: 16px;
  min-height: 240px;
}

.sa-issue-modal__spinner {
  width: 36px;
  height: 36px;
  border: 3px solid #e2e8f0;
  border-top-color: #7657f6;
  border-radius: 50%;
  animation: sa-spin .8s linear infinite;
}

@keyframes sa-spin {
  to { transform: rotate(360deg); }
}

.sa-issue-modal__error-message {
  color: #ef4444;
  font-size: 14px;
  font-weight: 600;
}

.sa-issue-modal__error-actions {
  display: flex;
  gap: 8px;
}

@media (max-width: 640px) {
  .sa-issue-modal-backdrop {
    padding: 0;
  }
  .sa-issue-modal {
    width: 100%;
    height: 100%;
    max-height: 100dvh;
    border-radius: 0;
    border: none;
  }
  .sa-issue-modal__dialog {
    max-height: 100dvh;
  }
  .sa-issue-modal__header {
    padding: 16px;
  }
  .sa-issue-modal__body {
    padding: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sa-issue-modal-backdrop,
  .sa-issue-modal__close {
    transition: none !important;
  }
  .sa-issue-modal__spinner {
    animation-duration: 2s !important;
  }
}

/* Validator Styles (Robots & Sitemap) */
.site-auditor-modern .validator-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}

.site-auditor-modern .validator-stat {
  padding: 14px 16px;
  border: 1px solid var(--sa-line);
  border-radius: 10px;
  background: #ffffff;
}

.site-auditor-modern .validator-stat span {
  display: block;
  color: var(--sa-muted);
  font-size: 11px;
}

.site-auditor-modern .validator-stat strong {
  display: block;
  margin-top: 5px;
  font-size: 17px;
  font-weight: 750;
  color: var(--sa-ink);
}

.site-auditor-modern .rule-table {
  width: 100%;
  border: 1px solid var(--sa-line);
  border-radius: 10px;
  overflow: hidden;
}

.site-auditor-modern .rule-row {
  display: grid;
  grid-template-columns: 1fr 1.25fr .6fr;
  gap: 10px;
  padding: 10px 12px;
  border-top: 1px solid var(--sa-line);
  font-size: 12px;
}

.site-auditor-modern .rule-row:first-child {
  border-top: 0;
  background: #fafbfc;
  color: var(--sa-muted);
  font-size: 10px;
  font-weight: 750;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .site-auditor-modern .validator-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
  .site-auditor-modern .validator-grid { grid-template-columns: 1fr; }
}

/* Responsive Breakpoints */
@media (max-width: 1180px) {
  .site-auditor-modern .sa-audit-tabs,
  .site-auditor-modern .audit-tabs { gap: 7px; }
  .site-auditor-modern .sa-tab,
  .site-auditor-modern .tab { gap: 7px; padding: 10px 8px; font-size: 12px; }
  .site-auditor-modern .hero-grid { grid-template-columns: 1fr 1.45fr; }
  .site-auditor-modern .hero-grid > :last-child { grid-column: 1 / -1; }
  .site-auditor-modern .insights { grid-template-columns: repeat(2, 1fr); }
  .site-auditor-modern .analysis-grid { grid-template-columns: 1fr 1fr; }
  .site-auditor-modern .analysis-grid > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .site-auditor-modern .two-col { grid-template-columns: 1fr; }
  .site-auditor-modern .coverage-grid { grid-template-columns: 1fr; }
  .site-auditor-modern .depth-layout { grid-template-columns: 1fr; }
  .site-auditor-modern .audit-facts-grid { grid-template-columns: 1fr 1fr; }
  .site-auditor-modern .category-card { order: -1; }
}

@media (max-width: 680px) {
  .site-auditor-modern .sa-tabs-shell,
  .site-auditor-modern .tabs-shell { padding: 12px; }
  .site-auditor-modern .sa-nav-heading > span,
  .site-auditor-modern .report-nav-heading > span { display: none; }
  .site-auditor-modern .sa-audit-tabs,
  .site-auditor-modern .audit-tabs { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
  .site-auditor-modern .sa-tab,
  .site-auditor-modern .tab { grid-column: span 2; min-height: 56px; padding: 8px 6px; font-size: 11.5px; }
  .site-auditor-modern .sa-tab:nth-child(n+4),
  .site-auditor-modern .tab:nth-child(n+4) { grid-column: span 3; }
  .site-auditor-modern .sa-tab .sa-tab-icon,
  .site-auditor-modern .tab svg { display: none; }
  .site-auditor-modern .sa-page-head,
  .site-auditor-modern .page-head { flex-direction: column; }
  .site-auditor-modern .sa-head-actions,
  .site-auditor-modern .head-actions { justify-content: flex-start; }
  .site-auditor-modern .hero-grid { grid-template-columns: 1fr; }
  .site-auditor-modern .hero-grid > :last-child { grid-column: auto; }
  .site-auditor-modern .health-wrap { justify-content: center; }
  .site-auditor-modern .issue-summary { gap: 7px; }
  .site-auditor-modern .issue-stat { padding: 10px; }
  .site-auditor-modern .issue-number { font-size: 22px; }
  .site-auditor-modern .insights { grid-template-columns: 1fr 1fr; }
  .site-auditor-modern .analysis-grid { grid-template-columns: 1fr; }
  .site-auditor-modern .analysis-grid > :last-child { grid-column: auto; }
  .site-auditor-modern .coverage-stats { grid-template-columns: 1fr 1fr; }
  .site-auditor-modern .audit-facts-grid { grid-template-columns: 1fr; }
  .site-auditor-modern .hide-mobile { display: none !important; }
  .site-auditor-modern .toolbar { flex-wrap: wrap; }
  .site-auditor-modern .search { max-width: none; flex-basis: 100%; }
  .site-auditor-modern .select { flex: 1; min-width: 0; }
}

@media (max-width: 430px) {
  .site-auditor-modern .insights { grid-template-columns: 1fr; }
  .site-auditor-modern .analysis-body { grid-template-columns: 100px minmax(0, 1fr); gap: 12px; }
  .site-auditor-modern .donut { width: 96px; height: 96px; }
  .site-auditor-modern .donut::after { width: 66px; height: 66px; }
  .site-auditor-modern .issue-summary { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .site-auditor,
  .site-auditor *,
  .site-auditor-modern,
  .site-auditor-modern * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

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