/* Shared dark theme. Light-mode styles remain owned by each page stylesheet. */
html[data-theme="dark"] {
  color-scheme: dark;
  --background: #121214;
  --bg: #121214;
  --surface: #1a1a1e;
  --surface-2: #202025;
  --surface-strong: #29292f;
  --panel: #1a1a1e;
  --soft: #222228;
  --text: #e3e3e6;
  --primary: #e3e3e6;
  --muted: #a0a0a8;
  --line: #34343b;
  --border: #34343b;
  --line-dark: #474750;
  --dark: #6b96d8;
  --secondary: #78a6e8;
  --accent: #8f91d8;
  --accent-soft: rgba(111, 115, 190, 0.16);
  --ok: #6fcf97;
  --success: #6fcf97;
  --warning: #e7b75d;
  --danger: #ed7d83;
  --shadow: 0 1px 2px rgba(0, 0, 0, 0.32), 0 18px 48px rgba(0, 0, 0, 0.24);
  background: var(--bg);
}

html[data-theme="dark"] body {
  background: var(--bg);
  color: var(--text);
}

html[data-theme="dark"] ::selection {
  background: rgba(120, 166, 232, 0.3);
  color: #f1f1f3;
}

html[data-theme="dark"] :focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(120, 166, 232, 0.24) !important;
}

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
  background: #17171b;
  border-color: var(--line);
  color: var(--text);
}

html[data-theme="dark"] input:hover,
html[data-theme="dark"] select:hover,
html[data-theme="dark"] textarea:hover {
  border-color: var(--line-dark);
}

html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus {
  border-color: #668ec7;
  box-shadow: 0 0 0 3px rgba(102, 142, 199, 0.18);
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color: #74747d;
}

html[data-theme="dark"] input[readonly],
html[data-theme="dark"] input:disabled,
html[data-theme="dark"] select:disabled,
html[data-theme="dark"] textarea:disabled {
  background: #202025;
  color: #777780;
}

/* Admin operations */
html[data-theme="dark"] .admin-member-page .sidebar {
  background: #151519;
  border-right: 1px solid #29292f;
}

html[data-theme="dark"] .admin-member-page .brand,
html[data-theme="dark"] .admin-member-page .account {
  color: var(--text);
}

html[data-theme="dark"] .admin-member-page .brand span,
html[data-theme="dark"] .admin-member-page .account small,
html[data-theme="dark"] .admin-member-page header p,
html[data-theme="dark"] .admin-member-page .panel p,
html[data-theme="dark"] .admin-member-page .modal p {
  color: var(--muted);
}

html[data-theme="dark"] .admin-member-page .nav {
  color: #a0a0a8;
}

html[data-theme="dark"] .admin-member-page .nav:hover {
  background: #202025;
  color: var(--text);
}

html[data-theme="dark"] .admin-member-page .nav.active {
  background: rgba(120, 166, 232, 0.14);
  color: #b8d4f5;
  box-shadow: inset 3px 0 0 #78a6e8;
}

html[data-theme="dark"] .admin-member-page .account {
  border-color: #29292f;
}

