body:is(.account-page, .admin-page) {
  --portal-bg: #f5f5f7;
  --portal-surface: #ffffff;
  --portal-surface-soft: #f1f3f6;
  --portal-control: #eceef2;
  --portal-text: #1d1d1f;
  --portal-muted: #555960;
  --portal-tertiary: #717680;
  --portal-line: rgba(29, 29, 31, .14);
  --portal-line-strong: rgba(29, 29, 31, .24);
  --portal-accent: #0071e3;
  --portal-accent-soft: #e8f3ff;
  --portal-positive: #087f5b;
  --portal-warning: #7a4b00;
  --portal-negative: #a51d31;
  --portal-shadow: 0 12px 34px rgba(0, 0, 0, .06);
  color-scheme: light;
  color: var(--portal-text) !important;
  background: var(--portal-bg) !important;
  scrollbar-color: #a8adb5 var(--portal-bg);
}

body:is(.account-page, .admin-page)[data-portal-theme="dark"] {
  --portal-bg: #0b0d12;
  --portal-surface: #14171d;
  --portal-surface-soft: #1a1e25;
  --portal-control: #232831;
  --portal-text: #f5f5f7;
  --portal-muted: #c5c9d0;
  --portal-tertiary: #969da8;
  --portal-line: rgba(255, 255, 255, .13);
  --portal-line-strong: rgba(255, 255, 255, .22);
  --portal-accent: #37c8f4;
  --portal-accent-soft: rgba(55, 200, 244, .12);
  --portal-positive: #79e6b7;
  --portal-warning: #ffd37a;
  --portal-negative: #ff9ca6;
  --portal-shadow: 0 18px 44px rgba(0, 0, 0, .28);
  color-scheme: dark;
}

body:is(.account-page, .admin-page)::-webkit-scrollbar { width: 12px; height: 12px; }
body:is(.account-page, .admin-page)::-webkit-scrollbar-track { background: var(--portal-bg); }
body:is(.account-page, .admin-page)::-webkit-scrollbar-thumb {
  border: 3px solid var(--portal-bg);
  border-radius: 999px;
  background: var(--portal-line-strong);
}

