:root {
  color-scheme: light;
  --pp-shell-canvas: #f6f8fc;
  --pp-shell-surface: #ffffff;
  --pp-shell-surface-soft: #f8fafc;
  --pp-shell-surface-raised: rgba(255, 255, 255, 0.92);
  --pp-shell-text: #0f172a;
  --pp-shell-text-soft: #475569;
  --pp-shell-muted: #64748b;
  --pp-shell-border: #e2e8f0;
  --pp-shell-border-strong: #cbd5e1;
  --pp-shell-brand: #2563eb;
  --pp-shell-brand-strong: #1d4ed8;
  --pp-shell-on-brand: #ffffff;
  --pp-shell-focus: #60a5fa;
  --pp-shell-shadow: 0 22px 50px -30px rgba(15, 23, 42, 0.34);
  --pp-space-1: 0.25rem;
  --pp-space-2: 0.5rem;
  --pp-space-3: 0.75rem;
  --pp-space-4: 1rem;
  --pp-space-5: 1.25rem;
  --pp-space-6: 1.5rem;
  --pp-space-8: 2rem;
  --pp-radius-sm: 0.75rem;
  --pp-radius-md: 1rem;
  --pp-radius-lg: 1.5rem;
  --pp-radius-xl: 1.75rem;
  --pp-radius-pill: 999px;
  --pp-shadow-sm: 0 12px 32px -24px rgba(15, 23, 42, 0.32);
  --pp-shadow-md: var(--pp-shell-shadow);
  --pp-font-size-xs: 0.75rem;
  --pp-font-size-sm: 0.875rem;
  --pp-font-size-base: 1rem;
  --pp-font-size-lg: 1.25rem;
  --pp-font-size-xl: 1.5rem;
  --pp-shell-info-surface: #eff6ff;
  --pp-shell-info-border: #bfdbfe;
  --pp-shell-info-text: #1e40af;
  --pp-shell-success-surface: #ecfdf5;
  --pp-shell-success-border: #a7f3d0;
  --pp-shell-success-text: #047857;
  --pp-shell-warning-surface: #fffbeb;
  --pp-shell-warning-border: #fde68a;
  --pp-shell-warning-text: #92400e;
  --pp-shell-danger-surface: #fff1f2;
  --pp-shell-danger-border: #fecdd3;
  --pp-shell-danger-text: #be123c;
  --pp-shell-scrim: rgba(2, 6, 23, 0.62);
  --bg: var(--pp-shell-canvas);
  --text: var(--pp-shell-text);
  --muted: var(--pp-shell-muted);
  --border: var(--pp-shell-border);
  --border-strong: var(--pp-shell-border-strong);
  --card: var(--pp-shell-surface);
  --ring: 0 0 0 3px rgba(37, 99, 235, 0.24);
  --bs-bg: var(--pp-shell-canvas);
  --bs-text: var(--pp-shell-text);
  --bs-muted: var(--pp-shell-muted);
  --bs-border: var(--pp-shell-border);
  --bs-border-strong: var(--pp-shell-border-strong);
  --bs-card: var(--pp-shell-surface);
  --pp-surface-primary: #f3f6fb;
  --pp-surface-secondary: #ecf1f8;
  --pp-surface-elevated: var(--pp-shell-surface);
  --pp-border-subtle: #d8e1ec;
  --pp-text-primary: var(--pp-shell-text);
  --pp-text-secondary: var(--pp-shell-text-soft);
  --pp-text-tertiary: var(--pp-shell-muted);
  --pp-accent-primary: #1d4ed8;
  --pup-color-surface: var(--pp-shell-surface);
  --pup-color-surface-subtle: var(--pp-shell-surface-soft);
  --pup-color-border: var(--pp-shell-border);
  --pup-color-text: var(--pp-shell-text);
  --pup-color-text-muted: var(--pp-shell-muted);
  --pup-color-primary: var(--pp-shell-brand);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --pp-shell-canvas: #07111f;
  --pp-shell-surface: #0f1b2d;
  --pp-shell-surface-soft: #111f33;
  --pp-shell-surface-raised: rgba(15, 27, 45, 0.94);
  --pp-shell-text: #e7eef9;
  --pp-shell-text-soft: #c5d1e2;
  --pp-shell-muted: #94a3b8;
  --pp-shell-border: #26364d;
  --pp-shell-border-strong: #3a4b63;
  --pp-shell-brand: #60a5fa;
  --pp-shell-brand-strong: #93c5fd;
  --pp-shell-focus: #7dd3fc;
  --pp-shell-shadow: 0 24px 60px -28px rgba(0, 0, 0, 0.72);
  --pp-shell-info-surface: #102b4f;
  --pp-shell-info-border: #285785;
  --pp-shell-info-text: #bfdbfe;
  --pp-shell-success-surface: #0b3028;
  --pp-shell-success-border: #1f6653;
  --pp-shell-success-text: #a7f3d0;
  --pp-shell-warning-surface: #35250d;
  --pp-shell-warning-border: #76531a;
  --pp-shell-warning-text: #fde68a;
  --pp-shell-danger-surface: #3a1720;
  --pp-shell-danger-border: #7f3043;
  --pp-shell-danger-text: #fecdd3;
  --pp-shell-scrim: rgba(0, 0, 0, 0.72);
  --pp-surface-primary: var(--pp-shell-canvas);
  --pp-surface-secondary: var(--pp-shell-surface-soft);
  --pp-surface-elevated: var(--pp-shell-surface);
  --pp-border-subtle: var(--pp-shell-border);
  --pp-text-primary: var(--pp-shell-text);
  --pp-text-secondary: var(--pp-shell-text-soft);
  --pp-text-tertiary: var(--pp-shell-muted);
  --pp-accent-primary: #60a5fa;
  --brand-50: #0f2747;
  --brand-100: #17365f;
  --brand-300: #60a5fa;
  --brand-500: #60a5fa;
  --brand-600: #3b82f6;
  --brand-700: #93c5fd;
  --brand-800: #bfdbfe;
}

html,
body,
.content {
  background: var(--pp-shell-canvas);
  color: var(--pp-shell-text);
}

