:root {
  --bg: #eef2ef;
  --bg2: #e3ebe4;
  --ink: #14201a;
  --muted: #5b6b62;
  --line: #c5d1c8;
  --card: #f7faf7;
  --good: #2f9e44;
  --ok: #c45c26;
  --bad: #c92a2a;
  --feedback: #6b7a72;
  --accent: #0f6b4c;
  --accent-2: #c45c26;
  --domain: #0f6b4c;
  --sub: #1d4f8c;
  --alias: #6b5a1d;
  --tool: #5a3d6b;
  --shadow: 0 1px 0 rgba(20,32,26,.04), 0 12px 28px rgba(20,32,26,.06);
}

* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body {
  font-family: "IBM Plex Sans", system-ui, sans-serif;
  color: var(--ink);
  background:
    radial-gradient(900px 420px at 8% -10%, rgba(15,107,76,.12), transparent 55%),
    radial-gradient(700px 380px at 100% 0%, rgba(196,92,38,.10), transparent 50%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
  min-height: 100vh;
}

.wrap {
  width: min(980px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 2.2rem 0 3.5rem;
}

header.hero { margin-bottom: 1.5rem; }

.brand {
  font-family: Syne, sans-serif;
  font-weight: 800;
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  letter-spacing: -0.03em;
  line-height: 1.05;
  margin: 0 0 .45rem;
  color: var(--ink);
}
.brand span { color: var(--accent); }
.brand a {
  color: inherit;
  text-decoration: none;
}
.brand a:hover { opacity: .92; }

.page-title {
  font-family: Syne, sans-serif;
  font-weight: 800;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0.35rem 0 0.75rem;
}

.tools-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .45rem;
  margin: 0 0 1.1rem;
  padding: .45rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--card) 90%, transparent);
}
.tools-nav a {
  display: inline-block;
  text-decoration: none;
  color: var(--muted);
  font-size: .86rem;
  font-weight: 600;
  padding: .4rem .7rem;
  border-radius: 8px;
  border: 1px solid transparent;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.tools-nav a:hover {
  color: var(--accent);
  background: var(--card);
  border-color: var(--line);
}
.tools-nav a.is-active {
  color: #fff;
  background: var(--accent);
  border-color: var(--accent);
}
.tools-nav a:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.lead {
  margin: 0 0 1.35rem;
  color: var(--muted);
  font-size: 1.05rem;
  max-width: 36rem;
  line-height: 1.5;
}

.hint {
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.45;
}
.hint a { color: var(--accent); font-weight: 600; }

/* Hub listing */
.toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
  margin: 1.35rem 0 1.1rem;
}
.search {
  flex: 1 1 240px;
  position: relative;
}
.search input {
  width: 100%;
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: 12px;
  padding: .85rem 1rem .85rem 2.55rem;
  font: inherit;
  color: var(--ink);
  box-shadow: var(--shadow);
  outline: none;
}
.search input:focus {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
}
.search::before {
  content: "⌕";
  position: absolute;
  left: .95rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted);
  font-size: 1.1rem;
}
.stats {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.pill {
  border: 1px solid var(--line);
  background: rgba(247,250,247,.85);
  border-radius: 999px;
  padding: .35rem .7rem;
  font-size: .82rem;
  color: var(--muted);
  font-weight: 600;
}
.pill b { color: var(--ink); font-weight: 700; }
.section { margin-top: 1.35rem; }
.section h2 {
  margin: 0 0 .65rem;
  font-family: Syne, sans-serif;
  font-size: 1.05rem;
  letter-spacing: -0.02em;
  display: flex;
  align-items: baseline;
  gap: .5rem;
}
.section h2 .n {
  font-family: "IBM Plex Sans", sans-serif;
  font-size: .8rem;
  color: var(--muted);
  font-weight: 600;
}
.grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .55rem;
}
@media (min-width: 720px) {
  .grid { grid-template-columns: 1fr 1fr; }
}
.grid > .card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  color: inherit;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: .9rem 1rem;
  box-shadow: var(--shadow);
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
  user-select: text;
  -webkit-user-select: text;
  cursor: default;
}
.grid > .card:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--accent) 40%, var(--line));
  background: var(--card);
}
.grid > .card .card-title a {
  color: inherit;
  text-decoration: none;
}
.grid > .card .card-title a:hover {
  color: var(--accent);
  text-decoration: underline;
}
.grid > .card .card-title a:focus-visible,
.grid > .card > a.go:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 4px;
}
.card-main { min-width: 0; flex: 1 1 auto; }
.card-title {
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -0.01em;
  word-break: break-word;
}
.card-url {
  margin-top: .15rem;
  font-size: .78rem;
  color: var(--muted);
  word-break: break-all;
}
.card-stats {
  margin-top: .35rem;
  font-size: .72rem;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.01em;
  line-height: 1.35;
  display: flex;
  flex-wrap: wrap;
  gap: .2rem .35rem;
  align-items: baseline;
}
.card-stats a.cs-schema,
.card-stats a.cs-orphans {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
  cursor: pointer;
}
.card-stats a.cs-schema:hover,
.card-stats a.cs-orphans:hover {
  color: var(--accent, #0f6b4c);
  border-bottom-style: solid;
}
.card-stats .cs-sep { opacity: .55; font-weight: 500; }
.card-stats .cs-orphans.is-warn { color: #a14a12; }
.card-stats .cs-miss { color: #8a4b08; }
.card-stats .cs-err { color: var(--bad, #b42318); }
.card-stats .cs-pending { font-weight: 500; opacity: .75; }
.card-checks {
  margin-top: .45rem;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  align-items: center;
}
.card-checks .chk {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  margin: 0;
  padding: .12rem .28rem .12rem .28rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--card);
  font-size: .72rem;
  font-weight: 650;
  color: var(--muted);
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.card-checks .chk-lab {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  margin: 0;
  cursor: pointer;
  user-select: none;
}
.card-checks .chk input {
  margin: 0;
  width: .9rem;
  height: .9rem;
  accent-color: var(--accent, #0f6b4c);
  cursor: pointer;
}
.card-checks .chk-open {
  color: inherit;
  text-decoration: none;
  opacity: .7;
  padding: 0 .2rem;
  border-radius: 4px;
}
.card-checks .chk-open:hover {
  opacity: 1;
  color: var(--accent, #0f6b4c);
  background: color-mix(in srgb, var(--accent, #0f6b4c) 10%, transparent);
}
.card-checks .chk.is-on {
  border-color: color-mix(in srgb, var(--accent, #0f6b4c) 45%, var(--line));
  background: color-mix(in srgb, var(--accent, #0f6b4c) 10%, #fff);
  color: var(--accent, #0f6b4c);
}
.site-vps-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.55rem 0.9rem;
}
.site-vps-pick {
  flex: 1 1 16rem;
  margin: 0;
}
.site-vps-pick-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
  font-weight: 700;
  font-size: 0.88rem;
}
.site-multi-actions {
  display: inline-flex;
  gap: 0.3rem;
}
.site-multi-list {
  max-height: 11.5rem;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--card);
  padding: 0.25rem 0;
}
label.site-multi-item {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.28rem 0.65rem;
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  user-select: none;
}
label.site-multi-item:hover {
  background: color-mix(in srgb, var(--accent, #0f6b4c) 8%, #fff);
}
label.site-multi-item input.site-multi-cb {
  appearance: auto;
  margin: 0;
  padding: 0;
  width: 0.9rem;
  height: 0.9rem;
  flex: 0 0 auto;
  align-self: center;
  position: relative;
  top: 0.12em;
  accent-color: var(--accent, #0f6b4c);
  vertical-align: middle;
}
label.site-multi-item span {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  line-height: 1.2;
}
.site-card-host {
  flex: 0 0 auto;
  max-width: 9.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.site-card-host[hidden] {
  display: none;
}
.tool-hub-check {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0 0.2rem;
  padding: 0.42rem 0.75rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--card);
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--muted);
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}
.tool-hub-check.is-on {
  border-color: color-mix(in srgb, var(--accent, #0f6b4c) 45%, var(--line));
  background: color-mix(in srgb, var(--accent, #0f6b4c) 10%, #fff);
  color: var(--accent, #0f6b4c);
}
.tool-hub-check input {
  margin: 0;
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--accent, #0f6b4c);
  cursor: pointer;
}
.tool-hub-check:has(input:disabled) {
  opacity: 0.45;
  cursor: not-allowed;
}
.hub-stats-hint {
  margin: -.35rem 0 1rem;
  font-size: .8rem;
  color: var(--muted);
}
.pill-btn {
  cursor: pointer;
  font: inherit;
  border: 1px solid var(--line);
  background: var(--card);
}
.pill-btn:hover {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
  color: var(--accent);
}
.pill-btn:disabled {
  opacity: .55;
  cursor: wait;
}
.pill-btn.is-active {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
  background: color-mix(in srgb, var(--accent) 12%, var(--card));
  color: var(--accent);
}
.badge {
  flex: 0 0 auto;
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: .28rem .5rem;
  border-radius: 999px;
  border: 1px solid currentColor;
  opacity: .9;
}
.k-domain .badge { color: var(--domain); }
.k-subdomain .badge { color: var(--sub); }
.k-alias .badge { color: var(--alias); }
.k-tool .badge { color: var(--tool); }
.go {
  color: var(--accent);
  font-weight: 700;
  font-size: 1.1rem;
  opacity: .55;
  text-decoration: none;
  flex: 0 0 auto;
  line-height: 1;
  padding: .15rem .2rem;
}
.grid > .card:hover > a.go { opacity: 1; }
.empty {
  display: none;
  margin-top: 1.5rem;
  padding: 1rem;
  border: 1px dashed var(--line);
  border-radius: 12px;
  color: var(--muted);
  text-align: center;
}
footer {
  margin-top: 2rem;
  color: var(--muted);
  font-size: .85rem;
}
footer a { color: var(--accent); font-weight: 600; }


.panel {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 1.25rem 1.35rem;
  box-shadow: var(--shadow);
}
.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 1rem 1.1rem;
  box-shadow: var(--shadow);
}

form {
  display: grid;
  gap: 0.9rem;
}

label {
  display: grid;
  gap: 0.35rem;
  font-size: 0.92rem;
  font-weight: 600;
}

input[type="url"],
input[type="text"],
select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0.75rem 0.9rem;
  font: inherit;
  background: var(--card);
}

input:focus,
select:focus {
  outline: 2px solid color-mix(in srgb, var(--accent) 35%, white);
  border-color: var(--accent);
}

.row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

#psi-results .card { margin-top: 1rem; }
#psi-results .list { margin: 0.4rem 0 0.8rem; padding-left: 1.1rem; }
#psi-status { margin: 0.2rem 0 0; }

button {
  appearance: none;
  border: 0;
  border-radius: 12px;
  padding: 0.8rem 1.25rem;
  font: inherit;
  font-weight: 700;
  color: #fff;
  background: var(--accent);
  cursor: pointer;
}

button:hover { filter: brightness(1.05); }
button:disabled { opacity: 0.6; cursor: wait; }

.btn-secondary {
  color: var(--accent);
  background: var(--card);
  border: 1px solid var(--line);
}

input[readonly] {
  background: #f4f1ea;
  color: var(--ink);
}

.detect-status {
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
  color: var(--muted);
}
.detect-status.is-error { color: #8a1f1a; }

.mode-set {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 0.75rem 1rem;
  margin: 0;
}
.mode-set legend {
  padding: 0 0.35rem;
  font-size: 0.85rem;
  color: var(--muted);
}
.mode-set .radio {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  margin: 0.35rem 0;
}
.mode-set input { width: auto; }

.site-progress {
  color: var(--muted);
  margin: 0 0 0.75rem;
}

.site-cards {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0.4rem;
  overflow-x: visible;
  padding-bottom: 0.35rem;
}

.site-card.is-overflow-hidden {
  display: none;
}

.site-cards-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
  margin: 0.55rem 0 0.45rem;
}
.site-cards-pager-label {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--muted);
  margin-right: 0.15rem;
}
.site-cards-page-btn {
  appearance: none;
  border: 1px solid var(--line, #ddd);
  border-radius: 8px;
  background: var(--card);
  color: var(--ink);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  padding: 0.35rem 0.65rem;
  cursor: pointer;
}
.site-cards-page-btn:hover {
  background: #f7f4ef;
  border-color: #c4b89a;
}
.site-cards-page-btn.is-active {
  background: rgba(15, 107, 76, 0.12);
  border-color: rgba(15, 107, 76, 0.4);
  color: var(--accent, #0f6b4c);
}
.site-cards-pager-meta {
  margin-left: 0.25rem;
}

.site-card {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0.4rem 0.75rem;
  box-shadow: var(--shadow);
  cursor: default;
  min-height: 2.35rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  white-space: nowrap;
}
.site-card:hover {
  border-color: #c4b89a;
}
.site-card.is-v1-working {
  border-color: var(--bad);
  border-width: 2px;
  background: #fff4f2;
  box-shadow: 0 0 0 3px rgba(201, 42, 42, 0.22);
  animation: v1-working-pulse 1.15s ease-in-out infinite;
}
.site-card.is-v1-working:hover {
  border-color: var(--bad);
}
.site-card.is-v1-done {
  border-color: #1d6fd8;
  border-width: 2px;
  background: #f2f7ff;
  box-shadow: 0 0 0 2px rgba(29, 111, 216, 0.18);
}
.site-card.is-v1-done:hover {
  border-color: #1d6fd8;
}
@keyframes v1-working-pulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(201, 42, 42, 0.18); }
  50% { box-shadow: 0 0 0 5px rgba(201, 42, 42, 0.38); }
}

.site-card-name {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 8.5rem;
  font-weight: 700;
  font-size: 0.86rem;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.site-card-url {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 16rem;
  color: var(--accent);
  font-weight: 500;
  font-size: 0.78rem;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.site-card-url:hover { text-decoration: underline; }

.site-card-v1 {
  flex: 0 0 auto;
  width: auto;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.site-card-v1[hidden] {
  display: none !important;
}
.site-card-v1-track {
  flex: 0 0 5cm;
  width: 5cm;
  height: 7px;
  background: #dfe8e2;
  border-radius: 999px;
  overflow: hidden;
}
.site-card-v1-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #2f9e44, #51cf66);
  border-radius: 999px;
  transition: width 0.28s ease-out;
}
.site-card.is-v1-working .site-card-v1-fill {
  box-shadow: 0 0 8px rgba(47, 158, 68, 0.45);
}
.site-card-v1-pct {
  flex: 0 0 auto;
  min-width: 2.6em;
  font-size: 0.72rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--good);
  text-align: right;
}

.site-card-detail {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.55rem;
  height: 1.55rem;
  padding: 0;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f7f4ec;
  color: var(--ink);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  font-family: inherit;
}
.site-card-detail:hover {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--card);
}

.site-card-open {
  flex: 0 0 auto;
  color: var(--accent);
  font-weight: 600;
  font-size: 0.82rem;
  text-decoration: none;
  white-space: nowrap;
}
.site-card-open:hover { text-decoration: underline; }

.site-card-kw {
  display: none;
}

.site-card-actions {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.35rem;
  align-items: center;
  margin-left: auto;
  flex: 0 0 auto;
}
.site-card-actions .site-card-v1 {
  margin-right: 0.15rem;
}
.site-card-actions .seo {
  margin-left: 0.15rem;
}

.site-card .ball-wrap {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.22rem;
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--muted);
  white-space: nowrap;
}
.site-card .ball-wrap .ball-pct {
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  min-width: 2.2em;
}
.site-card .ball-wrap .dot {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}
.site-card .ball-wrap .dot.good { background: var(--good); }
.site-card .ball-wrap .dot.ok { background: var(--ok); }
.site-card .ball-wrap .dot.bad { background: var(--bad); }
.site-card .ball-wrap .dot.wait {
  background: #ccc;
  animation: gptPulse 1.1s ease-in-out infinite;
}

.gpt-repair-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.5rem 0.55rem;
  margin: 0.85rem 0 0.5rem;
}
.gpt-control-panel {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin: 0.85rem 0 0.5rem;
  width: 100%;
}
.site-bulk-gpt-hint {
  margin: 0;
  font-size: 0.8rem;
}
.gpt-main-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.4rem;
}
.gpt-main-row .btn-repair {
  flex: 1 1 12rem;
  min-width: 10rem;
  border-radius: 10px;
  padding: 0.55rem 0.85rem;
  font-size: 0.86rem;
  white-space: normal;
  line-height: 1.3;
  text-align: center;
}
.gpt-main-row .btn-gsc {
  flex: 0 1 auto;
  border-radius: 10px;
}
.btn-gpt-set,
.btn-gpt-reset {
  border-radius: 8px;
  border: 1px solid rgba(40, 36, 32, 0.22);
  background: var(--card);
  color: #1a1510;
  padding: 0.45rem 0.65rem;
  font: inherit;
  font-weight: 700;
  font-size: 0.84rem;
  text-align: left;
  cursor: pointer;
}
.btn-gpt-set:hover {
  color: #1a1510;
  background: #f7f2ea;
  filter: none;
}
.btn-gpt-set.is-active {
  border-color: #b42318;
  background: #fff5f3;
  color: #8f1d14;
  box-shadow: inset 3px 0 0 #b42318;
}
.btn-gpt-set.is-active:hover {
  color: #8f1d14;
  filter: none;
}
.btn-gpt-reset {
  color: #8a3b12;
  border-color: rgba(138, 59, 18, 0.35);
}
.btn-gpt-reset:hover {
  color: #8a3b12;
  filter: none;
}
.gpt-repair-actions .btn-repair,
.gpt-repair-actions .btn-gsc {
  flex: 1 1 11rem;
  min-width: 10rem;
  border-radius: 10px;
  padding: 0.55rem 0.85rem;
  font-size: 0.86rem;
  white-space: normal;
  line-height: 1.3;
  text-align: center;
}
.btn-repair {
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 0.35rem 0.7rem;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #c45c26, #a34a1d);
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(196, 92, 38, 0.35);
}
.btn-repair:hover { filter: brightness(1.06); }
.btn-repair:disabled { opacity: 0.55; cursor: wait; }
.btn-gpt-v2 {
  background: linear-gradient(135deg, #1f6f8b, #155468);
  box-shadow: 0 4px 14px rgba(31, 111, 139, 0.35);
}
.btn-bulk-repair {
  border-radius: 10px;
  padding: 0.55rem 1rem;
  font-size: 0.9rem;
  white-space: normal;
  max-width: 100%;
  text-align: left;
  line-height: 1.35;
  flex: 1 1 12rem;
  transition: background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}
.v1-transport {
  align-items: center;
  gap: 0.55rem;
}
/* Recorder pe butonul lat: verde = oprit, galben = pauză, roșu + puls = lucrează */
.btn-bulk-repair.is-idle {
  color: #fff;
  background: linear-gradient(135deg, #37b24d, #2f9e44);
  box-shadow: 0 4px 14px rgba(47, 158, 68, 0.35);
}
.btn-bulk-repair.is-paused {
  color: #212529;
  background: linear-gradient(135deg, #fcc419, #f59f00);
  box-shadow: 0 4px 14px rgba(245, 159, 0, 0.4);
  animation: none;
}
.btn-bulk-repair.is-running {
  color: #fff;
  background: linear-gradient(135deg, #fa5252, #e03131);
  box-shadow: 0 4px 18px rgba(224, 49, 49, 0.45);
  animation: v1BtnPulse 1.15s ease-in-out infinite;
}
@keyframes v1BtnPulse {
  0%, 100% { opacity: 0.42; filter: brightness(0.92); }
  50% { opacity: 1; filter: brightness(1.12); }
}
.btn-v1-stop {
  appearance: none;
  border: 1px solid #ffc9c9;
  border-radius: 10px;
  padding: 0.55rem 0.95rem;
  font: inherit;
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
  color: #a32020;
  background: #fff5f5;
  flex: 0 0 auto;
}
.btn-v1-stop:hover:not(:disabled) {
  background: #ffe3e3;
}
.btn-v1-stop:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.site-bulk-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.55rem;
  align-items: stretch;
}
.site-bulk-select-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.5rem;
  align-items: center;
  margin: 0.55rem 0 0.15rem;
}
.site-seo-bands {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.45rem;
  align-items: center;
  margin: 0.65rem 0 0.2rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #faf8f3;
}
.site-seo-bands-label {
  font-size: 0.82rem;
  font-weight: 700;
  color: #5a4f3a;
  margin-right: 0.15rem;
}
.seo-band-range {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: #5a4f3a;
}
.seo-band-num {
  width: 4.4rem;
  margin: 0;
  padding: 0.28rem 0.4rem;
  border: 1px solid #d4c9b0;
  border-radius: 8px;
  background: var(--card);
  font-size: 0.9rem;
  font-weight: 700;
  text-align: center;
}
.seo-band-num:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 2px #fff6e8;
}
.seo-band-sep {
  font-weight: 700;
  color: #8a7d66;
}
.seo-band-unit {
  font-size: 0.8rem;
  font-weight: 700;
  color: #5a4f3a;
}
.site-seo-bands-hint {
  margin: 0;
  font-size: 0.78rem;
  flex: 1 1 8rem;
}
.site-card.is-filter-hidden {
  display: none !important;
}
.btn-bulk-select {
  appearance: none;
  border: 1px solid var(--line);
  background: #f7f4ec;
  color: var(--ink);
  border-radius: 8px;
  padding: 0.35rem 0.7rem;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
}
.btn-bulk-select:hover {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--card);
}
.btn-bulk-select:disabled {
  opacity: 0.55;
  cursor: wait;
}
.site-bulk-selected-hint {
  margin: 0;
  font-size: 0.8rem;
}
.site-card-bulk {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  cursor: pointer;
  user-select: none;
}
.site-card-bulk-cb {
  width: 1.05rem;
  height: 1.05rem;
  margin: 0;
  accent-color: #c45c26;
  cursor: pointer;
}
.site-card-bulk-cb:disabled {
  cursor: wait;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.gpt-report {
  margin: 1rem 0 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid #c9a227;
  background: #fffbeb;
  border-radius: 8px;
}
.gpt-live-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0 0 0.6rem;
}
.gpt-live-head h4 {
  margin: 0;
  font-size: 1rem;
  color: #7a5a00;
}
.gpt-report h4 {
  margin: 0 0 0.6rem;
  font-size: 1rem;
  color: #7a5a00;
}
.gpt-report.is-running {
  border-color: #ee7c1b;
  box-shadow: 0 0 0 2px rgba(238, 124, 27, 0.15);
}
.gpt-report.is-running .gpt-live-head h4::after,
.gpt-report.is-running > h4::after {
  content: " …";
  animation: gptPulse 1.1s ease-in-out infinite;
}
@keyframes gptPulse {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 1; }
}
.gpt-live-log {
  max-height: 22rem;
  overflow: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.86rem;
  line-height: 1.45;
  color: #1a1a1a;
  white-space: pre-wrap;
  word-break: break-word;
}
.gpt-live-log .gpt-line {
  display: block;
  padding: 0.12rem 0;
  border-bottom: 1px solid rgba(201, 162, 39, 0.25);
}
.gpt-live-log .gpt-line.phase { color: #7a5a00; font-weight: 700; }
.gpt-live-log .gpt-line.check-good { color: #2f6b14; }
.gpt-live-log .gpt-line.check-ok { color: #a85a00; }
.gpt-live-log .gpt-line.check-bad { color: #a32020; }
.gpt-live-log .gpt-line.gpt { color: #1a1a1a; }
.gpt-live-log .gpt-line.err { color: #a32020; font-weight: 700; }
.gpt-live-log .gpt-line.done { color: #2f6b14; font-weight: 700; margin-top: 0.5rem; }
.gpt-actions {
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(201, 162, 39, 0.35);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.btn-reanalyze {
  appearance: none;
  border: 0;
  border-radius: 10px;
  padding: 0.55rem 1rem;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  color: #fff;
  background: var(--accent);
}
.btn-reanalyze:hover { filter: brightness(1.08); }
.btn-reanalyze:disabled { opacity: 0.55; cursor: wait; }
.btn-gpt-copy {
  appearance: none;
  border: 1px solid #c9a227;
  border-radius: 10px;
  padding: 0.4rem 0.85rem;
  font: inherit;
  font-weight: 700;
  font-size: 0.88rem;
  cursor: pointer;
  color: #7a5a00;
  background: #fff8e1;
  white-space: nowrap;
}
.btn-gpt-copy:hover { background: #ffefc2; }
.gpt-live-head .btn-gpt-copy {
  padding: 0.35rem 0.75rem;
  font-size: 0.82rem;
}

.page-detail {
  margin-top: 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--card);
  box-shadow: var(--shadow);
}
.page-detail h3 {
  font-family: Syne, sans-serif;
  font-size: 1.05rem;
  margin: 0 0 0.35rem;
  word-break: break-all;
}
.page-detail h4 {
  margin: 1rem 0 0.5rem;
  font-size: 0.95rem;
}

.og-preview {
  margin: 0.85rem 0 0;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--card);
}
.og-preview-label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
  margin: 0 0 0.55rem;
}
.og-preview-card {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--bg, #fff);
  max-width: 652px;
  padding: 10px 12px 12px;
}
.og-preview-card.og-preview-serp img,
.og-preview-card .serp-thumb {
  display: block;
  width: 78px;
  height: 78px;
  max-height: 78px;
  flex-shrink: 0;
  object-fit: cover;
  border-radius: 6px;
  background: #e8e4dc;
  border: 1px solid var(--line);
}
.og-preview-body {
  flex: 1;
  min-width: 0;
  padding: 0;
}
.og-preview-site {
  font-size: 0.75rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.og-preview-title {
  font-weight: 700;
  margin: 0.2rem 0 0.25rem;
  line-height: 1.3;
}
.og-preview-desc {
  font-size: 0.88rem;
  color: var(--muted);
  line-height: 1.4;
}
.og-preview-url,
.og-preview-meta {
  font-size: 0.75rem;
  color: var(--muted);
  margin-top: 0.35rem;
  word-break: break-all;
}

.analysis-fold {
  margin: 0.75rem 0 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--card);
  overflow: hidden;
}
.analysis-fold + .analysis-fold {
  margin-top: 0.55rem;
}
.analysis-fold-sum {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.65rem 0.85rem;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--ink);
  user-select: text;
  -webkit-user-select: text;
}
.analysis-fold-sum::-webkit-details-marker { display: none; }
.analysis-fold-sum::marker { content: ''; }
.fold-sign {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 4px;
  background: #f0ebe3;
  color: #5a5044;
  font-size: 0.75rem;
  font-weight: 800;
  flex: 0 0 auto;
  line-height: 1;
}
.fold-sign::before { content: '▸'; }
.analysis-fold[open] > .analysis-fold-sum .fold-sign::before { content: '▾'; }
.fold-meta {
  font-weight: 600;
  color: var(--muted);
  font-size: 0.86rem;
}
.analysis-fold .list {
  margin: 0;
  padding: 0 0.75rem 0.75rem;
  border-top: 1px solid var(--line);
}

.pill-r {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border-radius: 999px;
  padding: 0.28rem 0.7rem;
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
  background: var(--card);
  border: 1px solid var(--line);
  color: var(--ink);
}
.pill-r .dot {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}
.pill-r.good { border-color: #b7df9a; background: #f5fbf0; }
.pill-r.ok { border-color: #f0c48a; background: #fff8f0; }
.pill-r.bad { border-color: #f0c2c0; background: #fff6f5; }
.pill-r .dot.good { background: var(--good); }
.pill-r .dot.ok { background: var(--ok); }
.pill-r .dot.bad { background: var(--bad); }

.hint {
  font-size: 0.85rem;
  color: var(--muted);
  font-weight: 400;
}

.note {
  margin-top: 0.9rem;
  font-size: 0.84rem;
  color: var(--muted);
}

.summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1.5rem 0 0.75rem;
}

.status-row .status {
  display: inline-flex;
  align-items: center;
  border-radius: 14px;
  padding: 0.85rem 1.2rem;
  font-family: Syne, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  border: 1px solid var(--line);
  background: var(--card);
}

.status.good {
  color: #1f6b1f;
  background: #eef8e6;
  border-color: #b7df9a;
}

.status.ok {
  color: #8a4b00;
  background: #fff3e6;
  border-color: #f0c48a;
}

.status.bad {
  color: #8a1f1a;
  background: #fff1f0;
  border-color: #f0c2c0;
}

.all-good {
  margin: 1rem 0 0;
  padding: 1rem 1.1rem;
  border-radius: 12px;
  background: #eef8e6;
  border: 1px solid #b7df9a;
  color: #1f6b1f;
  font-weight: 600;
}

.pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border-radius: 999px;
  padding: 0.35rem 0.75rem;
  font-size: 0.85rem;
  font-weight: 700;
  background: var(--card);
  border: 1px solid var(--line);
}

.dot {
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  display: inline-block;
}
.dot.good { background: var(--good); }
.dot.ok { background: var(--ok); }
.dot.bad { background: var(--bad); }
.dot.feedback { background: var(--feedback); }

.item.item-manual .label::after {
  content: " · manual";
  font-weight: 500;
  color: var(--muted, #6b7280);
  font-size: 0.85em;
}
.item.item-manual .detail {
  opacity: 0.92;
  white-space: pre-line;
}

.meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.6rem;
  margin: 1rem 0 1.5rem;
}

.meta-item {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 0.7rem 0.8rem;
}
.meta-item b { display: block; font-size: 0.75rem; color: var(--muted); font-weight: 600; }
.meta-item span { font-size: 0.95rem; word-break: break-word; }

h2 {
  font-family: Syne, sans-serif;
  font-size: 1.35rem;
  margin: 1.75rem 0 0.75rem;
}

.list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.item {
  display: grid;
  grid-template-columns: 1.1rem 1fr;
  gap: 0.7rem;
  align-items: start;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 0.8rem 0.95rem;
}

.item .label { font-weight: 700; margin-bottom: 0.15rem; }
.item .text { color: var(--muted); font-size: 0.92rem; line-height: 1.45; }
.item .detail {
  margin-top: 0.25rem;
  font-size: 0.8rem;
  color: #7a7468;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  white-space: pre-wrap;
}
.kw-edit-label {
  display: block;
  margin: 0.75rem 0 0.35rem;
  font-weight: 700;
}
.kw-edit-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.35rem;
}
.kw-edit-row input {
  flex: 1 1 220px;
  min-width: 180px;
}
.btn-save-kw {
  appearance: none;
  border: 1px solid var(--line);
  background: #1e3d32;
  color: #fff;
  padding: 0.55rem 0.9rem;
  border-radius: 10px;
  font-weight: 700;
  cursor: pointer;
}
.btn-save-kw:hover { filter: brightness(1.08); }
.btn-save-kw:disabled { opacity: 0.6; cursor: wait; }
.btn-strip-dia {
  background: #1a5f4a;
  color: #fff;
}

.error {
  margin-top: 1rem;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  background: #fff1f0;
  border: 1px solid #f0c2c0;
  color: #8a1f1a;
}

.footer {
  margin-top: 2rem;
  font-size: 0.8rem;
  color: var(--muted);
}

.google-block {
  margin: 0.85rem 0 1rem;
  padding: 0.75rem 0.85rem 0.9rem;
  border: 1px solid rgba(40, 36, 32, 0.12);
  border-radius: 12px;
  background: rgba(246, 250, 247, 0.7);
}
.google-note {
  margin: 0 0 0.55rem;
}
.google-block .gsc-bar {
  margin-top: 0.55rem;
  padding-top: 0.7rem;
  border-top: 1px solid rgba(61, 90, 74, 0.22);
}

.gsc-bar {
  margin-top: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--line);
}
.gsc-status {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.92rem;
  margin-bottom: 0.55rem;
}
.gsc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.btn-gsc {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #3d5a4a;
  background: #3d5a4a;
  color: #fff;
  border-radius: 10px;
  padding: 0.45rem 0.85rem;
  font: inherit;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  cursor: pointer;
}
.btn-gsc:hover { filter: brightness(1.05); }
.btn-gsc:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.btn-gsc-secondary {
  background: var(--card);
  color: #3d5a4a;
}
#gsc-verify-status {
  margin-top: 0.55rem;
  white-space: pre-wrap;
}

/* —— Test viteză GPT scorboard —— */

/* Shared form helpers (hub look) */
form.card { display: grid; gap: 0.9rem; margin: 1rem 0; }
.kind-fieldset {
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 0.75rem 0.9rem;
  background: var(--card);
}
.kind-fieldset legend {
  padding: 0 0.35rem;
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--muted);
}
label.inline {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-right: 0.85rem;
  font-weight: 600;
  font-size: 0.92rem;
}
.thumb-row {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin: 1rem 0 1.5rem;
  align-items: flex-end;
}
.thumb-row figure { margin: 0; text-align: center; }
.thumb-row img {
  border-radius: 10px;
  border: 2px solid var(--accent);
  display: block;
}
header.hero .tools-nav { margin-top: 1rem; margin-bottom: 0; }
.badge.good { color: var(--good); }
.badge.ok { color: var(--ok); }
.badge.bad { color: var(--bad); }

/* —— Consolă Search Console —— */
.wrap-console {
  width: min(1120px, calc(100% - 2rem));
  user-select: text;
  -webkit-user-select: text;
}
.wrap-console,
.wrap-console *:not(input):not(textarea) {
  user-select: text;
  -webkit-user-select: text;
}
#console-status.is-error { color: #8a1f1a; }

.gsc-overview {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .75rem;
  margin: 1.15rem 0 1rem;
}
.gsc-stat.is-trend { grid-column: 1 / -1; }
.gsc-stat.is-trend-short {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem 1rem;
}
.gsc-overview > .gsc-evo-fold {
  grid-column: 1 / -1;
  margin-top: .15rem;
}
.gsc-evo-fold-body {
  padding: .55rem .85rem .85rem;
  border-top: 1px solid var(--line);
}
.gsc-evo-fold .analysis-fold-sum {
  flex-wrap: wrap;
  align-items: flex-start;
}
.gsc-evo-fold .analysis-fold-sum .fold-meta {
  margin-left: auto;
  font-weight: 600;
  color: var(--ink);
  font-size: .86rem;
  flex: 1 1 14rem;
  min-width: 0;
  white-space: normal;
  line-height: 1.35;
}
#tot-trend-list {
  margin: 0 0 .65rem;
}
.gsc-evo-fold .analysis-fold-sum .gsc-stat-hint,
.gsc-evo-fold .analysis-fold-sum .gsc-stat-news {
  font-weight: 600;
  font-size: .82rem;
}
.gsc-overview-chart {
  flex: 1 1 100%;
  width: 100%;
  margin-top: .35rem;
}
.gsc-stat.is-trend .gsc-overview-chart {
  display: block;
}
.gsc-chart-wrap.is-wide {
  margin: .25rem 0 0;
}
.gsc-chart-wrap.is-wide .gsc-chart {
  width: 100%;
  min-height: 210px;
}
.gsc-stat.is-trend-visible .gsc-overview-chart .gsc-chart-wrap.is-wide .gsc-chart,
#tot-visible-chart .gsc-chart,
.gsc-evo-fold.is-trend-visible .gsc-chart {
  min-height: 320px;
}
.gsc-stat.is-trend-short .gsc-stat-label {
  display: inline;
  margin: 0;
}
.gsc-stat.is-trend-short .gsc-stat-value {
  font-size: 1.15rem;
}
.gsc-stat.is-trend-short .gsc-stat-hint,
.gsc-stat.is-trend-short .gsc-stat-value + .gsc-stat-hint {
  display: inline;
  margin: 0;
}
.gsc-stat-news {
  display: block;
  font-size: .88rem;
  font-weight: 600;
  color: var(--ink);
}
.gsc-stat-news[hidden] { display: none; }
.gsc-news-list {
  list-style: none;
  margin: .4rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .32rem;
}
.gsc-news-list li {
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--ink);
}
.gsc-news-list .gsc-site-meta {
  font-weight: 500;
}
.gsc-news-host {
  appearance: none;
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--ink);
  border-radius: 999px;
  padding: .12rem .5rem;
  font: inherit;
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
}
.gsc-news-host:hover {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
  background: rgba(15, 107, 76, .08);
}
.gsc-auto {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
  font-size: .86rem;
  font-weight: 600;
  color: var(--ink);
}
.gsc-auto label {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
  cursor: pointer;
  user-select: text;
  -webkit-user-select: text;
}
.gsc-auto input[type="checkbox"] { margin: 0; }
.gsc-auto-min {
  width: 3.2rem;
  border: 0;
  border-bottom: 1px dashed color-mix(in srgb, var(--accent) 55%, var(--line));
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 800;
  text-align: center;
  padding: .05rem .15rem;
  border-radius: 0;
  -moz-appearance: textfield;
}
.gsc-auto-min::-webkit-outer-spin-button,
.gsc-auto-min::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.gsc-auto-min:focus {
  outline: none;
  border-bottom-style: solid;
  background: rgba(15, 107, 76, .06);
}
.gsc-sound-btn {
  padding: .2rem .55rem;
  font-size: .78rem;
  line-height: 1.2;
  margin-left: .15rem;
}
.gsc-sound-btn.is-on {
  border-color: color-mix(in srgb, var(--good) 55%, var(--line));
  color: var(--good);
}
.gsc-stat-hint {
  display: block;
  font-size: .78rem;
  color: var(--muted);
  font-weight: 500;
  margin: -.1rem 0 .45rem;
}
.gsc-stat-value + .gsc-stat-hint {
  margin: .2rem 0 0;
}
.gsc-stat {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: .9rem 1rem;
  box-shadow: var(--shadow);
}
.gsc-stat-label {
  display: block;
  font-size: .78rem;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: .25rem;
}
.gsc-stat-value {
  font-family: inherit;
  font-weight: 700;
  font-size: 1.35rem;
  letter-spacing: 0;
  color: var(--ink);
}
.gsc-stat-value.is-warn { color: var(--ok); }
.gsc-stat-value.is-indexed { color: var(--ok); }
.gsc-stat-value.is-unindexed { color: #6d7872; }
.gsc-stat-value.is-server { color: var(--sub); }
.gsc-stat-value.is-visible { color: #1d4f8c; }
.gsc-stat-value.is-visible-up { color: var(--good); }
.gsc-stat-value.is-visible-down { color: var(--ok); }
.gsc-stat-value.is-visible-up .gsc-delta,
.gsc-stat-value.is-visible-down .gsc-delta { color: inherit; }
.gsc-stat-trend { font-size: 1rem; font-weight: 700; font-family: inherit; }
.gsc-trend-compact {
  display: inline-block;
  font-family: inherit;
  font-weight: 700;
  font-size: 1.35rem;
  letter-spacing: 0;
  white-space: nowrap;
  line-height: 1.15;
}
.gsc-trend-compact.is-up { color: var(--good); }
.gsc-trend-compact.is-down { color: var(--ok); }
.gsc-trend-compact.is-flat { color: var(--ok); }
.gsc-trend-lines {
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.gsc-trend-line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .2rem 1rem;
  align-items: baseline;
  line-height: 1.45;
}
.gsc-trend-k {
  font-family: inherit;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0;
  white-space: nowrap;
}
.gsc-trend-d {
  min-width: 0;
  font-size: .88rem;
  font-weight: 500;
  color: var(--ink);
  overflow-wrap: anywhere;
}
.gsc-trend-line.is-up .gsc-trend-k { color: var(--good); }
.gsc-trend-line.is-down .gsc-trend-k { color: var(--bad); }
.gsc-trend-line.is-flat .gsc-trend-k,
.gsc-trend-line.is-none .gsc-trend-k { color: var(--muted); }
.gsc-trend-line.is-click { cursor: pointer; border-radius: 8px; padding: .15rem .2rem; }
.gsc-trend-line.is-click:hover { background: rgba(15, 107, 76, .05); }
.gsc-trend-line.is-open { background: rgba(15, 107, 76, .06); }
.gsc-trend-hosts {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .15rem;
}
.gsc-trend-host {
  appearance: none;
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--ink);
  border-radius: 999px;
  padding: .2rem .6rem;
  font: inherit;
  font-size: .82rem;
  font-weight: 600;
  cursor: pointer;
}
.gsc-trend-host:hover {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
  background: rgba(15, 107, 76, .08);
}

.gsc-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1rem;
  align-items: end;
  margin: 0 0 1rem;
}
.gsc-search { flex: 1 1 220px; }
.gsc-search input {
  width: 100%;
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: 12px;
  padding: .7rem .9rem;
  font: inherit;
}
.gsc-sort {
  display: grid;
  gap: .25rem;
  font-size: .82rem;
  font-weight: 600;
  color: var(--muted);
}
.gsc-sort select {
  min-width: 13rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: .55rem .7rem;
  font: inherit;
  background: var(--card);
}

.gsc-list { display: grid; gap: .65rem; }
.gsc-site {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.gsc-site.is-open { border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); }
.gsc-site-head {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 1.5fr) minmax(10rem, 1fr);
  gap: .75rem 1rem;
  align-items: center;
  text-align: left;
  background: transparent;
  color: inherit;
  border: 0;
  border-radius: 0;
  padding: .9rem 1rem;
  font: inherit;
  font-weight: 500;
  cursor: pointer;
  user-select: text;
  -webkit-user-select: text;
}
.gsc-site-head:hover { filter: none; background: rgba(15, 107, 76, .04); }
.gsc-site-id {
  min-width: 0;
}
.gsc-site-id strong {
  display: block;
  font-size: 1.02rem;
  letter-spacing: -.02em;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gsc-site-meta {
  display: flex;
  gap: .35rem;
  align-items: center;
  margin-top: .15rem;
  font-size: .78rem;
  color: var(--muted);
  font-weight: 600;
}
.gsc-tag {
  display: inline-block;
  padding: .05rem .4rem;
  border-radius: 999px;
  background: rgba(15, 107, 76, .12);
  color: var(--accent);
  font-size: .72rem;
  font-weight: 700;
}
.gsc-nums {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1rem;
}
.gsc-num {
  font-size: .84rem;
  color: var(--muted);
}
.gsc-num b {
  display: block;
  font-family: inherit;
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--ink);
  letter-spacing: 0;
}
.gsc-num.is-warn b { color: var(--ok); }
.gsc-num.is-indexed b { color: var(--ok); }
.gsc-num.is-unindexed b { color: #6d7872; }
.gsc-num.is-server b { color: var(--sub); }
.gsc-num.is-visible b { color: #1d4f8c; }
.gsc-num.is-visible-all b { color: #1d4f8c; }
.gsc-num.is-visible-up b { color: var(--good); }
.gsc-num.is-visible-down b { color: var(--ok); }
.gsc-num.is-visible-up b .gsc-delta,
.gsc-num.is-visible-down b .gsc-delta { color: inherit; }
.gsc-delta {
  font-family: inherit;
  font-weight: 700;
  letter-spacing: 0;
  white-space: nowrap;
  margin-left: .28rem;
  vertical-align: middle;
}
.gsc-num b .gsc-delta { font-size: .58em; }
.gsc-stat-value .gsc-delta { font-size: .55em; }
.gsc-days .gsc-delta { font-size: .82em; margin-left: .2rem; }
.gsc-delta.is-up { color: var(--good); }
.gsc-delta.is-down { color: var(--bad); }
.gsc-delta.is-flat { color: var(--muted); }
.lead .gsc-delta { font-size: .95em; margin-left: 0; }
.gsc-site-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .25rem;
}
.gsc-trend {
  font-size: .86rem;
  font-weight: 700;
  white-space: nowrap;
}
.gsc-trend.is-up { color: var(--good); }
.gsc-trend.is-down { color: var(--bad); }
.gsc-trend.is-flat,
.gsc-trend.is-none { color: var(--muted); }
.gsc-trend-day {
  font-size: .75rem;
  font-weight: 600;
  opacity: .85;
}
.gsc-visible-sum { margin-top: .35rem; }
.gsc-spark { display: block; }
.gsc-spark-empty {
  font-size: .75rem;
  color: var(--muted);
  font-weight: 500;
}
.gsc-site-body {
  padding: 0 1rem 1rem;
  border-top: 1px solid var(--line);
}
.gsc-site-err {
  margin: .75rem 0 0;
  color: #8a1f1a;
  font-size: .9rem;
}
.gsc-chart-wrap { margin: .75rem 0 1rem; }
.gsc-chart {
  width: 100%;
  height: auto;
  display: block;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
}
.gsc-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  margin-top: .45rem;
  font-size: .82rem;
  color: var(--muted);
  font-weight: 600;
}
.gsc-leg { display: inline-flex; align-items: center; gap: .35rem; }
.gsc-leg i {
  width: .7rem;
  height: .7rem;
  border-radius: 999px;
  display: inline-block;
}
.gsc-days {
  width: 100%;
  border-collapse: collapse;
  font-size: .88rem;
}
.gsc-days th,
.gsc-days td {
  text-align: left;
  padding: .4rem .5rem;
  border-bottom: 1px solid var(--line);
}
.gsc-days th {
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--muted);
}
.gsc-days td:nth-child(n+2) { font-variant-numeric: tabular-nums; }

.gsc-pages {
  margin-top: 1.1rem;
  padding-top: .85rem;
  border-top: 1px solid var(--line);
}
.gsc-pages-head {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .75rem;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .35rem;
}
.gsc-pages-head strong { font-size: 1rem; }
.gsc-pages-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: .55rem 0 .5rem;
}
.gsc-pages-tab {
  appearance: none;
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: 999px;
  padding: .28rem .7rem;
  font: inherit;
  font-size: .82rem;
  font-weight: 700;
  color: var(--muted);
  cursor: pointer;
}
.gsc-pages-tab.is-on {
  background: rgba(15, 107, 76, .12);
  border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
  color: var(--accent);
}
.gsc-pages-search { display: block; margin: 0 0 .55rem; }
.gsc-pages-search input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: .5rem .75rem;
  font: inherit;
}
.gsc-pages-scroll {
  max-height: 22rem;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--card);
}
.gsc-pages-table { margin: 0; }
.gsc-pages-table code { font-size: .82rem; word-break: break-all; }
.gsc-pages-ul {
  list-style: none;
  margin: 0;
  padding: .35rem .75rem;
}
.gsc-pages-ul li {
  padding: .32rem 0;
  border-bottom: 1px solid rgba(0,0,0,.05);
}
.gsc-pages-ul li:last-child { border-bottom: 0; }

@media (max-width: 960px) {
  .gsc-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .gsc-trend-line { grid-template-columns: 1fr; gap: .1rem; }
  .gsc-site-head {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .gsc-site-right { align-items: flex-start; }
}

/* —— Adaugă GSC —— */
#add-status.is-error { color: #8a1f1a; }
.gsc-add-list { display: grid; gap: .65rem; }
.gsc-add-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.gsc-add-card.is-hidden-card {
  opacity: .72;
  border-style: dashed;
}
.gsc-hide-lab {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  margin: .2rem 0 .15rem;
  font-size: .78rem;
  font-weight: 700;
  color: var(--muted);
  cursor: pointer;
}
.gsc-hide-lab input { margin: 0; }
.btn-gsc.is-on {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}
.gsc-add-row {
  display: grid;
  grid-template-columns: minmax(10rem, 1.4fr) auto auto auto;
  gap: .6rem 1rem;
  align-items: center;
  padding: .75rem 1rem;
}
.gsc-add-row + .gsc-add-row {
  border-top: 1px solid var(--line);
  background: rgba(15, 107, 76, .03);
}
.gsc-add-row.is-www strong { font-weight: 600; color: var(--muted); }
.gsc-add-id strong { display: block; letter-spacing: -.02em; }
.gsc-add-url {
  display: block;
  font-size: .78rem;
  color: var(--muted);
  font-weight: 500;
  margin-top: .1rem;
}
.gsc-add-pages {
  font-size: .84rem;
  color: var(--muted);
  white-space: nowrap;
}
.gsc-add-pages b {
  display: block;
  font-family: Syne, sans-serif;
  font-size: 1.15rem;
  color: var(--sub);
}
.gsc-add-state {
  font-size: .82rem;
  font-weight: 700;
  white-space: nowrap;
}
.gsc-add-state.is-in { color: var(--good); }
.gsc-add-state.is-cover { color: var(--accent); }
.gsc-add-state.is-out { color: var(--ok); }
.gsc-add-btn { justify-self: end; }
@media (max-width: 760px) {
  .gsc-add-row {
    grid-template-columns: 1fr 1fr;
  }
  .gsc-add-btn { grid-column: 1 / -1; justify-self: stretch; }
}

/* —— Google scan —— */
#scan-status.is-error { color: #8a1f1a; }
.wrap-google-scan .gsc-site-head {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}
.wrap-google-scan .gsc-site-id,
.wrap-google-scan .gsc-site-id strong {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.wrap-google-scan .gsc-nums {
  flex-shrink: 0;
  justify-self: end;
  max-width: 22rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.wrap-google-scan .gsc-num.is-visible b,
.wrap-google-scan .gsc-stat-value.is-visible {
  color: #0f6b4c;
}
.wrap-google-scan .gsc-scan-when {
  display: block;
  margin-top: .2rem;
  font-size: .78rem;
  font-weight: 600;
  color: var(--muted);
}
.wrap-google-scan .gsc-site-right {
  display: none;
}
.wrap.wrap-rank-scan {
  width: min(1240px, calc(100% - 2rem));
}
.wrap-rank-scan .gsc-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  align-items: stretch;
}
.wrap-rank-scan .gsc-site {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.wrap-rank-scan .gsc-site.is-open {
  grid-column: 1 / -1;
}
.wrap-google-scan.wrap-rank-scan .gsc-site-head {
  grid-template-columns: 1fr;
  gap: .45rem .6rem;
  align-items: start;
  padding: .75rem .85rem;
}
.wrap-google-scan.wrap-rank-scan .gsc-site.is-open .gsc-site-head {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) 168px;
}
.wrap-google-scan.wrap-rank-scan .gsc-site-right {
  display: flex;
  align-items: stretch;
  width: 100%;
}
.wrap-rank-scan .gsc-spark {
  width: 100%;
  max-width: 100%;
  height: 36px;
}
.wrap-rank-scan .gsc-site-id strong {
  font-size: .95rem;
}
.wrap-rank-scan .gsc-nums {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .35rem .5rem;
  max-width: none;
  justify-self: stretch;
  justify-content: start;
  flex-wrap: unset;
}
.wrap-rank-scan .gsc-num {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wrap-rank-scan .gsc-num b {
  font-size: 1.05rem;
}
@media (max-width: 1100px) {
  .wrap-rank-scan .gsc-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .wrap-rank-scan .gsc-list {
    grid-template-columns: 1fr;
  }
  .wrap-google-scan.wrap-rank-scan .gsc-site.is-open .gsc-site-head {
    grid-template-columns: 1fr;
  }
}
.wrap-rank-scan .rank-hits {
  list-style: none;
  margin: .4rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.wrap-rank-scan .rank-hits li {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem .6rem;
  align-items: baseline;
}
.wrap-rank-scan .rank-pos {
  font-weight: 800;
  min-width: 7.5rem;
}
.wrap-rank-scan .gsc-stat-value.is-visible-down,
.wrap-rank-scan .gsc-num.is-visible-down b,
.wrap-rank-scan .rank-hits li.is-visible-down .rank-pos {
  color: var(--bad);
}
.wrap-rank-scan .gsc-q-tag {
  display: inline-block;
  margin-left: .45rem;
  font-size: .72rem;
  font-weight: 500;
  color: var(--muted, #98a2b3);
  vertical-align: middle;
}
.wrap-google-scan .gsc-pages-ul a,
.wrap-google-scan .gsc-pages-ul code {
  overflow-wrap: anywhere;
  word-break: break-all;
}
.gsc-query {
  display: inline-block;
  font-size: .78rem;
  color: var(--muted);
  font-weight: 600;
}
.gsc-query code {
  font-size: .78rem;
  font-weight: 600;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gsc-engine.is-google {
  background: rgba(29, 79, 140, .12);
  color: #1d4f8c;
}
.gsc-engine.is-bing {
  background: rgba(196, 92, 38, .14);
  color: var(--ok);
}

.theme-toggle {
  appearance: none;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--card);
  color: var(--ink);
  font: inherit;
  font-size: .82rem;
  font-weight: 700;
  padding: .35rem .7rem;
  cursor: pointer;
  margin-left: auto;
}
.theme-toggle:hover {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
  color: var(--accent);
}
.theme-toggle[aria-pressed="true"] {
  background: color-mix(in srgb, var(--accent) 18%, var(--card));
  border-color: color-mix(in srgb, var(--accent) 40%, var(--line));
  color: var(--accent);
}

/* ——— Temă de noapte ——— */
html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #101614;
  --bg2: #0b100e;
  --ink: #e7eee9;
  --muted: #9aaba0;
  --line: #2c3832;
  --card: #171e1b;
  --good: #4caf66;
  --ok: #e08a4f;
  --bad: #ef6b6b;
  --feedback: #8a9a91;
  --accent: #3dba84;
  --accent-2: #e08a4f;
  --domain: #3dba84;
  --sub: #6ba3d9;
  --alias: #c4b35a;
  --tool: #b08cc4;
  --shadow: 0 1px 0 rgba(0,0,0,.4), 0 14px 32px rgba(0,0,0,.45);
}

html[data-theme="dark"] body {
  background:
    radial-gradient(900px 420px at 8% -10%, rgba(61,186,132,.14), transparent 55%),
    radial-gradient(700px 380px at 100% 0%, rgba(224,138,79,.10), transparent 50%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
}

html[data-theme="dark"] .tools-nav {
  background: rgba(23, 30, 27, .92);
}
html[data-theme="dark"] .tools-nav a {
  background: var(--card);
  color: var(--ink);
  border-color: var(--line);
}
html[data-theme="dark"] .tools-nav a.is-active,
html[data-theme="dark"] .tools-nav a:hover {
  background: color-mix(in srgb, var(--accent) 18%, var(--card));
  border-color: color-mix(in srgb, var(--accent) 40%, var(--line));
  color: var(--accent);
}

html[data-theme="dark"] .panel,
html[data-theme="dark"] .site-card,
html[data-theme="dark"] .card,
html[data-theme="dark"] .gsc-site,
html[data-theme="dark"] .analysis-fold,
html[data-theme="dark"] .gsc-chart,
html[data-theme="dark"] .gsc-bar,
html[data-theme="dark"] .scan-fold,
html[data-theme="dark"] .seo-card,
html[data-theme="dark"] .pill-r,
html[data-theme="dark"] .status,
html[data-theme="dark"] .modal,
html[data-theme="dark"] .drawer,
html[data-theme="dark"] .gsc-toolbar,
html[data-theme="dark"] .gsc-overview .gsc-stat,
html[data-theme="dark"] .ball,
html[data-theme="dark"] .ball-wrap,
html[data-theme="dark"] .hub-card,
html[data-theme="dark"] .tool-card,
html[data-theme="dark"] .row-card,
html[data-theme="dark"] .box,
html[data-theme="dark"] .block,
html[data-theme="dark"] .section-card {
  background: var(--card);
  border-color: var(--line);
  color: var(--ink);
}

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .gsc-search input,
html[data-theme="dark"] .gsc-sort select {
  background: var(--bg2);
  color: var(--ink);
  border-color: var(--line);
}

html[data-theme="dark"] button,
html[data-theme="dark"] .btn,
html[data-theme="dark"] .btn-gsc {
  border-color: var(--line);
}

html[data-theme="dark"] .btn-gsc-secondary,
html[data-theme="dark"] button.sec,
html[data-theme="dark"] .btn-bulk-select {
  background: var(--bg2);
  color: var(--ink);
}

html[data-theme="dark"] table,
html[data-theme="dark"] .gsc-days,
html[data-theme="dark"] .scan-table {
  color: var(--ink);
}
html[data-theme="dark"] th,
html[data-theme="dark"] .gsc-days th,
html[data-theme="dark"] .scan-table th {
  background: color-mix(in srgb, var(--accent) 10%, var(--card));
  color: var(--ink);
  border-color: var(--line);
}
html[data-theme="dark"] td,
html[data-theme="dark"] .gsc-days td,
html[data-theme="dark"] .scan-table td {
  border-color: var(--line);
}
html[data-theme="dark"] tr.is-bad,
html[data-theme="dark"] .scan-table tr.is-bad {
  background: color-mix(in srgb, var(--bad) 14%, var(--card));
}
html[data-theme="dark"] tr.is-warn,
html[data-theme="dark"] .scan-table tr.is-warn {
  background: color-mix(in srgb, var(--ok) 12%, var(--card));
}

html[data-theme="dark"] .analysis-fold-sum {
  color: var(--ink);
}
html[data-theme="dark"] .fold-sign {
  background: color-mix(in srgb, var(--accent) 14%, var(--bg2));
  color: var(--ink);
}
html[data-theme="dark"] .gsc-evo-fold-body,
html[data-theme="dark"] .analysis-fold .list {
  border-color: var(--line);
}

html[data-theme="dark"] .gsc-site-head:hover {
  background: color-mix(in srgb, var(--accent) 8%, transparent);
}
html[data-theme="dark"] .gsc-num.is-visible b,
html[data-theme="dark"] .gsc-stat-value.is-visible {
  color: var(--sub);
}
html[data-theme="dark"] .wrap-google-scan .gsc-num.is-visible b,
html[data-theme="dark"] .wrap-google-scan .gsc-stat-value.is-visible {
  color: var(--good);
}
html[data-theme="dark"] .gsc-stat-value.is-visible-up,
html[data-theme="dark"] .gsc-num.is-visible-up b {
  color: var(--good);
}
html[data-theme="dark"] .wrap-rank-scan .gsc-stat-value.is-visible-down,
html[data-theme="dark"] .wrap-rank-scan .gsc-num.is-visible-down b,
html[data-theme="dark"] .wrap-rank-scan .rank-hits li.is-visible-down .rank-pos {
  color: var(--bad);
}
html[data-theme="dark"] .gsc-stat-value.is-indexed,
html[data-theme="dark"] .gsc-num.is-indexed b {
  color: var(--ok);
}
html[data-theme="dark"] .gsc-stat-value.is-unindexed,
html[data-theme="dark"] .gsc-num.is-unindexed b {
  color: #fff;
}
html[data-theme="dark"] .gsc-engine.is-google {
  background: rgba(107, 163, 217, .16);
  color: var(--sub);
}
html[data-theme="dark"] code,
html[data-theme="dark"] .hint,
html[data-theme="dark"] .lead,
html[data-theme="dark"] .footer {
  color: var(--muted);
}
html[data-theme="dark"] a {
  color: var(--accent);
}
html[data-theme="dark"] .brand a,
html[data-theme="dark"] .tools-nav a {
  color: inherit;
}
html[data-theme="dark"] .brand a {
  color: var(--ink);
  text-decoration: none;
}
html[data-theme="dark"] .footer a {
  color: var(--accent);
}

html[data-theme="dark"] .gsc-chart {
  background: var(--card);
  border-color: var(--line);
}
html[data-theme="dark"] .gsc-chart text {
  fill: var(--muted);
}
html[data-theme="dark"] .gsc-chart line {
  stroke: var(--line);
}

html[data-theme="dark"] .last,
html[data-theme="dark"] .gsc-pages-ul,
html[data-theme="dark"] .gsc-site-body {
  background: transparent;
  color: var(--ink);
}

html[data-theme="dark"] .error,
html[data-theme="dark"] .gsc-site-err {
  color: var(--bad);
}

html[data-theme="dark"] .ball-wrap .dot,
html[data-theme="dark"] .pill-r {
  border-color: var(--line);
}
html[data-theme="dark"] .pill-r.good {
  background: color-mix(in srgb, var(--good) 14%, var(--card));
  border-color: color-mix(in srgb, var(--good) 40%, var(--line));
}
html[data-theme="dark"] .pill-r.ok {
  background: color-mix(in srgb, var(--ok) 14%, var(--card));
  border-color: color-mix(in srgb, var(--ok) 40%, var(--line));
}
html[data-theme="dark"] .pill-r.bad {
  background: color-mix(in srgb, var(--bad) 14%, var(--card));
  border-color: color-mix(in srgb, var(--bad) 40%, var(--line));
}

html[data-theme="dark"] .serp,
html[data-theme="dark"] .serp-card,
html[data-theme="dark"] .g-prompt-box,
html[data-theme="dark"] textarea.g-prompt-box {
  background: var(--card);
  color: var(--ink);
  border-color: var(--line);
}

html[data-theme="dark"] ::placeholder {
  color: color-mix(in srgb, var(--muted) 75%, transparent);
}

html[data-theme="dark"] .theme-toggle {
  background: var(--bg2);
  color: var(--ink);
}

/* Hardcoded light surfaces → dark card */
html[data-theme="dark"] .site-card,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .card,
html[data-theme="dark"] .gsc-site,
html[data-theme="dark"] .analysis-fold,
html[data-theme="dark"] .scan-fold,
html[data-theme="dark"] .seo-card,
html[data-theme="dark"] .status,
html[data-theme="dark"] .gsc-bar,
html[data-theme="dark"] .gsc-toolbar,
html[data-theme="dark"] .gsc-overview .gsc-stat,
html[data-theme="dark"] .modal-inner,
html[data-theme="dark"] .login-box,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .ps-card,
html[data-theme="dark"] .og-preview,
html[data-theme="dark"] .sound-card,
html[data-theme="dark"] .an-card,
html[data-theme="dark"] .gen-card,
html[data-theme="dark"] .map-card {
  background: var(--card) !important;
  border-color: var(--line);
  color: var(--ink);
}

html[data-theme="dark"] .tools-nav a:hover {
  background: color-mix(in srgb, var(--accent) 18%, var(--card)) !important;
}

html[data-theme="dark"] .is-active.tools-nav a,
html[data-theme="dark"] tr:hover td {
  background-color: color-mix(in srgb, var(--accent) 6%, var(--card));
}

html[data-theme="dark"] .alert-warn,
html[data-theme="dark"] .warn-box,
html[data-theme="dark"] .note-warn {
  background: color-mix(in srgb, var(--ok) 12%, var(--card));
  border-color: color-mix(in srgb, var(--ok) 35%, var(--line));
  color: var(--ink);
}
html[data-theme="dark"] .alert-bad,
html[data-theme="dark"] .err-box {
  background: color-mix(in srgb, var(--bad) 12%, var(--card));
  border-color: color-mix(in srgb, var(--bad) 35%, var(--line));
  color: var(--ink);
}
html[data-theme="dark"] .alert-good {
  background: color-mix(in srgb, var(--good) 12%, var(--card));
  border-color: color-mix(in srgb, var(--good) 35%, var(--line));
  color: var(--ink);
}
