:root {
  --stellar-bg: #071120;
  --stellar-panel: #111827;
  --stellar-panel-2: #0b1626;
  --stellar-border: rgba(56, 189, 248, 0.22);
  --stellar-border-soft: rgba(148, 163, 184, 0.18);
  --stellar-text: #f8fafc;
  --stellar-muted: #c7d2fe;
  --stellar-muted-2: #94a3b8;
  --stellar-blue: #38bdf8;
  --stellar-blue-2: #0ea5e9;
  --stellar-purple: #7c3aed;
}

.stellar-seo-box,
.stellar-seo-results,
.stellar-seo-dashboard {
  width: 100%;
  max-width: 760px;
  margin: 0;
  padding: 24px;
  border: 1px solid var(--stellar-border);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.98), rgba(7, 17, 32, 0.98));
  color: var(--stellar-text);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

.stellar-seo-box {
  display: grid;
  gap: 14px;
}

.stellar-seo-box h2,
.stellar-seo-results h3,
.stellar-seo-dashboard h2 {
  margin: 0;
  color: var(--stellar-text);
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.04em;
  font-weight: 800;
}

.stellar-seo-box p,
.stellar-seo-results p,
.stellar-seo-dashboard p {
  margin: 0;
  color: var(--stellar-muted);
  font-size: 16px;
  line-height: 1.65;
}

#stellar-seo-form {
  display: grid;
  gap: 13px;
  margin-top: 8px;
  padding: 22px;
  border: 1px solid var(--stellar-border);
  border-radius: 18px;
  background: rgba(2, 6, 23, 0.58);
}

.stellar-seo-box input[type="email"],
.stellar-seo-box input[type="url"] {
  display: block;
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.88);
  color: var(--stellar-text);
  font-size: 16px;
  outline: none;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.stellar-seo-box input[type="email"]::placeholder,
.stellar-seo-box input[type="url"]::placeholder {
  color: #93a4c7;
  opacity: 1;
}

.stellar-seo-box input[type="email"]:focus,
.stellar-seo-box input[type="url"]:focus {
  border-color: var(--stellar-blue);
  background: rgba(15, 23, 42, 1);
  box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.13);
}

.stellar-seo-consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 2px 0 0;
  color: var(--stellar-muted);
  font-size: 14px;
  line-height: 1.45;
}

.stellar-seo-consent input {
  margin-top: 3px;
  accent-color: var(--stellar-blue);
}

.stellar-seo-box button,
.stellar-seo-pro {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 52px;
  margin-top: 6px;
  padding: 14px 22px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--stellar-blue), var(--stellar-blue-2));
  color: #020617;
  font-size: 16px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 18px 34px rgba(14, 165, 233, 0.22);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.stellar-seo-box button:hover,
.stellar-seo-pro:hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
  box-shadow: 0 22px 42px rgba(14, 165, 233, 0.28);
}

.stellar-seo-box button:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}

#stellar-seo-result {
  color: var(--stellar-muted);
}

.stellar-seo-results {
  margin-top: 22px;
}

.stellar-seo-results h3 {
  font-size: clamp(24px, 3vw, 34px);
  margin-bottom: 10px;
}

.stellar-seo-domain,
.stellar-seo-report-row {
  padding: 18px 0;
  border-top: 1px solid var(--stellar-border-soft);
}

.stellar-seo-domain h4 {
  margin: 0 0 10px;
  color: var(--stellar-text);
  font-size: 18px;
  font-weight: 850;
}

.stellar-seo-domain strong,
.stellar-seo-locked strong,
.stellar-seo-report-row strong {
  color: #e0f2fe;
}

.stellar-seo-domain ul,
.stellar-seo-locked ul {
  margin: 8px 0 0 20px;
  padding: 0;
  color: var(--stellar-muted);
}

.stellar-seo-domain li,
.stellar-seo-locked li {
  margin: 7px 0;
  line-height: 1.45;
}

.stellar-seo-locked {
  margin-top: 18px;
  padding: 18px;
  border: 1px dashed rgba(56, 189, 248, 0.38);
  border-radius: 16px;
  background: rgba(56, 189, 248, 0.08);
  color: var(--stellar-muted);
}

.stellar-seo-dashboard span {
  color: var(--stellar-muted-2);
}

@media (max-width: 640px) {
  .stellar-seo-box,
  .stellar-seo-results,
  .stellar-seo-dashboard {
    padding: 20px;
    border-radius: 18px;
  }

  #stellar-seo-form {
    padding: 18px;
  }

  .stellar-seo-box button,
  .stellar-seo-pro {
    width: 100%;
  }
}