.portal-theme-toggle,
.account-page .account-header :is(.back-link, .home-link) {
  flex: 0 0 44px;
  width: 44px;
  min-width: 44px;
  max-width: 44px;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-sizing: border-box;
  border: 0 !important;
  border-radius: 50%;
  color: var(--portal-text) !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  text-decoration: none;
  transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

.portal-theme-toggle:hover,
.portal-theme-toggle:focus-visible,
.account-page .account-header :is(.back-link, .home-link):hover,
.account-page .account-header :is(.back-link, .home-link):focus-visible {
  color: var(--portal-accent) !important;
  background: var(--portal-control) !important;
  outline: 0;
}

.portal-theme-toggle:active,
.account-page .account-header :is(.back-link, .home-link):active { transform: scale(.92); }
.portal-theme-toggle svg,
.account-page .account-header svg {
  display: block;
  flex: none;
  width: 20px;
  height: 20px;
}

/* Lucide's house glyph has more internal whitespace than the adjacent icons. */
.account-page .account-header .home-link svg {
  width: 22px;
  height: 22px;
}

.portal-theme-toggle.is-floating {
  position: fixed;
  top: max(16px, env(safe-area-inset-top));
  right: 18px;
  z-index: 80;
  color: var(--portal-text) !important;
  background: color-mix(in srgb, var(--portal-surface) 88%, transparent) !important;
  box-shadow: var(--portal-shadow) !important;
  backdrop-filter: blur(16px) saturate(150%);
}

/* Account portal */
body.account-page .account-shell {
  width: min(980px, calc(100% - 40px));
  max-width: none;
  padding-top: 14px;
}

body.account-page .account-header {
  display: flex;
  width: 100%;
  min-height: 52px;
  align-items: center;
  gap: 4px;
  padding: 4px;
  box-sizing: border-box;
  margin-bottom: 8px;
}

.portal-header-actions { display: flex; align-items: center; gap: 4px; margin-left: 0; }

body.account-page.auth-guard-locked .portal-guard-header {
  position: fixed;
  top: max(10px, env(safe-area-inset-top));
  left: max(20px, calc((100vw - 980px) / 2));
  z-index: 90;
  width: auto;
  margin: 0;
}

body.account-page .account-hero {
  display: block;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.account-page .account-hero .hero-story,
body.account-page .account-panel {
  border: 1px solid var(--portal-line) !important;
  border-radius: 8px !important;
  color: var(--portal-text) !important;
  background: var(--portal-surface) !important;
  box-shadow: none !important;
}

body.account-page .account-hero .hero-story { width: 100%; max-width: none; }
body.account-page :is(h1, h2, h3, strong, dt) { color: var(--portal-text) !important; }
body.account-page :is(p, small, dd, .account-note) { color: var(--portal-muted) !important; }
body.account-page .section-head > div > span { color: var(--portal-accent) !important; }

body.account-page :is(.account-stock-item, .account-payment-item) {
  border-color: var(--portal-line) !important;
  border-radius: 8px;
  color: var(--portal-text) !important;
  background: var(--portal-surface-soft) !important;
}

body.account-page :is(.account-stock-item, .account-payment-item):hover {
  border-color: color-mix(in srgb, var(--portal-accent) 42%, var(--portal-line)) !important;
  background: var(--portal-accent-soft) !important;
}

body.account-page .account-actions :is(a, button) {
  min-height: 38px;
  border: 1px solid var(--portal-line) !important;
  border-radius: 8px !important;
  color: #005db8 !important;
  background: var(--portal-accent-soft) !important;
}

body.account-page[data-portal-theme="dark"] .account-actions :is(a, button) {
  color: #8de4fb !important;
}

body.account-page .account-actions #accountLogoutButton {
  color: var(--portal-negative) !important;
  background: color-mix(in srgb, var(--portal-negative) 9%, var(--portal-surface)) !important;
}

body.account-page .account-tier.paid { color: var(--portal-positive); background: color-mix(in srgb, var(--portal-positive) 13%, transparent); }
body.account-page .account-tier.admin { color: var(--portal-warning); background: color-mix(in srgb, var(--portal-warning) 13%, transparent); }
body.account-page .account-tier.expired { color: var(--portal-negative); background: color-mix(in srgb, var(--portal-negative) 11%, transparent); }
body.account-page .account-subscription-row { border-color: var(--portal-line); }
body.account-page .account-subscription-cancel { color: var(--portal-negative); }

/* Dense operator portal */
body.admin-page { background: var(--portal-bg) !important; }
body.admin-page::before { opacity: 0; }
body.admin-page .admin-shell { width: min(1540px, 100%); }
body.admin-page .admin-sidebar {
  border-color: var(--portal-line);
  background: var(--portal-surface);
}

body.admin-page .admin-brand img {
  content: url("./brand/finata-logo-horizontal-color.png");
  filter: none;
}

body.admin-page[data-portal-theme="dark"] .admin-brand img {
  content: url("./brand/finata-logo-horizontal-white.png");
}

body.admin-page .admin-brand span,
body.admin-page .admin-nav button { color: var(--portal-muted); }
body.admin-page .admin-nav button:hover,
body.admin-page .admin-nav button.active {
  border-color: color-mix(in srgb, var(--portal-accent) 30%, transparent);
  color: #005db8;
  background: var(--portal-accent-soft);
}

body.admin-page[data-portal-theme="dark"] .admin-nav button:hover,
body.admin-page[data-portal-theme="dark"] .admin-nav button.active { color: #8de4fb; }

body.admin-page .admin-workspace { background: var(--portal-bg); }
body.admin-page :is(.admin-topbar h1, .admin-section-head h2, .upload-card h3, .admin-kpi strong, .admin-signal-list strong) {
  color: var(--portal-text) !important;
}

body.admin-page :is(.admin-kpi, .admin-panel, .upload-card) {
  border-color: var(--portal-line) !important;
  color: var(--portal-text);
  background: var(--portal-surface) !important;
  box-shadow: none !important;
}

body.admin-page :is(.admin-kpi p, .upload-card p, .admin-section-head small, .admin-approval-help, .admin-table td, .admin-table th, .admin-timeline p, .admin-empty-state) {
  color: var(--portal-muted) !important;
}

body.admin-page :is(.admin-timeline article, .launch-readiness-grid article, .post-deploy-grid article, .landing-monitor-table, .client-events-overview article) {
  border-color: var(--portal-line) !important;
  color: var(--portal-text);
  background: var(--portal-surface-soft) !important;
}

body.admin-page .admin-alert {
  border-color: rgba(8, 127, 91, .22);
  background: #e8f7f1;
}

body.admin-page .admin-alert strong { color: #086d50; }
body.admin-page .admin-alert span { color: #3f5f55; }
body.admin-page[data-portal-theme="dark"] .admin-alert { background: rgba(8, 127, 91, .13); }
body.admin-page[data-portal-theme="dark"] .admin-alert strong { color: #a7f3d0; }
body.admin-page[data-portal-theme="dark"] .admin-alert span { color: var(--portal-muted); }

body.admin-page :is(.admin-actions button, .admin-home-button, .admin-panel button, .admin-inline-actions button, .upload-card label) {
  border-color: var(--portal-line) !important;
  color: #005db8 !important;
  background: var(--portal-accent-soft) !important;
  box-shadow: none !important;
}

body.admin-page[data-portal-theme="dark"] :is(.admin-actions button, .admin-home-button, .admin-panel button, .admin-inline-actions button, .upload-card label) {
  color: #8de4fb !important;
}

body.admin-page :is(.admin-actions .primary, .admin-panel button.primary) {
  border-color: #0067c9 !important;
  color: #fff !important;
  background: #0067c9 !important;
}

body.admin-page .admin-actions .portal-theme-toggle {
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0;
  border: 0 !important;
  border-radius: 50%;
  color: var(--portal-text) !important;
  background: transparent !important;
}

body.admin-page .admin-actions .portal-theme-toggle:hover,
body.admin-page .admin-actions .portal-theme-toggle:focus-visible {
  color: var(--portal-accent) !important;
  background: var(--portal-control) !important;
}

body.admin-page :is(
  .launch-readiness-grid,
  .acquisition-readiness-grid,
  .commercial-checklist-grid,
  .launch-blocker-list,
  .acquisition-action-list,
  .post-launch-grid
) article strong {
  color: var(--portal-text) !important;
}

body.admin-page :is(
  .launch-readiness-grid,
  .acquisition-readiness-grid,
  .commercial-checklist-grid,
  .launch-blocker-list,
  .acquisition-action-list,
  .post-launch-grid
) article :is(p, small) {
  color: var(--portal-muted) !important;
}

body.admin-page :is(
  .launch-readiness-grid,
  .acquisition-readiness-grid,
  .commercial-checklist-grid,
  .launch-blocker-list,
  .acquisition-action-list,
  .post-launch-grid
) article > span {
  color: var(--portal-accent) !important;
}

body.admin-page :is(input, select, textarea, .admin-filter, .admin-filter-select) {
  border-color: var(--portal-line) !important;
  color: var(--portal-text) !important;
  background: var(--portal-surface-soft) !important;
}

body.admin-page :is(input, select, textarea):focus {
  border-color: var(--portal-accent) !important;
  outline: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--portal-accent) 14%, transparent);
}

body.admin-page .admin-table-wrap {
  border: 1px solid var(--portal-line);
  border-radius: 8px;
  background: var(--portal-surface);
  scrollbar-color: var(--portal-line-strong) var(--portal-surface-soft);
}

body.admin-page .admin-table :is(th, td) { border-color: var(--portal-line) !important; }
body.admin-page .admin-table th { color: var(--portal-tertiary) !important; background: var(--portal-surface-soft); }
body.admin-page .status.done,
body.admin-page .admin-api-status.ok { color: #087f5b; background: #e4f7ef; }
body.admin-page .status.hold,
body.admin-page .status.deploy,
body.admin-page .admin-api-status.warn { color: #7a4b00; background: #fff2ce; }
body.admin-page .status.risk,
body.admin-page .admin-api-status.risk { color: #a51d31; background: #ffeaed; }
body.admin-page .status.wait { color: #075f9f; background: #e8f3ff; }

body.admin-page[data-portal-theme="dark"] .status.done,
body.admin-page[data-portal-theme="dark"] .admin-api-status.ok { color: #79e6b7; background: rgba(8, 127, 91, .17); }
body.admin-page[data-portal-theme="dark"] :is(.status.hold, .status.deploy, .admin-api-status.warn) { color: #ffd37a; background: rgba(150, 92, 0, .17); }
body.admin-page[data-portal-theme="dark"] :is(.status.risk, .admin-api-status.risk) { color: #ff9ca6; background: rgba(184, 38, 54, .17); }
body.admin-page[data-portal-theme="dark"] .status.wait { color: #9edfff; background: rgba(7, 95, 159, .20); }

@media (max-width: 900px) {
  body.account-page .account-shell { width: min(100% - 24px, 980px); }
  body.admin-page .admin-workspace { padding: 18px; }
}

@media (max-width: 720px) {
  body.account-page .account-grid { grid-template-columns: 1fr; }
  body.admin-page .admin-workspace { padding: 14px; }
  body.admin-page .admin-topbar { align-items: flex-start; }
  body.admin-page .admin-actions { width: 100%; justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .portal-theme-toggle,
  .account-page .account-header :is(.back-link, .home-link) { transition: none; }
}

/* FINATA portal shell v2: shared title card and explicit light-theme contrast. */
body.account-page .account-hero .hero-story {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 260px;
  padding: clamp(30px, 4vw, 48px);
  overflow: hidden;
}

body.account-page .account-hero .sector-pill {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin: 0 0 22px;
  padding: 5px 12px;
  border: 1px solid color-mix(in srgb, var(--portal-accent) 45%, transparent);
  border-radius: 999px;
  color: #005db8 !important;
  background: var(--portal-accent-soft);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

body.account-page[data-portal-theme="dark"] .account-hero .sector-pill {
  color: #8de4fb !important;
}

body.account-page .account-hero :is(h1, p) { position: relative; z-index: 2; }
body.account-page .account-hero h1 {
  margin: 0;
  font-size: clamp(42px, 6vw, 64px);
  line-height: 1.04;
  letter-spacing: 0;
}

body.account-page .account-hero p {
  max-width: min(650px, calc(100% - 170px));
  margin: 22px 0 0;
}

body.account-page .account-hero .service-hero-mark {
  position: absolute;
  top: 50%;
  right: clamp(28px, 5vw, 64px);
  z-index: 1;
  width: clamp(116px, 18vw, 184px);
  transform: translateY(-50%);
  opacity: .09;
  pointer-events: none;
}

body.account-page[data-portal-theme="dark"] .account-hero .service-hero-mark { opacity: .16; }
body.account-page .account-hero .service-hero-mark img { display: block; width: 100%; height: auto; }

body.account-page .account-panel .section-more-link {
  border: 1px solid #005eb8 !important;
  color: #fff !important;
  background: #0067c9 !important;
  box-shadow: none !important;
}

body.account-page .account-panel .section-more-link:hover,
body.account-page .account-panel .section-more-link:focus-visible {
  border-color: #004f9c !important;
  color: #fff !important;
  background: #0058ad !important;
  outline: 0;
}

body.admin-page .overview-audit-list :is(strong, h3),
body.admin-page .admin-timeline strong,
body.admin-page .admin-signal-list strong {
  color: var(--portal-text) !important;
}

body.admin-page .overview-audit-list :is(p, small, span),
body.admin-page .admin-timeline p,
body.admin-page .admin-signal-list :is(span, small),
body.admin-page .admin-empty-state {
  color: var(--portal-muted) !important;
}

body.admin-page .admin-timeline time,
body.admin-page .admin-section-head > div > span {
  color: var(--portal-accent) !important;
}

body.admin-page .admin-signal-list > div {
  min-height: 68px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "label label"
    "value unit";
  align-content: center;
  align-items: baseline;
  gap: 6px 8px;
  padding: 12px;
  border-color: var(--portal-line) !important;
  border-style: solid;
  border-width: 1px;
  border-radius: 8px;
  background: var(--portal-surface-soft) !important;
}

body.admin-page .admin-signal-list > div:last-child {
  border-bottom: 1px solid var(--portal-line) !important;
}

body.admin-page .admin-signal-list > div > span {
  grid-area: label;
  color: var(--portal-accent) !important;
  font-size: 11px;
  font-weight: 760;
}

body.admin-page .admin-signal-list > div > strong {
  grid-area: value;
  margin: 0;
  font-size: 15px;
  line-height: 1.25;
}

body.admin-page .admin-signal-list > div > small {
  grid-area: unit;
  align-self: center;
  color: var(--portal-muted) !important;
  font-size: 11px;
  font-weight: 650;
}

@media (max-width: 720px) {
  body.account-page .account-hero .hero-story {
    min-height: 220px;
    padding: 28px 24px;
  }

  body.account-page .account-hero h1 { font-size: clamp(36px, 11vw, 48px); }
  body.account-page .account-hero p { max-width: calc(100% - 60px); margin-top: 16px; }
  body.account-page .account-hero .service-hero-mark { right: 18px; width: 112px; opacity: .07; }
}

/* FINATA portal shell v3: complete light-theme coverage for every operator view. */
body.admin-page .admin-view :is(article, section, div) > :is(h3, h4, h5, strong, label, legend, dt),
body.admin-page .admin-view article :is(h3, h4, h5, strong, label, legend, dt) {
  color: var(--portal-text) !important;
}

body.admin-page .admin-view :is(article, section, div) > :is(p, small, li, dd):not(.status):not(.admin-api-status),
body.admin-page .admin-view article :is(p, small, li, dd):not(.status):not(.admin-api-status) {
  color: var(--portal-muted) !important;
}

body.admin-page .admin-view article > span:first-child,
body.admin-page .admin-view :is(.qa-review-action-head, .admin-card-head) > span:first-child {
  color: var(--portal-accent) !important;
}

body.admin-page .admin-view :is(
  .qa-rule-grid,
  .legal-qa-grid,
  .qa-review-overview-grid,
  .risk-radar-review-summary,
  .qa-check-grid,
  .qa-match-grid,
  .qa-classification-grid,
  .data-freshness-grid,
  .admin-ops-grid,
  .billing-audit-health-grid,
  .client-events-overview,
  .upload-flow-guide
) article {
  border-color: var(--portal-line) !important;
  background: var(--portal-surface-soft) !important;
}

body.admin-page :is(
  .access-route-grid,
  .access-policy-health-grid,
  .premium-flow-grid,
  .public-api-ops-summary
) article,
body.admin-page :is(
  .qa-candidate-card,
  .premium-target-card,
  .premium-path-card,
  .premium-copy-card,
  .premium-conversion-card,
  .marketing-report-card
) {
  border-color: var(--portal-line) !important;
  color: var(--portal-text) !important;
  background: var(--portal-surface-soft) !important;
  box-shadow: none !important;
}

body.admin-page :is(
  .access-route-grid,
  .access-policy-health-grid,
  .premium-flow-grid,
  .public-api-ops-summary
) article :is(strong, h3, h4),
body.admin-page :is(
  .qa-candidate-card,
  .premium-target-card,
  .premium-path-card,
  .premium-copy-card,
  .premium-conversion-card,
  .marketing-report-card
) :is(strong, h3, h4) {
  color: var(--portal-text) !important;
}

body.admin-page :is(
  .access-route-grid,
  .access-policy-health-grid,
  .premium-flow-grid,
  .public-api-ops-summary
) article :is(p, small),
body.admin-page :is(
  .qa-candidate-card,
  .premium-target-card,
  .premium-path-card,
  .premium-copy-card,
  .premium-conversion-card,
  .marketing-report-card
) :is(p, small) {
  color: var(--portal-muted) !important;
}

body.admin-page .public-api-command-block {
  color: #f5f7fa !important;
  background: #151820 !important;
}

body.admin-page .public-api-command-block :is(p, small, strong, code, pre) {
  color: inherit !important;
}

body.admin-page .admin-pipeline-note,
body.admin-page .qa-commit-hint {
  border-color: color-mix(in srgb, var(--portal-warning) 25%, transparent) !important;
  color: #5c4300 !important;
  background: #fff8e8 !important;
}

body.admin-page[data-portal-theme="dark"] .admin-pipeline-note,
body.admin-page[data-portal-theme="dark"] .qa-commit-hint {
  color: #ffe09a !important;
  background: rgba(122, 75, 0, .18) !important;
}

body.admin-page .admin-view :is(.status, .admin-api-status) {
  font-weight: 800;
}

body.admin-page .admin-view :is(a, button, label)[aria-disabled="true"],
body.admin-page .admin-view :is(button, input, select, textarea):disabled {
  color: var(--portal-tertiary) !important;
  opacity: .68;
}

body.admin-page .admin-table td :is(strong, a),
body.admin-page .access-policy-table td strong {
  color: var(--portal-text) !important;
}

body.admin-page .admin-table td :is(small, p),
body.admin-page .access-policy-table td small,
body.admin-page .premium-route-actions > span {
  color: var(--portal-muted) !important;
}

body.admin-page :is(.access-role-pill, .access-policy-state) {
  border-color: var(--portal-line) !important;
  color: var(--portal-text) !important;
  background: var(--portal-control) !important;
}

body.admin-page :is(.access-role-pill.done, .access-policy-state.done) {
  border-color: rgba(8, 127, 91, .24) !important;
  color: #087354 !important;
  background: #e4f7ef !important;
}

body.admin-page :is(.access-role-pill.hold, .access-policy-state.hold) {
  border-color: rgba(122, 75, 0, .24) !important;
  color: #704500 !important;
  background: #fff2ce !important;
}

body.admin-page :is(.access-role-pill.risk, .access-policy-state.risk) {
  border-color: rgba(165, 29, 49, .22) !important;
  color: #9b1c2f !important;
  background: #ffeaed !important;
}

body.admin-page .premium-route-actions a {
  border-color: #b9d8ef !important;
  color: #005db8 !important;
  background: #e8f3ff !important;
}

body.admin-page .premium-route-actions a:hover,
body.admin-page .premium-route-actions a:focus-visible {
  border-color: #78bcea !important;
  color: #004f9f !important;
  background: #d9ebff !important;
  outline: 0;
}

body.admin-page[data-portal-theme="dark"] :is(.access-role-pill, .access-policy-state) {
  border-color: var(--portal-line) !important;
  color: var(--portal-text) !important;
  background: var(--portal-control) !important;
}

body.admin-page[data-portal-theme="dark"] :is(.access-role-pill.done, .access-policy-state.done) {
  color: #79e6b7 !important;
  background: rgba(8, 127, 91, .17) !important;
}

body.admin-page[data-portal-theme="dark"] :is(.access-role-pill.hold, .access-policy-state.hold) {
  color: #ffd37a !important;
  background: rgba(150, 92, 0, .17) !important;
}

body.admin-page[data-portal-theme="dark"] :is(.access-role-pill.risk, .access-policy-state.risk) {
  color: #ff9ca6 !important;
  background: rgba(184, 38, 54, .17) !important;
}

body.admin-page[data-portal-theme="dark"] .premium-route-actions a {
  border-color: rgba(86, 211, 244, .28) !important;
  color: #8de4fb !important;
  background: rgba(55, 200, 244, .10) !important;
}

body.account-page :is(
  .payment-path-grid,
  .payment-access-grid,
  .payment-policy-grid,
  .payment-product-list,
  .payment-gate-panel
) article {
  border: 1px solid var(--portal-line) !important;
  border-radius: 8px !important;
  color: var(--portal-text) !important;
  background: var(--portal-surface-soft) !important;
}

body.account-page :is(
  .payment-path-grid,
  .payment-access-grid,
  .payment-policy-grid,
  .payment-product-list,
  .payment-gate-panel
) article > span:first-child {
  color: var(--portal-accent) !important;
}

body.account-page .payment-product-card h3,
body.account-page .payment-product-card strong {
  color: var(--portal-text) !important;
}

body.account-page .payment-product-card p {
  color: var(--portal-muted) !important;
}

body.account-page .payment-product-includes li {
  border-color: #b9d8ef !important;
  color: #005db8 !important;
  background: #e8f3ff !important;
}

body.account-page .payment-product-card button {
  min-height: 42px;
  border-color: #0067c9 !important;
  border-radius: 8px;
  color: #fff !important;
  background: #0067c9 !important;
  box-shadow: none;
}

body.account-page .payment-product-card button:hover,
body.account-page .payment-product-card button:focus-visible {
  border-color: #004f9c !important;
  color: #fff !important;
  background: #0058ad !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, #0067c9 22%, transparent);
  outline: 0;
}

body.account-page[data-portal-theme="dark"] .payment-product-includes li {
  border-color: rgba(86, 211, 244, .28) !important;
  color: #8de4fb !important;
  background: rgba(55, 200, 244, .10) !important;
}

body.account-page[data-portal-theme="dark"] .payment-product-card button {
  border-color: #0a84ff !important;
  color: #fff !important;
  background: #0a84ff !important;
}

body.account-page[data-portal-theme="dark"] .payment-product-card button:hover,
body.account-page[data-portal-theme="dark"] .payment-product-card button:focus-visible {
  border-color: #63b2ff !important;
  background: #0071e3 !important;
}

body.account-page .payment-policy-grid a,
body.account-page .payment-gate-actions a {
  color: #005db8 !important;
}

body.account-page[data-portal-theme="dark"] .payment-policy-grid a,
body.account-page[data-portal-theme="dark"] .payment-gate-actions a {
  color: #8de4fb !important;
}

body.account-page .auth-guard-shell {
  color: var(--portal-text) !important;
  background: var(--portal-bg) !important;
}

body.account-page .auth-guard-card {
  border: 1px solid var(--portal-line) !important;
  border-radius: 8px !important;
  color: var(--portal-text) !important;
  background: var(--portal-surface) !important;
  box-shadow: var(--portal-shadow) !important;
}

body.account-page .auth-guard-card h1 { color: var(--portal-text) !important; }
body.account-page .auth-guard-card p { color: var(--portal-muted) !important; }
body.account-page .auth-guard-card a {
  min-height: 40px;
  border: 1px solid var(--portal-line) !important;
  border-radius: 8px !important;
  color: #005db8 !important;
  background: var(--portal-accent-soft) !important;
}

body.account-page .auth-guard-card a:first-of-type {
  border-color: #0067c9 !important;
  color: #fff !important;
  background: #0067c9 !important;
}

body.account-page[data-portal-theme="dark"] .auth-guard-card a:not(:first-of-type) {
  color: #8de4fb !important;
}

@media (max-width: 720px) {
  body.account-page.auth-guard-locked .portal-guard-header { left: 12px; }
  body.account-page .account-hero .service-hero-mark { width: 96px; }
  body.account-page .account-hero p { max-width: calc(100% - 46px); }
}

/* Final light-theme contrast layer for every admin workspace. */
body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(h2, h3, h4, strong, b, em) {
  color: var(--portal-text) !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(
  p,
  small,
  li,
  dt,
  dd,
  td,
  th,
  label,
  legend,
  output,
  .admin-empty-state,
  .audit-empty,
  .admin-table-summary
) {
  color: var(--portal-muted) !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view span:not(.status):not(.admin-api-status):not(.access-role-pill):not(.access-policy-state) {
  color: var(--portal-muted) !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(a, a *, button, button *) {
  color: inherit;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view a:not(.admin-button):not(.admin-soft-button) {
  color: #005db8 !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view a:not(.admin-button):not(.admin-soft-button):hover,
body.admin-page:not([data-portal-theme="dark"]) .admin-view a:not(.admin-button):not(.admin-soft-button):focus-visible {
  color: #004f9f !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(
  .admin-section-head > div > span:first-child,
  .upload-card > div > span:first-child,
  article > span:first-child,
  .landing-monitor-summary span,
  .traffic-legend span,
  .qa-review-action-head span
) {
  color: #0067c9 !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(
  .admin-kpi,
  .admin-panel,
  .upload-card,
  .deploy-readiness-panel,
  .landing-deployment-monitor,
  .admin-empty-state,
  .traffic-card,
  .security-list label
) {
  border-color: var(--portal-line) !important;
  color: var(--portal-text) !important;
  background: var(--portal-surface) !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(
  article,
  .admin-empty-state,
  .search-reset-status,
  .public-api-inline-check,
  .qa-review-box
) {
  border-color: var(--portal-line) !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(
  input,
  select,
  textarea,
  .admin-filter,
  .admin-filter-select
) {
  border-color: var(--portal-line-strong) !important;
  color: var(--portal-text) !important;
  background: var(--portal-surface) !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(input, textarea)::placeholder {
  color: var(--portal-tertiary) !important;
  opacity: 1;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(
  button,
  .upload-card label,
  .deploy-readiness-file-button,
  .billing-audit-ack-button,
  .legal-qa-ack-button,
  .premium-conversion-ack-button
) {
  border-color: #b9d8ef !important;
  color: #005db8 !important;
  background: #e8f3ff !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(
  button,
  .upload-card label,
  .deploy-readiness-file-button,
  .billing-audit-ack-button,
  .legal-qa-ack-button,
  .premium-conversion-ack-button
):hover,
body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(
  button,
  .upload-card label,
  .deploy-readiness-file-button,
  .billing-audit-ack-button,
  .legal-qa-ack-button,
  .premium-conversion-ack-button
):focus-visible {
  border-color: #78bcea !important;
  color: #004f9f !important;
  background: #d9ebff !important;
  outline: 0;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(.primary, [data-tone="primary"]) {
  border-color: #0067c9 !important;
  color: #fff !important;
  background: #0067c9 !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(.danger, [data-tone="danger"]) {
  border-color: #efbcc4 !important;
  color: #9b1c2f !important;
  background: #ffeaed !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(.status, .admin-api-status) {
  border-color: rgba(122, 75, 0, .22) !important;
  color: #704500 !important;
  background: #fff2ce !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(.status.done, .admin-api-status.ok),
body.admin-page:not([data-portal-theme="dark"]) .admin-view .done > :is(.status, .admin-api-status) {
  border-color: rgba(8, 127, 91, .24) !important;
  color: #087354 !important;
  background: #e4f7ef !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(.status.hold, .status.deploy, .admin-api-status.warn) {
  border-color: rgba(122, 75, 0, .24) !important;
  color: #704500 !important;
  background: #fff2ce !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(.status.risk, .admin-api-status.risk) {
  border-color: rgba(165, 29, 49, .22) !important;
  color: #9b1c2f !important;
  background: #ffeaed !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(
  .deploy-readiness-checks span,
  .commit-preflight-grid span,
  .access-role-pill,
  .access-policy-state
) {
  color: var(--portal-text) !important;
  background: var(--portal-control) !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(
  .deploy-readiness-checks span.done,
  .commit-preflight-grid article.done span,
  .access-role-pill.done,
  .access-policy-state.done
) {
  color: #087354 !important;
  background: #e4f7ef !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(
  .deploy-readiness-checks span.hold,
  .commit-preflight-grid article.hold span,
  .access-role-pill.hold,
  .access-policy-state.hold
) {
  color: #704500 !important;
  background: #fff2ce !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(
  .access-role-pill.risk,
  .access-policy-state.risk
) {
  color: #9b1c2f !important;
  background: #ffeaed !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(
  .audit-log article,
  .client-events-overview article,
  .audit-category-grid article,
  .marketing-quality-grid article,
  .campaign-sprint-grid article,
  .source-attribution-grid article,
  .marketing-goal-grid article
) :is(strong, b, em) {
  color: var(--portal-text) !important;
}

body.admin-page:not([data-portal-theme="dark"]) .admin-view :is(.audit-log, .client-events-table) time {
  color: #0067c9 !important;
}

body.admin-page #adminView-overview .admin-signal-list > div > span:first-child {
  color: var(--portal-accent) !important;
}