body,
.content,
.topbar,
.bs-card,
input,
select,
textarea {
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.sidebar {
  background:
    radial-gradient(circle at 18% 8%, rgba(96, 165, 250, 0.22), transparent 19rem),
    linear-gradient(180deg, #10285f 0%, #173f9b 54%, #122d70 100%);
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.09), 12px 0 40px -24px rgba(15, 23, 42, 0.72);
}

html[data-theme="dark"] .sidebar {
  background:
    radial-gradient(circle at 18% 8%, rgba(59, 130, 246, 0.18), transparent 19rem),
    linear-gradient(180deg, #07132f 0%, #0b2459 56%, #081a40 100%);
}

.sidebar-brand {
  min-height: 108px;
  padding-top: 0.75rem;
  padding-bottom: 0.35rem;
}

.sidebar-brand-link {
  min-height: 82px;
}

.sidebar-brand-full {
  height: 74px;
}

.sidebar.collapsed .sidebar-brand {
  min-height: 82px;
  padding-top: 0.4rem;
  padding-bottom: 0.2rem;
}

.sidebar.collapsed .sidebar-brand-link {
  min-height: 70px;
}

.sidebar-workspace {
  margin: 0 0.75rem 0.25rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1rem;
  padding: 0.7rem 0.75rem;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(12px);
}

.sidebar-workspace__icon {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  flex: 0 0 2rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  color: #dbeafe;
  background: rgba(255, 255, 255, 0.1);
}

.sidebar-workspace__icon svg {
  width: 1rem;
  height: 1rem;
}

.sidebar-workspace__eyebrow {
  color: rgba(219, 234, 254, 0.72);
  font-size: 0.62rem;
  font-weight: 760;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.sidebar-workspace__name {
  margin-top: 0.12rem;
  overflow: hidden;
  color: #fff;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar.collapsed .sidebar-workspace {
  display: flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  margin-inline: 0.65rem;
  padding: 0.45rem;
}

.sidebar.collapsed .sidebar-workspace__copy {
  display: none;
}

.sidebar-nav {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.app-nav-section {
  display: grid;
  gap: 0.35rem;
}

.app-nav-heading {
  margin: 0 0 0.25rem;
  padding-inline: 0.65rem;
  color: rgba(219, 234, 254, 0.68);
  font-size: 0.64rem;
  font-weight: 780;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.app-nav-link {
  position: relative;
  min-height: 3rem;
  border: 1px solid transparent;
  border-radius: 0.9rem;
  padding: 0.48rem 0.65rem;
  color: rgba(239, 246, 255, 0.82);
  text-decoration: none;
}

.app-nav-link:hover {
  border-color: rgba(255, 255, 255, 0.08);
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.app-nav-link:focus-visible,
.sidebar-workspace:focus-visible,
.sidebar button:focus-visible {
  outline: 2px solid #bfdbfe;
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(30, 64, 175, 0.45);
}

.app-nav-link.nav-item-active {
  border-color: rgba(191, 219, 254, 0.28);
  color: #fff;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.19), rgba(255, 255, 255, 0.1));
  box-shadow: 0 12px 26px -18px rgba(3, 8, 28, 0.82), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.app-nav-link.nav-item-active::before {
  content: "";
  position: absolute;
  top: 0.72rem;
  bottom: 0.72rem;
  left: -0.28rem;
  width: 0.2rem;
  border-radius: 999px;
  background: #7dd3fc;
  box-shadow: 0 0 16px rgba(125, 211, 252, 0.72);
}

.app-nav-icon {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  flex: 0 0 2rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0.72rem;
  color: #dbeafe;
  background: rgba(7, 22, 55, 0.22);
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.app-nav-icon svg {
  width: 1.1rem;
  height: 1.1rem;
}

.app-nav-link:hover .app-nav-icon,
.app-nav-link.nav-item-active .app-nav-icon {
  border-color: rgba(255, 255, 255, 0.18);
  color: #fff;
  background: rgba(255, 255, 255, 0.13);
  transform: translateY(-1px);
}

.sidebar.collapsed .app-nav-link {
  justify-content: center;
  padding-inline: 0.45rem;
}

.sidebar.collapsed .app-nav-link.nav-item-active::before {
  left: -0.18rem;
}

.app-nav-tooltip {
  position: fixed;
  z-index: 10020;
  max-width: 16rem;
  border: 1px solid var(--pp-shell-border);
  border-radius: 0.7rem;
  padding: 0.48rem 0.65rem;
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface-raised);
  box-shadow: var(--pp-shell-shadow);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.25;
  pointer-events: none;
  backdrop-filter: blur(14px);
}

.topbar {
  min-height: 3.75rem;
  background: var(--pp-shell-surface-raised);
  border-bottom-color: var(--pp-shell-border);
  box-shadow: 0 10px 30px -28px rgba(15, 23, 42, 0.65);
}

.crumbs {
  color: var(--pp-shell-muted);
}

.crumbs .sep {
  color: var(--pp-shell-border-strong);
}

.crumbs a {
  color: var(--pp-shell-text-soft);
}

.topbar-icon-button,
.theme-toggle {
  display: inline-flex;
  width: 2.35rem;
  height: 2.35rem;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 0.8rem;
  color: var(--pp-shell-text-soft);
  background: transparent;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.topbar-icon-button:hover,
.theme-toggle:hover {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-brand-strong);
  background: var(--pp-shell-surface-soft);
  transform: translateY(-1px);
}

.topbar-icon-button:focus-visible,
.theme-toggle:focus-visible,
.user-menu-trigger:focus-visible {
  outline: 2px solid var(--pp-shell-focus);
  outline-offset: 2px;
}

.theme-toggle svg {
  width: 1.15rem;
  height: 1.15rem;
}

.theme-toggle [data-theme-icon="light"] {
  display: none;
}

html[data-theme="dark"] .theme-toggle [data-theme-icon="dark"] {
  display: none;
}

html[data-theme="dark"] .theme-toggle [data-theme-icon="light"] {
  display: block;
}

.workspace-switcher {
  border-color: var(--pp-shell-border);
  background: var(--pp-shell-surface);
}

.workspace-switcher label {
  color: var(--pp-shell-muted);
}

.workspace-switcher select,
.topbar .bs-input {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
}

.user-menu-trigger {
  color: var(--pp-shell-text-soft);
}

.user-menu-trigger:hover {
  background: var(--pp-shell-surface-soft);
}

.user-menu-panel {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-raised);
  box-shadow: var(--pp-shell-shadow);
  backdrop-filter: blur(16px);
}

.user-menu-panel a:hover,
.user-menu-panel button:hover {
  background: var(--pp-shell-surface-soft);
}

.theme-auto-control {
  color: var(--pp-shell-text-soft);
}

.theme-auto-control__status {
  border: 1px solid var(--pp-shell-border);
  border-radius: 999px;
  padding: 0.15rem 0.45rem;
  color: var(--pp-shell-muted);
  background: var(--pp-shell-surface-soft);
  font-size: 0.65rem;
  font-weight: 750;
}

.theme-auto-control.is-active {
  color: var(--pp-shell-brand-strong);
}

.theme-auto-control.is-active .theme-auto-control__status {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

.user-menu-panel__divider {
  border-color: var(--pp-shell-border);
}

html[data-theme="dark"] body.pp-pricing-journey-page {
  background:
    radial-gradient(circle at 88% 2%, rgba(59, 130, 246, 0.11), transparent 28rem),
    var(--pp-shell-canvas);
}

html[data-theme="dark"] :is(input, select, textarea) {
  border-color: var(--pp-shell-border-strong);
  color: var(--pp-shell-text);
  background-color: var(--pp-shell-surface);
  caret-color: var(--pp-shell-text);
}

html[data-theme="dark"] :is(input, textarea)::placeholder {
  color: var(--pp-shell-muted);
  opacity: 1;
}

html[data-theme="dark"] :is(input, select, textarea):is(:disabled, [readonly]) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-muted);
  background-color: var(--pp-shell-surface-soft);
  opacity: 1;
}

html[data-theme="dark"] :is(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--pp-shell-brand);
}

html[data-theme="dark"] select option {
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface);
}

html[data-theme="dark"] :is(input, textarea):-webkit-autofill,
html[data-theme="dark"] :is(input, textarea):-webkit-autofill:hover,
html[data-theme="dark"] :is(input, textarea):-webkit-autofill:focus {
  -webkit-text-fill-color: var(--pp-shell-text);
  box-shadow: 0 0 0 1000px var(--pp-shell-surface) inset;
}

html[data-theme="dark"] :is(.bg-white, .bg-gray-50, .bg-slate-50, .bg-neutral-50, .bg-zinc-50) {
  background-color: var(--pp-shell-surface) !important;
}

html[data-theme="dark"] :is(
  .bg-gray-100,
  .bg-gray-200,
  .bg-gray-300,
  .bg-slate-100,
  .bg-slate-200,
  .bg-slate-300,
  .bg-neutral-100,
  .bg-zinc-100
) {
  background-color: var(--pp-shell-surface-soft) !important;
}

html[data-theme="dark"] :is(
  .text-black,
  .text-dark,
  .text-gray-950,
  .text-slate-950,
  .text-gray-900,
  .text-slate-900,
  .text-gray-800,
  .text-slate-800,
  .text-neutral-900,
  .text-zinc-900
) {
  color: var(--pp-shell-text) !important;
}

html[data-theme="dark"] :is(.text-gray-700, .text-slate-700, .text-gray-600, .text-slate-600) {
  color: var(--pp-shell-text-soft) !important;
}

html[data-theme="dark"] .text-slate-650 {
  color: var(--pp-shell-text-soft) !important;
}

html[data-theme="dark"] :is(.text-gray-500, .text-slate-500, .text-gray-400, .text-slate-400) {
  color: var(--pp-shell-muted) !important;
}

html[data-theme="dark"] :is(.text-muted, .text-secondary) {
  color: var(--pp-shell-muted) !important;
}

html[data-theme="dark"] :is(
  .text-blue-500,
  .text-blue-600,
  .text-blue-700,
  .text-blue-800,
  .text-blue-900,
  .text-sky-500,
  .text-sky-600,
  .text-sky-700,
  .text-sky-800,
  .text-sky-900,
  .text-cyan-500,
  .text-cyan-600,
  .text-cyan-700,
  .text-cyan-800,
  .text-cyan-900,
  .text-teal-500,
  .text-teal-600,
  .text-teal-700,
  .text-teal-800,
  .text-teal-900,
  .text-indigo-500,
  .text-indigo-600,
  .text-indigo-700,
  .text-indigo-800,
  .text-indigo-900,
  .text-violet-600,
  .text-violet-700,
  .text-violet-900,
  .text-purple-600,
  .text-blue-950,
  .text-sky-950,
  .text-cyan-950,
  .text-teal-950,
  .text-indigo-950
) {
  color: var(--pp-shell-brand-strong) !important;
}

html[data-theme="dark"] :is(
  .text-blue-700\/80,
  .text-blue-700\/90,
  .text-blue-800\/80,
  .text-indigo-700\/80,
  .text-indigo-800\/80,
  .text-indigo-900\/80,
  .text-indigo-900\/90,
  .text-indigo-950\/90,
  .text-sky-800\/80,
  .text-sky-900\/70,
  .text-sky-900\/85,
  .text-sky-950\/80,
  .text-sky-950\/90,
  .text-cyan-700\/80,
  .text-cyan-800\/80,
  .text-cyan-900\/80,
  .text-cyan-950\/90,
  .text-teal-700\/80,
  .text-teal-800\/80,
  .text-teal-900\/80,
  .text-violet-900\/85,
  .text-violet-900\/90
) {
  color: color-mix(in srgb, var(--pp-shell-brand-strong) 88%, transparent) !important;
}

html[data-theme="dark"] :is(
  .text-emerald-600,
  .text-emerald-500,
  .text-emerald-700,
  .text-emerald-800,
  .text-emerald-900,
  .text-green-600,
  .text-green-700,
  .text-green-800,
  .text-green-900,
  .text-emerald-950
) {
  color: var(--pp-shell-success-text) !important;
}

html[data-theme="dark"] :is(
  .text-emerald-700\/50,
  .text-emerald-700\/80,
  .text-emerald-800\/80,
  .text-emerald-800\/90,
  .text-emerald-900\/70,
  .text-emerald-950\/90
) {
  color: color-mix(in srgb, var(--pp-shell-success-text) 88%, transparent) !important;
}

html[data-theme="dark"] :is(
  .text-amber-500,
  .text-amber-600,
  .text-amber-700,
  .text-amber-800,
  .text-amber-900,
  .text-yellow-600,
  .text-yellow-700,
  .text-yellow-800,
  .text-orange-600,
  .text-orange-700,
  .text-orange-800,
  .text-amber-950
) {
  color: var(--pp-shell-warning-text) !important;
}

html[data-theme="dark"] :is(
  .text-amber-800\/80,
  .text-amber-900\/70,
  .text-amber-900\/80,
  .text-amber-900\/85,
  .text-amber-900\/90
) {
  color: color-mix(in srgb, var(--pp-shell-warning-text) 88%, transparent) !important;
}

html[data-theme="dark"] :is(
  .text-red-500,
  .text-red-600,
  .text-red-700,
  .text-red-800,
  .text-red-900,
  .text-rose-500,
  .text-rose-600,
  .text-rose-700,
  .text-rose-800,
  .text-rose-900,
  .text-fuchsia-500,
  .text-fuchsia-600,
  .text-fuchsia-700,
  .text-fuchsia-800,
  .text-fuchsia-900,
  .text-pink-500,
  .text-pink-600,
  .text-pink-700,
  .text-pink-800,
  .text-pink-900,
  .text-pink-950
) {
  color: var(--pp-shell-danger-text) !important;
}

html[data-theme="dark"] :is(.text-rose-800\/80, .text-rose-950) {
  color: var(--pp-shell-danger-text) !important;
}

html[data-theme="dark"] :is(
  .bg-blue-50,
  .bg-blue-100,
  .bg-blue-200,
  .bg-blue-300,
  .bg-sky-50,
  .bg-sky-100,
  .bg-sky-200,
  .bg-sky-300,
  .bg-cyan-50,
  .bg-cyan-100,
  .bg-cyan-200,
  .bg-cyan-300,
  .bg-teal-50,
  .bg-teal-100,
  .bg-teal-200,
  .bg-teal-300,
  .bg-indigo-50,
  .bg-indigo-100,
  .bg-indigo-200,
  .bg-indigo-300,
  .bg-violet-50,
  .bg-violet-100,
  .bg-purple-50
) {
  background-color: var(--pp-shell-info-surface) !important;
}

html[data-theme="dark"] :is(
  .bg-blue-50\/70,
  .bg-sky-50\/70,
  .bg-sky-50\/80,
  .bg-indigo-50\/40,
  .bg-indigo-50\/60,
  .bg-indigo-50\/70,
  .bg-indigo-50\/80
) {
  background-color: color-mix(in srgb, var(--pp-shell-info-surface) 82%, transparent) !important;
}

html[data-theme="dark"] :is(.bg-emerald-50, .bg-emerald-100, .bg-emerald-200, .bg-emerald-300, .bg-green-50, .bg-green-100) {
  background-color: var(--pp-shell-success-surface) !important;
}

html[data-theme="dark"] :is(.bg-emerald-50\/70, .bg-emerald-50\/80, .bg-emerald-50\/90) {
  background-color: color-mix(in srgb, var(--pp-shell-success-surface) 82%, transparent) !important;
}

html[data-theme="dark"] :is(.bg-amber-50, .bg-amber-100, .bg-amber-200, .bg-amber-300, .bg-yellow-50, .bg-yellow-100, .bg-orange-50, .bg-orange-100) {
  background-color: var(--pp-shell-warning-surface) !important;
}

html[data-theme="dark"] :is(.bg-amber-50\/50, .bg-amber-50\/70) {
  background-color: color-mix(in srgb, var(--pp-shell-warning-surface) 82%, transparent) !important;
}

html[data-theme="dark"] :is(
  .bg-red-50,
  .bg-red-100,
  .bg-red-200,
  .bg-rose-50,
  .bg-rose-100,
  .bg-rose-200,
  .bg-rose-300,
  .bg-fuchsia-50,
  .bg-fuchsia-100,
  .bg-pink-50,
  .bg-pink-100
) {
  background-color: var(--pp-shell-danger-surface) !important;
}

html[data-theme="dark"] :is(.bg-rose-50\/80, .bg-fuchsia-50\/70, .bg-pink-50\/60) {
  background-color: color-mix(in srgb, var(--pp-shell-danger-surface) 82%, transparent) !important;
}

html[data-theme="dark"] :is(.bg-slate-50\/60, .bg-slate-50\/70, .bg-slate-50\/80, .bg-slate-50\/90, .bg-slate-50\/95) {
  background-color: color-mix(in srgb, var(--pp-shell-surface) 88%, transparent) !important;
}

html[data-theme="dark"] :is(
  .bg-white\/60,
  .bg-white\/70,
  .bg-white\/75,
  .bg-white\/78,
  .bg-white\/80,
  .bg-white\/85,
  .bg-white\/88,
  .bg-white\/90,
  .bg-white\/92,
  .bg-white\/95,
  .bg-white\/96
) {
  background-color: color-mix(in srgb, var(--pp-shell-surface) 88%, transparent) !important;
}

html[data-theme="dark"] :is(
  .bg-slate-50\/50,
  .bg-slate-50\/60,
  .bg-slate-50\/70,
  .bg-slate-50\/80,
  .bg-slate-50\/85,
  .bg-slate-50\/90,
  .bg-slate-50\/95
) {
  background-color: color-mix(in srgb, var(--pp-shell-surface-soft) 90%, transparent) !important;
}

html[data-theme="dark"] :is(
  .bg-blue-100\/60,
  .bg-blue-200\/40,
  .bg-blue-200\/70,
  .bg-blue-50\/60,
  .bg-blue-50\/70,
  .bg-blue-50\/80,
  .bg-sky-50\/70,
  .bg-sky-50\/80,
  .bg-sky-50\/90,
  .bg-cyan-50\/40,
  .bg-cyan-50\/50,
  .bg-cyan-50\/60,
  .bg-cyan-50\/70,
  .bg-cyan-50\/80,
  .bg-cyan-50\/90,
  .bg-cyan-100\/40,
  .bg-cyan-200\/40,
  .bg-teal-50\/40,
  .bg-teal-50\/60,
  .bg-teal-50\/80,
  .bg-indigo-50\/40,
  .bg-indigo-50\/50,
  .bg-indigo-50\/60,
  .bg-indigo-50\/70,
  .bg-indigo-50\/80,
  .bg-indigo-200\/40,
  .bg-indigo-200\/50,
  .bg-sky-200\/40,
  .bg-violet-50\/60,
  .bg-violet-50\/70,
  .bg-violet-50\/80
) {
  background-color: color-mix(in srgb, var(--pp-shell-info-surface) 86%, transparent) !important;
}

html[data-theme="dark"] :is(.bg-cyan-300\/10, .bg-teal-300\/10) {
  background-color: color-mix(in srgb, var(--pp-shell-info-text) 10%, transparent) !important;
}

html[data-theme="dark"] :is(.bg-cyan-300\/12, .bg-teal-300\/12) {
  background-color: color-mix(in srgb, var(--pp-shell-info-text) 12%, transparent) !important;
}

/*
 * Compatibilidade com superfícies claras declaradas por valores arbitrários do
 * Tailwind. A regra neutra vem primeiro; estados semânticos abaixo prevalecem.
 * Assim texto e superfície mudam juntos mesmo em Views legadas e HTML criado
 * dinamicamente por JavaScript.
 */
html[data-theme="dark"] :is(
  [class*="bg-[linear-gradient"][class*="#ffffff"],
  [class*="bg-[linear-gradient"][class*="#f8fafc"],
  [class*="bg-[linear-gradient"][class*="#f8fbff"],
  [class*="bg-[linear-gradient"][class*="rgba(255,255,255,0.8"],
  [class*="bg-[linear-gradient"][class*="rgba(255,255,255,0.9"],
  [class*="bg-[linear-gradient"][class*="rgba(255,255,255,1)"],
  [class*="bg-[linear-gradient"][class*="rgba(248,250,252,0.8"],
  [class*="bg-[linear-gradient"][class*="rgba(248,250,252,0.9"],
  [class*="bg-[linear-gradient"][class*="rgba(248,250,252,1)"],
  [class*="bg-[radial-gradient"][class*="#dbeafe"],
  [class*="bg-[radial-gradient"][class*="#eef2f7"]
) {
  background-image: linear-gradient(135deg, var(--pp-shell-surface), var(--pp-shell-surface-soft)) !important;
}

html[data-theme="dark"] :is(
  [class*="bg-[linear-gradient"][class*="#eef2ff"],
  [class*="bg-[linear-gradient"][class*="#eef8ff"],
  [class*="bg-[linear-gradient"][class*="#eef7ff"],
  [class*="bg-[linear-gradient"][class*="#fbfaff"],
  [class*="bg-[linear-gradient"][class*="#f6f4ff"],
  [class*="bg-[linear-gradient"][class*="#f9fbff"],
  [class*="bg-[linear-gradient"][class*="#f3f7ff"],
  [class*="bg-[linear-gradient"][class*="#e0f2fe"],
  [class*="bg-[linear-gradient"][class*="#f0f9ff"],
  [class*="bg-[linear-gradient"][class*="#f8fdff"],
  [class*="bg-[linear-gradient"][class*="rgba(238,242,255,0.9"],
  [class*="bg-[linear-gradient"][class*="rgba(238,242,255,1)"],
  [class*="bg-[linear-gradient"][class*="rgba(239,246,255,0.9"],
  [class*="bg-[linear-gradient"][class*="rgba(239,246,255,1)"],
  [class*="bg-[linear-gradient"][class*="rgba(240,249,255,0.8"],
  [class*="bg-[linear-gradient"][class*="rgba(240,249,255,0.9"],
  [class*="bg-[linear-gradient"][class*="rgba(240,249,255,1)"]
) {
  background-image: linear-gradient(135deg, var(--pp-shell-info-surface), var(--pp-shell-surface)) !important;
}

html[data-theme="dark"] :is(
  [class*="bg-[linear-gradient"][class*="#ecfdf5"],
  [class*="bg-[linear-gradient"][class*="#d1fae5"],
  [class*="bg-[linear-gradient"][class*="#f1fbf5"],
  [class*="bg-[linear-gradient"][class*="#f7fff9"],
  [class*="bg-[linear-gradient"][class*="#fbfffd"],
  [class*="bg-[linear-gradient"][class*="rgba(236,253,245,0.8"],
  [class*="bg-[linear-gradient"][class*="rgba(236,253,245,0.9"],
  [class*="bg-[linear-gradient"][class*="rgba(236,253,245,1)"]
) {
  background-image: linear-gradient(135deg, var(--pp-shell-success-surface), var(--pp-shell-surface)) !important;
}

html[data-theme="dark"] :is(
  [class*="bg-[linear-gradient"][class*="#fff7ed"],
  [class*="bg-[linear-gradient"][class*="#fffbeb"],
  [class*="bg-[linear-gradient"][class*="#fefce8"],
  [class*="bg-[linear-gradient"][class*="#fffaf0"],
  [class*="bg-[linear-gradient"][class*="#fff7e6"],
  [class*="bg-[linear-gradient"][class*="#fffdf7"],
  [class*="bg-[linear-gradient"][class*="#fff8e8"]
) {
  background-image: linear-gradient(135deg, var(--pp-shell-warning-surface), var(--pp-shell-surface)) !important;
}

html[data-theme="dark"] :is(
  [class*="bg-[linear-gradient"][class*="#fff1f2"],
  [class*="bg-[linear-gradient"][class*="#ffe4e6"],
  [class*="bg-[linear-gradient"][class*="#fff8f8"]
) {
  background-image: linear-gradient(135deg, var(--pp-shell-danger-surface), var(--pp-shell-surface)) !important;
}

html[data-theme="dark"] :is(
  .bg-emerald-50\/40,
  .bg-emerald-50\/50,
  .bg-emerald-50\/60,
  .bg-emerald-50\/70,
  .bg-emerald-50\/80,
  .bg-emerald-50\/90
) {
  background-color: color-mix(in srgb, var(--pp-shell-success-surface) 86%, transparent) !important;
}

html[data-theme="dark"] :is(
  .bg-amber-50\/40,
  .bg-amber-50\/50,
  .bg-amber-50\/60,
  .bg-amber-50\/70,
  .bg-amber-50\/80,
  .bg-amber-50\/90
) {
  background-color: color-mix(in srgb, var(--pp-shell-warning-surface) 86%, transparent) !important;
}

html[data-theme="dark"] :is(
  .bg-red-50\/60,
  .bg-red-50\/80,
  .bg-rose-50\/50,
  .bg-rose-50\/60,
  .bg-rose-50\/70,
  .bg-rose-50\/80,
  .bg-rose-50\/90
) {
  background-color: color-mix(in srgb, var(--pp-shell-danger-surface) 86%, transparent) !important;
}

/* Variações translúcidas usadas em halos, destaques e superfícies legadas. */
html[data-theme="dark"] :is(.bg-slate-100\/10) {
  background-color: color-mix(in srgb, var(--pp-shell-text) 10%, transparent) !important;
}

html[data-theme="dark"] :is(.bg-slate-200\/30) {
  background-color: color-mix(in srgb, var(--pp-shell-text) 18%, transparent) !important;
}

html[data-theme="dark"] :is(
  .bg-blue-200\/10,
  .bg-indigo-200\/10,
  .bg-sky-200\/10
) {
  background-color: color-mix(in srgb, var(--pp-shell-info-text) 10%, transparent) !important;
}

html[data-theme="dark"] :is(.bg-blue-200\/15) {
  background-color: color-mix(in srgb, var(--pp-shell-info-text) 15%, transparent) !important;
}

html[data-theme="dark"] :is(
  .bg-blue-300\/18,
  .bg-indigo-300\/18,
  .bg-sky-300\/18
) {
  background-color: color-mix(in srgb, var(--pp-shell-info-text) 18%, transparent) !important;
}

html[data-theme="dark"] :is(
  .bg-blue-200\/20,
  .bg-blue-300\/20,
  .bg-indigo-200\/20
) {
  background-color: color-mix(in srgb, var(--pp-shell-info-text) 20%, transparent) !important;
}

html[data-theme="dark"] .bg-indigo-50\/25 {
  background-color: color-mix(in srgb, var(--pp-shell-info-surface) 25%, transparent) !important;
}

html[data-theme="dark"] :is(.bg-blue-100\/30, .bg-sky-200\/30) {
  background-color: color-mix(in srgb, var(--pp-shell-info-surface) 30%, transparent) !important;
}

html[data-theme="dark"] .bg-indigo-50\/35 {
  background-color: color-mix(in srgb, var(--pp-shell-info-surface) 35%, transparent) !important;
}

html[data-theme="dark"] .bg-emerald-300\/10 {
  background-color: color-mix(in srgb, var(--pp-shell-success-text) 10%, transparent) !important;
}

html[data-theme="dark"] :is(.bg-emerald-200\/20, .bg-emerald-300\/20) {
  background-color: color-mix(in srgb, var(--pp-shell-success-text) 20%, transparent) !important;
}

html[data-theme="dark"] :is(.bg-amber-200\/20, .bg-amber-300\/20) {
  background-color: color-mix(in srgb, var(--pp-shell-warning-text) 20%, transparent) !important;
}

html[data-theme="dark"] .bg-rose-200\/15 {
  background-color: color-mix(in srgb, var(--pp-shell-danger-text) 15%, transparent) !important;
}

html[data-theme="dark"] :is(.bg-red-200\/20, .bg-rose-300\/20) {
  background-color: color-mix(in srgb, var(--pp-shell-danger-text) 20%, transparent) !important;
}

/* Gradientes Tailwind de superfícies claras precisam trocar as paradas junto com o texto. */
html[data-theme="dark"] :is(.from-white, .from-slate-50, .from-slate-100) {
  --tw-gradient-from: var(--pp-shell-surface) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: color-mix(in srgb, var(--pp-shell-surface) 0%, transparent) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

html[data-theme="dark"] :is(.via-white, .via-slate-50) {
  --tw-gradient-to: color-mix(in srgb, var(--pp-shell-surface-soft) 0%, transparent) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--pp-shell-surface-soft) var(--tw-gradient-via-position), var(--tw-gradient-to) !important;
}

html[data-theme="dark"] :is(.to-white, .to-slate-50, .to-slate-50\/40, .to-slate-50\/80, .to-slate-100) {
  --tw-gradient-to: var(--pp-shell-surface-soft) var(--tw-gradient-to-position) !important;
}

html[data-theme="dark"] :is(
  .from-blue-50,
  .from-blue-50\/90,
  .from-sky-50,
  .from-sky-50\/70,
  .from-indigo-50,
  .from-indigo-50\/70,
  .from-violet-50
) {
  --tw-gradient-from: var(--pp-shell-info-surface) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: color-mix(in srgb, var(--pp-shell-info-surface) 0%, transparent) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

html[data-theme="dark"] .via-indigo-50\/70 {
  --tw-gradient-to: color-mix(in srgb, var(--pp-shell-info-surface) 0%, transparent) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--pp-shell-info-surface) var(--tw-gradient-via-position), var(--tw-gradient-to) !important;
}

html[data-theme="dark"] :is(.to-blue-50, .to-sky-50, .to-indigo-50, .to-indigo-50\/40) {
  --tw-gradient-to: var(--pp-shell-info-surface) var(--tw-gradient-to-position) !important;
}

html[data-theme="dark"] :is(.from-emerald-50, .from-emerald-50\/70) {
  --tw-gradient-from: var(--pp-shell-success-surface) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: color-mix(in srgb, var(--pp-shell-success-surface) 0%, transparent) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

html[data-theme="dark"] .to-emerald-50 {
  --tw-gradient-to: var(--pp-shell-success-surface) var(--tw-gradient-to-position) !important;
}

html[data-theme="dark"] .from-amber-50 {
  --tw-gradient-from: var(--pp-shell-warning-surface) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: color-mix(in srgb, var(--pp-shell-warning-surface) 0%, transparent) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

html[data-theme="dark"] :is(.to-orange-50, .to-amber-50) {
  --tw-gradient-to: var(--pp-shell-warning-surface) var(--tw-gradient-to-position) !important;
}

html[data-theme="dark"] .from-rose-50 {
  --tw-gradient-from: var(--pp-shell-danger-surface) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: color-mix(in srgb, var(--pp-shell-danger-surface) 0%, transparent) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

html[data-theme="dark"] .from-fuchsia-50 {
  --tw-gradient-from: var(--pp-shell-danger-surface) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: color-mix(in srgb, var(--pp-shell-danger-surface) 0%, transparent) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

html[data-theme="dark"] .to-rose-50 {
  --tw-gradient-to: var(--pp-shell-danger-surface) var(--tw-gradient-to-position) !important;
}

html[data-theme="dark"] :is(
  .bg-gradient-to-br.from-slate-50.to-white,
  .bg-gradient-to-br.from-white.to-slate-50
) {
  background-image: linear-gradient(135deg, var(--pp-shell-surface-soft), var(--pp-shell-surface)) !important;
}

html[data-theme="dark"] .bg-gradient-to-br.from-emerald-50.to-white {
  background-image: linear-gradient(135deg, var(--pp-shell-success-surface), var(--pp-shell-surface)) !important;
}

html[data-theme="dark"] :is(.bg-gradient-to-br.from-indigo-50.to-white, .bg-gradient-to-br.from-blue-50.to-white) {
  background-image: linear-gradient(135deg, var(--pp-shell-info-surface), var(--pp-shell-surface)) !important;
}

html[data-theme="dark"] :is(.border-gray-100, .border-gray-200, .border-slate-100, .border-slate-200) {
  border-color: var(--pp-shell-border) !important;
}

html[data-theme="dark"] :is(
  .border-slate-100\/80,
  .border-slate-200\/70,
  .border-slate-200\/80,
  .border-slate-200\/90
) {
  border-color: color-mix(in srgb, var(--pp-shell-border) 84%, transparent) !important;
}

html[data-theme="dark"] :is(.border-gray-300, .border-slate-300) {
  border-color: var(--pp-shell-border-strong) !important;
}

html[data-theme="dark"] :is(.divide-gray-100, .divide-gray-200, .divide-slate-100, .divide-slate-200) > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--pp-shell-border) !important;
}

html[data-theme="dark"] :is(
  .border-blue-100,
  .border-blue-200,
  .border-blue-300,
  .border-sky-100,
  .border-sky-200,
  .border-sky-300,
  .border-cyan-100,
  .border-cyan-200,
  .border-cyan-300,
  .border-teal-100,
  .border-teal-200,
  .border-teal-300,
  .border-violet-100,
  .border-violet-200,
  .border-violet-300,
  .border-purple-100,
  .border-indigo-100,
  .border-indigo-200,
  .border-indigo-300
) {
  border-color: var(--pp-shell-info-border) !important;
}

html[data-theme="dark"] :is(.border-blue-200\/20, .border-indigo-200\/20) {
  border-color: color-mix(in srgb, var(--pp-shell-info-border) 40%, transparent) !important;
}

html[data-theme="dark"] :is(
  .border-blue-300\/30,
  .border-indigo-100\/40,
  .border-indigo-100\/70,
  .border-indigo-200\/70
) {
  border-color: color-mix(in srgb, var(--pp-shell-info-border) 70%, transparent) !important;
}

html[data-theme="dark"] :is(.border-emerald-100, .border-emerald-200, .border-emerald-300, .border-green-100, .border-green-200, .border-green-300) {
  border-color: var(--pp-shell-success-border) !important;
}

html[data-theme="dark"] :is(.border-emerald-200\/18, .border-emerald-300\/30) {
  border-color: color-mix(in srgb, var(--pp-shell-success-border) 70%, transparent) !important;
}

html[data-theme="dark"] :is(.border-amber-100, .border-amber-200, .border-amber-300, .border-yellow-100, .border-yellow-200, .border-orange-200) {
  border-color: var(--pp-shell-warning-border) !important;
}

html[data-theme="dark"] :is(.border-amber-200\/18, .border-amber-300\/30) {
  border-color: color-mix(in srgb, var(--pp-shell-warning-border) 70%, transparent) !important;
}

html[data-theme="dark"] :is(
  .border-red-100,
  .border-red-200,
  .border-red-300,
  .border-rose-100,
  .border-rose-200,
  .border-rose-300,
  .border-fuchsia-100,
  .border-fuchsia-200,
  .border-pink-100,
  .border-pink-200
) {
  border-color: var(--pp-shell-danger-border) !important;
}

html[data-theme="dark"] .border-fuchsia-100\/70 {
  border-color: color-mix(in srgb, var(--pp-shell-danger-border) 70%, transparent) !important;
}

html[data-theme="dark"] :is(.ring-fuchsia-100, .ring-pink-100) {
  --tw-ring-color: var(--pp-shell-danger-border) !important;
}

html[data-theme="dark"] :is(.border-rose-200\/18, .border-rose-300\/20) {
  border-color: color-mix(in srgb, var(--pp-shell-danger-border) 70%, transparent) !important;
}

html[data-theme="dark"] :is(.hover\:bg-gray-50, .hover\:bg-slate-50, .hover\:bg-slate-100):hover {
  background-color: var(--pp-shell-surface-soft) !important;
}

html[data-theme="dark"] :is(.bs-card, .pp-status-board, .app-loading-card, .wizard-loading-card) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface);
  box-shadow: var(--pp-shell-shadow);
}

/* Compatibilidade do tema com componentes compartilhados e legados. */
html[data-theme="dark"] :is(.card, .modal-content, .dropdown-menu, .list-group-item, .popover, .toast, dialog) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text);
  background-color: var(--pp-shell-surface);
}

html[data-theme="dark"] :is(.modal-header, .modal-footer, .card-header, .card-footer, .dropdown-divider, hr) {
  border-color: var(--pp-shell-border);
}

html[data-theme="dark"] :is(.modal-backdrop, .calculation-parameters-modal__backdrop, .user-management-modal__backdrop) {
  background: var(--pp-shell-scrim);
}

html[data-theme="dark"] :is(.popover-header, .popover-body, .tooltip-inner) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface-raised);
}