.stellar-seo-login form {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.stellar-seo-login label {
  display: block;
  color: var(--stellar-muted);
  font-weight: 700;
  margin-bottom: 7px;
}

.stellar-seo-login input[type="text"],
.stellar-seo-login input[type="password"] {
  width: 100%;
  min-height: 50px;
  padding: 13px 15px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.88);
  color: var(--stellar-text);
  font-size: 16px;
}

.stellar-seo-login input[type="submit"] {
  min-height: 50px;
  padding: 13px 22px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--stellar-blue), var(--stellar-blue-2));
  color: #020617;
  font-weight: 900;
  cursor: pointer;
}

.stellar-seo-pro-delivery {
  max-width: 980px;
}

.stellar-seo-report-detail {
  margin-top: 22px;
}

/* v0.5.0 visual report upgrades */
.stellar-seo-visual-report{max-width:1180px;margin:0 auto;color:#eaf2ff}.stellar-viz-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.stellar-viz-card{background:rgba(15,23,42,.86);border:1px solid rgba(56,189,248,.22);border-radius:24px;padding:24px;box-shadow:0 22px 70px rgba(0,0,0,.22)}.stellar-viz-card-wide{grid-column:1/-1}.stellar-viz-card h4{margin:0 0 16px;color:#fff;font-size:24px;letter-spacing:-.03em}.stellar-viz-card h5{margin:20px 0 8px;color:#67e8f9;font-size:16px}.stellar-viz-card p,.stellar-viz-card li{color:#cbd5e1;line-height:1.65}.stellar-muted{color:#94a3b8!important;font-size:14px!important}.stellar-metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.stellar-metric-row div{background:rgba(255,255,255,.045);border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:18px}.stellar-metric-row span{display:block;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:900;margin-bottom:7px}.stellar-metric-row strong{font-size:30px;color:#fff;letter-spacing:-.04em}.stellar-chart-wrap{background:#07111f;border:1px solid rgba(56,189,248,.2);border-radius:20px;padding:16px}.stellar-chart-wrap svg{width:100%;height:auto;display:block}.stellar-chart-wrap .line{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.stellar-chart-wrap .traffic{stroke:#38bdf8}.stellar-chart-wrap .keywords{stroke:#8b5cf6}.stellar-chart-legend{display:flex;gap:16px;margin-top:10px;color:#cbd5e1;font-weight:800}.stellar-chart-legend span:before{content:"";display:inline-block;width:12px;height:12px;border-radius:999px;margin-right:7px}.stellar-chart-legend .traffic:before{background:#38bdf8}.stellar-chart-legend .keywords:before{background:#8b5cf6}.stellar-health{display:flex;align-items:end;gap:12px;margin-bottom:15px}.stellar-health strong{font-size:56px;line-height:1;color:#5eead4}.stellar-health span{color:#94a3b8;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}.stellar-issue-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.stellar-issue-bars div{background:rgba(255,255,255,.045);border:1px solid rgba(148,163,184,.16);border-radius:16px;padding:14px;text-align:center}.stellar-issue-bars span{display:block;color:#94a3b8;font-size:12px;text-transform:uppercase;font-weight:900}.stellar-issue-bars b{display:block;color:#fff;font-size:28px}.stellar-type-list{list-style:none!important;padding:0!important;margin:14px 0!important}.stellar-type-list li{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(148,163,184,.15);padding:10px 0}.stellar-type-list strong{color:#fff}.stellar-competitor-table{display:grid;gap:10px}.stellar-competitor-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;align-items:center;background:rgba(255,255,255,.045);border:1px solid rgba(148,163,184,.16);border-radius:16px;padding:14px}.stellar-competitor-row.is-primary{border-color:rgba(94,234,212,.5);background:rgba(20,184,166,.08)}.stellar-competitor-row strong{color:#fff}.stellar-competitor-row span{color:#cbd5e1}.stellar-table-wrap{overflow:auto;border-radius:16px;border:1px solid rgba(148,163,184,.18)}.stellar-table-wrap table{width:100%;border-collapse:collapse;background:#07111f}.stellar-table-wrap th,.stellar-table-wrap td{padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.14);text-align:left;color:#cbd5e1;font-size:14px}.stellar-table-wrap th{color:#67e8f9;text-transform:uppercase;letter-spacing:.05em;font-size:12px}@media(max-width:800px){.stellar-viz-grid,.stellar-metric-row,.stellar-issue-bars,.stellar-competitor-row{grid-template-columns:1fr}.stellar-viz-card-wide{grid-column:auto}.stellar-metric-row strong{font-size:25px}}