html[data-theme="dark"] .admin-member-page .panel,
html[data-theme="dark"] .admin-member-page .metric-card,
html[data-theme="dark"] .admin-member-page .report-metric,
html[data-theme="dark"] .admin-member-page .stat,
html[data-theme="dark"] .admin-member-page .subscription {
  background: var(--panel);
  border-color: var(--line);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"] .admin-member-page .metric-card:hover,
html[data-theme="dark"] .admin-member-page .stat:hover,
html[data-theme="dark"] .admin-member-page .subscription:hover {
  border-color: var(--line-dark);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"] .admin-member-page .metric-card::before,
html[data-theme="dark"] .admin-member-page .sales-day i {
  background: #7399d0;
}

html[data-theme="dark"] .admin-member-page .metric-card > strong,
html[data-theme="dark"] .admin-member-page .metric-value,
html[data-theme="dark"] .admin-member-page .stat strong,
html[data-theme="dark"] .admin-member-page .report-metric strong,
html[data-theme="dark"] .admin-member-page .chart-totals strong,
html[data-theme="dark"] .admin-member-page .service-health strong,
html[data-theme="dark"] .admin-member-page .subscription-title strong,
html[data-theme="dark"] .admin-member-page .health-value {
  color: var(--text);
}

html[data-theme="dark"] .admin-member-page .report-metric-icon,
html[data-theme="dark"] .admin-member-page .report-list span b {
  background: rgba(143, 145, 216, 0.14);
  color: #acaeec;
}

html[data-theme="dark"] .admin-member-page .primary {
  background: #668ec7;
  border-color: #668ec7;
  color: #101014;
  box-shadow: none;
}

html[data-theme="dark"] .admin-member-page .primary:hover {
  background: #78a6e8;
  border-color: #78a6e8;
  color: #101014;
}

html[data-theme="dark"] .admin-member-page .secondary,
html[data-theme="dark"] .admin-member-page .ghost,
html[data-theme="dark"] .admin-member-page .icon,
html[data-theme="dark"] .admin-member-page .account .ghost {
  background: #202025;
  border-color: var(--line);
  color: #c8c8cd;
}

html[data-theme="dark"] .admin-member-page .secondary:hover,
html[data-theme="dark"] .admin-member-page .ghost:hover,
html[data-theme="dark"] .admin-member-page .icon:hover,
html[data-theme="dark"] .admin-member-page .account .ghost:hover {
  background: #29292f;
  border-color: #50505a;
  color: var(--text);
}

html[data-theme="dark"] .admin-member-page .danger-button {
  background: #9f484e;
  border-color: #b95a61;
  color: #f3e6e7;
}

html[data-theme="dark"] .admin-member-page .provider-hint,
html[data-theme="dark"] .admin-member-page .purchase-context,
html[data-theme="dark"] .admin-member-page .price-preview,
html[data-theme="dark"] .admin-member-page .member-bulk-bar,
html[data-theme="dark"] .admin-member-page pre {
  background: var(--surface-2);
  border-color: var(--line);
  color: var(--muted);
}

html[data-theme="dark"] .admin-member-page .subscription-meta {
  background: var(--line);
  border-color: var(--line);
}

html[data-theme="dark"] .admin-member-page .subscription-meta > span,
html[data-theme="dark"] .admin-member-page .trial-specs span,
html[data-theme="dark"] .admin-member-page .health-metric {
  background: var(--surface-2);
}

html[data-theme="dark"] .admin-member-page th,
html[data-theme="dark"] .admin-member-page td,
html[data-theme="dark"] .admin-member-page .sales-day > div,
html[data-theme="dark"] .admin-member-page .chart-grid-lines i {
  border-color: var(--line);
}

html[data-theme="dark"] .admin-member-page th {
  background: #1d1d22;
  color: #9999a2;
}

html[data-theme="dark"] .admin-member-page tbody tr:hover {
  background: #202025;
}

html[data-theme="dark"] .admin-member-page .segmented {
  background: #17171b;
  border-color: var(--line);
}

html[data-theme="dark"] .admin-member-page .segmented button {
  color: var(--muted);
}

html[data-theme="dark"] .admin-member-page .segmented button.active {
  background: #353b4b;
  color: #d8e6f8;
}

html[data-theme="dark"] .admin-member-page .modal-wrap {
  background: rgba(7, 7, 9, 0.72);
}

html[data-theme="dark"] .admin-member-page .modal {
  background: #242429;
  border: 1px solid #45454e;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.5);
}

html[data-theme="dark"] .admin-member-page .modal-head {
  border-color: #3b3b43;
}

html[data-theme="dark"] .admin-member-page .progress,
html[data-theme="dark"] .admin-member-page .mini-progress {
  background: #35353d;
}

html[data-theme="dark"] .admin-member-page .progress span,
html[data-theme="dark"] .admin-member-page .mini-progress i {
  background: #7399d0;
}

html[data-theme="dark"] .admin-member-page .boost-note {
  background: rgba(111, 207, 151, 0.1);
  border-color: #51866a;
  color: #8bd9aa;
}

html[data-theme="dark"] .admin-member-page .warning-note,
html[data-theme="dark"] .admin-member-page .pending-note {
  background: rgba(231, 183, 93, 0.1);
  border-color: #816a39;
  color: #e4c887;
}

html[data-theme="dark"] .admin-member-page .badge.ok,
html[data-theme="dark"] .admin-member-page .status-pill.ok,
html[data-theme="dark"] .admin-member-page .trend.up {
  background: rgba(111, 207, 151, 0.1);
  border-color: rgba(111, 207, 151, 0.34);
  color: #8bd9aa;
}

html[data-theme="dark"] .admin-member-page .badge.bad,
html[data-theme="dark"] .admin-member-page .status-pill.bad,
html[data-theme="dark"] .admin-member-page .trend.down,
html[data-theme="dark"] .admin-member-page .danger-soft {
  background: rgba(237, 125, 131, 0.1);
  border-color: rgba(237, 125, 131, 0.34);
  color: #f09a9f;
}

html[data-theme="dark"] .admin-member-page .action-menu-panel {
  background: #29292f;
  border-color: #474750;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.36);
}

html[data-theme="dark"] .admin-member-page .action-menu-panel button:hover {
  background: #34343b;
}

html[data-theme="dark"] .admin-member-page .notice {
  background: #313640;
  border: 1px solid #4b5363;
  color: var(--text);
}

html[data-theme="dark"] .admin-member-page .notice[data-type="error"] {
  background: #562f34;
  border-color: #81474d;
  color: #f3c7ca;
}

/* Member application */
html[data-theme="dark"] .member-page .sidebar {
  background: #151519;
  border-color: #29292f;
}

html[data-theme="dark"] .member-page .topbar {
  background: rgba(18, 18, 20, 0.94);
  border-color: var(--line);
}

html[data-theme="dark"] .member-page .panel,
html[data-theme="dark"] .member-page .metrics,
html[data-theme="dark"] .member-page .metric,
html[data-theme="dark"] .member-page .subscription-row,
html[data-theme="dark"] .member-page .price-row,
html[data-theme="dark"] .member-page .tool-choice,
html[data-theme="dark"] .member-page .doc-link,
html[data-theme="dark"] .member-page .usage-foot,
html[data-theme="dark"] .member-page .notice {
  background: var(--panel);
  border-color: var(--line);
  color: var(--text);
  box-shadow: none;
}

html[data-theme="dark"] .member-page .payment-advisory {
  background: #2b2118;
  border-color: #7c5428;
  color: #f6c982;
}

html[data-theme="dark"] .member-page .payment-advisory-copy span {
  color: #d9ad6b;
}

html[data-theme="dark"] .member-page .payment-advisory-link {
  background: #211b16;
  border-color: #7c5428;
  color: #f6c982;
}

html[data-theme="dark"] .member-page .payment-advisory-link:hover {
  background: #372719;
  border-color: #a36b2d;
}

html[data-theme="dark"] .member-page .metric-value,
html[data-theme="dark"] .member-page .price,
html[data-theme="dark"] .member-page .usage-number,
html[data-theme="dark"] .member-page .subscription-name,
html[data-theme="dark"] .member-page h1,
html[data-theme="dark"] .member-page h2,
html[data-theme="dark"] .member-page h3,
html[data-theme="dark"] .member-page h4 {
  color: var(--text);
}

html[data-theme="dark"] .member-page .tool-choice:hover,
html[data-theme="dark"] .member-page .doc-link:hover,
html[data-theme="dark"] .member-page .price-row:hover {
  background: var(--surface-2);
  border-color: var(--line-dark);
}

html[data-theme="dark"] .member-page .tool-choice.active,
html[data-theme="dark"] .member-page .price-row.selected {
  background: rgba(120, 166, 232, 0.1);
  border-color: #668ec7;
}

html[data-theme="dark"] .member-page .package-step,
html[data-theme="dark"] .member-page .custom-package-prompt,
html[data-theme="dark"] .member-page .endpoint,
html[data-theme="dark"] .member-page .usage-item,
html[data-theme="dark"] .member-page .boost-summary > div,
html[data-theme="dark"] .member-page .api-test-details > div {
  background: var(--surface-2);
  border-color: var(--line);
  color: var(--text);
}

html[data-theme="dark"] .member-page .boost-explainer {
  background: rgba(120, 166, 232, 0.08);
  border-color: #405a7d;
  color: #a9c9f2;
}

html[data-theme="dark"] .member-page .duration-options,
html[data-theme="dark"] .member-page .package-type {
  background: #17171b;
  border-color: var(--line);
  color: var(--muted);
}

html[data-theme="dark"] .member-page .duration-options button {
  color: var(--muted);
}

html[data-theme="dark"] .member-page .duration-options button.active,
html[data-theme="dark"] .member-page .package-type.active {
  background: #353b4b;
  color: #d8e6f8;
}

html[data-theme="dark"] .member-page .btn {
  background: #668ec7;
  border-color: #668ec7;
  color: #101014;
}

html[data-theme="dark"] .member-page .btn:hover {
  background: #78a6e8;
  border-color: #78a6e8;
}

html[data-theme="dark"] .member-page .btn.secondary,
html[data-theme="dark"] .member-page .icon-action,
html[data-theme="dark"] .member-page .icon-button {
  background: #202025;
  border-color: var(--line);
  color: #c8c8cd;
}

html[data-theme="dark"] .member-page .btn.secondary:hover,
html[data-theme="dark"] .member-page .icon-action:hover,
html[data-theme="dark"] .member-page .icon-button:hover {
  background: #29292f;
  border-color: #50505a;
  color: var(--text);
}

html[data-theme="dark"] .member-page .btn.danger {
  background: rgba(237, 125, 131, 0.1);
  border-color: rgba(237, 125, 131, 0.34);
  color: #f09a9f;
}

html[data-theme="dark"] .member-page .modal-backdrop {
  background: rgba(7, 7, 9, 0.72);
}

html[data-theme="dark"] .member-page .modal {
  background: #242429;
  border-color: #45454e;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.5);
}

html[data-theme="dark"] .member-page .modal-head,
html[data-theme="dark"] .member-page .modal-actions,
html[data-theme="dark"] .member-page th,
html[data-theme="dark"] .member-page td {
  border-color: var(--line);
}

html[data-theme="dark"] .member-page th {
  background: #1d1d22;
  color: #9999a2;
}

html[data-theme="dark"] .member-page tbody tr:hover {
  background: #202025;
}

html[data-theme="dark"] .member-page .key-value code,
html[data-theme="dark"] .member-page code.key-display {
  background: #17171b;
  border-color: var(--line);
  color: #d4d4d8;
}

html[data-theme="dark"] .member-page .rolling-info {
  background: rgba(120, 166, 232, 0.08);
  border-color: #405a7d;
}

html[data-theme="dark"] .member-page .progress {
  background: #35353d;
}

html[data-theme="dark"] .member-page .progress > * {
  background: #7399d0;
}

html[data-theme="dark"] .member-page .status.ok,
html[data-theme="dark"] .member-page .api-test-state.ok {
  background: rgba(111, 207, 151, 0.1);
  border-color: rgba(111, 207, 151, 0.34);
  color: #8bd9aa !important;
}

html[data-theme="dark"] .member-page .status.warn {
  background: rgba(231, 183, 93, 0.1);
  border-color: rgba(231, 183, 93, 0.34);
  color: #e4c887 !important;
}

html[data-theme="dark"] .member-page .status.danger,
html[data-theme="dark"] .member-page .notice.err,
html[data-theme="dark"] .member-page .api-test-state.error,
html[data-theme="dark"] .member-page .member-toast.error {
  background: rgba(237, 125, 131, 0.1);
  border-color: rgba(237, 125, 131, 0.34);
  color: #f09a9f !important;
}

html[data-theme="dark"] .member-page .member-toast {
  background: #29292f;
  border-color: #474750;
  color: var(--text);
}

/* Login, registration, and password recovery */
html[data-theme="dark"] .member-auth-page .auth-brand-panel {
  background: #151519;
}

html[data-theme="dark"] .member-auth-page .auth-workspace {
  background: var(--bg);
}

html[data-theme="dark"] .member-auth-page .auth-panel {
  color: var(--text);
}

html[data-theme="dark"] .member-auth-page .auth-divider::before {
  border-color: var(--line);
}

html[data-theme="dark"] .member-auth-page .auth-divider span {
  background: var(--bg);
}

html[data-theme="dark"] .member-auth-page .primary {
  background: #668ec7;
  border-color: #668ec7;
  color: #101014;
}

html[data-theme="dark"] .member-auth-page .primary:hover {
  background: #78a6e8;
}

html[data-theme="dark"] .member-auth-page .secondary-action,
html[data-theme="dark"] .member-auth-page .icon-button {
  background: #202025;
  border-color: var(--line);
  color: var(--text);
}

html[data-theme="dark"] .member-auth-page .secondary-action:hover,
html[data-theme="dark"] .member-auth-page .icon-button:hover,
html[data-theme="dark"] .member-auth-page .password-toggle:hover {
  background: #29292f;
  border-color: var(--line-dark);
}

html[data-theme="dark"] .member-auth-page .support-note,
html[data-theme="dark"] .member-auth-page .note-icon {
  background: var(--surface-2);
  border-color: var(--line);
}

html[data-theme="dark"] .member-auth-page .alert.error {
  background: rgba(237, 125, 131, 0.1);
  border-color: rgba(237, 125, 131, 0.34);
  color: #f09a9f;
}

html[data-theme="dark"] .member-auth-page .alert.success {
  background: rgba(111, 207, 151, 0.1);
  border-color: rgba(111, 207, 151, 0.34);
  color: #8bd9aa;
}

@media (max-width: 820px) {
  html[data-theme="dark"] .member-auth-page .auth-page,
  html[data-theme="dark"] .member-auth-page .auth-workspace {
    background: var(--bg);
  }

  html[data-theme="dark"] .member-auth-page .mobile-brand .brand-mark {
    background: var(--surface-2);
    border-color: var(--line);
    color: var(--text);
  }
}

/* Public home */
html[data-theme="dark"] .home-page .site-header {
  background: rgba(18, 18, 20, 0.94);
  border-color: var(--line);
}

html[data-theme="dark"] .home-page .mobile-menu,
html[data-theme="dark"] .home-page .product-band,
html[data-theme="dark"] .home-page .quota-section,
html[data-theme="dark"] .home-page .docs-section,
html[data-theme="dark"] .home-page .policy-section,
html[data-theme="dark"] .home-page .site-footer {
  background: var(--bg);
  border-color: var(--line);
}

html[data-theme="dark"] .home-page .plans-section,
html[data-theme="dark"] .home-page .workflow,
html[data-theme="dark"] .home-page .ecosystem,
html[data-theme="dark"] .home-page .faq-section {
  background: #16161a;
  border-color: var(--line);
}

html[data-theme="dark"] .home-page .plan-card,
html[data-theme="dark"] .home-page .plans-note,
html[data-theme="dark"] .home-page .workflow-grid li,
html[data-theme="dark"] .home-page .usage-foot,
html[data-theme="dark"] .home-page .tool-logos,
html[data-theme="dark"] .home-page .usage-preview {
  background: var(--panel);
  border-color: var(--line);
  box-shadow: none;
}

html[data-theme="dark"] .home-page .plan-card:hover {
  border-color: var(--line-dark);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}

html[data-theme="dark"] .home-page .plan-card.featured {
  background: #1d2028;
  border-color: #526f99;
}

html[data-theme="dark"] .home-page .button.primary {
  background: #668ec7;
  border-color: #668ec7;
  color: #101014;
}

html[data-theme="dark"] .home-page .button.primary:hover {
  background: #78a6e8;
}

html[data-theme="dark"] .home-page .button.secondary,
html[data-theme="dark"] .home-page .icon-button,
html[data-theme="dark"] .home-page .limit-select select {
  background: #202025;
  border-color: var(--line);
  color: var(--text);
}

html[data-theme="dark"] .home-page .button.secondary:hover,
html[data-theme="dark"] .home-page .icon-button:hover {
  background: #29292f;
  border-color: var(--line-dark);
}

html[data-theme="dark"] .home-page .duration-control {
  background: #17171b;
  border-color: var(--line);
}

html[data-theme="dark"] .home-page .duration-control button.active {
  background: #353b4b;
  color: #d8e6f8;
  box-shadow: none;
}

html[data-theme="dark"] .home-page .product-icon,
html[data-theme="dark"] .home-page .plan-icon,
html[data-theme="dark"] .home-page .policy-summary-icon {
  background: rgba(120, 166, 232, 0.12);
  color: #8db7ed;
}

html[data-theme="dark"] .home-page .product-icon.cyan {
  background: rgba(86, 195, 208, 0.12);
  color: #70c9d3;
}

html[data-theme="dark"] .home-page .policy-summary-icon.refund {
  background: rgba(111, 207, 151, 0.1);
  color: #8bd9aa;
}

html[data-theme="dark"] .home-page .rolling-rule {
  background: rgba(120, 166, 232, 0.08);
  border-color: #405a7d;
}

html[data-theme="dark"] .home-page .rolling-rule span {
  color: #bcbcc3;
}

html[data-theme="dark"] .home-page .status {
  background: rgba(111, 207, 151, 0.1);
  border-color: rgba(111, 207, 151, 0.34);
  color: #8bd9aa !important;
}

html[data-theme="dark"] .home-page .progress {
  background: #35353d;
}

html[data-theme="dark"] .home-page .progress i {
  background: #7399d0;
}

/* Documentation pages use their own layout but share the same surface model. */
html[data-theme="dark"] .docs-page {
  background: var(--bg);
  color: var(--text);
}

html[data-theme="dark"] .docs-page .hero-panel,
html[data-theme="dark"] .docs-page .hero-card,
html[data-theme="dark"] .docs-page .card,
html[data-theme="dark"] .docs-page .generator,
html[data-theme="dark"] .docs-page .tool-card,
html[data-theme="dark"] .docs-page .info-card,
html[data-theme="dark"] .docs-page .status-item {
  background: var(--panel);
  border-color: var(--line);
  color: var(--text);
  box-shadow: none;
}

html[data-theme="dark"] .docs-page .step-code,
html[data-theme="dark"] .docs-page .os-guide,
html[data-theme="dark"] .docs-page .secondary,
html[data-theme="dark"] .docs-page .setup-guide,
html[data-theme="dark"] .docs-page pre,
html[data-theme="dark"] .docs-page code {
  background: var(--surface-2);
  border-color: var(--line);
  color: #d4d4d8;
}

html[data-theme="dark"] .docs-page .support,
html[data-theme="dark"] .docs-page .warning {
  background: rgba(231, 183, 93, 0.1);
  border-color: rgba(231, 183, 93, 0.34);
  color: #e4c887;
}

html[data-theme="dark"] .docs-page .primary,
html[data-theme="dark"] .docs-page button.primary {
  background: #668ec7;
  border-color: #668ec7;
  color: #101014;
}

/* Shared theme control */
.theme-toggle {
  flex: 0 0 auto;
}

.theme-toggle svg,
[data-theme-toggle] svg {
  width: 18px;
  height: 18px;
}

.icon-button.theme-toggle .theme-label,
.icon-action.theme-toggle .theme-label,
.docs-theme-toggle .theme-label {
  display: none;
}

html[data-theme="dark"] .brand-logo,
html[data-theme="dark"] .tool-logos img {
  filter: brightness(0.88) contrast(0.96);
}