html[data-theme="dark"] :is(.dropdown-item, .page-link, .list-group-item-action) {
  color: var(--pp-shell-text-soft);
  background-color: transparent;
}

html[data-theme="dark"] :is(.dropdown-item, .page-link, .list-group-item-action):is(:hover, :focus) {
  color: var(--pp-shell-text);
  background-color: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] :is(.dropdown-item.active, .dropdown-item:active, .page-item.active .page-link) {
  border-color: var(--pp-shell-brand);
  color: #fff;
  background-color: #2563eb;
}

html[data-theme="dark"] .page-item.disabled .page-link {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-muted);
  background-color: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .btn-close {
  filter: invert(1) grayscale(1) brightness(1.8);
}

html[data-theme="dark"] :is(.toast__title, .toast__msg) {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .toast__title {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] :is(.form-control, .form-select, .input-group-text) {
  border-color: var(--pp-shell-border-strong);
  color: var(--pp-shell-text);
  background-color: var(--pp-shell-surface);
}

html[data-theme="dark"] :is(.form-control, .form-select):focus {
  border-color: var(--pp-shell-focus);
  box-shadow: 0 0 0 0.2rem rgba(96, 165, 250, 0.2);
}

html[data-theme="dark"] :is(.field-validation-error, .validation-summary-errors, .invalid-feedback, .text-danger) {
  color: var(--pp-shell-danger-text) !important;
}

html[data-theme="dark"] :is(.alert-info, .alert-primary) {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] :is(.alert-success) {
  border-color: var(--pp-shell-success-border);
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] :is(.alert-warning) {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] :is(.alert-danger) {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: var(--pp-shell-danger-surface);
}

html[data-theme="dark"] table {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
}

html[data-theme="dark"] .table {
  --bs-table-color: var(--pp-shell-text-soft);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--pp-shell-border);
  --bs-table-striped-color: var(--pp-shell-text-soft);
  --bs-table-striped-bg: rgba(148, 163, 184, 0.055);
  --bs-table-hover-color: var(--pp-shell-text);
  --bs-table-hover-bg: rgba(96, 165, 250, 0.07);
  color: var(--pp-shell-text-soft);
}

