/* Visual refinement layer for the Pesquisas premium shell. */
html[data-lab-app="pesquisas-premium"] {
  --ps-font: Manrope, Avenir Next, Nunito Sans, Trebuchet MS, sans-serif;
  --ps-radius-xs: 10px;
  --ps-radius-sm: 16px;
  --ps-radius-md: 24px;
  --ps-radius-lg: 36px;
  --ps-shadow: 0 24px 70px rgba(2, 8, 7, 0.18);
  --ps-shadow-soft: 0 14px 34px rgba(2, 8, 7, 0.12);
}

html[data-lab-app="pesquisas-premium"][data-ps-theme="dark"] {
  color-scheme: dark;
  --ps-bg: #071110;
  --ps-bg-2: #0b1715;
  --ps-surface: rgba(13, 28, 25, 0.62);
  --ps-surface-strong: rgba(15, 33, 30, 0.72);
  --ps-card: rgba(12, 26, 24, 0.52);
  --ps-card-soft: rgba(45, 212, 191, 0.07);
  --ps-border: rgba(159, 231, 220, 0.16);
  --ps-border-strong: rgba(45, 212, 191, 0.38);
  --ps-text: #f6fffc;
  --ps-muted: #aac0bc;
  --ps-subtle: #718984;
  --ps-primary: #2dd4bf;
  --ps-primary-strong: #8df4e6;
  --ps-primary-ink: #041b18;
  --ps-accent: #e8bd62;
}

html[data-lab-app="pesquisas-premium"][data-ps-theme="light"] {
  color-scheme: light;
  --ps-bg: #f7f5ee;
  --ps-bg-2: #eeeee3;
  --ps-surface: rgba(255, 255, 250, 0.72);
  --ps-surface-strong: rgba(255, 255, 250, 0.92);
  --ps-card: rgba(255, 255, 250, 0.58);
  --ps-card-soft: rgba(15, 118, 110, 0.07);
  --ps-border: rgba(30, 66, 61, 0.14);
  --ps-border-strong: rgba(15, 118, 110, 0.34);
  --ps-text: #14211f;
  --ps-muted: #526660;
  --ps-subtle: #6f817d;
  --ps-primary: #0f766e;
  --ps-primary-strong: #13a394;
  --ps-primary-ink: #f4fffb;
  --ps-accent: #b7791f;
  --ps-danger: #be123c;
  --ps-success: #047857;
  --ps-warning: #b45309;
  --ps-shadow: 0 18px 54px rgba(41, 54, 50, 0.11);
  --ps-shadow-soft: 0 12px 30px rgba(41, 54, 50, 0.08);
}

html[data-lab-app="pesquisas-premium"] body {
  background:
    radial-gradient(circle at 7% 8%, color-mix(in srgb, var(--ps-primary) 18%, transparent), transparent 32rem),
    radial-gradient(circle at 92% 2%, color-mix(in srgb, var(--ps-accent) 12%, transparent), transparent 30rem),
    linear-gradient(180deg, var(--ps-bg) 0%, var(--ps-bg-2) 100%);
  transition: background 180ms ease, color 180ms ease;
}

.ps-shell::before {
  opacity: 0.24;
  background-size: 96px 96px;
}

.ps-topbar {
  background: color-mix(in srgb, var(--ps-bg) 78%, transparent);
  border-bottom: 1px solid var(--ps-border);
  box-shadow: none;
}

.ps-brand-mark {
  box-shadow: none;
}

.ps-theme-toggle {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--ps-border-strong);
  color: var(--ps-muted);
  cursor: pointer;
  display: inline-flex;
  font-weight: 800;
  gap: 6px;
  letter-spacing: -0.02em;
  padding: 8px 0;
  transition: color 150ms ease, border-color 150ms ease;
}

.ps-theme-toggle:hover,
.ps-theme-toggle:focus-visible {
  border-color: var(--ps-primary);
  color: var(--ps-primary);
  outline: none;
}

.ps-login-card,
.ps-hero-copy,
.ps-metric-board,
.ps-panel,
.ps-card,
.ps-list-card,
.ps-table-wrap,
.ps-preview,
.ps-results-card {
  background: transparent;
  box-shadow: none;
}

.ps-login-card,
.ps-hero-copy,
.ps-panel {
  border: 0;
  border-top: 1px solid var(--ps-border);
  border-radius: 0;
}

.ps-login-card {
  margin-top: clamp(36px, 7vw, 82px);
  padding-inline: 0;
}

.ps-login-grid,
.ps-metric-board,
.ps-grid,
.ps-grid-two,
.ps-list-stack {
  align-items: stretch;
}

.ps-login-mini,
.ps-metric,
.ps-card,
.ps-list-card,
.ps-panel-soft,
.ps-table-wrap,
.ps-preview {
  background: var(--ps-card);
  border: 1px solid var(--ps-border);
  box-shadow: none;
}

.ps-panel-soft {
  border-radius: var(--ps-radius-md);
}

.ps-hero {
  gap: clamp(24px, 4vw, 54px);
}

.ps-hero-copy {
  padding-left: 0;
  padding-right: 0;
}

.ps-tabs {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--ps-border);
  border-radius: 0;
  box-shadow: none;
  gap: 18px;
  overflow-x: auto;
  padding: 0;
}

.ps-tab {
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--ps-muted);
  padding: 13px 0 12px;
}

.ps-tab:hover,
.ps-tab:focus-visible {
  color: var(--ps-primary);
  outline: none;
}

.ps-tab[aria-selected="true"] {
  background: transparent;
  border-color: var(--ps-primary);
  color: var(--ps-primary);
  box-shadow: none;
}

.ps-screen-head {
  border-bottom: 0;
  gap: 18px;
}

.ps-button {
  background: transparent;
  border-color: var(--ps-border-strong);
  box-shadow: none;
  color: var(--ps-text);
}

.ps-button:hover,
.ps-button:focus-visible {
  border-color: var(--ps-primary);
  color: var(--ps-primary);
  outline: none;
}

.ps-button-primary {
  background: linear-gradient(135deg, var(--ps-primary), var(--ps-primary-strong));
  border-color: transparent;
  color: var(--ps-primary-ink);
}

.ps-button-primary:hover,
.ps-button-primary:focus-visible {
  color: var(--ps-primary-ink);
  filter: saturate(1.08) brightness(1.02);
}

.ps-input,
.ps-select,
.ps-textarea {
  background: var(--ps-surface);
  border-color: var(--ps-border);
  box-shadow: none;
  color: var(--ps-text);
}

.ps-input:focus,
.ps-select:focus,
.ps-textarea:focus {
  border-color: var(--ps-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ps-primary) 16%, transparent);
  outline: none;
}

.ps-empty {
  background: transparent;
  border: 1px dashed var(--ps-border-strong);
  box-shadow: none;
}

.ps-footer {
  background: transparent;
  border-top: 1px solid var(--ps-border);
}

html[data-ps-theme="light"] .ps-brand,
html[data-ps-theme="light"] .ps-tab,
html[data-ps-theme="light"] .ps-link-button,
html[data-ps-theme="light"] .ps-button {
  text-shadow: none;
}

@media (max-width: 760px) {
  .ps-nav-actions {
    gap: 8px;
  }

  .ps-theme-toggle {
    font-size: 0.85rem;
  }

  .ps-tabs {
    gap: 14px;
  }
}