html[data-theme="dark"] :is(.table, .bs-table) thead th {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-muted);
  background-color: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] :is(.table, .bs-table) tbody td {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
}

html[data-theme="dark"] :is(.table, .bs-table) tbody tr:hover {
  background-color: rgba(96, 165, 250, 0.07);
}

html[data-theme="dark"] :is(.bs-card-title, .bs-label) {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .bs-input {
  border-color: var(--pp-shell-border-strong);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface);
}

html[data-theme="dark"] :is(.bs-btn-ghost, .bs-badge, .bs-page) {
  border-color: var(--pp-shell-border-strong);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
}

html[data-theme="dark"] :is(.bs-btn-ghost, .bs-page):hover {
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] :is(.bs-btn-soft-primary, .bs-btn-soft-info, .bs-status-info) {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] :is(.bs-status-success) {
  border-color: var(--pp-shell-success-border);
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] :is(.bs-status-warning) {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] :is(.bs-btn-soft-danger, .bs-status-danger) {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: var(--pp-shell-danger-surface);
}

html[data-theme="dark"] .bs-status-neutral {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] :is(.pdf-host, .chart-empty) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-muted);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .history-page .table tbody tr {
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
}

html[data-theme="dark"] .history-page {
  --ink: var(--pp-shell-text);
  --muted: var(--pp-shell-muted);
  --primary: var(--pp-shell-brand-strong);
  --primary-strong: var(--pp-shell-brand);
  --surface: var(--pp-shell-surface);
  --border: var(--pp-shell-border);
  color: var(--pp-shell-text);
  background:
    radial-gradient(70rem 30rem at 8% -8%, rgba(59, 130, 246, 0.12), transparent 70%),
    radial-gradient(56rem 30rem at 96% 0%, rgba(79, 70, 229, 0.1), transparent 70%),
    var(--pp-shell-canvas);
}

html[data-theme="dark"] .history-page :is(
  .history-hero,
  .guide-card,
  .history-stat,
  .history-panel,
  .search-wrap,
  .history-page .chip
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
  box-shadow: var(--pp-shell-shadow);
}

html[data-theme="dark"] .history-page :is(.panel-header, .segmented, .chart-empty, .empty-state) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .history-page :is(
  .history-title,
  .history-stat__value,
  .panel-title,
  .history-item-card__title,
  .history-item-card__count,
  .guide-title
) {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .history-page :is(
  .history-sub,
  .guide-text,
  .history-stat__label,
  .history-stat__hint,
  .panel-sub,
  .panel-help,
  .history-detail-lead,
  .history-detail-caption,
  .history-item-card__subtitle,
  .history-item-card__count-label,
  .search-meta,
  .item-empty
) {
  color: var(--pp-shell-muted) !important;
}

html[data-theme="dark"] .history-page :is(.search-input, .seg-btn.is-active) {
  border-color: var(--pp-shell-border-strong);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface);
}

html[data-theme="dark"] .history-page :is(.item-row:hover, .item-row.is-active) {
  color: var(--pp-shell-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .history-page .table tbody td {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
}

html[data-theme="dark"] .history-item-card__footer {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] .history-item-card__footer strong {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] :is(.app-radar-tip-card, .app-radar-tip-secondary) {
  border-color: var(--pp-shell-success-border);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface-raised);
}

html[data-theme="dark"] .app-radar-tip-kicker {
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] :is(.app-radar-tip-title) {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] :is(.app-radar-tip-copy, .app-radar-tip-close) {
  color: var(--pp-shell-muted);
}

/* Cockpit operacional: os tokens mantêm a mesma semântica nos dois temas. */
html[data-theme="dark"] .pp-cockpit {
  --pp-bg: var(--pp-shell-surface-soft);
  --pp-surface: var(--pp-shell-surface);
  --pp-border: var(--pp-shell-border);
  --pp-text: var(--pp-shell-text);
  --pp-muted: var(--pp-shell-muted);
  --pp-primary: var(--pp-shell-brand);
  --pp-primary-soft: var(--pp-shell-info-surface);
  --pp-success: var(--pp-shell-success-text);
  --pp-success-soft: var(--pp-shell-success-surface);
  --pp-warning: var(--pp-shell-warning-text);
  --pp-warning-soft: var(--pp-shell-warning-surface);
  --pp-danger: var(--pp-shell-danger-text);
  --pp-danger-soft: var(--pp-shell-danger-surface);
}

html[data-theme="dark"] .pp-cockpit :is(
  .pp-btn--secondary,
  .pp-indicator,
  .pp-filter,
  .pp-scope-list,
  .pp-scope-row,
  .pp-check-action,
  .pp-dialog
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
}

html[data-theme="dark"] .pp-cockpit :is(.pp-scope-list__header, .pp-scope-row.is-group) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-muted);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .pp-cockpit :is(.pp-scope-row:hover, .pp-scope-row.is-selected, .pp-filter.is-active) {
  color: var(--pp-shell-text);
  background: var(--pp-shell-info-surface);
}

/* Cockpit de lances e suas tabelas de alta densidade. */
html[data-theme="dark"] .pp-lance-page {
  --pp-lance-primary: var(--pp-shell-brand);
  --pp-lance-primary-soft: var(--pp-shell-info-surface);
  --pp-lance-surface: var(--pp-shell-surface);
  --pp-lance-canvas: var(--pp-shell-canvas);
  --pp-lance-border: var(--pp-shell-border);
  --pp-lance-text: var(--pp-shell-text);
  --pp-lance-muted: var(--pp-shell-text-soft);
  --pp-lance-subtle: var(--pp-shell-muted);
  background: var(--pp-shell-canvas);
}

html[data-theme="dark"] .pp-lance-page :is(
  .pp-lance-header__trail,
  .pp-live-indicator.is-finished,
  .pp-lance-icon-action,
  .pp-ai-readonly-action,
  .pp-margin-gauge,
  .pp-lance-hero .hero-chip,
  .pp-lance-hero__decision,
  .pp-lance-pilot__explanation > div,
  .pp-lance-actionbar .pill,
  .pp-group-decision-card,
  .pp-group-decision-card__metrics > div,
  .pp-lance-filterbar #lance-count,
  .pp-data-grid-toolbar__metrics .pill,
  .pp-lance-table-card .table-scroll,
  .pp-premium-data-grid,
  .pp-premium-data-grid tbody td,
  .pp-premium-data-grid .micro-pill,
  .pp-premium-data-grid .validation-card,
  .pp-row-pilot-trigger,
  .pp-lance-copilot .copilot-head
) {
  border-color: var(--pp-shell-border) !important;
  color: var(--pp-shell-text-soft) !important;
  background: var(--pp-shell-surface-soft) !important;
}

html[data-theme="dark"] .pp-lance-page :is(
  .pp-lance-actionbar,
  .pp-lance-table-card .pp-data-grid-toolbar,
  .pp-lance-mobile-actions
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-raised);
}

html[data-theme="dark"] .pp-lance-page .pp-premium-data-grid :is(.pp-table-superhead th, .pp-table-columns th),
html[data-theme="dark"] .pp-lance-page .pp-lance-table-card .table-modern thead th {
  border-color: var(--pp-shell-border) !important;
  color: var(--pp-shell-muted) !important;
  background: var(--pp-shell-surface-soft) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-premium-data-grid tbody :is(.pp-data-row:hover, .pp-data-row.row-selected) td,
html[data-theme="dark"] .pp-lance-page .pp-lance-table-card .table-modern tbody tr:hover {
  background: var(--pp-shell-info-surface) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-premium-data-grid :is(
  .item-title,
  .qty-value,
  .money,
  .validation-value
) {
  color: var(--pp-shell-text) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-premium-data-grid :is(
  .muted,
  .money-label,
  .validation-label,
  .validation-meta,
  .margin-label,
  .status-note,
  .copilot-note
) {
  color: var(--pp-shell-muted) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-premium-data-grid :is(
  .td-margin,
  .td-status,
  .td-copilot,
  .validation-card
) {
  border-color: var(--pp-shell-border) !important;
  background: var(--pp-shell-surface-soft) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-premium-data-grid .pp-item-index {
  border-color: var(--pp-shell-info-border) !important;
  color: var(--pp-shell-info-text) !important;
  background: var(--pp-shell-info-surface) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-premium-data-grid .row-consolidated td {
  background: linear-gradient(180deg, var(--pp-shell-info-surface), var(--pp-shell-surface)) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-premium-data-grid .row-consolidated .item-title {
  color: var(--pp-shell-info-text) !important;
}

/* Copiloto da operação de lances: mantém leitura consistente nos modos item e global. */
html[data-theme="dark"] .pp-lance-page .pp-lance-copilot {
  border-color: var(--pp-shell-border) !important;
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot .copilot-head {
  border-color: var(--pp-shell-border) !important;
  background: linear-gradient(
    180deg,
    var(--pp-shell-info-surface) 0%,
    var(--pp-shell-surface) 100%
  ) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot :is(#cpSub, #cpMeta, .muted) {
  color: var(--pp-shell-muted) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot :is(
  #cpCargo,
  .cp-value,
  #cpImpactAtual,
  #cpImpactNovo,
  #cpImpactDelta
) {
  color: var(--pp-shell-text) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot :is(.cp-card, .cp-field) {
  border-color: var(--pp-shell-border) !important;
  background: var(--pp-shell-surface-soft) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot .cp-label {
  color: var(--pp-shell-muted) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot .badge.info {
  border-color: var(--pp-shell-info-border) !important;
  color: var(--pp-shell-info-text) !important;
  background: var(--pp-shell-info-surface) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot .badge.ok {
  border-color: var(--pp-shell-success-border) !important;
  color: var(--pp-shell-success-text) !important;
  background: var(--pp-shell-success-surface) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot .badge.warn {
  border-color: var(--pp-shell-danger-border) !important;
  color: var(--pp-shell-danger-text) !important;
  background: var(--pp-shell-danger-surface) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot .cp-insight {
  border-color: var(--pp-shell-info-border) !important;
  color: var(--pp-shell-text-soft);
  background: linear-gradient(
    180deg,
    var(--pp-shell-info-surface) 0%,
    var(--pp-shell-surface-soft) 100%
  ) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot .cp-insight :is(.text-indigo-700, .text-indigo-800) {
  color: var(--pp-shell-info-text) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot .cp-insight :is(.text-slate-800, .text-slate-900) {
  color: var(--pp-shell-text) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot .cp-impact {
  border-color: var(--pp-shell-info-border) !important;
  color: var(--pp-shell-text-soft);
  background: linear-gradient(
    180deg,
    var(--pp-shell-info-surface) 0%,
    var(--pp-shell-surface-soft) 100%
  ) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot .cp-impact .text-sky-700 {
  color: var(--pp-shell-info-text) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot .cp-impact :is(.text-slate-600, .text-slate-800) {
  color: var(--pp-shell-text-soft) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot .cp-actions {
  border-color: var(--pp-shell-border) !important;
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-raised) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot .copilot-close-btn {
  border-color: var(--pp-shell-border-strong) !important;
  color: var(--pp-shell-text-soft) !important;
  background: var(--pp-shell-surface-soft) !important;
}

html[data-theme="dark"] .pp-lance-page .pp-lance-copilot .copilot-close-btn:hover {
  border-color: var(--pp-shell-info-border) !important;
  color: var(--pp-shell-info-text) !important;
  background: var(--pp-shell-info-surface) !important;
}

html[data-theme="dark"] .pp-lance-page :is(
  .pp-guardrail-score,
  .pp-guardrail-icon.is-safe
) {
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] .pp-lance-page :is(
  .pp-guardrail-score.has-attention,
  .pp-guardrail-icon.has-attention
) {
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

/* Oportunidades: detalhes e mapa usam tokens próprios por isolamento visual. */
html[data-theme="dark"] .details-page {
  --details-ink: var(--pp-shell-text);
  --details-muted: var(--pp-shell-muted);
  --details-line: var(--pp-shell-border);
  --details-card: var(--pp-shell-surface);
  --details-bg: var(--pp-shell-canvas);
  --details-accent: var(--pp-shell-brand);
  background: var(--pp-shell-canvas);
}

html[data-theme="dark"] .details-page :is(
  .details-hero:not(.details-hero-premium),
  .details-chip,
  .details-metric,
  .details-panel,
  .score-card,
  .details-btn:not(.primary):not(.premium),
  .copilot-step,
  .copilot-stats article,
  .details-table-wrap,
  .details-pager button,
  .crm-rail,
  .crm-stage,
  .crm-actions-list li,
  .status-option
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
}

html[data-theme="dark"] .details-page :is(.crm-cockpit, .details-copilot-help, .details-copilot-panel, .copilot-step.is-active, .copilot-cta-strip, .crm-stage.is-current, .status-option:has(input:checked)) {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .details-page :is(.prazo-ok, .crm-checklist li.ok, .status-win) {
  border-color: var(--pp-shell-success-border);
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] .details-page :is(.prazo-warn, .crm-checklist li.warn, .details-reco, .status-fav) {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] .details-page :is(.prazo-late, .crm-stage.discarded, .status-drop) {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: var(--pp-shell-danger-surface);
}

html[data-theme="dark"] .op-map-modal {
  --pp-color-ink: var(--pp-shell-text);
  --pp-color-muted: var(--pp-shell-muted);
  --pp-color-border: var(--pp-shell-border);
  --op-map-surface: var(--pp-shell-surface);
  --op-map-surface-soft: var(--pp-shell-surface-soft);
  --op-map-border: var(--pp-shell-border);
  --op-map-ink: var(--pp-shell-text);
  --op-map-muted: var(--pp-shell-muted);
  --op-map-brand: var(--pp-shell-brand);
  --op-map-brand-strong: var(--pp-shell-brand-strong);
  --op-map-brand-soft: var(--pp-shell-info-surface);
  --op-map-brand-panel: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .op-map-modal :is(
  .op-map-modal__shell,
  .op-map-modal__header,
  .op-map-status,
  .op-map-close,
  .op-map-panel,
  .op-map-input,
  .op-map-autocomplete-results,
  .op-map-radius-pill,
  .op-map-panel--actions,
  .op-map-secondary-btn,
  .op-map-canvas-card,
  .op-map-kpi-strip article,
  .op-map-legend,
  .op-map-empty-state,
  .op-map-loading__panel,
  .op-map-selection-empty,
  .op-map-selection-list li
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-raised);
}

html[data-theme="dark"] .op-map-modal :is(
  .op-map-title,
  .op-map-panel__head h3,
  .op-map-input,
  .op-map-autocomplete-results strong,
  .op-map-copilot-summary,
  .op-map-copilot-summary strong,
  .op-map-kpi-strip strong,
  .op-map-empty-state strong,
  .op-map-loading strong,
  .op-map-selection-list strong,
  .op-map-popup strong
) {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .op-map-modal :is(
  .op-map-subtitle,
  .op-map-eyebrow,
  .op-map-label,
  .op-map-autocomplete-results span,
  .op-map-action-note,
  .op-map-feedback-text,
  .op-map-kpi-strip span,
  .op-map-legend span,
  .op-map-empty-state span,
  .op-map-loading span,
  .op-map-selection-empty,
  .op-map-selection-list span,
  .op-map-popup span
) {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] .op-map-modal :is(
  .op-map-badge,
  .op-map-radius-pill.is-active,
  .op-map-selection-item__chip,
  .op-map-popup__chip
) {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .op-map-modal :is(
  .op-map-selection-item__chip.is-warm,
  .op-map-popup__chip.is-warm,
  .op-map-selection-item__chip.is-qualified,
  .op-map-popup__chip.is-qualified
) {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] .op-map-modal :is(
  .op-map-selection-item__chip.is-participating,
  .op-map-popup__chip.is-participating
) {
  border-color: var(--pp-shell-success-border);
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] .op-map-modal :is(
  .op-map-selection-item__chip.is-neutral,
  .op-map-popup__chip.is-neutral
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .op-map-modal .op-map-loading {
  background: color-mix(in srgb, var(--pp-shell-canvas) 86%, transparent);
}

html[data-theme="dark"] .op-map-modal .maplibregl-popup-content {
  border: 1px solid var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
}

html[data-theme="dark"] .op-map-modal .maplibregl-popup-tip {
  border-top-color: var(--pp-shell-surface);
  border-bottom-color: var(--pp-shell-surface);
}

html[data-theme="dark"] .op-map-modal .op-map-popup__list li {
  border-color: var(--pp-shell-border);
}

html[data-theme="dark"] .op-map-modal .op-map-autocomplete-results button:hover {
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .op-map-modal :is(.op-map-copilot-warning, .op-map-warning) {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] .op-map-modal .op-map-selection-list .op-map-remove-btn {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: var(--pp-shell-danger-surface);
}

/* Dashboard executivo. */
html[data-theme="dark"] .kpi-card {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
}

html[data-theme="dark"] .cockpit-stat-urgencias {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: linear-gradient(180deg, var(--pp-shell-surface), var(--pp-shell-danger-surface));
}

html[data-theme="dark"] .cockpit-stat-atacar {
  border-color: var(--pp-shell-success-border);
  color: var(--pp-shell-success-text);
  background: linear-gradient(180deg, var(--pp-shell-surface), var(--pp-shell-success-surface));
}

html[data-theme="dark"] .cockpit-stat-sessoes {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: linear-gradient(180deg, var(--pp-shell-surface), var(--pp-shell-warning-surface));
}

html[data-theme="dark"] .cockpit-stat-pendencias {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: linear-gradient(180deg, var(--pp-shell-surface), var(--pp-shell-info-surface));
}

/* Jornada de encargos consolidada por projeto. */
html[data-theme="dark"] .enc-shell {
  --enc-line: var(--pp-shell-info-border);
  --enc-slate-line: var(--pp-shell-border);
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .enc-shell :is(
  .enc-kpi-card,
  .enc-toolbar,
  .enc-item,
  .enc-metric-card,
  .enc-empty,
  .enc-inline-note
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: linear-gradient(180deg, var(--pp-shell-surface), var(--pp-shell-surface-soft));
  box-shadow: var(--pp-shell-shadow);
}

html[data-theme="dark"] .enc-shell :is(.enc-list-shell, .enc-sticky-head) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-raised);
}

html[data-theme="dark"] .enc-shell :is(.enc-filter-chip, .enc-chip, .enc-chip.slate) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .enc-shell .enc-filter-chip.is-active,
html[data-theme="dark"] .enc-shell :is(.enc-chip.blue, .enc-impact-card, .enc-diagnosis) {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .enc-shell :is(.enc-chip.emerald, .enc-total-card) {
  border-color: var(--pp-shell-success-border);
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] .enc-shell .enc-chip.amber {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] .enc-shell .enc-chip.rose {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: var(--pp-shell-danger-surface);
}

html[data-theme="dark"] .enc-shell .enc-metric-label,
html[data-theme="dark"] .enc-shell .enc-metric-sub,
html[data-theme="dark"] .enc-shell .enc-sort-icon {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] .enc-shell .enc-metric-value {
  color: var(--pp-shell-text);
}

/* Detalhamento executivo dos encargos de um recurso. */
html[data-theme="dark"] .enc-shell :is(
  .enc-summary-card,
  .enc-summary-kpi,
  .enc-summary-item,
  .enc-nav-shell,
  .enc-nav-callout,
  .enc-section,
  .enc-section-hero,
  .enc-row
) {
  border-color: var(--pp-shell-border) !important;
  color: var(--pp-shell-text-soft) !important;
  background: var(--pp-shell-surface) !important;
  box-shadow: var(--pp-shell-shadow) !important;
}

html[data-theme="dark"] .enc-shell :is(
  .enc-summary-card h2,
  .enc-summary-title,
  .enc-summary-percent,
  .enc-summary-kpi .text-slate-950,
  .enc-tab-title,
  .enc-module-value,
  .enc-section h2,
  .enc-row dd
) {
  color: var(--pp-shell-text) !important;
}

html[data-theme="dark"] .enc-shell :is(
  .enc-summary-card > p,
  .enc-summary-value,
  .enc-summary-kpi .text-slate-500,
  .enc-tab-sub,
  .enc-tab-action,
  .enc-row dt,
  .enc-row-meta
) {
  color: var(--pp-shell-muted) !important;
}

html[data-theme="dark"] .enc-shell :is(.enc-tab, .enc-export-btn, #tab-status) {
  border-color: var(--pp-shell-border) !important;
  color: var(--pp-shell-text-soft) !important;
  background: var(--pp-shell-surface-soft) !important;
}

html[data-theme="dark"] .enc-shell :is(.enc-summary-item.is-active, .enc-tab:hover) {
  border-color: var(--pp-shell-info-border) !important;
  color: var(--pp-shell-info-text) !important;
  background: var(--pp-shell-info-surface) !important;
}

html[data-theme="dark"] .enc-shell .enc-summary-item.is-active :is(
  .enc-summary-title,
  .enc-summary-value,
  .enc-summary-percent
) {
  color: var(--pp-shell-info-text) !important;
}

html[data-theme="dark"] .enc-shell .enc-tab.is-active {
  border-color: #818cf8 !important;
  color: #fff !important;
  background: linear-gradient(180deg, #4f46e5, #3730a3) !important;
}

html[data-theme="dark"] .enc-shell .enc-tab.is-active :is(
  .enc-tab-title,
  .enc-module-value,
  .enc-tab-sub,
  .enc-tab-action,
  .enc-tab-icon
) {
  color: rgba(255, 255, 255, 0.94) !important;
}

html[data-theme="dark"] .enc-shell :is(.enc-overview-bar, .enc-tab-progress) {
  background: var(--pp-shell-border) !important;
}

/* Cadastro e biblioteca de fornecimentos. */
html[data-theme="dark"] :is(.bs-card-soft, .bs-kpi, .bs-icon-btn, .bs-action-soft, .bs-tab-inactive) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .bs-kpi .t,
html[data-theme="dark"] .bs-kpi .s {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] .bs-kpi .v {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .bs-chip-dark,
html[data-theme="dark"] .bs-tab-active {
  color: #fff;
  background: #1d4ed8;
}

html[data-theme="dark"] .bs-chip-soft {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .bs-pill-ok {
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] .bs-pill-off {
  color: var(--pp-shell-muted);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .bs-divider {
  background: var(--pp-shell-border);
}

/* Radar e pipeline de oportunidades. */
html[data-theme="dark"] .crm-shell {
  --crm-line: var(--pp-shell-border);
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .crm-shell :is(
  .crm-kpi,
  .crm-radar-mini,
  .crm-radar-item,
  .crm-radar-card,
  .crm-radar-strip-metric,
  .crm-radar-inline-note,
  .crm-board,
  .crm-board-nav,
  .crm-board-tab,
  .crm-stage,
  .crm-command-bar,
  .crm-filter-summary,
  .crm-compact-toolbar,
  .crm-stage-metric,
  .crm-zone-kpi,
  .crm-copilot-diagnosis,
  .crm-card-analysis,
  .crm-list-row,
  .crm-list-shell,
  .crm-list-chip,
  .crm-list-analysis,
  .crm-list-metric-card,
  .crm-priority-row,
  .crm-drawer-summary,
  .crm-drawer-kpi,
  .crm-drawer-stage-btn,
  .crm-discard-shell,
  .crm-discard-head,
  .crm-discard-card,
  .crm-discard-actions
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

html[data-theme="dark"] .crm-shell :is(.crm-board, .crm-board-nav, .crm-stage, .crm-list-shell) {
  background: linear-gradient(180deg, var(--pp-shell-surface-soft), var(--pp-shell-canvas));
}

html[data-theme="dark"] .crm-shell .crm-list-table thead th {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-muted);
  background: var(--pp-shell-surface-raised);
}

html[data-theme="dark"] .crm-shell .crm-list-row > td {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
}

html[data-theme="dark"] .crm-shell :is(
  .crm-radar-title,
  .crm-radar-mini span,
  .crm-radar-strip-metric span,
  .crm-list-object,
  .crm-list-analysis-body,
  .crm-list-metric-label,
  .crm-list-metric-note,
  .crm-drawer-kpi span,
  .crm-drawer-section-title
) {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] .crm-shell :is(
  .crm-radar-mini strong,
  .crm-radar-strip-metric strong,
  .crm-radar-inline-note strong,
  .crm-list-orgao,
  .crm-list-analysis-body strong,
  .crm-list-metric-value,
  .crm-drawer-kpi strong
) {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .crm-shell :is(.crm-board-tab.is-active, .crm-filter-chip.is-active, .crm-zone-kpi, .crm-copilot-diagnosis, .crm-drawer-summary, .crm-drawer-chip) {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .crm-shell :is(.crm-card-pill-score, .crm-list-chip.is-emerald, .crm-drawer-stage-btn.stage-running) {
  border-color: var(--pp-shell-success-border);
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] .crm-shell :is(.crm-drawer-soft-btn, .crm-drawer-stage-btn.stage-qualified) {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] .crm-shell :is(.crm-card-pill-urgent, .crm-drawer-stage-btn.stage-discard) {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: var(--pp-shell-danger-surface);
}

html[data-theme="dark"] .crm-shell :is(.crm-discard-select, .crm-discard-textarea) {
  border-color: var(--pp-shell-border-strong);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface);
}

/* O cockpit é irmão da página CRM no DOM, portanto não pode depender de .crm-shell. */
html[data-theme="dark"] #opportunity-drawer {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
  box-shadow: var(--pp-shell-shadow);
}

html[data-theme="dark"] #opportunity-drawer :is(
  .pp-cmp-124__header,
  .crm-drawer-organization,
  .crm-drawer-kpi,
  .crm-drawer-stage-btn
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] #opportunity-drawer :is(
  #opportunity-drawer-title,
  .crm-drawer-organization-label,
  .crm-drawer-kpi span,
  .crm-drawer-section-title
) {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] #opportunity-drawer :is(
  #drawer-orgao,
  #drawer-orgao-inline,
  #drawer-objeto,
  #drawer-diagnostico,
  .crm-drawer-kpi strong
) {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] #opportunity-drawer :is(
  .crm-drawer-summary,
  .crm-copilot-diagnosis,
  .crm-drawer-chip
) {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] #opportunity-drawer .crm-copilot-diagnosis__title {
  color: var(--pp-shell-info-text);
}

html[data-theme="dark"] #opportunity-drawer :is(
  .crm-drawer-soft-btn,
  .crm-drawer-stage-btn.stage-qualified
) {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] #opportunity-drawer .crm-drawer-stage-btn.stage-running {
  border-color: var(--pp-shell-success-border);
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] #opportunity-drawer .crm-drawer-stage-btn.stage-discard,
html[data-theme="dark"] #opportunity-drawer #drawer-expired-warning > div {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: var(--pp-shell-danger-surface);
}

html[data-theme="dark"] #opportunity-drawer .crm-drawer-stage-btn.stage-entry {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] #opportunity-drawer #drawer-close {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] #opportunity-drawer #drawer-close:hover {
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface-soft);
}

/* Detalhamento premium da oportunidade. */
html[data-theme="dark"] .opp-premium {
  --pp-color-ink: var(--pp-shell-text);
  --pp-color-muted: var(--pp-shell-muted);
  --pp-color-border: var(--pp-shell-border);
  --opp-text: var(--pp-shell-text);
  --opp-muted: var(--pp-shell-muted);
  --opp-line: var(--pp-shell-border);
  --opp-surface: var(--pp-shell-surface);
  --opp-soft: var(--pp-shell-surface-soft);
  color: var(--pp-shell-text);
  background: var(--pp-shell-canvas);
}

html[data-theme="dark"] .opp-premium :is(
  .opp-context-nav,
  .opp-context-back,
  .opp-summary-card,
  .opp-summary-item,
  .opp-secondary-card,
  .opp-panel,
  .opp-decision-card,
  .opp-signal-card,
  .opp-strategy-banner,
  .opp-btn-soft,
  .opp-btn-secondary-strong,
  .opp-support-card,
  .opp-support-card-premium,
  .opp-rail-card,
  .opp-saas-metric,
  .opp-focus-card,
  .opp-focus-list div,
  .opp-sidebar-kpi,
  .opp-stage-item,
  .opp-next-item,
  .opp-status-option,
  .opp-field-card,
  .opp-input,
  .opp-select,
  .opp-textarea,
  .opp-tab-btn,
  .opp-table-wrap,
  .opp-items-stat,
  .opp-item-kind,
  .opp-item-meta-block,
  .opp-item-card,
  .opp-item-status-box,
  .opp-pager button,
  .opp-empty
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
}

html[data-theme="dark"] .opp-premium .opp-rail-card .content,
html[data-theme="dark"] .opp-premium .opp-panel-body {
  color: var(--pp-shell-text-soft);
  background: transparent;
}

html[data-theme="dark"] .opp-premium :is(
  .opp-context-copy strong,
  .opp-summary-item strong,
  .opp-hero-decision h3,
  .opp-secondary-card strong,
  .opp-panel-title,
  .opp-decision-card strong,
  .opp-signal-card strong,
  .opp-support-title,
  .opp-copilot-card h2,
  .opp-saas-banner-title,
  .opp-saas-metric strong,
  .opp-focus-card strong,
  .opp-sidebar-kpi strong,
  .opp-stage-item strong,
  .opp-next-item strong,
  .opp-status-content strong,
  .opp-field-card span,
  .opp-table tbody td,
  .opp-items-stat strong,
  .opp-item-title,
  .opp-item-meta-value,
  .opp-item-metric strong,
  .opp-item-status-box strong
) {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .opp-premium :is(
  .opp-context-copy,
  .opp-summary-item span,
  .opp-hero-decision p,
  .opp-secondary-card span,
  .opp-secondary-card p,
  .opp-panel-subtitle,
  .opp-decision-card h3,
  .opp-decision-card p,
  .opp-signal-card span,
  .opp-signal-card p,
  .opp-support-copy,
  .opp-command-note,
  .opp-copilot-card p,
  .opp-saas-banner-copy,
  .opp-saas-metric span,
  .opp-saas-metric small,
  .opp-focus-card h3,
  .opp-focus-card p,
  .opp-focus-list div,
  .opp-sidebar-kpi span,
  .opp-sidebar-kpi p,
  .opp-stage-item span,
  .opp-next-item p,
  .opp-pipeline-current-row p,
  .opp-status-content small,
  .opp-items-stat span,
  .opp-items-stat p,
  .opp-item-detail,
  .opp-item-meta-label,
  .opp-item-metric span,
  .opp-item-status-box p,
  .opp-item-code
) {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] .opp-premium :is(
  .opp-context-id,
  .opp-summary-callout,
  .opp-hero-decision,
  .opp-ai-strip,
  .opp-ai-badge,
  .opp-support-kicker,
  .opp-copilot-card,
  .opp-copilot-seal,
  .opp-stage-item.is-current,
  .opp-pipeline-current,
  .opp-status-option:has(input:checked),
  .opp-pill-info
) {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .opp-premium :is(.opp-tab-btn.is-active, .opp-btn-primary, .opp-btn-premium) {
  border-color: #3b82f6;
  color: #fff;
  background: linear-gradient(135deg, #2563eb, #4338ca);
}

html[data-theme="dark"] .opp-premium .opp-table thead th {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-muted);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .opp-premium .opp-table tbody tr:hover {
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .opp-premium :is(.opp-pill-ok) {
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] .opp-premium :is(.opp-pill-warn) {
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] .opp-premium :is(.opp-penalty-chip, .opp-btn-danger-soft, .opp-feedback-shell, .opp-pill-danger) {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: var(--pp-shell-danger-surface);
}

html[data-theme="dark"] .opp-premium .opp-pill-neutral {
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-soft);
}

/* Navegação transversal da jornada de precificação. */
html[data-theme="dark"] .pp-insumos-resource-page :is(
  .pp-insumos-resource-card,
  .pp-insumos-resource-item
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
  box-shadow: var(--pp-shell-shadow);
}

html[data-theme="dark"] .pp-insumos-resource-page .pp-insumos-resource-card__header {
  border-color: var(--pp-shell-border);
  background: linear-gradient(135deg, var(--pp-shell-info-surface), var(--pp-shell-surface));
}

html[data-theme="dark"] .pp-insumos-resource-page :is(
  .text-slate-900,
  .text-slate-800,
  .text-slate-700
) {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .pp-insumos-resource-page :is(
  .text-slate-600,
  .text-slate-500,
  .text-slate-400
) {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] .pp-insumos-resource-page :is(
  input,
  select,
  .resource-select-all,
  .resource-clear-all
) {
  border-color: var(--pp-shell-border-strong);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .pp-status-board > summary {
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface);
}

html[data-theme="dark"] .pp-status-board :is(
  .pp-status-board__summary-copy strong,
  .pp-status-board__item strong
) {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .pp-status-board :is(
  .pp-status-board__eyebrow,
  .pp-status-board__item small
) {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] .pp-status-board :is(.pp-status-board__item, .pp-status-board__marker) {
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .pp-status-board a.pp-status-board__item:hover,
html[data-theme="dark"] .pp-status-board__list .is-current .pp-status-board__item {
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .pp-status-board__list .is-done .pp-status-board__marker {
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] .pp-status-board__toggle {
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .pp-journey-completion,
html[data-theme="dark"] .pp-journey-steps li.is-current .pp-journey-step {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .pp-journey-steps li.is-current .pp-journey-step__body small {
  color: var(--pp-shell-brand-strong);
}

html[data-theme="dark"] .pp-journey-steps li.is-done .pp-journey-step__number {
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] .pp-journey-alert {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: var(--pp-shell-danger-surface);
}

html[data-theme="dark"] .pp-pricing-actionbar {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface-raised);
}

/* Gestão de propostas. */
html[data-theme="dark"] .pp-proposal-index :is(
  .proposal-btn-secondary,
  .proposal-btn-soft--muted,
  .proposal-stat,
  .proposal-toolbar,
  .proposal-select,
  .proposal-filter,
  .proposal-toggle,
  .proposal-toggle-btn,
  .proposal-card,
  .proposal-fact,
  .proposal-pagination,
  .proposal-page-btn,
  .proposal-empty
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
}

html[data-theme="dark"] .pp-proposal-index :is(
  .proposal-card__title,
  .proposal-fact__value,
  .proposal-stat__value,
  .proposal-status-row strong
) {
  color: var(--pp-shell-text) !important;
}

html[data-theme="dark"] .pp-proposal-index :is(
  .proposal-card__description,
  .proposal-fact__label,
  .proposal-stat__label,
  .proposal-stat__sub,
  .proposal-status-row,
  .proposal-list-head,
  .proposal-pagination
) {
  color: var(--pp-shell-muted) !important;
}

html[data-theme="dark"] .pp-proposal-index .proposal-fact__value--money {
  color: var(--pp-shell-brand-strong) !important;
}

html[data-theme="dark"] .pp-proposal-index :is(.proposal-filter:hover, .proposal-filter.is-active, .proposal-toggle-btn:hover, .proposal-toggle-btn.is-active, .proposal-btn-soft) {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .pp-proposal-index .proposal-badge--success {
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] .pp-proposal-index .proposal-badge--warning {
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] .pp-proposal-index :is(.proposal-alert--error, .proposal-btn-danger, .proposal-badge--danger) {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: var(--pp-shell-danger-surface);
}

html[data-theme="dark"] .pp-proposal-index :is(.proposal-alert--info) {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

/* Pilot global e confirmações de ações. */
html[data-theme="dark"] .pp-pilot-panel {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface);
}

html[data-theme="dark"] .pp-pilot-panel :is(
  .pp-pilot-disclaimer,
  .pp-pilot-shortcuts,
  .pp-pilot-shortcut,
  .pp-pilot-history,
  .pp-pilot-history button,
  .pp-pilot-messages,
  .pp-pilot-message--assistant .pp-pilot-bubble,
  .pp-pilot-source-more,
  .pp-pilot-action,
  .pp-pilot-action-modal__card,
  .pp-pilot-action-modal__btn--ghost,
  .pp-pilot-toast,
  .pp-pilot-radar-chip,
  .pp-pilot-footer,
  .pp-pilot-quick,
  .pp-pilot-quick button,
  .pp-pilot-form
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
}

html[data-theme="dark"] .pp-pilot-panel :is(.pp-pilot-shortcut.is-active, .pp-pilot-history button:hover, .pp-pilot-source, .pp-pilot-action:hover, .pp-pilot-radar-kicker, .pp-pilot-quick button:hover) {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .pp-pilot-panel .pp-pilot-messages {
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-canvas);
}

html[data-theme="dark"] .pp-pilot-panel .pp-pilot-message--assistant .pp-pilot-bubble {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface-raised);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
}

/* A variação do Radar usa !important no componente legado; o tema precisa vencer
   explicitamente para não combinar texto noturno com o gradiente branco. */
html[data-theme="dark"] .pp-pilot-panel .pp-pilot-message--assistant .pp-pilot-bubble--radar {
  border-color: var(--pp-shell-info-border) !important;
  color: var(--pp-shell-text) !important;
  background:
    radial-gradient(circle at top right, rgba(96, 165, 250, 0.16), transparent 36%),
    linear-gradient(180deg, var(--pp-shell-info-surface), var(--pp-shell-surface)) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.32) !important;
}

html[data-theme="dark"] .pp-pilot-panel :is(
  .pp-pilot-shortcut:hover,
  .pp-pilot-shortcut.is-active,
  .pp-pilot-history button:hover,
  .pp-pilot-radar-kicker,
  .pp-pilot-radar-chip,
  .pp-pilot-source,
  .pp-pilot-source-more:hover,
  .pp-pilot-action,
  .pp-pilot-action:hover,
  .pp-pilot-quick button:hover,
  .pp-pilot-toast
) {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .pp-pilot-panel :is(
  .pp-pilot-meta-details summary,
  .pp-pilot-source-text
) {
  color: var(--pp-shell-info-text);
}

html[data-theme="dark"] .pp-pilot-panel :is(
  .pp-pilot-sources-heading,
  .pp-pilot-action-modal__title
) {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .pp-pilot-panel :is(
  .pp-pilot-action-modal__text,
  .pp-pilot-loading
) {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] .pp-pilot-panel .pp-pilot-meta-details {
  border-color: var(--pp-shell-border);
}

html[data-theme="dark"] .pp-pilot-panel .pp-pilot-confidence--alta {
  border-color: var(--pp-shell-success-border);
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] .pp-pilot-panel .pp-pilot-confidence--media {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .pp-pilot-panel :is(
  .pp-pilot-confidence--baixa,
  .pp-pilot-confidence--validacao
) {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] .pp-pilot-panel .pp-pilot-confidence--sem-fonte {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: var(--pp-shell-danger-surface);
}

html[data-theme="dark"] .pp-pilot-panel .pp-pilot-action::before {
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-border);
}

html[data-theme="dark"] .pp-pilot-panel .pp-pilot-action-modal {
  background: var(--pp-shell-scrim);
}

html[data-theme="dark"] .pp-pilot-panel .pp-pilot-action-modal__card {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-raised);
  box-shadow: var(--pp-shell-shadow);
}

html[data-theme="dark"] .pp-pilot-panel :is(
  .pp-pilot-footer,
  .pp-pilot-quick,
  .pp-pilot-form
) {
  border-color: var(--pp-shell-border);
  background: var(--pp-shell-surface);
}

html[data-theme="dark"] .pp-pilot-panel .pp-pilot-input {
  border-color: var(--pp-shell-border-strong);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .pp-pilot-panel .pp-pilot-input::placeholder {
  color: var(--pp-shell-muted);
  opacity: 1;
}

html[data-theme="dark"] .pp-pilot-panel .pp-pilot-warning {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] .pp-pilot-panel .pp-pilot-error {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: var(--pp-shell-danger-surface);
}

html[data-theme="dark"] :is(.pp-pilot-action-modal__card, .pp-pilot-toast) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface-raised);
}

html[data-theme="dark"] .pp-pilot-action-modal__btn--ghost {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
}

/* Modais de sugestão de lance por grupo e por item. */
html[data-theme="dark"] :is(.slg-modal, .sli-modal) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface);
}

/* Contrato de superfícies internas para modais operacionais legados. */
html[data-theme="dark"] :is(
  .group-suggest-modal,
  .pilot-group-modal,
  .premium-confirm-card,
  .modal-competitor > div
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface-raised);
  box-shadow: var(--pp-shell-shadow);
}

html[data-theme="dark"] :is(
  .group-suggest-main,
  .pilot-group-main,
  .group-suggest-footer,
  .premium-confirm-card
) {
  border-color: var(--pp-shell-border);
  background: var(--pp-shell-canvas);
}

html[data-theme="dark"] .premium-confirm-card::before {
  background: linear-gradient(180deg, rgba(96, 165, 250, 0.08), transparent 28%);
}

html[data-theme="dark"] :is(
  .group-suggest-banner,
  .group-suggest-decision,
  .group-suggest-kv,
  .group-suggest-pilot,
  .group-suggest-pilot-item,
  .group-suggest-tax-copy,
  .group-suggest-reco,
  .group-suggest-impact-box,
  .group-suggest-strategy,
  .group-suggest-copy,
  .group-suggest-note,
  .pilot-group-banner,
  .pilot-kv,
  .pilot-strategy,
  .pilot-copy,
  .pilot-note,
  .premium-confirm-panel,
  .premium-confirm-input,
  .premium-confirm-ordinal
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
  box-shadow: none;
}

html[data-theme="dark"] :is(
  .group-suggest-decision-money,
  .group-suggest-kv-value,
  .group-suggest-pilot-value,
  .group-suggest-strategy-title,
  .group-suggest-money strong,
  .group-suggest-mini-value,
  .pilot-kv-value,
  .pilot-strategy-title,
  .pilot-strategy-money strong,
  .pilot-mini-value,
  .premium-confirm-title,
  .premium-confirm-panel-title,
  .premium-confirm-field label,
  .premium-confirm-input,
  .premium-confirm-ordinal
) {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] :is(
  .group-suggest-banner,
  .group-suggest-decision-title,
  .group-suggest-kv-label,
  .group-suggest-pilot-label,
  .group-suggest-pilot-copy,
  .group-suggest-tax-copy,
  .group-suggest-reco p,
  .group-suggest-impact-box p,
  .group-suggest-strategy-sub,
  .group-suggest-note,
  .group-suggest-mini-label,
  .group-suggest-action-note,
  .group-suggest-footer-copy,
  .pilot-group-banner,
  .pilot-kv-label,
  .pilot-kv-sub,
  .pilot-strategy-sub,
  .pilot-note,
  .pilot-mini-label,
  .premium-confirm-subtitle,
  .premium-confirm-panel-label,
  .premium-confirm-panel-text,
  .premium-confirm-input-hint,
  .premium-confirm-helper
) {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] :is(.group-suggest-status-panel.safe, .group-suggest-badge.low, .pilot-strategy-badge.risk-low) {
  border-color: var(--pp-shell-success-border);
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] :is(.group-suggest-status-panel.warn, .group-suggest-badge.medium, .pilot-strategy-badge.risk-medium) {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] :is(
  .group-suggest-status-panel.risk,
  .group-suggest-badge.high,
  .pilot-strategy-badge.risk-high,
  .premium-confirm-panel.is-danger,
  .premium-confirm-danger-icon
) {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: var(--pp-shell-danger-surface);
}

html[data-theme="dark"] :is(.group-suggest-badge.rec, .pilot-strategy-badge.rec) {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] :is(.slg-right, .sli-right) {
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-canvas);
}

html[data-theme="dark"] :is(
  .slg-metric,
  .slg-card,
  .slg-copy,
  .slg-note,
  .slg-pilot,
  .slg-pilot-item,
  .slg-just,
  .sli-metric,
  .sli-card,
  .sli-copy,
  .sli-note,
  .sli-pilot,
  .sli-pilot-item,
  .sli-ia-card
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
}

html[data-theme="dark"] :is(
  .slg-metric-label,
  .slg-pilot-label,
  .sli-metric-label,
  .sli-pilot-label
) {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] :is(
  .slg-metric-value,
  .slg-card-title,
  .slg-value,
  .slg-pilot-value,
  .sli-metric-value,
  .sli-card-title,
  .sli-value,
  .sli-pilot-value
) {
  color: var(--pp-shell-text);
}

/* Etapa fiscal e tributária da jornada. */
html[data-theme="dark"] :is(
  .tax-compact-card,
  .tax-accordion-head,
  .tax-sticky-summary,
  .tax-summary-item,
  .tax-toggle-card,
  .tax-money-field
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface);
}

html[data-theme="dark"] .tax-summary-label,
html[data-theme="dark"] .tax-money-caption,
html[data-theme="dark"] .tax-money-input::placeholder {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] .tax-summary-value,
html[data-theme="dark"] .tax-money-input {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] :is(.tax-pill, .tax-money-prefix) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-muted);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .tax-toggle {
  background: var(--pp-shell-border-strong);
}

html[data-theme="dark"] .tax-inline-alert,
html[data-theme="dark"] .tax-pill.is-warn {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] .tax-pill.is-info {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .pp-pricing-actionbar {
  border-color: var(--pp-shell-border);
  background: var(--pp-shell-surface-raised);
}

html[data-theme="dark"] :is(
  .project-stat,
  .project-toolbar,
  .project-card,
  .project-pagination,
  .project-summary-kpi,
  .project-summary__export,
  .project-summary-module,
  .project-summary-proposal__shell,
  .project-summary-item,
  .calculation-parameters-kpi,
  .calculation-parameters-toolbar,
  .calculation-parameters-catalog,
  .calculation-parameters-advanced,
  .calculation-parameters-form__step,
  .calculation-parameters-modal__dialog,
  .labor-charges-kpi,
  .labor-charges-toolbar
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface-raised);
  box-shadow: var(--pp-shell-shadow);
}

html[data-theme="dark"] :is(
  .calculation-parameters-modal__header,
  .calculation-parameters-modal__actions,
  .calculation-parameters-modal__comparison > div
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .calculation-parameters-modal__comparison > .is-new {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] .calculation-parameters-modal__notice {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] :is(
  .project-input,
  .project-select,
  .calculation-parameters-field input,
  .calculation-parameters-field select,
  .labor-charges-field input,
  .labor-charges-field select
) {
  border-color: var(--pp-shell-border-strong);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface);
}

/* Cadastro do projeto: os estilos locais são posteriores ao shell e exigem um contrato específico. */
html[data-theme="dark"] .pp-pricing-page.project-shell :is(
  .project-form-card,
  .side-note-card,
  .pricing-panel,
  .pricing-option
) {
  border-color: var(--pp-shell-border) !important;
  color: var(--pp-shell-text-soft) !important;
  background: var(--pp-shell-surface) !important;
  box-shadow: var(--pp-shell-shadow) !important;
}

html[data-theme="dark"] .pp-pricing-page.project-shell .pricing-option.is-selected {
  border-color: var(--pp-shell-info-border) !important;
  background: linear-gradient(145deg, var(--pp-shell-info-surface), var(--pp-shell-surface)) !important;
}

html[data-theme="dark"] .pp-pricing-page.project-shell :is(
  .project-section-title,
  .pricing-option h4
) {
  color: var(--pp-shell-text) !important;
}

html[data-theme="dark"] .pp-pricing-page.project-shell :is(
  .project-field-label,
  .project-help,
  .pricing-option p
) {
  color: var(--pp-shell-muted) !important;
}

html[data-theme="dark"] .pp-pricing-page.project-shell :is(
  .project-input,
  .project-select,
  .project-textarea
) {
  border-color: var(--pp-shell-border-strong) !important;
  color: var(--pp-shell-text) !important;
  background: var(--pp-shell-surface-soft) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] .pp-pricing-page.project-shell :is(.pricing-kicker, .pricing-callout-title) {
  color: var(--pp-shell-brand-strong) !important;
}

html[data-theme="dark"] .pp-pricing-page.project-shell .pricing-badge--primary {
  border-color: var(--pp-shell-info-border) !important;
  color: var(--pp-shell-info-text) !important;
  background: var(--pp-shell-info-surface) !important;
}

html[data-theme="dark"] .pp-pricing-page.project-shell .pricing-badge--success {
  border-color: var(--pp-shell-success-border) !important;
  color: var(--pp-shell-success-text) !important;
  background: var(--pp-shell-success-surface) !important;
}

html[data-theme="dark"] .pp-pricing-page.project-shell .pricing-callout {
  border-color: var(--pp-shell-info-border) !important;
  background: var(--pp-shell-info-surface) !important;
}

html[data-theme="dark"] .pp-pricing-page.project-shell .pricing-callout-text {
  color: var(--pp-shell-info-text) !important;
}

html[data-theme="dark"] .pp-pricing-page.project-shell .project-btn-secondary {
  border-color: var(--pp-shell-border) !important;
  color: var(--pp-shell-text-soft) !important;
  background: var(--pp-shell-surface-soft) !important;
}

/* Benefícios e insumos: estados selecionados da jornada não podem manter texto escuro. */
html[data-theme="dark"] .pp-pricing-page .scenario-pill.active,
html[data-theme="dark"] .pp-pricing-page .insumo-record.selected {
  border-color: var(--pp-shell-info-border) !important;
  color: var(--pp-shell-info-text) !important;
  background: var(--pp-shell-info-surface) !important;
}

html[data-theme="dark"] #componentes-section,
html[data-theme="dark"] #componentes-section > summary,
html[data-theme="dark"] #componentes-section .bg-white {
  border-color: var(--pp-shell-danger-border) !important;
  color: var(--pp-shell-text-soft) !important;
  background: var(--pp-shell-surface) !important;
}

/* Modelos de exportação: métricas, fluxo, busca e modal compartilham a mesma superfície. */
html[data-theme="dark"] .export-templates-page :is(
  .metric-card,
  .flow-chip,
  #tour-exportacao-projeto,
  #tour-exportacao-fluxo > div,
  #projeto-sugestoes,
  #upload,
  #delete-layout-modal > div
) {
  border-color: var(--pp-shell-border) !important;
  color: var(--pp-shell-text-soft) !important;
  background: var(--pp-shell-surface) !important;
  box-shadow: var(--pp-shell-shadow) !important;
}

html[data-theme="dark"] .export-templates-page .metric-card {
  background: linear-gradient(160deg, var(--pp-shell-surface), var(--pp-shell-surface-soft)) !important;
}

html[data-theme="dark"] .export-templates-page :is(
  #projeto-autocomplete,
  #upload input,
  #upload select,
  #upload textarea
) {
  border-color: var(--pp-shell-border-strong) !important;
  color: var(--pp-shell-text) !important;
  background: var(--pp-shell-surface-soft) !important;
}

/* Mapeamento de exportação: superfícies Lumen também seguem os tokens do shell. */
html[data-theme="dark"] .export-map-page {
  --lumen-primary: #2563eb;
  --lumen-primary-2: #1d4ed8;
  --lumen-primary-3: var(--pp-shell-brand);
  --lumen-soft: var(--pp-shell-info-surface);
  --lumen-soft-2: var(--pp-shell-info-border);
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .export-map-page :is(
  #tour-exportacao-mapeamento-projeto,
  #tour-exportacao-mapeamento-stepper,
  .step-panel,
  #tour-exportacao-mapeamento-footer > div
) {
  border-color: var(--pp-shell-border) !important;
  color: var(--pp-shell-text-soft) !important;
  background: var(--pp-shell-surface) !important;
  box-shadow: var(--pp-shell-shadow) !important;
}

html[data-theme="dark"] .export-map-page :is(
  input,
  select,
  textarea,
  .map-search,
  .map-select,
  .value-input,
  .percent-input
) {
  border-color: var(--pp-shell-border-strong) !important;
  color: var(--pp-shell-text) !important;
  background: var(--pp-shell-surface-soft) !important;
}

html[data-theme="dark"] .export-map-page [class*="bg-[color:var(--lumen-soft)]"] {
  border-color: var(--pp-shell-info-border) !important;
  color: var(--pp-shell-info-text) !important;
  background: var(--pp-shell-info-surface) !important;
}

html[data-theme="dark"] .export-map-page [class*="bg-[color:var(--lumen-soft)]"] :is(
  .text-slate-900,
  .text-slate-800,
  .text-slate-700
) {
  color: var(--pp-shell-info-text) !important;
}

/* Biblioteca de modelos de proposta e modal destrutivo compartilhado. */
html[data-theme="dark"] .proposal-templates-page :is(
  #tour-proposta-templates-tabela,
  #templates-no-results
) {
  border-color: var(--pp-shell-border) !important;
  color: var(--pp-shell-text-soft) !important;
  background: var(--pp-shell-surface) !important;
}

html[data-theme="dark"] .proposal-templates-page :is(input, select, textarea) {
  border-color: var(--pp-shell-border-strong) !important;
  color: var(--pp-shell-text) !important;
  background: var(--pp-shell-surface-soft) !important;
}

html[data-theme="dark"] .pp-delete-confirm-modal__dialog {
  border-color: var(--pp-shell-danger-border) !important;
  color: var(--pp-shell-text-soft) !important;
  background: var(--pp-shell-surface-raised) !important;
  box-shadow: var(--pp-shell-shadow) !important;
}

html[data-theme="dark"] .pp-delete-confirm-modal__dialog :is(h2, h3, strong) {
  color: var(--pp-shell-text) !important;
}

/* Encargos da empresa: orientação, catálogo, controles e estados semânticos. */
html[data-theme="dark"] .labor-charges :is(
  .labor-charges-guidance,
  .labor-charges-create,
  .labor-charges-catalog,
  .labor-charges-checkbox,
  .labor-charges-empty,
  .labor-charges-filter-empty
) {
  border-color: var(--pp-shell-border) !important;
  color: var(--pp-shell-text-soft) !important;
  background: var(--pp-shell-surface) !important;
  box-shadow: var(--pp-shell-shadow) !important;
}

html[data-theme="dark"] .labor-charges :is(
  .labor-charges-guidance__content h2,
  .labor-charges-guidance__content > strong,
  .labor-charges-create__heading h2,
  .labor-charges-toolbar h2,
  .labor-charges-field label,
  .labor-charges-checkbox strong,
  .labor-charges-table__identity strong,
  .labor-charges-switch__label
) {
  color: var(--pp-shell-text) !important;
}

html[data-theme="dark"] .labor-charges :is(
  .labor-charges__section-eyebrow,
  .labor-charges-guidance__content > p:not(.labor-charges__section-eyebrow),
  .labor-charges-field__help,
  .labor-charges-checkbox small
) {
  color: var(--pp-shell-muted) !important;
}

html[data-theme="dark"] .labor-charges :is(
  .labor-charges-field input,
  .labor-charges-search input,
  .labor-charges-toolbar select
) {
  border-color: var(--pp-shell-border-strong) !important;
  color: var(--pp-shell-text) !important;
  background: var(--pp-shell-surface-soft) !important;
}

html[data-theme="dark"] .labor-charges :is(
  .labor-charges-badge--neutral,
  .labor-charges-btn--secondary
) {
  border-color: var(--pp-shell-border) !important;
  color: var(--pp-shell-text-soft) !important;
  background: var(--pp-shell-surface-soft) !important;
}

/* Etapa 8: contrato explícito para o workspace e cards de resumo da proposta. */
html[data-theme="dark"] .pp-proposal-items-page .pp-proposal-items-overview,
html[data-theme="dark"] .pp-proposal-items-page .pp-proposal-items-overview :is(
  .bg-white,
  .bg-white\/85,
  .bg-white\/88,
  .bg-white\/92,
  .bg-slate-50\/80
) {
  border-color: var(--pp-shell-border) !important;
  color: var(--pp-shell-text-soft) !important;
  background: var(--pp-shell-surface) !important;
}

html[data-theme="dark"] .pp-proposal-items-page .pp-proposal-items-overview :is(
  .text-slate-950,
  .text-slate-900,
  .text-slate-800
) {
  color: var(--pp-shell-text) !important;
}

html[data-theme="dark"] .pp-proposal-items-page .pp-proposal-items-overview :is(
  .text-slate-600,
  .text-slate-500,
  .text-slate-400
) {
  color: var(--pp-shell-muted) !important;
}

html[data-theme="dark"] :is(
  .project-btn-soft--muted,
  .project-page-btn,
  .project-summary-btn--secondary,
  .calculation-parameters-btn--secondary,
  .labor-charges-btn--secondary
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] :is(
  .project-summary-tabs__button.is-active,
  .project-toggle-btn.is-active,
  .project-toggle-btn:hover
) {
  color: var(--pp-shell-brand-strong);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] :is(
  .calculation-parameters-table thead,
  .calculation-parameters-table th,
  .labor-charges-table thead,
  .labor-charges-table th
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-muted);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] :is(
  .calculation-parameters-table td,
  .labor-charges-table td
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
}

/* Parâmetros de cálculo: cobre toda a experiência padrão e avançada. */
html[data-theme="dark"] .calculation-parameters .calculation-parameters__section-eyebrow {
  color: var(--pp-shell-brand-strong);
}

html[data-theme="dark"] .calculation-parameters :is(
  .calculation-parameters-copilot--info,
  .calculation-parameters-form__effect,
  .calculation-parameters-modal__notice
) {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .calculation-parameters :is(
  .calculation-parameters-copilot--warning,
  .calculation-parameters-advanced__guidance
) {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-copilot--info {
  background: linear-gradient(135deg, var(--pp-shell-info-surface), var(--pp-shell-surface));
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-copilot--warning {
  background: linear-gradient(135deg, var(--pp-shell-warning-surface), var(--pp-shell-surface));
}

html[data-theme="dark"] .calculation-parameters :is(
  .calculation-parameters-copilot--warning .calculation-parameters__section-eyebrow,
  .calculation-parameters-advanced__header .calculation-parameters__section-eyebrow,
  .calculation-parameters-advanced__guidance strong,
  .calculation-parameters-review .is-new dd,
  .calculation-parameters-modal__comparison > .is-new strong
) {
  color: var(--pp-shell-warning-text);
}

html[data-theme="dark"] .calculation-parameters :is(
  .calculation-parameters-advanced__header,
  .calculation-parameters-modal__header
) {
  border-color: var(--pp-shell-warning-border);
  background: linear-gradient(135deg, var(--pp-shell-warning-surface), var(--pp-shell-surface));
}

html[data-theme="dark"] .calculation-parameters :is(
  .calculation-parameters-advanced__header h2,
  .calculation-parameters-modal__header h2,
  .calculation-parameters-form__step-heading h3,
  .calculation-parameters-current dd,
  .calculation-parameters-review dd,
  .calculation-parameters-modal__body strong
) {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .calculation-parameters :is(
  .calculation-parameters-advanced__header > div > p:last-child,
  .calculation-parameters-form__step-heading p,
  .calculation-parameters-field__help,
  .calculation-parameters-current dt,
  .calculation-parameters-review dt,
  .calculation-parameters-modal__header p,
  .calculation-parameters-modal__body span
) {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] .calculation-parameters :is(
  .calculation-parameters-stepper,
  .calculation-parameters-catalog__footer,
  .calculation-parameters-current,
  .calculation-parameters-review,
  .calculation-parameters-modal__actions,
  .calculation-parameters-modal__comparison > div
) {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-advanced__body,
html[data-theme="dark"] .calculation-parameters .calculation-parameters-modal__body {
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-raised);
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-stepper li,
html[data-theme="dark"] .calculation-parameters .calculation-parameters-current__label,
html[data-theme="dark"] .calculation-parameters .calculation-parameters-field label {
  color: var(--pp-shell-text-soft);
}

html[data-theme="dark"] .calculation-parameters :is(
  .calculation-parameters-stepper span,
  .calculation-parameters-form__step-heading > span
) {
  color: #07111f;
  background: var(--pp-shell-brand-strong);
}

html[data-theme="dark"] .calculation-parameters :is(
  .calculation-parameters-search input,
  .calculation-parameters-field input,
  .calculation-parameters-field select
) {
  border-color: var(--pp-shell-border-strong);
  color: var(--pp-shell-text);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .calculation-parameters :is(
  .calculation-parameters-search input,
  .calculation-parameters-field input
)::placeholder {
  color: var(--pp-shell-muted);
  opacity: 1;
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-field input:disabled,
html[data-theme="dark"] .calculation-parameters .calculation-parameters-btn:disabled {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-muted);
  background: var(--pp-shell-canvas);
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-search svg {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-table tbody tr:not(.calculation-parameters-table__empty):hover {
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-modal__comparison > .is-new {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-form__feedback,
html[data-theme="dark"] .calculation-parameters .calculation-parameters-alert--error {
  border-color: var(--pp-shell-danger-border);
  color: var(--pp-shell-danger-text);
  background: var(--pp-shell-danger-surface);
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-alert--success {
  border-color: var(--pp-shell-success-border);
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-badge--neutral {
  border-color: var(--pp-shell-border);
  color: var(--pp-shell-text-soft);
  background: var(--pp-shell-surface-soft);
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-badge--info {
  border-color: var(--pp-shell-info-border);
  color: var(--pp-shell-info-text);
  background: var(--pp-shell-info-surface);
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-badge--success {
  border-color: var(--pp-shell-success-border);
  color: var(--pp-shell-success-text);
  background: var(--pp-shell-success-surface);
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-badge--warning {
  border-color: var(--pp-shell-warning-border);
  color: var(--pp-shell-warning-text);
  background: var(--pp-shell-warning-surface);
}

html[data-theme="dark"] .calculation-parameters .calculation-parameters-badge--violet {
  border-color: var(--pp-shell-info-border);
  color: #ddd6fe;
  background: #251b48;
}

@media (max-width: 767.98px) {
  html[data-theme="dark"] :is(.calculation-parameters-table tr, .labor-charges-table tr) {
    border-color: var(--pp-shell-border);
    background: var(--pp-shell-surface);
  }
}

html[data-theme="dark"] .app-loading-title,
html[data-theme="dark"] .wizard-loading-title {
  color: var(--pp-shell-text);
}

html[data-theme="dark"] .app-loading-sub,
html[data-theme="dark"] .wizard-loading-sub {
  color: var(--pp-shell-muted);
}

html[data-theme="dark"] footer {
  color: var(--pp-shell-muted) !important;
}

/* FDS-117 — switches de configuração do Radar: estado legível em qualquer tema. */
.pp-interests-switch {
  min-height: 2rem;
  color: var(--pp-shell-text-soft);
}

.pp-interests-switch__track {
  display: inline-flex;
  width: 2.75rem;
  height: 1.5rem;
  flex: 0 0 auto;
  border: 1px solid var(--pp-shell-muted);
  border-radius: var(--pp-radius-pill);
  background: var(--pp-shell-border-strong);
  box-shadow: inset 0 1px 2px color-mix(in srgb, var(--pp-shell-text) 18%, transparent);
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.pp-interests-switch__thumb {
  position: absolute;
  inset-inline-start: 0.125rem;
  top: 0.25rem;
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid var(--pp-shell-border-strong);
  border-radius: 50%;
  background: var(--pp-shell-surface);
  box-shadow: 0 2px 5px color-mix(in srgb, var(--pp-shell-text) 30%, transparent);
  transition: transform 180ms ease;
}

.pp-interests-switch input:checked ~ .pp-interests-switch__track {
  border-color: var(--pp-shell-brand-strong);
  background: var(--pp-shell-brand);
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--pp-shell-brand) 24%, transparent),
    0 0 16px color-mix(in srgb, var(--pp-shell-brand) 30%, transparent);
}

.pp-interests-switch input:checked ~ .pp-interests-switch__thumb {
  transform: translateX(1.25rem);
}

.pp-interests-switch input:focus-visible ~ .pp-interests-switch__track {
  outline: 3px solid var(--pp-shell-focus);
  outline-offset: 2px;
}

.pp-interests-switch__state {
  min-width: 3.6rem;
  font-size: 0.75rem;
  font-weight: 750;
}

.pp-interests-switch__off { color: var(--pp-shell-text-soft); }
.pp-interests-switch__on { display: none; color: var(--pp-shell-brand-strong); }
.pp-interests-switch input:checked ~ .pp-interests-switch__state .pp-interests-switch__off { display: none; }
.pp-interests-switch input:checked ~ .pp-interests-switch__state .pp-interests-switch__on { display: inline; }

html[data-theme="dark"] .pp-interests-switch__track {
  border-color: var(--pp-shell-muted);
  background: var(--pp-shell-border-strong);
}

html[data-theme="dark"] .pp-interests-switch input:checked ~ .pp-interests-switch__track {
  border-color: var(--pp-shell-brand-strong);
  background: var(--pp-shell-brand);
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--pp-shell-brand) 36%, transparent),
    0 0 18px color-mix(in srgb, var(--pp-shell-brand) 42%, transparent);
}

html[data-theme="dark"] .pp-interests-switch input:checked ~ .pp-interests-switch__thumb {
  border-color: var(--pp-shell-canvas);
  background: var(--pp-shell-canvas);
}

html[data-theme="dark"] .pp-interests-switch__off { color: var(--pp-shell-text-soft); }
html[data-theme="dark"] .pp-interests-switch__on { color: var(--pp-shell-brand-strong); }

@media (max-width: 767.98px) {
  .topbar {
    min-height: 3.5rem;
  }

  .sidebar {
    width: min(88vw, 19rem);
    padding-left: env(safe-area-inset-left);
  }

  .sidebar-brand {
    min-height: 92px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body,
  .content,
  .sidebar,
  .sidebar *,
  .topbar,
  .topbar * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
