/*
 * Custom application styles. PulseDAQ color palette and Tailwind are in
 * app/assets/tailwind/application.css (built as "tailwind" stylesheet).
 */

/* Vendored alongside the JS (see config/importmap.rb): style-src is :self, so this cannot come from a CDN. */
@import url("/assets/tom-select.bootstrap5.min-b5942fe4.css");

:root {
  --pd-main: var(--pulsedaq-main, #5b2cff);
  --pd-secondary: var(--pulsedaq-secondary, #7b61ff);
  --pd-main-light: var(--pulsedaq-main-light, #efe9ff);
}

/*
 * Tom Select’s bootstrap5 skin uses Bootstrap 5 variables (--bs-body-bg, etc.). Tabler
 * does not define them, so those backgrounds were invalid and the open dropdown looked
 * translucent over the rest of the form. Scope the missing variables to Tom Select only.
 */
.ts-wrapper {
  --bs-body-bg: #ffffff;
  --bs-body-color: #1f2937;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-width: 1px;
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-secondary-bg: #e9ecef;
  --bs-tertiary-bg: #f3f4f6;
  --bs-form-valid-color: #198754;
  --bs-form-invalid-color: #dc3545;
}

.ts-wrapper .ts-dropdown {
  z-index: 1050;
}

/* Onboarding sector Tom Select: match body text scale (1rem); form-select-lg was too large. */
.onboarding-category-path-select.ts-wrapper,
.onboarding-category-path-select.ts-wrapper .ts-control,
.onboarding-category-path-select.ts-wrapper .ts-control input,
.onboarding-category-path-select.ts-wrapper .ts-dropdown {
  font-size: 1rem;
}

.onboarding-category-path-select.ts-wrapper .ts-dropdown .optgroup-header {
  font-size: 1.125rem;
  font-weight: 600;
}

.pd-body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: #f8fafc;
}

.pd-main-offset {
  margin-top: 4rem;
}

.pd-auth-body {
  min-height: 100vh;
  margin: 0;
  color: var(--pd-color-ink);
  background: var(--pd-color-page);
  font-family: var(--pd-font-sans);
}

.pd-auth-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.pd-auth-header {
  min-height: 3.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  padding: 0.625rem var(--pd-page-gutter);
  background: var(--pd-color-surface);
  border-bottom: 1px solid var(--pd-color-border);
}

.pd-auth-brand {
  display: flex;
  align-items: center;
  border-radius: 0.25rem;
}

.pd-auth-brand:hover { opacity: 0.78; }
.pd-auth-brand img { display: block; width: auto; height: 2.125rem; }

.pd-auth-header__action {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  color: var(--pd-color-ink-3);
  font-size: 0.875rem;
}

.pd-auth-trial-link,
.pd-auth-button {
  display: block;
  border: 0;
  border-radius: var(--pd-radius-control);
  color: var(--pd-color-on-accent);
  background: var(--pd-color-accent-strong);
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
}

.pd-auth-trial-link { padding: 0.6875rem 1rem; white-space: nowrap; }
.pd-auth-trial-link:hover,
.pd-auth-button:hover { color: var(--pd-color-on-accent); background: #994313; text-decoration: none; }

.pd-auth-main {
  flex: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(2.25rem, 8vh, 6rem) var(--pd-page-gutter) clamp(3rem, 8vh, 6rem);
}

.pd-auth-card {
  width: 100%;
  max-width: 27.5rem;
  padding: clamp(1.5rem, 4vw, 2.25rem);
  border: 1px solid var(--pd-color-border);
  border-radius: var(--pd-radius-card);
  background: var(--pd-color-surface);
  box-shadow: var(--pd-shadow-card);
}

.pd-auth-stack,
.pd-auth-form { display: flex; flex-direction: column; }
.pd-auth-stack { gap: 1.375rem; }
.pd-auth-form { gap: 1rem; }
.pd-auth-heading { display: flex; flex-direction: column; gap: 0.5rem; }
.pd-auth-heading h1 { margin: 0; font-size: 1.875rem; line-height: 1.1; letter-spacing: -0.03em; }
.pd-auth-heading p { margin: 0; color: var(--pd-color-ink-2); font-size: 0.9375rem; line-height: 1.5; }
.pd-auth-heading strong { color: var(--pd-color-ink); }

.pd-auth-field { display: flex; flex-direction: column; gap: 0.375rem; }
.pd-auth-field > label,
.pd-auth-label-row label { color: var(--pd-color-ink); font-size: 0.875rem; font-weight: 700; }
.pd-auth-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 0.625rem; }

.pd-auth-input {
  min-width: 0;
  width: 100%;
  padding: 0.8125rem 0.875rem;
  border: 2px solid var(--pd-color-border);
  border-radius: var(--pd-radius-control);
  outline: none;
  background: var(--pd-color-surface);
  color: var(--pd-color-ink);
  font-size: 1rem;
}

.pd-auth-input::placeholder { color: var(--pd-color-ink-4); }
.pd-auth-input:hover { border-color: var(--pd-color-border-control); }
.pd-auth-input:focus { border-color: var(--pd-color-accent-strong); box-shadow: var(--pd-focus-ring); }

.pd-auth-password { position: relative; display: flex; }
.pd-auth-password .pd-auth-input { padding-right: 4rem; }
.pd-auth-password__toggle {
  position: absolute;
  top: 50%;
  right: 0.375rem;
  transform: translateY(-50%);
  padding: 0.5rem 0.625rem;
  border: 0;
  border-radius: 0.5rem;
  background: transparent;
  color: var(--pd-color-ink-2);
  font-size: 0.8125rem;
  font-weight: 700;
}
.pd-auth-password__toggle:hover { background: var(--pd-color-muted); }

.pd-auth-checkbox { display: flex; align-items: center; gap: 0.625rem; color: var(--pd-color-ink-2); font-size: 0.875rem; cursor: pointer; }
.pd-auth-checkbox:hover span { color: var(--pd-color-ink); }
.pd-auth-checkbox input { width: 1.25rem; height: 1.25rem; accent-color: var(--pd-color-ink); }

.pd-auth-button { width: 100%; padding: 0.875rem 1.375rem; font-size: 0.9375rem; }
.pd-auth-button--secondary { color: var(--pd-color-ink); background: var(--pd-color-surface); border: 2px solid var(--pd-color-border); padding-block: 0.75rem; }
.pd-auth-button--secondary:hover { color: var(--pd-color-ink); background: var(--pd-color-subtle); border-color: var(--pd-color-border-control); }

.pd-auth-text-link,
.pd-auth-back-link { color: var(--pd-color-accent-text); font-size: 0.875rem; font-weight: 700; text-decoration: none; }
.pd-auth-back-link { color: var(--pd-color-ink-2); font-weight: 600; align-self: flex-start; }
.pd-auth-text-link:hover,
.pd-auth-back-link:hover { color: var(--pd-color-accent-strong); text-decoration: underline; }

.pd-auth-alert,
.pd-auth-notice,
.pd-auth-tip { border-radius: 0.625rem; padding: 0.625rem 0.75rem; font-size: 0.875rem; line-height: 1.45; }
.pd-auth-alert { color: var(--pd-color-error-text); background: #fbecea; }
.pd-auth-notice { color: var(--pd-color-success-text); background: var(--pd-color-success-soft); }
.pd-auth-tip { color: var(--pd-color-ink-3); background: var(--pd-color-subtle); padding: 0.75rem 0.875rem; line-height: 1.5; }
.pd-auth-requirement { margin: -0.25rem 0 0; color: var(--pd-color-ink-3); font-size: 0.8125rem; }

.pd-auth-card-footer { padding-top: 1.125rem; border-top: 1px solid var(--pd-color-border-row); color: var(--pd-color-ink-2); font-size: 0.875rem; }
.pd-auth-card-footer .pd-auth-text-link { margin-left: 0.25rem; }
.pd-auth-status-icon { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border-radius: var(--pd-radius-control); color: var(--pd-color-accent-text); background: var(--pd-color-tint-strong); font-size: 1.375rem; font-weight: 800; }
.pd-auth-status-icon--success { color: var(--pd-color-on-accent); background: var(--pd-color-success); }

.pd-auth-footer { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.5rem 1.25rem; padding: 1.25rem var(--pd-page-gutter) 1.75rem; color: var(--pd-color-ink-3); font-size: 0.8125rem; }
.pd-auth-footer a { color: var(--pd-color-ink-3); text-decoration: none; }
.pd-auth-footer a:hover { color: var(--pd-color-accent-text); text-decoration: underline; }

@media (max-width: 34rem) {
  .pd-auth-header { align-items: flex-start; }
  .pd-auth-header__action span { display: none; }
}

.pd-navbar {
  background: #fff;
  min-height: 4rem;
  border-bottom: 1px solid #e6e7eb;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.pd-logo {
  height: 2.5rem;
  width: auto;
}

.pd-footer {
  background: #fff;
  border-top: 1px solid #e6e7eb;
}

.pd-footer-logo {
  height: 6rem;
  width: auto;
}

.pd-footer-form-wrap {
  border: 1px solid #e8ddff;
  background: #fbf9ff;
}

/* Shared footer must override legacy Tabler-era footer rules. */
.pd-footer {
  margin-top: auto;
  padding: clamp(2rem, 5vw, 3.5rem) 0 1.5rem;
  color: var(--pd-color-page);
  background: var(--pd-color-dark-surface);
  border: 0;
  font-family: var(--pd-font-sans);
  line-height: normal;
}

.pd-footer > .pd-page-container {
  width: 100%;
  max-width: none;
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
  padding-inline: clamp(0.875rem, 3vw, 2.25rem);
}

.pd-footer__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18.75rem), 1fr));
  gap: 2.5rem;
}

.pd-footer__title {
  margin: 0;
  color: var(--pd-color-page);
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.pd-footer__intro {
  max-width: none;
  margin: 0.75rem 0 1rem;
  color: var(--pd-color-dark-text-2);
  font-size: 0.875rem;
  line-height: 1.55;
}

.pd-footer__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.75rem;
  align-content: start;
}

.pd-footer__column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}

.pd-footer__column h3 {
  margin: 0 0 0.5rem;
  color: var(--pd-color-dark-meta);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
}

.pd-footer__column a,
.pd-footer__email {
  color: var(--pd-color-page);
  font-size: 0.875rem;
  line-height: 1.4;
  text-decoration: none;
}

.pd-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.625rem 2rem;
  margin-top: 0;
  padding-top: 1.125rem;
  border-top: 1px solid var(--pd-color-dark-border);
  color: var(--pd-color-dark-meta);
  font-size: 0.8125rem;
  line-height: normal;
}

.pd-footer__heart { color: var(--pd-color-accent); }

.pd-footer .pd-contact-form {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.pd-footer .pd-contact-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.625rem;
}

.pd-footer .pd-field--dark {
  border-radius: 0.625rem;
  padding: 0.75rem 0.875rem;
  color: #fff;
  border-color: var(--pd-color-dark-border);
  background: var(--pd-color-dark-surface-2);
  font-size: 0.9375rem;
  line-height: normal;
}

.pd-footer .pd-contact-form__hint {
  color: var(--pd-color-dark-meta);
  font-size: 0.8125rem;
}

.pd-footer .pd-contact-form__footer .pd-button {
  min-height: 0;
  border: 0;
  padding: 0.75rem 1.25rem;
  background: oklch(0.62 0.16 45);
  font-size: 0.875rem;
  line-height: normal;
}

.pd-footer textarea.pd-field--dark {
  display: block;
}

/* Four-step report onboarding */
.pd-onboarding-page {
  font-family: var(--pd-font-sans);
  flex: 1;
  padding: clamp(1.125rem, 3vw, 2.25rem) clamp(0.875rem, 3vw, 2.25rem) 3.5rem;
  background: var(--pd-color-page);
}

.pd-onboarding-shell {
  width: 100%;
  max-width: 42.5rem;
  margin-inline: auto;
}

.pd-onboarding-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  color: var(--pd-color-ink-3);
  font-size: 0.8125rem;
  line-height: normal;
}

.pd-onboarding-breadcrumb a { color: var(--pd-color-accent-text); }
.pd-onboarding-breadcrumb span { color: var(--pd-color-ink-4); }
.pd-onboarding-breadcrumb strong { color: var(--pd-color-ink); font-weight: 600; }

.pd-onboarding-card {
  display: flex;
  flex-direction: column;
  gap: 1.375rem;
  padding: clamp(1.375rem, 4vw, 2.5rem);
  border: 1px solid var(--pd-color-border);
  border-radius: 1.125rem;
  background: var(--pd-color-surface);
  box-shadow: var(--pd-shadow-card);
  line-height: normal;
}

.pd-onboarding-card--processing { gap: 1.5rem; }
.pd-onboarding-card--settings { gap: 1.625rem; }

.pd-onboarding-card__header {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding-bottom: 1.125rem;
  border-bottom: 3px solid var(--pd-color-accent);
}

.pd-onboarding-step {
  margin: 0;
  color: var(--pd-color-accent-text);
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}

.pd-onboarding-card__header h1 {
  margin: 0;
  color: var(--pd-color-ink);
  font-size: clamp(1.625rem, 4vw, 2.125rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.05;
}

.pd-onboarding-card__header > p:last-child {
  margin: 0;
  color: var(--pd-color-ink-2);
  font-size: 0.9375rem;
  line-height: 1.55;
}

.pd-onboarding-card__intro {
  margin: 0;
  color: #4a3f37;
  font-family: var(--pd-font-sans);
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.55;
}

.pd-onboarding-heading-with-icon { display: flex; align-items: center; gap: 0.75rem; }
.pd-onboarding-heading-with-icon h1 { font-size: clamp(1.375rem, 3.4vw, 1.875rem); line-height: 1.1; }
.pd-onboarding-logo-tile, .pd-domain-favicon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 0.6875rem;
  background: #fff;
  box-shadow: 0 0 0 1px var(--pd-color-border);
}
.pd-onboarding-logo-tile { width: 2.5rem; height: 2.5rem; }
.pd-onboarding-logo-tile img { width: 1.5rem; height: 1.5rem; }
.pd-domain-favicon { width: 2.125rem; height: 2.125rem; margin-right: 0.5rem; border-radius: 0.625rem; }
.pd-domain-favicon img { width: 1.25rem; height: 1.25rem; }

.pd-onboarding-field { display: flex; flex-direction: column; gap: 0.5rem; }
.pd-onboarding-field > label { color:var(--pd-color-ink); font-size:0.875rem; font-weight:700; }
.pd-onboarding-section__title { color:var(--pd-color-ink); font-size:1rem; font-weight:700; line-height:normal; }
.pd-onboarding-field > .pd-field { width:100%; border:2px solid var(--pd-color-border); border-radius:0.875rem; padding:0.875rem 1rem; background:#fff; color:var(--pd-color-ink); font-size:1rem; }
.pd-onboarding-field > .pd-field:focus { border-color:var(--pd-color-ink); outline:0; box-shadow:var(--pd-focus-ring); }

.pd-domain-input {
  display: flex;
  flex: none;
  align-items: center;
  overflow: hidden;
  border: 2px solid var(--pd-color-border);
  border-radius: 0.875rem;
  background: #fff;
  transition: border-color 150ms, box-shadow 150ms;
}
.pd-domain-input:focus-within, .pd-domain-input.is-valid { border-color: var(--pd-color-ink); }
.pd-domain-input.is-invalid { border-color: var(--pd-color-error); }
.pd-domain-input > span { padding-left: 1rem; color: var(--pd-color-ink-3); font-size: 1rem; font-variant-numeric: tabular-nums; }
.pd-domain-input input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  padding: 0.9375rem 0.75rem 0.9375rem 0.125rem;
  color: var(--pd-color-ink);
  font-size: 1.0625rem;
  font-weight: 600;
}
.pd-onboarding-hint { min-height: 1.125rem; margin: 0; color: var(--pd-color-ink-3); font-size: 0.8125rem; }
.pd-onboarding-hint.is-valid { color: var(--pd-color-accent-text); }
.pd-onboarding-hint.is-error { color: var(--pd-color-error-text); }

.pd-onboarding-existing, .pd-onboarding-note {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
  border-radius: 0.75rem;
  background: var(--pd-color-tint-strong);
  padding: 0.75rem 0.875rem;
  color: var(--pd-color-ink);
  font-size: 0.875rem;
}
.pd-onboarding-existing a { color: var(--pd-color-accent-text); font-size: 0.8125rem; font-weight: 700; }
.pd-onboarding-note { display: block; padding: 0.5625rem 0.75rem; border-radius: 0.625rem; background: var(--pd-color-subtle); color: var(--pd-color-ink-2); font-size: 0.8125rem; line-height: 1.5; }

.pd-onboarding-alert { border-radius: 0.75rem; padding: 0.75rem 0.875rem; background: #fff0ed; color: var(--pd-color-error-text); font-size: 0.875rem; }
.pd-onboarding-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; }
.pd-onboarding-actions--end { justify-content: flex-end; }
.pd-onboarding-actions--ruled { padding-top: 1.125rem; border-top: 1px solid var(--pd-color-border-row); }
.pd-onboarding-actions--competitors { gap:0.875rem; }
.pd-onboarding-actions__buttons { display:flex; align-items:center; gap:0.75rem; }
.pd-onboarding-back { padding: 0.625rem 0.25rem; color: var(--pd-color-ink-2); font-size: 0.875rem; font-weight: 600; }
.pd-onboarding-submit { padding: 0.875rem 1.375rem; font-size: 0.9375rem; }
.pd-onboarding-submit:disabled { cursor: default; background: var(--pd-color-disabled); color: var(--pd-color-ink-3); opacity: 1; }

.pd-onboarding-section { display: flex; flex-direction: column; gap: 0.625rem; }
.pd-onboarding-section__heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:0.5rem; }
.pd-onboarding-section__heading strong { color:var(--pd-color-ink); font-size:1rem; font-weight:700; line-height:normal; }
.pd-onboarding-section__copy { margin: 0; color: var(--pd-color-ink-2); font-size: 0.875rem; line-height: 1.55; }
.pd-onboarding-guess { padding: 0.1875rem 0.5rem; border-radius: 0.4375rem; background: var(--pd-color-accent-soft); color: var(--pd-color-accent-text); font-size: 0.75rem; font-weight: 700; }
.pd-onboarding-select-wrap { position: relative; border: 2px solid var(--pd-color-ink); border-radius: 0.875rem; }
.pd-onboarding-select-wrap select { width:100%; appearance:none; border:0; outline:0; background:transparent; padding:0.875rem 2.75rem 0.875rem 1rem; color:var(--pd-color-ink); font-size:1rem; font-weight:600; line-height:normal; }
.pd-onboarding-select-wrap::after { content:"▾"; position:absolute; right:1rem; top:50%; transform:translateY(-50%); pointer-events:none; color:var(--pd-color-ink-2); font-size:0.8125rem; }
/* The sector select is a Tom Select (type to filter by sector or by its group): it takes over the wrap's look. */
.pd-onboarding-select-wrap:has(.ts-wrapper)::after { display: none; }
.pd-onboarding-select-wrap .ts-wrapper { --bs-body-bg: var(--pd-color-surface); --bs-body-color: var(--pd-color-ink); }
.pd-onboarding-select-wrap .ts-control { border: 0; border-radius: 0.875rem; box-shadow: none; background: transparent; padding: 0.875rem 2.75rem 0.875rem 1rem; color: var(--pd-color-ink); font-size: 1rem; font-weight: 600; cursor: pointer; }
.pd-onboarding-select-wrap .ts-wrapper.focus .ts-control { box-shadow: var(--pd-focus-ring); }
.pd-onboarding-select-wrap .ts-control::after { right: 1rem; }
.pd-onboarding-select-wrap .ts-dropdown { margin-top: 0.5rem; border: 2px solid var(--pd-color-ink); border-radius: 0.875rem; background: var(--pd-color-surface); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.14); overflow: hidden; font-size: 1rem; }
.pd-onboarding-select-wrap .ts-dropdown .dropdown-input-wrap { padding: 0.625rem; border-bottom: 1px solid var(--pd-color-border); }
.pd-onboarding-select-wrap .ts-dropdown .dropdown-input { border: 2px solid var(--pd-color-border); border-radius: 0.625rem; padding: 0.5rem 0.75rem; font-size: 1rem; }
.pd-onboarding-select-wrap .ts-dropdown .dropdown-input:focus { border-color: var(--pd-color-accent-strong); box-shadow: var(--pd-focus-ring); outline: 0; }
.pd-onboarding-select-wrap .ts-dropdown .ts-dropdown-content { max-height: 22rem; }
.pd-onboarding-select-wrap .ts-dropdown .optgroup-header { padding: 0.625rem 1rem 0.25rem; background: var(--pd-color-surface); color: var(--pd-color-ink-3); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.pd-onboarding-select-wrap .ts-dropdown .option { padding: 0.5rem 1rem 0.5rem 1.75rem; color: var(--pd-color-ink); font-weight: 500; }
.pd-onboarding-select-wrap .ts-dropdown .option.active { background: var(--pd-color-tint); color: var(--pd-color-ink); }
.pd-onboarding-select-wrap .ts-dropdown .option.selected { font-weight: 700; }
.pd-onboarding-select-wrap .ts-dropdown .no-results { padding: 0.75rem 1rem; color: var(--pd-color-ink-2); }
.pd-onboarding-sector-path { margin:0; color:var(--pd-color-ink-2); font-size:0.8125rem; }

.pd-choice-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(13.75rem,1fr)); gap:0.625rem; }
.pd-choice-grid--regions { grid-template-columns:repeat(auto-fit,minmax(9.375rem,1fr)); }
.pd-choice-card, .pd-competitor-card {
  position:relative;
  display:flex;
  gap:0.75rem;
  align-items:flex-start;
  border:2px solid var(--pd-color-border);
  border-radius:0.875rem;
  background:#fff;
  padding:0.875rem 1rem;
  cursor:pointer;
}
.pd-choice-card:has(input:checked), .pd-competitor-card:has(input:checked) { border-color:var(--pd-color-ink); background:var(--pd-color-tint); }
.pd-choice-card input, .pd-competitor-card input { position:absolute; opacity:0; pointer-events:none; }
.pd-choice-tick { display:grid; place-items:center; width:1.25rem; height:1.25rem; flex:0 0 auto; margin-top:1px; border-radius:0.375rem; box-shadow:inset 0 0 0 2px var(--pd-color-border-control); color:#fff; font-size:0.75rem; font-weight:800; }
input:checked + .pd-choice-tick { background:var(--pd-color-accent-strong); box-shadow:none; }
input:checked + .pd-choice-tick::before { content:"✓"; }
.pd-competitor-card:has(input:checked) .pd-choice-tick,
.pd-competitor-card .pd-choice-tick.is-checked { background:var(--pd-color-accent-strong); box-shadow:none; }
.pd-competitor-card:has(input:checked) .pd-choice-tick::before,
.pd-competitor-card .pd-choice-tick.is-checked::before { content:"✓"; }
.pd-choice-card__copy { display:flex; flex-direction:column; gap:0.1875rem; min-width:0; }
.pd-choice-card__copy strong { color:var(--pd-color-ink); font-size:0.9375rem; font-weight:700; line-height:normal; }
.pd-choice-card__copy small { color:var(--pd-color-ink-2); font-size:0.8125rem; line-height:1.4; }
.pd-choice-card.is-disabled { cursor:default; opacity:.5; }

.pd-processing-progress { display:flex; flex-wrap:wrap; align-items:center; gap:1.125rem 1.5rem; }
.pd-processing-ring { position:relative; width:5.25rem; height:5.25rem; flex:0 0 auto; }
.pd-processing-ring svg { position:absolute; inset:0; animation:pd-onboarding-spin 1.6s linear infinite; }
.pd-processing-ring circle { fill:none; stroke:var(--pd-color-muted); stroke-width:4; }
.pd-processing-ring .pd-processing-ring__active { stroke:var(--pd-color-accent); stroke-linecap:round; stroke-dasharray:70 169; }
.pd-processing-logo { position:absolute; inset:0.875rem; display:grid; place-items:center; overflow:hidden; border-radius:1rem; background:#fff; box-shadow:0 0 0 1px var(--pd-color-border),0 6px 16px rgb(60 40 20 / 12%); }
.pd-processing-logo img { width:1.875rem; height:1.875rem; }
.pd-processing-meter { display:flex; flex:1 1 16.25rem; min-width:0; flex-direction:column; gap:0.5rem; }
.pd-processing-meter__label { display:flex; justify-content:space-between; align-items:baseline; gap:0.625rem; font-size:0.9375rem; }
.pd-processing-meter__label span { color:var(--pd-color-accent-text); font-size:0.875rem; font-weight:700; font-variant-numeric:tabular-nums; }
.pd-processing-meter small { color:var(--pd-color-ink-3); font-size:0.8125rem; }
.pd-processing-bar { position:relative; height:0.625rem; overflow:hidden; border-radius:0.3125rem; background:var(--pd-color-muted); }
.pd-processing-bar span { position:absolute; inset-block:0; left:0; overflow:hidden; border-radius:inherit; background:var(--pd-color-accent); }
.pd-processing-bar span::after { content:""; position:absolute; inset-block:0; width:40%; background:linear-gradient(90deg,transparent,rgb(255 255 255 / 55%),transparent); animation:pd-onboarding-sheen 1.4s ease-in-out infinite; }
.pd-processing-stages { display:flex; flex-direction:column; border-top:1px solid var(--pd-color-border-row); }
.pd-processing-stage { display:flex; align-items:flex-start; gap:0.875rem; padding:0.875rem 0; border-bottom:1px solid var(--pd-color-border-row); }
.pd-processing-stage__number { display:grid; place-items:center; width:1.75rem; height:1.75rem; flex:0 0 auto; border-radius:50%; background:var(--pd-color-border); color:#fff; font-size:0.875rem; font-weight:800; }
.pd-processing-stage.is-done .pd-processing-stage__number { background:var(--pd-color-success); }
.pd-processing-stage.is-active .pd-processing-stage__number { background:var(--pd-color-accent-strong); box-shadow:0 0 0 4px var(--pd-color-accent-soft); }
.pd-processing-stage__copy { flex:1; min-width:0; }
.pd-processing-stage__copy strong { font-size:0.9375rem; }
.pd-processing-stage__copy p { margin:0.1875rem 0 0; color:var(--pd-color-ink-2); font-size:0.875rem; line-height:1.5; }
.pd-processing-stage__status { flex:0 0 auto; padding:0.25rem 0.5625rem; border-radius:0.4375rem; background:var(--pd-color-muted); color:var(--pd-color-ink-3); font-size:0.75rem; font-weight:700; }
.pd-processing-stage.is-done .pd-processing-stage__status { background:var(--pd-color-success-soft); color:var(--pd-color-success-text); }
.pd-processing-stage.is-active .pd-processing-stage__status { background:var(--pd-color-accent-soft); color:var(--pd-color-accent-text); }

.pd-competitor-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr)); gap:0.625rem; }
.pd-competitor-card { align-items:center; gap:0.625rem; padding:0.6875rem 0.75rem; min-width:0; }
.pd-competitor-card.is-disabled { cursor:default; opacity:.45; }
.pd-competitor-logo { display:grid; place-items:center; width:2rem; height:2rem; flex:0 0 auto; overflow:hidden; border-radius:0.5625rem; background:#fff; box-shadow:0 0 0 1px var(--pd-color-border); }
.pd-competitor-logo img { width:1.125rem; height:1.125rem; }
.pd-competitor-name { flex:1; min-width:0; overflow:hidden; color:var(--pd-color-ink); font-size:0.875rem; font-weight:700; line-height:normal; text-overflow:ellipsis; white-space:nowrap; }
.pd-competitor-name strong, .pd-competitor-name small { display:block; overflow:hidden; text-overflow:ellipsis; }
.pd-competitor-name small { color:var(--pd-color-accent-text); font-size:0.6875rem; }
.pd-competitor-card .pd-choice-tick { order:3; margin:0; }
.pd-add-competitor { display:flex; flex-wrap:wrap; gap:0.5rem; }
.pd-add-competitor .pd-domain-input { flex:1 1 15rem; }
.pd-add-competitor .pd-domain-input input { padding-block:0.75rem; font-size:0.9375rem; }
.pd-add-competitor .pd-domain-input > span { padding-left:0.875rem; font-size:0.9375rem; }
.pd-add-competitor .pd-button { padding:0.75rem 1.125rem; }
.pd-add-competitor .pd-button:disabled { background:var(--pd-color-disabled); color:var(--pd-color-ink-3); }
.pd-slot-summary { display:flex; flex-direction:column; gap:0.375rem; }
.pd-slots { display:flex; gap:0.25rem; }
.pd-slots i { width:1.125rem; height:0.5rem; border-radius:0.25rem; background:var(--pd-color-disabled); }
.pd-slots i.is-filled { background:var(--pd-color-accent-strong); }
.pd-slot-summary p { margin:0; color:var(--pd-color-ink); font-size:0.875rem; font-variant-numeric:tabular-nums; }
.pd-slot-summary p strong { font-weight:700; }
.pd-verification-wait { display:flex; align-items:flex-start; gap:0.875rem; }
.pd-verification-wait strong { display:block; margin-bottom:0.25rem; font-size:0.9375rem; }
.pd-processing-stage__number.is-pulsing { background:var(--pd-color-accent-strong); box-shadow:0 0 0 4px var(--pd-color-accent-soft); animation:pd-onboarding-pulse 1.4s ease-in-out infinite; }
.pd-subscription-shell { width:100%; max-width:70rem; margin-inline:auto; }
.pd-subscription-title { margin:0; color:var(--pd-color-ink); font-size:clamp(1.75rem,4vw,2.5rem); font-weight:800; letter-spacing:-.025em; }
.pd-subscription-lead { margin:.5rem 0 1.75rem; color:var(--pd-color-ink-2); font-size:1rem; }
.pd-subscription-card { border:1px solid var(--pd-color-border); border-radius:var(--pd-radius-card); background:#fff; box-shadow:var(--pd-shadow-card); }
.pd-subscription-card h3 { color:var(--pd-color-ink); font-size:1.125rem; font-weight:800; }
.pd-subscription-card .form-label { color:var(--pd-color-ink-2); font-size:.875rem !important; font-weight:600; }
.pd-subscription-card .form-control, .pd-subscription-card .form-select { border:1px solid var(--pd-color-border-control); border-radius:var(--pd-radius-control); padding:.75rem .875rem; background:#fff; color:var(--pd-color-ink); font-size:.9375rem; }
.pd-subscription-card .form-control:focus, .pd-subscription-card .form-select:focus { border-color:var(--pd-color-ink); box-shadow:var(--pd-focus-ring); }
.pd-subscription-price { margin:0; color:var(--pd-color-accent-text); font-size:1.25rem; font-weight:700; }

/* Routed browser report shell */
.pd-report-app {
  margin: 0;
  color: var(--pd-color-ink);
  background: var(--pd-color-page);
  font-family: var(--pd-font-sans);
}

.pd-report-app > .page { min-height:100vh; }
.pd-report-app a[href] { cursor:pointer; transition:transform 140ms ease,background-color 140ms ease,border-color 140ms ease,color 140ms ease,box-shadow 140ms ease; }
/* The link treatment is for text. A send-timeline dot is a 10px circle whose colour is the
   thing the legend explains, so it opts out and gets its own hover below. */
.pd-report-app a[href]:not(.pd-send-timeline__dot):is(:hover,.is-pointer-hover) {
  color:var(--pd-color-accent-text);
  background-color:rgb(214 90 31 / 9%);
  text-decoration:underline;
  text-decoration-thickness:.08em;
  text-underline-offset:.16em;
}
.pd-report-app .pd-activity-time-chart__dot:hover {
  background-color:var(--pd-color-accent);
  box-shadow:0 0 0 3px rgb(214 90 31 / 20%);
  text-decoration:none;
  transform:scale(1.3);
}
/*
 * Send-timeline dots keep their own colour on hover: grey means a competitor sent it. They are
 * also centred on their send time with a translate, so the hover has to carry that translate
 * through or the dot jumps to the corner of its cell. A half-day cell is only about a dot and a
 * half wide, so the highlight is a ring and a nudge rather than the 1.3x above.
 */
.pd-report-app .pd-send-timeline__dot:hover {
  box-shadow:0 0 0 2px rgb(214 90 31 / 25%);
  text-decoration:none;
  transform:translate(-50%,-50%) scale(1.15);
}
/* A cluster is already the larger marker; the ring alone is enough. */
.pd-report-app .pd-send-timeline__dot.is-cluster:hover { transform:translate(-50%,-50%); }
/* On a card the grid centres the dot in its half, so there is no translate to preserve. */
.pd-report-app .pd-send-card__half .pd-send-timeline__dot:hover { transform:scale(1.15); }
.pd-report-app .pd-send-card__half .pd-send-timeline__dot.is-cluster:hover { transform:none; }
.pd-report-app a[href]:focus-visible { outline:2px solid var(--pd-color-accent); outline-offset:2px; }

.pd-report-layout {
  min-height: calc(100vh - 60px);
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
}

.pd-report-layout > .pd-report-sidebar {
  min-width: 0;
  background: #fff;
  border-right: 1px solid var(--pd-color-border);
}

.pd-report-sidebar__header {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1.25rem;
  border-bottom: 1px solid var(--pd-color-border-row);
}

.pd-report-sidebar__home { width:fit-content; max-width:100%; overflow:hidden; color:var(--pd-color-ink); font-size:1.0625rem; font-weight:700; letter-spacing:-.015em; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; transition:color 140ms ease,text-decoration-color 140ms ease; }
.pd-report-sidebar__home:hover,.pd-report-sidebar__home:focus-visible { color:var(--pd-color-accent-text); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; }
.pd-report-sidebar__home:focus-visible { outline:2px solid var(--pd-color-accent); outline-offset:3px; }
.pd-report-sidebar__header > span { color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }

.pd-report-search {
  display:flex;
  align-items:center;
  gap:.5rem;
  margin-top:.625rem;
  padding:.5625rem .6875rem;
  border:1px solid var(--pd-color-border-row);
  border-radius:.75rem;
  background:var(--pd-color-subtle);
}

.pd-report-search__icon { width:.6875rem; height:.6875rem; flex:0 0 auto; border:1.5px solid #7a6e62; border-radius:50%; position:relative; }
.pd-report-search__icon::after { content:""; position:absolute; width:.3125rem; border-top:1.5px solid #7a6e62; right:-.25rem; bottom:-.125rem; transform:rotate(45deg); }
.pd-report-search input { width:100%; min-width:0; border:0; outline:0; padding:0; color:var(--pd-color-ink); background:transparent; font: .8125rem var(--pd-font-sans); }
.pd-report-search input::placeholder { color:var(--pd-color-ink-3); opacity:1; }

.pd-report-section-nav { display:flex; flex-direction:column; gap:1px; padding:.875rem 0; }
.pd-report-section-nav__label { padding:0 1.25rem .5rem; color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-report-section-nav__item { display:flex; align-items:center; justify-content:space-between; gap:.625rem; min-width:0; padding:.5625rem 1.25rem .5625rem 1rem; border-left:4px solid transparent; color:var(--pd-color-ink); font-size:.875rem; text-decoration:none; }
.pd-report-section-nav__item:is(:hover,.is-pointer-hover) { background:var(--pd-color-subtle); text-decoration:none; }
.pd-report-section-nav__item.is-active { border-left-color:var(--pd-color-accent); background:var(--pd-color-tint); font-weight:700; }
.pd-report-section-nav__identity { display:flex; align-items:center; gap:.5625rem; min-width:0; }
.pd-report-section-nav__identity > span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pd-report-section-nav__favicon { width:1.375rem; height:1.375rem; display:grid; place-items:center; flex:0 0 auto; overflow:hidden; border:1px solid var(--pd-color-border-row); border-radius:.4375rem; background:#fff; }
.pd-report-section-nav__favicon img { width:.875rem; height:.875rem; }
.pd-report-section-nav__item small { flex:0 0 auto; color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-report-section-nav__group { border:0; }
.pd-report-section-nav__group > summary { position:relative; min-width:0; padding-right:1.875rem; border-left:4px solid transparent; color:var(--pd-color-ink); font-size:.875rem; cursor:pointer; list-style:none; }
.pd-report-section-nav__group > summary::-webkit-details-marker { display:none; }
.pd-report-section-nav__group > summary:is(:hover,.is-pointer-hover) { background:var(--pd-color-subtle); }
.pd-report-section-nav__group > summary.is-active { border-left-color:var(--pd-color-accent); background:var(--pd-color-tint); font-weight:700; }
.pd-report-section-nav__group > summary::after { content:""; position:absolute; top:50%; right:.875rem; width:.4375rem; height:.4375rem; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; opacity:.55; pointer-events:none; transform:translateY(-65%) rotate(45deg); transition:transform 160ms ease; }
.pd-report-section-nav__group[open] > summary::after { transform:translateY(-35%) rotate(-135deg); }
.pd-report-section-nav__group > summary > a { display:flex; align-items:center; justify-content:space-between; gap:.625rem; min-width:0; padding:.5625rem .625rem .5625rem .75rem; color:inherit; text-decoration:none; }
.pd-report-section-nav__group > summary small { flex:0 0 auto; color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-report-section-nav__children { position:relative; display:flex; flex-direction:column; margin:.125rem 1.25rem .375rem 2.625rem; padding:.125rem 0 .125rem 1rem; }
.pd-report-section-nav__children::before { content:""; position:absolute; top:0; bottom:0; left:0; width:1px; background:var(--pd-color-border); }
.pd-report-section-nav__children a { position:relative; padding:.4375rem .625rem; border-radius:.4375rem; color:var(--pd-color-ink-2); font-size:.8125rem; text-decoration:none; }
.pd-report-section-nav__children a:is(:hover,.is-pointer-hover) { background:var(--pd-color-subtle); }
.pd-report-section-nav__children a.is-active { color:var(--pd-color-accent-text); background:var(--pd-color-tint); font-weight:700; }
.pd-report-section-nav__empty { padding:.4375rem .625rem; color:var(--pd-color-ink-4); font-size:.8125rem; font-style:italic; }

.pd-report-main { min-width:0; display:flex; flex-direction:column; }
.pd-report-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem; padding:.75rem clamp(.875rem,3vw,1.75rem); border-bottom:1px solid var(--pd-color-border-row); background:#fff; }
.pd-report-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; min-width:0; color:var(--pd-color-ink-3); font-size:.8125rem; }
.pd-report-breadcrumb a { color:var(--pd-color-accent-text); text-decoration:none; }
.pd-report-breadcrumb span { color:var(--pd-color-ink-4); }
.pd-report-breadcrumb strong { color:var(--pd-color-ink); font-weight:600; }
.pd-report-toolbar__actions { display:flex; align-items:center; gap:.5rem; }
.pd-report-period select, .pd-report-download { min-height:2.125rem; border:1px solid var(--pd-color-border); border-radius:.75rem; color:var(--pd-color-ink); background:var(--pd-color-subtle); font: .8125rem var(--pd-font-sans); }
.pd-report-period select { padding:.5rem 2rem .5rem .75rem; }
.pd-report-download { display:flex; align-items:center; gap:.4375rem; padding:.5rem .75rem; background:#fff; text-decoration:none; }
.pd-report-download svg { width:.9375rem; height:.9375rem; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.pd-report-download__spinner { display:none; flex:none; width:.9375rem; height:.9375rem; border:2px solid var(--pd-color-border); border-top-color:var(--pd-color-accent); border-radius:50%; animation:pd-spin .9s linear infinite; }
.pd-report-download.is-busy { color:var(--pd-color-ink-3); pointer-events:none; }
.pd-report-download.is-busy .pd-report-download__icon { display:none; }
.pd-report-download.is-busy .pd-report-download__spinner { display:block; }
.dropdown-item.is-busy { color:var(--pd-color-ink-3); pointer-events:none; }
@media (prefers-reduced-motion: reduce) { .pd-report-download__spinner { animation:none; } }

.pd-report-pager { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.625rem clamp(.875rem,3vw,1.75rem); border-bottom:1px solid var(--pd-color-border-row); background:var(--pd-color-subtle); }
.pd-report-pager__button { padding:.5rem .875rem; border:1px solid var(--pd-color-border); border-radius:.75rem; color:var(--pd-color-ink); background:#fff; font-size:.8125rem; font-weight:600; text-decoration:none; white-space:nowrap; }
.pd-report-pager__button.is-disabled { color:var(--pd-color-ink-4); }
.pd-report-pager__progress { flex:1; max-width:26.25rem; display:flex; align-items:center; gap:.875rem; }
.pd-report-pager__progress > span { color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.pd-report-pager__track { flex:1; height:.375rem; overflow:hidden; border-radius:.1875rem; background:#eadfd1; }
.pd-report-pager__track i { display:block; height:100%; border-radius:inherit; background:var(--pd-color-accent); }
.pd-report-pager--bottom { border-top:1px solid var(--pd-color-border-row); border-bottom:0; }

.pd-report-canvas { display:flex; justify-content:center; padding:clamp(.75rem,3vw,2.25rem) clamp(.625rem,3vw,1.75rem) 3rem; }
.pd-report-paper { width:100%; max-width:57.5rem; display:flex; flex-direction:column; gap:clamp(1.5rem,4vw,2.25rem); padding:clamp(1.125rem,3vw,2rem) clamp(1.125rem,5vw,3.5rem); background:#fff; box-shadow:0 1px 2px rgb(60 40 20 / 8%),0 14px 44px rgb(60 40 20 / 10%); }
.pd-report-paper__header { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:.75rem 1.5rem; padding-bottom:1.125rem; border-bottom:3px solid var(--pd-color-accent); }
.pd-report-paper__heading { display:flex; flex-direction:column; gap:.375rem; }
.pd-report-paper__eyebrow { color:var(--pd-color-accent-text); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-report-paper__heading h1 { margin:0; color:var(--pd-color-ink); font-size:clamp(1.625rem,4.2vw,2.25rem); font-weight:800; letter-spacing:-.025em; line-height:1.05; }
.pd-report-paper__meta { color:var(--pd-color-ink-3); font-size:.75rem; line-height:1.6; font-variant-numeric:tabular-nums; text-align:right; }
.pd-report-paper__footer { display:flex; justify-content:space-between; gap:.75rem; padding-top:1rem; border-top:1px solid var(--pd-color-border-row); color:var(--pd-color-ink-3); font-size:.6875rem; font-variant-numeric:tabular-nums; }

.pd-report-insight-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,11.875rem),1fr)); gap:.75rem; }
.pd-report-insight-card { min-height:8.25rem; display:flex; flex-direction:column; justify-content:space-between; gap:.5rem; padding:1.125rem 1.25rem; border-radius:.875rem; background:var(--pd-color-subtle); min-width:0; }
.pd-report-insight-card > span { color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-report-insight-card > strong { overflow-wrap:anywhere; color:var(--pd-color-ink); font-size:1.5rem; font-weight:800; letter-spacing:-.02em; line-height:1.1; }
.pd-report-insight-card > strong.pd-report-insight-card__domain { overflow:hidden; font-size:1.5rem; text-overflow:ellipsis; white-space:nowrap; }
.pd-report-insight-card > strong.pd-report-insight-card__domain.is-long { font-size:1.125rem; }
.pd-report-insight-card > strong.pd-report-insight-card__domain.is-very-long { font-size:1rem; }
.pd-report-insight-card > small { color:var(--pd-color-ink-3); font-size:.8125rem; }
.pd-report-insight-card__brand { min-width:0; display:flex; align-items:flex-start; gap:.5rem; }
.pd-report-insight-card__brand strong { min-width:0; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; color:var(--pd-color-ink); font-size:1.375rem; font-weight:800; letter-spacing:-.02em; line-height:1.15; }
.pd-report-insight-card__brand strong.is-long { font-size:1.125rem; }
.pd-report-insight-card.is-accent { color:#fff; background:oklch(.55 .15 45); }
.pd-report-insight-card.is-accent > span, .pd-report-insight-card.is-accent > strong, .pd-report-insight-card.is-accent > small { color:inherit; }
.pd-report-insight-card.is-accent > strong { font-size:3.25rem; font-weight:600; line-height:1; }

.pd-report-section-block { display:flex; flex-direction:column; gap:1rem; min-width:0; }
.pd-report-section-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:.5rem; padding-bottom:.625rem; border-bottom:1px solid var(--pd-color-border); }
.pd-report-section-heading h2 { margin:0; color:var(--pd-color-ink); font-size:1.0625rem; font-weight:700; }
.pd-report-section-heading span { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-report-rich-copy { color:var(--pd-color-ink-2); font-size:.9375rem; line-height:1.55; }
.pd-report-empty-state { padding:2rem; border-radius:.875rem; color:var(--pd-color-ink-3); background:var(--pd-color-subtle); text-align:center; }

.pd-report-status-page {
  width: 100%;
  max-width: 52rem;
  margin-inline: auto;
  padding: clamp(2rem, 6vw, 5rem) clamp(1rem, 3vw, 2rem);
}

.pd-report-status-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.25rem 1.5rem;
  padding: clamp(1.5rem, 4vw, 2.75rem);
  border: 1px solid var(--pd-color-border);
  border-radius: 1.125rem;
  background: var(--pd-color-surface);
  box-shadow: var(--pd-shadow-card);
}

.pd-report-status-icon {
  width: 3.5rem;
  height: 3.5rem;
  display: grid;
  place-items: center;
  border-radius: 0.875rem;
  color: var(--pd-color-accent-text);
  background: var(--pd-color-tint);
}

.pd-report-status-icon svg { width: 2rem; height: 2rem; }
.pd-report-status-card__header { align-self: center; }
.pd-report-status-eyebrow { margin: 0 0 0.4rem; color: var(--pd-color-accent-text); font-size: 0.8125rem; font-weight: 700; }
.pd-report-status-card__header h1 { margin: 0; color: var(--pd-color-ink); font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; }
.pd-report-status-card__header > p:last-child { max-width: 42rem; margin: 0.875rem 0 0; color: var(--pd-color-ink-2); font-size: 1rem; line-height: 1.55; }
.pd-report-status-progress,
.pd-report-status-next,
.pd-report-status-actions { grid-column: 1 / -1; }
.pd-report-status-progress { padding: 1.125rem; border-radius: 0.875rem; background: var(--pd-color-tint); }
.pd-report-status-progress__heading { display: flex; justify-content: space-between; gap: 1rem; color: var(--pd-color-ink); font-size: 0.875rem; }
.pd-report-status-progress__heading span { color: var(--pd-color-accent-text); font-weight: 700; }
.pd-report-status-progress__track { height: 0.5rem; margin: 0.75rem 0; overflow: hidden; border-radius: 999px; background: var(--pd-color-muted); }
.pd-report-status-progress__track span { display: block; width: 62%; height: 100%; border-radius: inherit; background: var(--pd-color-accent); }
.pd-report-status-progress p { display: flex; justify-content: space-between; gap: 1rem; margin: 0; color: var(--pd-color-ink-3); font-size: 0.8125rem; }
.pd-report-status-progress p strong { color: var(--pd-color-ink); }
.pd-report-status-next { padding-top: 1.25rem; border-top: 1px solid var(--pd-color-border-row); }
.pd-report-status-next strong { color: var(--pd-color-ink); font-size: 1rem; }
.pd-report-status-next p { margin: 0.35rem 0 0; color: var(--pd-color-ink-2); font-size: 0.875rem; line-height: 1.5; }
.pd-report-status-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }

@media (max-width: 520px) {
  .pd-report-status-card { grid-template-columns: 1fr; }
  .pd-report-status-icon { width: 3rem; height: 3rem; }
  .pd-report-status-progress,
  .pd-report-status-next,
  .pd-report-status-actions { grid-column: 1; }
  .pd-report-status-progress p { flex-direction: column; gap: 0.25rem; }
}

.pd-report-search-form { display:flex; gap:.5rem; }
.pd-report-search-form input { flex:1; min-width:0; border:1px solid var(--pd-color-border); border-radius:.75rem; padding:.75rem .875rem; color:var(--pd-color-ink); background:#fff; font: .9375rem var(--pd-font-sans); }
.pd-report-search-results { display:flex; flex-direction:column; border-top:1px solid var(--pd-color-border-row); }
.pd-report-search-result { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.25rem 1rem; padding:.875rem 0; border-bottom:1px solid var(--pd-color-border-row); color:var(--pd-color-ink); text-decoration:none; }
.pd-report-search-result strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pd-report-search-result span, .pd-report-search-result small { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-report-search-result small { grid-column:2; grid-row:1; }

.pd-send-timeline { min-width:0; }
.pd-send-timeline__wide { min-width:0; overflow-x:auto; }
.pd-send-timeline__narrow { display:none; }
.pd-send-timeline__head, .pd-send-timeline__row { min-width:47rem; display:grid; grid-template-columns:minmax(12.5rem,1fr) 2.75rem 6.25rem minmax(17.5rem,25rem); align-items:center; gap:1rem; }
.pd-send-timeline__head { padding:.625rem .75rem .25rem; color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-send-timeline__days, .pd-send-timeline__plot { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.25rem; }
.pd-send-timeline__days > span { display:grid; grid-template-columns:1fr 1fr; gap:.125rem; text-align:center; }
.pd-send-timeline__days strong, .pd-send-timeline__days small { grid-column:1 / -1; color:var(--pd-color-ink); font-size:.6875rem; font-style:normal; font-weight:500; }
.pd-send-timeline__days small { color:var(--pd-color-ink-3); }
.pd-send-timeline__days i { color:var(--pd-color-ink-3); font-size:.625rem; font-style:normal; }
.pd-send-timeline__rows { display:flex; flex-direction:column; gap:.0625rem; }
.pd-send-timeline__row { min-height:2.875rem; padding:.5625rem .75rem; border-bottom:1px solid var(--pd-color-border-row); border-radius:.625rem; }
.pd-send-timeline__row { transition:background-color 140ms ease,box-shadow 140ms ease; }
.pd-send-timeline__row:hover { background:#FBF6EE; box-shadow:inset 0 0 0 1px var(--pd-color-border-row); }
.pd-send-timeline__row.is-you:hover { background:#FDF1E6; }
.pd-send-timeline__row.is-you { border-bottom-color:transparent; background:var(--pd-color-tint); }
.pd-send-timeline__brand { min-width:0; display:flex; align-items:center; gap:.625rem; }
.pd-send-timeline__brand-link { color:inherit; text-decoration:none; }
.pd-send-timeline__brand > strong { min-width:0; overflow:hidden; color:var(--pd-color-ink); font-size:.9375rem; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.pd-send-timeline__row.is-you .pd-send-timeline__brand > strong { font-weight:800; }
.pd-send-timeline__brand > small { color:var(--pd-color-accent-text); font-size:.75rem; }
.pd-send-timeline__favicon { width:1.75rem; height:1.75rem; display:grid; place-items:center; flex:0 0 auto; overflow:hidden; border:1px solid var(--pd-color-border); border-radius:.5rem; background:#fff; }
.pd-send-timeline__favicon img { width:1rem; height:1rem; }
.pd-send-timeline__favicon > span { color:var(--pd-color-text); font-size:.75rem; font-weight:700; line-height:1; }
.pd-send-timeline__count { font-size:1.25rem; font-weight:600; font-variant-numeric:tabular-nums; }
.pd-send-timeline__frequency { color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-send-timeline__day { display:grid; grid-template-columns:1fr 1fr; gap:.125rem; height:1.75rem; }
.pd-send-timeline__half { position:relative; border-radius:.375rem .125rem .125rem .375rem; background:var(--pd-color-subtle); }
.pd-send-timeline__half + .pd-send-timeline__half { border-radius:.125rem .375rem .375rem .125rem; background:var(--pd-color-muted); }
.pd-send-timeline__half.is-you { background:#fff; }
.pd-send-timeline__half.is-you + .pd-send-timeline__half { background:var(--pd-color-tint); }
.pd-send-timeline__dot { position:absolute; top:50%; left:50%; width:.625rem; height:.625rem; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--pd-color-ink-3); font-size:.75rem; font-weight:700; font-variant-numeric:tabular-nums; line-height:1; text-decoration:none; transform:translate(-50%,-50%); }
.pd-send-timeline__dot.is-you { background:var(--pd-color-accent); }
.pd-send-timeline__dot.is-cluster { width:1.125rem; height:1.125rem; font-size:.625rem; }
.pd-send-timeline__legend { display:flex; flex-wrap:wrap; gap:.5rem 1.125rem; padding:.75rem .75rem 0; color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-send-timeline__legend span { display:flex; align-items:center; gap:.375rem; }
.pd-send-timeline__legend i { flex:0 0 auto; width:.625rem; height:.625rem; border-radius:50%; background:var(--pd-color-ink-3); font-style:normal; }
.pd-send-timeline__legend i.is-you { background:var(--pd-color-accent); }
.pd-send-timeline__legend i.is-cluster { width:1rem; height:1rem; display:grid; place-items:center; color:#fff; font-size:.75rem; font-weight:700; }
.pd-send-timeline__legend i.is-halves { width:.875rem; height:1.125rem; display:grid; grid-template-rows:1fr 1fr; gap:.0625rem; border-radius:0; background:none; }
.pd-send-timeline__legend i.is-halves::before, .pd-send-timeline__legend i.is-halves::after { content:""; background:var(--pd-color-border); border-radius:.1875rem .1875rem .0625rem .0625rem; }
.pd-send-timeline__legend i.is-halves::after { background:var(--pd-color-border-control); border-radius:.0625rem .0625rem .1875rem .1875rem; }

/* Narrow screens: the seven-day grid cannot carry brand, count and frequency columns as well,
   so each brand that sent becomes a card and the quiet ones collect underneath. */
.pd-send-timeline__day-heads { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.25rem; text-align:center; font-variant-numeric:tabular-nums; }
.pd-send-timeline__day-heads span { display:grid; gap:.0625rem; }
.pd-send-timeline__day-heads strong { color:var(--pd-color-ink); font-size:.75rem; font-weight:700; }
.pd-send-timeline__day-heads small { color:var(--pd-color-ink-3); font-size:.6875rem; }
.pd-send-card { display:flex; flex-direction:column; gap:.625rem; padding:.75rem; border:1px solid var(--pd-color-border-row); border-radius:.75rem; background:#fff; }
.pd-send-card.is-you { border-color:transparent; background:var(--pd-color-tint-strong); }
.pd-send-card__head { display:flex; align-items:center; justify-content:space-between; gap:.625rem; min-width:0; }
.pd-send-card__brand { min-width:0; display:flex; align-items:center; gap:.5625rem; color:inherit; text-decoration:none; }
.pd-send-card__name { min-width:0; display:grid; gap:.0625rem; }
.pd-send-card__name > span { min-width:0; display:flex; align-items:center; gap:.375rem; }
.pd-send-card__name strong { min-width:0; overflow:hidden; font-size:.9375rem; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.pd-send-card.is-you .pd-send-card__name strong { font-weight:800; }
.pd-send-card__name em { flex:0 0 auto; padding:.125rem .5rem; border-radius:999px; color:#fff; background:var(--pd-color-accent); font-size:.6875rem; font-style:normal; font-weight:700; }
.pd-send-card__name small { color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-send-card__count { flex:0 0 auto; display:grid; justify-items:end; gap:.0625rem; font-variant-numeric:tabular-nums; }
.pd-send-card__count strong { font-size:1.375rem; font-weight:700; line-height:1; }
.pd-send-card__count small { color:var(--pd-color-ink-3); font-size:.6875rem; }
.pd-send-card__cells { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.25rem; }
.pd-send-card__cell { display:grid; grid-template-rows:1fr 1fr; gap:.125rem; height:2.75rem; }
.pd-send-card__half { position:relative; display:grid; place-items:center; background:var(--pd-color-subtle); }
.pd-send-card__half.is-am { border-radius:.4375rem .4375rem .125rem .125rem; }
.pd-send-card__half.is-pm { border-radius:.125rem .125rem .4375rem .4375rem; background:var(--pd-color-muted); }
.pd-send-card__half.is-am.is-you { background:#fff; }
.pd-send-card__half.is-pm.is-you { background:#f9dfc8; }
.pd-send-card__half .pd-send-timeline__dot { position:static; transform:none; }
.pd-send-card--quiet { border-style:dashed; border-color:var(--pd-color-border-control); background:transparent; }
.pd-send-card__quiet-head { display:flex; align-items:baseline; justify-content:space-between; gap:.5rem; }
.pd-send-card__quiet-head strong { font-size:.875rem; font-weight:700; }
.pd-send-card__quiet-head span { color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-send-card__quiet-list { display:flex; flex-wrap:wrap; gap:.375rem; }
.pd-send-card__chip { min-width:0; display:flex; align-items:center; gap:.375rem; padding:.3125rem .5625rem .3125rem .375rem; border-radius:.5rem; background:var(--pd-color-subtle); color:var(--pd-color-ink-2); font-size:.8125rem; text-decoration:none; }
.pd-send-card__chip img { width:.875rem; height:.875rem; flex:0 0 auto; border-radius:.1875rem; opacity:.7; }

@media (max-width: 40rem) {
  .pd-send-timeline__wide { display:none; }
  .pd-send-timeline__narrow { display:flex; flex-direction:column; gap:.625rem; padding-top:.75rem; }
  .pd-send-timeline__narrow .pd-send-timeline__legend { padding:.25rem 0 0; }
}

/* Stage 7: activity and email-detail report pages. */
.pd-activity-header { display:flex; flex-direction:column; gap:.875rem; padding-bottom:1.125rem; border-bottom:3px solid var(--pd-color-accent); }
.pd-activity-header__main { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:.75rem 1.5rem; }
.pd-activity-header__main > div { min-width:0; display:flex; flex-direction:column; gap:.375rem; }
.pd-activity-header .pd-activity-kicker { margin:0; }
.pd-activity-header h1 { margin:0; font-size:clamp(1.625rem,4.2vw,2.25rem); font-weight:800; letter-spacing:-.025em; line-height:1.05; }
.pd-activity-header__main > p { margin:0; color:var(--pd-color-ink-3); font-size:.75rem; line-height:1.6; font-variant-numeric:tabular-nums; text-align:right; }
.pd-activity-header__badges { display:flex; flex-wrap:wrap; gap:.5rem; }
.pd-activity-header__badges span { padding:.375rem .625rem; border-radius:.5rem; color:var(--pd-color-ink-2); background:var(--pd-color-muted); font-size:13px; font-weight:600; }
.pd-activity-header__badges span.is-accent { color:var(--pd-color-accent-text); background:var(--pd-color-tint); }
.pd-activity-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.pd-activity-summary-card { min-width:0; min-height:12rem; display:flex; flex-direction:column; align-items:stretch; gap:.75rem; padding:1.125rem 1.25rem; border:1px solid var(--pd-color-border); border-radius:.875rem; background:#fff; }
.pd-activity-summary-card.is-current { border-color:transparent; background:var(--pd-color-tint-strong); }
.pd-activity-kicker { display:block; margin-bottom:.625rem; color:var(--pd-color-accent-text); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-activity-summary-card__header { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:.375rem .75rem; }
.pd-activity-summary-card__header strong { font-size:.9375rem; }
.pd-activity-summary-card__header span { color:var(--pd-color-ink-3); font-size:.6875rem; font-variant-numeric:tabular-nums; }
.pd-activity-summary-card__tags { display:flex; flex-wrap:wrap; gap:.375rem; }
.pd-activity-summary-card__tags span { padding:.3125rem .5625rem; border-radius:.5rem; color:var(--pd-color-accent-text); background:#fff; font-size:12px; font-weight:600; }
.pd-activity-summary-card:not(.is-current) .pd-activity-summary-card__tags span { color:var(--pd-color-ink-2); background:var(--pd-color-muted); }
.pd-activity-summary-card p { margin:0; color:#3a302a; font-size:.875rem; line-height:1.6; text-wrap:pretty; }
.pd-report-section-block:has(.pd-activity-time-chart) { overflow-x:auto; }
.pd-activity-time-chart { min-width:42rem; }
.pd-activity-time-chart__head,.pd-activity-time-chart__row { display:grid; grid-template-columns:minmax(8.75rem,1fr) minmax(23.75rem,3fr); gap:1rem; padding:.5625rem .75rem; }
.pd-activity-time-chart__head { align-items:end; padding-top:.625rem; padding-bottom:.25rem; }
.pd-activity-time-chart__days,.pd-activity-time-chart__plot { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.25rem; }
.pd-activity-time-chart__days > span { display:flex; flex-direction:column; gap:.1875rem; color:var(--pd-color-ink); font-size:12px; text-align:center; }
.pd-activity-time-chart__days strong { font-size:12px; font-weight:400; }
.pd-activity-time-chart__days small { display:grid; grid-template-columns:1fr 1fr; gap:.125rem; color:var(--pd-color-ink-3); font-size:12px; font-weight:400; }
.pd-activity-time-chart__days i { font-style:normal; }
.pd-activity-time-chart__row { align-items:center; border-radius:.625rem; }
.pd-activity-time-chart__row.is-current { background:var(--pd-color-tint-strong); }
.pd-activity-time-chart__label { display:flex; flex-direction:column; gap:.125rem; }
.pd-activity-time-chart__label strong { font-size:14px; font-weight:700; }
.pd-activity-time-chart__label span { color:var(--pd-color-ink-3); font-size:12px; font-variant-numeric:tabular-nums; }
.pd-activity-time-chart__day { height:1.75rem; display:grid; grid-template-columns:1fr 1fr; gap:.125rem; }
.pd-activity-time-chart__day > span { position:relative; border-radius:.375rem .125rem .125rem .375rem; background:#fff; }
.pd-activity-time-chart__day > span + span { border-radius:.125rem .375rem .375rem .125rem; background:var(--pd-color-tint); }
.pd-activity-time-chart__row.is-previous .pd-activity-time-chart__day > span { background:#fbf6ee; }
.pd-activity-time-chart__row.is-previous .pd-activity-time-chart__day > span + span { background:#f5ede2; }
.pd-activity-time-chart__row.is-own .pd-activity-time-chart__day > span { background:#fbf6ee; }
.pd-activity-time-chart__row.is-own .pd-activity-time-chart__day > span + span { background:#f5ede2; }
.pd-activity-time-chart__day i { position:absolute; top:50%; left:50%; width:.625rem; height:.625rem; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--pd-color-accent); font-size:.5rem; font-style:normal; font-weight:700; transform:translate(-50%,-50%); }
.pd-activity-time-chart__day i:not(:empty) { width:1rem; height:1rem; }
.pd-activity-time-chart__dots { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:.125rem; }
.pd-activity-time-chart__dot { width:.625rem; height:.625rem; display:block; flex:0 0 auto; border-radius:50%; color:#fff; background:var(--pd-color-accent); text-decoration:none; }
.pd-activity-time-chart__dot.is-count { width:1.125rem; height:1.125rem; display:grid; place-items:center; font-size:.625rem; font-weight:700; line-height:1; }
.pd-activity-time-chart__row.is-previous .pd-activity-time-chart__day i { background:#c9a98a; }
.pd-activity-time-chart__row.is-own .pd-activity-time-chart__day i { background:var(--pd-color-ink); }
.pd-activity-time-chart__row.is-previous .pd-activity-time-chart__dot { background:#c9a98a; }
.pd-activity-time-chart__row.is-own .pd-activity-time-chart__dot { background:var(--pd-color-ink); }
.pd-activity-timeline { min-width:42rem; overflow:hidden; border:1px solid var(--pd-color-border-row); border-radius:.875rem; }
.pd-report-section-block:has(.pd-activity-timeline) { overflow-x:auto; }
.pd-activity-timeline__head,.pd-activity-timeline__row { display:grid; grid-template-columns:7.25rem repeat(7,minmax(3.75rem,1fr)); align-items:center; }
.pd-activity-timeline__head { min-height:3.25rem; color:var(--pd-color-ink-3); background:#fff; font-size:.6875rem; text-align:center; }
.pd-activity-timeline__head > span { display:flex; flex-direction:column; gap:.1875rem; }
.pd-activity-timeline__head strong { color:var(--pd-color-ink); font-size:.6875rem; }
.pd-activity-timeline__head small { display:grid; grid-template-columns:1fr 1fr; color:var(--pd-color-ink-3); font-size:.625rem; font-weight:400; }
.pd-activity-timeline__head i { font-style:normal; }
.pd-activity-timeline__row { min-height:3.75rem; border-top:1px solid var(--pd-color-border-row); }
.pd-activity-timeline__row.is-current { background:var(--pd-color-tint); }
.pd-activity-timeline__label { height:100%; display:flex; flex-direction:column; justify-content:center; gap:.125rem; padding-left:.875rem; }
.pd-activity-timeline__label strong { font-size:.75rem; }
.pd-activity-timeline__label span { color:var(--pd-color-ink-3); font-size:.625rem; font-variant-numeric:tabular-nums; }
.pd-activity-timeline__row > strong { padding-left:.875rem; font-size:.75rem; }
.pd-activity-timeline__cell { height:100%; display:grid; grid-template-columns:1fr 1fr; align-items:stretch; border-left:1px solid var(--pd-color-border-row); }
.pd-activity-timeline__cell span { display:grid; place-items:center; background:rgb(255 255 255 / 70%); }
.pd-activity-timeline__cell span + span { border-left:1px solid var(--pd-color-border-row); }
.pd-activity-timeline__row.is-previous .pd-activity-timeline__cell span { background:var(--pd-color-subtle); }
.pd-activity-timeline__cell span.is-active { color:#fff; background:var(--pd-color-accent); font-size:.5625rem; font-weight:700; }
.pd-activity-timeline__cell i { width:.6875rem; height:.6875rem; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--pd-color-accent); font-size:.5rem; font-style:normal; font-weight:700; }
.pd-activity-timeline__row.is-previous .pd-activity-timeline__cell i { background:var(--pd-color-ink-3); }
.pd-activity-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.pd-activity-metric,.pd-email-score { display:flex; flex-direction:column; gap:.5rem; }
.pd-activity-metric__heading,.pd-email-score__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.pd-activity-metric__heading > div,.pd-email-score__heading > div { display:flex; flex-direction:column; gap:.125rem; }
.pd-activity-metric__heading strong,.pd-email-score__heading strong { font-size:.875rem; }
.pd-activity-metric__heading small,.pd-email-score__heading small { color:var(--pd-color-ink-3); font-size:.75rem; line-height:1.35; }
.pd-activity-metric__heading b,.pd-email-score__heading b { font-size:1.25rem; font-weight:600; font-variant-numeric:tabular-nums; }
.pd-score-track { position:relative; height:1.375rem; }
.pd-score-track::before { content:""; position:absolute; top:.375rem; right:0; left:0; height:.625rem; border-radius:.3125rem; background:linear-gradient(90deg,#3aa6db,#9ec6a6 30%,#f2cf3b 55%,#f38b3f 78%,#e4394d); }
.pd-score-track i { position:absolute; z-index:1; top:0; display:block; transform:translateX(-50%); }
.pd-score-track__sector { width:.1875rem; height:1.375rem; border-radius:.125rem; background:var(--pd-color-ink); }
.pd-score-track__previous { top:.1875rem!important; width:.75rem; height:.75rem; border:2px solid var(--pd-color-ink-3); border-radius:50%; background:#fff; }
.pd-score-track__current { top:.1875rem!important; width:1.0625rem; height:1.0625rem; border:2px solid #fff; border-radius:.1875rem; background:var(--pd-color-accent); box-shadow:0 0 0 1px var(--pd-color-accent-text),0 1px 3px rgb(0 0 0 / 25%); transform:translateX(-50%) rotate(45deg)!important; }
.pd-score-track__labels { display:flex; justify-content:space-between; color:var(--pd-color-ink-3); font-size:.6875rem; }
.pd-activity-signals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.pd-activity-signal { min-height:6rem; padding:1rem; border-radius:.75rem; background:var(--pd-color-subtle); }
.pd-activity-signal p { margin:0; color:var(--pd-color-ink-3); font-size:.8125rem; }
.pd-activity-swatches { display:flex; flex-wrap:wrap; gap:.5rem; }
.pd-activity-swatches i { width:2rem; height:2rem; border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 1px var(--pd-color-border); }
.pd-activity-measures__legend { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.5rem 1rem; color:var(--pd-color-ink-3); font-size:.6875rem; }
.pd-activity-measures__legend span { display:flex; align-items:center; gap:.375rem; }
.pd-activity-measures__legend i { display:block; flex:none; }
.pd-activity-measures__legend i.is-current,.pd-activity-measures__legend i.is-previous { width:.75rem; height:.75rem; border:.125rem solid #fff; border-radius:.125rem; transform:rotate(45deg); }
.pd-activity-measures__legend i.is-current { background:var(--pd-color-accent); box-shadow:0 0 0 1px var(--pd-color-accent); }
.pd-activity-measures__legend i.is-previous { border-color:var(--pd-color-ink-2); background:#fff; }
.pd-activity-measures__legend i.is-sector { width:.1875rem; height:1rem; border-radius:.125rem; background:var(--pd-color-ink); }
.pd-activity-measures { display:flex; flex-direction:column; }
.pd-activity-measure { display:grid; grid-template-columns:minmax(12.5rem,1fr) minmax(26rem,2fr); gap:1.5rem; padding:1.375rem 0; border-bottom:1px solid var(--pd-color-border-row); }
.pd-activity-measure:last-child { border-bottom:0; }
.pd-activity-measure__copy { display:flex; flex-direction:column; justify-content:center; gap:.25rem; }
.pd-activity-measure__copy strong { font-size:15px; font-weight:700; }
.pd-activity-measure__copy span,.pd-activity-measure__note { color:var(--pd-color-ink-3); font-size:13px; line-height:1.4; }
.pd-activity-measure__visual { min-width:0; display:flex; flex-direction:column; justify-content:center; gap:.4375rem; }
.pd-activity-measure .pd-score-track__labels { font-size:12px; }
.pd-activity-measure__values { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }
.pd-activity-measure__values > span { display:flex; flex-direction:column; gap:.125rem; }
.pd-activity-measure__values small { color:var(--pd-color-ink-3); font-size:12px; }
.pd-activity-measure__values strong { font-size:18px; font-weight:600; font-variant-numeric:tabular-nums; }
.pd-activity-measure__values > span:first-child small { color:var(--pd-color-accent-text); }
.pd-activity-colour-swatches { display:flex; flex-wrap:wrap; gap:.375rem; }
.pd-activity-colour-swatches i { width:2.5rem; height:2.5rem; border-radius:.625rem; box-shadow:inset 0 0 0 1px rgb(0 0 0 / 6%); }
.pd-activity-colour-comparison { display:flex; flex-direction:column; gap:.625rem; }
.pd-activity-colour-row { display:grid; grid-template-columns:5rem minmax(0,1fr); align-items:center; gap:.75rem; }
.pd-activity-colour-row > span { color:var(--pd-color-ink-3); font-size:12px; }
.pd-activity-colour-row.is-current > span { color:var(--pd-color-accent-text); }
.pd-activity-trend__legend { display:flex; flex-wrap:wrap; gap:.5rem .875rem; color:var(--pd-color-ink-3); font-size:12px; font-variant-numeric:tabular-nums; }
.pd-activity-trend__legend span { display:flex; align-items:center; gap:.375rem; }
.pd-activity-trend__legend i { width:.625rem; height:.625rem; border-radius:.125rem; }
.pd-activity-trend__legend i.is-you { background:var(--pd-color-accent); }
.pd-activity-trend__legend i.is-sector { background:#d6c8b6; }
.pd-activity-trend__chart { height:9.375rem; display:grid; grid-template-columns:repeat(4,1fr); align-items:end; gap:clamp(.625rem,3vw,1.75rem); }
.pd-activity-trend__period { height:100%; display:flex; flex-direction:column; justify-content:flex-end; gap:.375rem; padding:.5rem .375rem .375rem; border-radius:.625rem; }
.pd-activity-trend__period.is-current { background:var(--pd-color-tint-strong); }
.pd-activity-trend__bars { min-height:0; flex:1; display:flex; align-items:flex-end; justify-content:center; gap:.25rem; }
.pd-activity-trend__bar { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:.1875rem; }
.pd-activity-trend__bar strong { font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; }
.pd-activity-trend__bar i { width:1.5rem; max-height:5rem; border-radius:.25rem .25rem 0 0; }
.pd-activity-trend__bar i.is-you { background:var(--pd-color-accent); }
.pd-activity-trend__bar i.is-sector { background:#d6c8b6; }
.pd-activity-trend__period > span { padding-top:.375rem; border-top:1px solid var(--pd-color-border); color:var(--pd-color-ink-3); font-size:12px; font-variant-numeric:tabular-nums; text-align:center; }
.pd-activity-trend__period.is-current > span { color:var(--pd-color-ink); font-weight:700; }
.pd-report-tags { display:flex; flex-wrap:wrap; gap:.375rem; }
.pd-report-tags > span { padding:.25rem .5625rem; border-radius:.5rem; color:var(--pd-color-ink); background:#fff; font-size:.75rem; font-weight:600; }
.pd-activity-email-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr)); gap:1rem; }
.pd-activity-email-card { background:#fff; }
.pd-activity-email-card__body { padding:0; }
.pd-competitor-email-card.pd-activity-email-card .pd-activity-email-card__body { gap:.625rem; }
.pd-competitor-email-card.pd-activity-email-card .pd-activity-email-card__body > small { font-size:12px; }
.pd-competitor-email-card.pd-activity-email-card .pd-activity-email-card__body > strong { font-size:18px; font-weight:700; letter-spacing:-.01em; line-height:1.25; }
.pd-competitor-email-card.pd-activity-email-card .pd-activity-email-card__body > p { color:var(--pd-color-ink-2); font-size:14px; line-height:1.5; text-wrap:pretty; }
.pd-competitor-email-card.pd-activity-email-card .pd-activity-email-card__body > span { font-size:13px; }
/* Gossip's report fit: an email from the sign-up journey (welcome, welcome offer, account ready …) */
.pd-onboarding-badge { display:inline-block; align-self:flex-start; padding:.25rem .5625rem; border-radius:.5rem; color:#7a4b00; background:#fdf0d5; font-size:12px; font-weight:600; }
.pd-activity-email-card__tags { display:flex; flex-wrap:wrap; gap:.375rem; }
.pd-activity-email-card__tags span { padding:.3125rem .5625rem; border-radius:.5rem; color:var(--pd-color-accent-text); background:var(--pd-color-tint-strong); font-size:12px; font-weight:600; }

.pd-email-header { display:flex; flex-direction:column; gap:.75rem; padding-bottom:1.125rem; border-bottom:3px solid var(--pd-color-accent); }
.pd-email-header__top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.625rem; }
.pd-email-header__top > span { color:var(--pd-color-accent-text); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-email-header h1 { margin:0; font-size:clamp(1.5rem,3.8vw,2.125rem); font-weight:800; letter-spacing:-.025em; line-height:1.1; }
.pd-email-header > p { margin:0; color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-email-tabs { display:flex; gap:.25rem; padding:.1875rem; border:1px solid var(--pd-color-border-row); border-radius:.625rem; background:var(--pd-color-subtle); }
.pd-email-tabs a { padding:.3125rem .625rem; border-radius:.4375rem; color:var(--pd-color-ink-2); font-size:.75rem; font-weight:600; text-decoration:none; }
.pd-email-tabs a.is-active { color:#fff; background:var(--pd-color-ink); }
.pd-email-detail { display:flex; align-items:flex-start; flex-wrap:wrap; gap:1.75rem 2.25rem; }
.pd-email-preview { flex:0 1 21.25rem; min-width:16.25rem; display:flex; flex-direction:column; gap:.75rem; }
.pd-email-preview__frame { position:relative; height:51.25rem; overflow:hidden; border-radius:.75rem; box-shadow:0 0 0 1px var(--pd-color-border),0 10px 30px rgb(60 40 20 / 12%); }
.pd-email-preview__frame.is-expanded { height:auto; }
.pd-email-preview__frame.is-short { height:auto; }
.pd-email-preview__frame img { width:100%; display:block; }
.pd-email-preview__missing { min-height:28rem; display:grid; place-items:center; color:var(--pd-color-ink-3); background:var(--pd-color-subtle); font-size:.8125rem; }
.pd-email-preview__fade { position:absolute; right:0; bottom:0; left:0; height:10rem; background:linear-gradient(transparent,#fff 85%); }
.pd-email-preview__toggle { display:flex; align-items:center; justify-content:space-between; gap:.625rem; width:100%; padding:.625rem .875rem; border:1px solid var(--pd-color-border); border-radius:.75rem; color:var(--pd-color-ink); background:#fff; font-family:var(--pd-font-sans); text-align:left; }
.pd-email-preview__toggle strong { font-size:.8125rem; }
.pd-email-preview__toggle span { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-email-analysis { position:sticky; top:1rem; flex:1 1 20rem; min-width:0; display:flex; flex-direction:column; gap:1.375rem; }
.pd-swap-offers { display:flex; flex-direction:column; gap:.625rem; margin:0 0 1.25rem; }
.pd-swap-offer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem 1.25rem; padding:1rem 1.25rem; border-radius:.875rem; background:var(--pd-color-tint-strong); }
.pd-swap-offer__text { flex:1 1 20rem; min-width:0; }
.pd-swap-offer__text strong { display:block; color:var(--pd-color-ink); font-size:15px; }
.pd-swap-offer__text p { margin:.25rem 0 0; color:var(--pd-color-ink-3); font-size:14px; line-height:1.5; text-wrap:pretty; }
.pd-swap-offer__button { flex:none; padding:.5rem .875rem; border:0; border-radius:.625rem; background:var(--pd-color-accent-strong); color:var(--pd-color-on-accent); font-size:14px; font-weight:600; cursor:pointer; }
.pd-swap-offer__button:hover { filter:brightness(.95); }
a.pd-swap-offer__button { text-decoration:none; }
.pd-swap-offer__form { display:flex; flex:0 1 20rem; gap:.5rem; margin:0; }
.pd-swap-offer__form input[type=text] { flex:1 1 auto; min-width:0; padding:.45rem .625rem; border:1px solid var(--pd-color-border-control); border-radius:.625rem; background:#fff; color:var(--pd-color-ink); font-size:14px; }
.pd-swap-offer--stacked { align-items:stretch; }
.pd-swap-offer--stacked .pd-swap-panel { flex:1 1 100%; }
.pd-settings-lede { margin:-.25rem 0 .5rem; color:var(--pd-color-ink-3); font-size:.9375rem; }
.pd-settings-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:.5rem 1rem; margin:0 0 .875rem; padding-bottom:.75rem; border-bottom:1px solid var(--pd-color-border); }
.pd-settings-head h2 { margin:0; font-size:1.375rem; font-weight:800; letter-spacing:-.015em; }
.pd-settings-head__count { color:var(--pd-color-ink-3); font-weight:600; font-variant-numeric:tabular-nums; }
.pd-settings-head__note { margin:0; color:var(--pd-color-ink-2); font-size:.8125rem; }
.pd-settings-callout { display:flex; gap:.875rem; align-items:flex-start; margin:0 0 .875rem; padding:1rem 1.125rem; border-radius:.875rem; background:var(--pd-color-tint-strong); }
.pd-settings-callout strong { display:block; font-size:.9375rem; }
.pd-settings-callout p { margin:.1875rem 0 0; color:var(--pd-color-ink-2); font-size:.875rem; line-height:1.5; }
.pd-settings-callout__count { flex:none; display:flex; align-items:center; justify-content:center; width:1.75rem; height:1.75rem; border-radius:50%; background:var(--pd-color-accent-strong); color:var(--pd-color-on-accent); font-size:.875rem; font-weight:800; }
.pd-settings-callout.is-ok { align-items:center; background:var(--pd-color-success-soft); color:var(--pd-color-success-text); font-size:.875rem; font-weight:600; }
.pd-settings-card { margin:0 0 1rem; border-radius:1.125rem; background:var(--pd-color-surface); box-shadow:0 1px 2px rgba(60,40,20,.06), 0 14px 44px rgba(60,40,20,.08); overflow:hidden; }
.pd-settings-card--pad { padding:1.25rem; }
.pd-settings-card__foot { display:flex; align-items:center; gap:.75rem; min-height:2.5rem; margin-top:.75rem; }
.pd-settings-card__foot small { color:var(--pd-color-ink-3); font-size:.8125rem; }
.pd-settings-split { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18.75rem),1fr)); gap:1rem 2rem; align-items:start; }
.pd-settings-split h2 { margin-bottom:.375rem; font-size:1.375rem; font-weight:800; letter-spacing:-.015em; }
.pd-comp-row { border-top:1px solid var(--pd-color-border-row); }
.pd-comp-row:first-child { border-top:0; }
.pd-comp-row.is-quiet { background:var(--pd-color-tint); }
.pd-comp-row__main { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.75rem 1rem; padding:.875rem clamp(.875rem,2.5vw,1.375rem); list-style:none; cursor:default; }
summary.pd-comp-row__main { cursor:pointer; }
summary.pd-comp-row__main::-webkit-details-marker { display:none; }
.pd-comp-row__icon { display:flex; align-items:center; justify-content:center; width:2rem; height:2rem; border:1px solid var(--pd-color-border-row); border-radius:.5625rem; background:#fff; }
.pd-comp-row__icon img { width:1.125rem; height:1.125rem; }
.pd-comp-row__who { min-width:0; }
.pd-comp-row__line { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; }
.pd-comp-row__line strong { font-size:.9375rem; overflow-wrap:anywhere; }
.pd-comp-row__who small { display:block; margin-top:.1875rem; color:var(--pd-color-ink-3); font-size:.8125rem; font-variant-numeric:tabular-nums; }
.pd-pill { padding:.1875rem .5625rem; border-radius:999px; background:var(--pd-color-muted); color:var(--pd-color-ink-2); font-size:.6875rem; font-weight:700; white-space:nowrap; }
.pd-pill.is-quiet { background:var(--pd-color-accent-strong); color:var(--pd-color-on-accent); }
.pd-pill.is-active { background:var(--pd-color-success-soft); color:var(--pd-color-success-text); }
.pd-comp-row__button { display:inline-block; padding:.5625rem .875rem; border:1px solid var(--pd-color-border); border-radius:.625rem; background:#fff; color:var(--pd-color-ink); font-size:.8125rem; font-weight:700; white-space:nowrap; cursor:pointer; list-style:none; }
.pd-comp-row__button::-webkit-details-marker { display:none; }
.pd-comp-row__button.is-primary { border-color:var(--pd-color-accent-strong); background:var(--pd-color-accent-strong); color:var(--pd-color-on-accent); }
.pd-comp-row[open] .pd-comp-row__button { border-color:var(--pd-color-border); background:#fff; color:var(--pd-color-ink); }
.pd-comp-row .is-open, .pd-comp-row[open] .is-closed { display:none; }
.pd-comp-row[open] .is-open { display:inline; }
.pd-comp-row[open] { background:var(--pd-color-tint); }
.pd-comp-row > .pd-swap-panel { margin:0 clamp(.875rem,2.5vw,1.375rem) 1rem; }
.pd-comp-row__locked { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-comp-add { margin:0 0 1rem; }
.pd-swap-panel { margin:0 0 .5rem; padding:1.125rem; border:1px solid var(--pd-color-border); border-radius:.875rem; background:#fff; }
.pd-swap-panel form { display:flex; flex-direction:column; gap:.875rem; margin:0; }
.pd-swap-panel__head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:.25rem .75rem; }
.pd-swap-panel__head strong { font-size:.9375rem; }
.pd-swap-panel__head span { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-swap-panel__options { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,13.75rem),1fr)); gap:.5rem; }
.pd-swap-option { display:flex; gap:.625rem; align-items:flex-start; padding:.75rem; border-radius:.75rem; background:var(--pd-color-subtle); box-shadow:inset 0 0 0 1px var(--pd-color-border-row); cursor:pointer; }
.pd-swap-option input { position:absolute; opacity:0; pointer-events:none; }
.pd-swap-option__dot { flex:none; width:1.125rem; height:1.125rem; margin-top:.0625rem; border:2px solid var(--pd-color-border-control); border-radius:50%; background:transparent; box-shadow:inset 0 0 0 3px #fff; }
.pd-swap-option:has(input:checked) { background:var(--pd-color-tint-strong); box-shadow:inset 0 0 0 2px var(--pd-color-accent); }
.pd-swap-option input:checked + .pd-swap-option__dot { border-color:var(--pd-color-accent); background:var(--pd-color-accent); }
.pd-swap-option input:focus-visible + .pd-swap-option__dot { outline:2px solid var(--pd-color-accent); outline-offset:2px; }
.pd-swap-option__body { display:flex; flex-direction:column; gap:.1875rem; min-width:0; }
.pd-swap-option__name { display:flex; align-items:center; gap:.375rem; min-width:0; }
.pd-swap-option__name strong { font-size:.875rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pd-swap-option__name img { flex:none; border-radius:3px; }
.pd-swap-option small { color:var(--pd-color-ink-2); font-size:.75rem; }
.pd-swap-option__note { color:var(--pd-color-ink-3) !important; }
.pd-swap-panel__custom { display:flex; flex-direction:column; gap:.4375rem; }
.pd-swap-panel__custom label { font-size:.8125rem; font-weight:600; }
.pd-swap-panel__custom input { height:2.625rem; max-width:22.5rem; padding:0 .75rem; border:1px solid var(--pd-color-border-control); border-radius:.625rem; background:#fff; color:var(--pd-color-ink); font-size:.875rem; }
.pd-swap-panel__custom small { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-swap-panel__foot { display:flex; flex-wrap:wrap; align-items:center; gap:.625rem .875rem; padding-top:.875rem; border-top:1px solid var(--pd-color-border-row); }
.pd-swap-panel__foot small { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-swap-panel__confirm { padding:.6875rem 1.125rem; border:0; border-radius:.75rem; background:var(--pd-color-accent-strong); color:var(--pd-color-on-accent); font-size:.875rem; font-weight:700; cursor:pointer; }
.pd-swap-panel__confirm:disabled { background:var(--pd-color-disabled); color:var(--pd-color-ink-4); cursor:default; }
.pd-swap-panel__cancel { padding:0; border:0; background:none; color:var(--pd-color-ink-2); font-size:.875rem; font-weight:600; cursor:pointer; }
.pd-person { display:flex; align-items:center; gap:.625rem; padding:.875rem 1.25rem; border-top:1px solid var(--pd-color-border-row); }
.pd-person:first-child { border-top:0; }
.pd-person > div:not(.pd-person__actions) { flex:1 1 auto; min-width:0; }
.pd-person strong { display:block; font-size:.875rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pd-person small { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-person__avatar { flex:none; display:flex; align-items:center; justify-content:center; width:1.875rem; height:1.875rem; border-radius:50%; background:#8c7b6b; color:#fff; font-size:.75rem; font-weight:800; }
.pd-person__avatar.is-owner { background:var(--pd-color-accent-strong); }
.pd-person__actions { display:flex; align-items:center; gap:.75rem; flex:none; }
.pd-person__actions form { margin:0; }
.pd-person__link, .pd-person__remove { padding:0; border:0; background:none; font-size:.8125rem; font-weight:600; white-space:nowrap; cursor:pointer; }
.pd-person__link { color:var(--pd-color-accent-text); }
.pd-person__remove { color:var(--pd-color-error-text); }
.pd-person-add { display:flex; flex-direction:column; gap:.5rem; margin:0; padding:1rem 1.25rem 1.125rem; border-top:1px solid var(--pd-color-border-row); background:var(--pd-color-subtle); }
.pd-person-add label { font-size:.8125rem; font-weight:600; }
.pd-person-add__row { display:flex; flex-wrap:wrap; gap:.5rem; }
.pd-person-add__row input[type=email] { flex:1 1 12.5rem; min-width:0; height:2.625rem; padding:0 .75rem; border:1px solid var(--pd-color-border-control); border-radius:.625rem; background:#fff; font-size:.875rem; }
.pd-swap-panel__all { margin-left:auto; color:var(--pd-color-accent-text); font-size:.9375rem; font-weight:700; }
.pd-silent-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:.75rem 1rem; padding-bottom:1rem; border-bottom:3px solid var(--pd-color-accent); }
.pd-silent-head__identity > span { color:var(--pd-color-accent-text); font-size:.875rem; }
.pd-silent-head h1 { display:flex; align-items:center; gap:.875rem; margin:.625rem 0 0; font-size:clamp(1.75rem,4vw,2.75rem); font-weight:800; letter-spacing:-.03em; line-height:1; overflow-wrap:anywhere; }
.pd-silent-head__icon { flex:none; display:flex; align-items:center; justify-content:center; width:3rem; height:3rem; border:1px solid var(--pd-color-border); border-radius:.75rem; background:#fff; }
.pd-silent-head__icon img { width:1.875rem; height:1.875rem; }
.pd-silent-head__meta { color:var(--pd-color-ink-3); font-size:.875rem; text-align:right; font-variant-numeric:tabular-nums; }
.pd-silent-card { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:1.5rem 2.5rem; align-items:center; margin:1.5rem 0; padding:clamp(1.25rem,3vw,2rem); border-radius:1.25rem; background:var(--pd-color-subtle); }
.pd-silent-card__copy h2 { margin:.875rem 0 .75rem; font-size:clamp(1.375rem,2.6vw,1.875rem); font-weight:800; letter-spacing:-.02em; line-height:1.2; }
.pd-silent-card__copy p { margin:0; color:var(--pd-color-ink-2); font-size:.9375rem; line-height:1.65; text-wrap:pretty; }
.pd-silent-card__copy .pd-pill { display:inline-block; padding:.3125rem .75rem; font-size:.8125rem; }
.pd-silent-card:not(.pd-silent-card--quiet) { grid-template-columns:1fr; }
.pd-silent-chart__head { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:.75rem; }
.pd-silent-chart__head span { color:var(--pd-color-ink-3); font-size:.8125rem; }
.pd-silent-chart__bars { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:.25rem .5rem; align-items:end; height:11rem; }
.pd-silent-chart__week { display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%; gap:.25rem; font-size:.75rem; text-align:center; color:var(--pd-color-ink-3); line-height:1.2; }
.pd-silent-chart__week b { color:var(--pd-color-ink); font-size:.875rem; }
.pd-silent-chart__week span { flex:none; display:block; width:100%; height:2.25rem; line-height:1.125rem; overflow-wrap:normal; }
.pd-silent-chart__week i { display:block; width:100%; max-height:6rem; min-height:3px; border-radius:.25rem; background:#8a7b6c; }
.pd-silent-chart__week i.is-empty { background:var(--pd-color-border-control); }
.pd-silent-chart__week.is-current { color:var(--pd-color-ink); font-weight:700; }
.pd-silent-chart__week.is-current i.is-empty { background:var(--pd-color-accent-strong); }
.pd-silent-swap { margin:0 0 1.5rem; padding:clamp(1.125rem,3vw,1.75rem); border:1px solid var(--pd-color-border); border-radius:1.25rem; background:#fff; }
.pd-silent-swap__head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:.5rem 1rem; margin-bottom:1rem; }
.pd-silent-swap__head h2 { margin:0; font-size:1.375rem; font-weight:800; letter-spacing:-.015em; }
.pd-silent-swap__head span { color:var(--pd-color-success-text); font-size:.9375rem; font-weight:600; }
.pd-silent-swap .pd-swap-panel { padding:0; border:0; }
.pd-silent-block { margin:0 0 1.5rem; }
.pd-silent-block__head { display:flex; justify-content:space-between; align-items:baseline; gap:.5rem; margin-bottom:1rem; padding-bottom:.5rem; border-bottom:1px solid var(--pd-color-border); }
.pd-silent-block__head h2 { margin:0; font-size:1.0625rem; font-weight:700; }
.pd-silent-block__head span { color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-silent-line { position:relative; height:8rem; margin:0 .5rem; }
.pd-silent-line__track, .pd-silent-line__done { position:absolute; left:0; top:4.375rem; height:.375rem; border-radius:.1875rem; background:var(--pd-color-muted); }
.pd-silent-line__track { right:0; }
.pd-silent-line__done { background:var(--pd-color-border-control); }
.pd-silent-line__dot { position:absolute; top:4.0625rem; width:1rem; height:1rem; border-radius:50%; transform:translateX(-50%); }
.pd-silent-line__dot.is-start { left:0; background:#8c7b6b; border:3px solid #fff; box-shadow:0 0 0 1px #8c7b6b; }
.pd-silent-line__dot.is-now { top:3.8125rem; width:1.5rem; height:1.5rem; background:var(--pd-color-accent); border:4px solid #fff; box-shadow:0 0 0 1px var(--pd-color-accent-strong); }
.pd-silent-line__dot.is-end { left:100%; background:#fff; border:2px dashed var(--pd-color-ink-4); }
.pd-silent-line__label { position:absolute; display:flex; flex-direction:column; gap:.125rem; font-size:.8125rem; }
.pd-silent-line__label span { color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-silent-line__label.is-start, .pd-silent-line__label.is-end { top:5.625rem; }
.pd-silent-line__label.is-start { left:0; transform:translateX(-.5rem); }
.pd-silent-line__label.is-end { right:0; align-items:flex-end; transform:translateX(.5rem); }
.pd-silent-line__label.is-now { top:0; white-space:nowrap; align-items:center; text-align:center; transform:translateX(-50%); color:var(--pd-color-accent-text); }
.pd-silent-line__label.is-now.is-edge-start { align-items:flex-start; text-align:left; transform:translateX(-.5rem); }
.pd-silent-line__label.is-now.is-edge-end { align-items:flex-end; text-align:right; transform:translateX(calc(-100% + .5rem)); }
.pd-silent-tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr)); gap:.625rem; margin:0 0 1.5rem; }
.pd-silent-tiles div { display:flex; flex-direction:column; gap:.375rem; padding:.875rem 1rem; border:1px solid var(--pd-color-border); border-radius:.75rem; }
.pd-silent-tiles small { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-silent-tiles strong { font-size:1.125rem; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.pd-silent-tiles strong.is-accent { color:var(--pd-color-accent-text); }
.pd-silent-list { display:flex; flex-direction:column; gap:.5rem; margin:0; padding:0; list-style:none; color:var(--pd-color-ink-2); font-size:.875rem; line-height:1.55; }
.pd-silent-list li { display:flex; gap:.625rem; }
.pd-silent-list li::before { content:""; flex:none; width:.375rem; height:.375rem; margin-top:.5rem; border-radius:50%; background:var(--pd-color-accent); }
.pd-silent-note { display:flex; gap:.875rem; align-items:center; padding:.875rem 1.125rem; border:1px solid var(--pd-color-border); border-radius:.875rem; }
.pd-silent-note > span { flex:none; display:flex; align-items:center; justify-content:center; width:1.875rem; height:1.875rem; border-radius:50%; background:var(--pd-color-tint-strong); color:var(--pd-color-accent-text); font-weight:800; }
.pd-silent-note strong { display:block; font-size:.875rem; }
.pd-silent-note p { margin:.125rem 0 0; color:var(--pd-color-ink-2); font-size:.8125rem; }
.pd-report-section-nav__spacer { margin:.625rem 1.25rem; border:0; border-top:1px solid var(--pd-color-border); }
.pd-report-section-nav__item small.pd-report-section-nav__alert { min-width:1.25rem; padding:.0625rem .375rem; border-radius:999px; background:var(--pd-color-accent-strong); color:var(--pd-color-on-accent); font-weight:700; text-align:center; }
.pd-report-refresh { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem .875rem; margin:0 0 1rem; padding:.75rem 1rem; border-radius:.875rem; background:var(--pd-color-tint-strong); color:var(--pd-color-ink); font-size:.875rem; }
.pd-report-refresh p { flex:1 1 16rem; margin:0; line-height:1.45; }
.pd-report-refresh__spinner { flex:none; width:1rem; height:1rem; border:2px solid var(--pd-color-border); border-top-color:var(--pd-color-accent); border-radius:50%; animation:pd-spin .9s linear infinite; }
.pd-report-refresh__spinner[hidden] { display:none; }
.pd-report-refresh__reload { flex:none; padding:.4rem .75rem; border:0; border-radius:.625rem; background:var(--pd-color-accent-strong); color:var(--pd-color-on-accent); font-size:.8125rem; font-weight:600; cursor:pointer; }
@keyframes pd-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pd-report-refresh__spinner { animation:none; } }
.pd-report-viewer-note { color:var(--pd-color-ink-3); font-size:.8125rem; }
.pd-settings-section { padding:1.5rem 0; border-top:1px solid var(--pd-color-border); }
.pd-settings-section:first-of-type { border-top:0; padding-top:.5rem; }
.pd-settings-section h2 { margin:0 0 .5rem; color:var(--pd-color-ink); font-size:1.125rem; font-weight:700; }
.pd-settings-section__intro { margin:0 0 1rem; max-width:40rem; color:var(--pd-color-ink-3); font-size:.875rem; line-height:1.5; text-wrap:pretty; }
.pd-settings-section .pd-form-hint { margin:0 0 .75rem; }
.pd-settings-ok { margin:0; color:var(--pd-color-success-text); font-size:.875rem; font-weight:600; }
.pd-settings-list { display:flex; flex-direction:column; margin:0 0 1rem; padding:0; list-style:none; }
.pd-settings-list li { display:flex; align-items:center; gap:.625rem; min-width:0; padding:.5rem 0; border-bottom:1px solid var(--pd-color-border-row); color:var(--pd-color-ink); font-size:.875rem; }
.pd-settings-list li > span:not(.pd-report-section-nav__favicon) { flex:1 1 auto; min-width:0; overflow-wrap:anywhere; }
.pd-settings-list li small { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-settings-list form { margin:0; }
.pd-settings-list__remove { padding:0; border:0; background:none; color:var(--pd-color-ink-3); font-size:.8125rem; text-decoration:underline; cursor:pointer; }
.pd-settings-list__remove:hover { color:var(--pd-color-error-text); }
.pd-settings-list__recipient { flex-wrap:wrap; }
.pd-settings-list__link { order:3; flex:1 0 100%; min-width:0; padding:.375rem .5rem; border:1px solid var(--pd-color-border-control); border-radius:var(--pd-radius-control); background:var(--pd-color-subtle); color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-settings-form { display:grid; gap:0 1rem; max-width:32rem; }
.pd-settings-form .pd-button { justify-self:start; }
.pd-settings-form--inline { grid-template-columns:minmax(0,1fr) auto; align-items:end; }
.pd-settings-form--inline .pd-button { margin-bottom:1rem; min-height:3rem; }
@media (max-width: 480px) { .pd-settings-form--inline { grid-template-columns:minmax(0,1fr); } }
.pd-email-summary { display:flex; flex-direction:column; gap:.875rem; padding:1.125rem 1.25rem; border-radius:.875rem; background:var(--pd-color-tint-strong); }
.pd-email-summary .pd-activity-kicker { margin:0; }
.pd-email-summary > p { margin:0; color:var(--pd-color-ink); font-size:15px; line-height:1.6; text-wrap:pretty; }
.pd-email-summary > p.pd-email-headline { font-size:16px; font-weight:700; line-height:1.4; }
.pd-email-mentions { display:flex; flex-wrap:wrap; align-items:baseline; gap:.375rem .625rem; padding-top:.75rem; border-top:1px solid #f4d9c2; }
.pd-email-mentions > span { flex:0 0 4.75rem; color:var(--pd-color-accent-text); font-size:12px; }
.pd-email-mentions .pd-report-tags > span { padding:.25rem .5625rem; color:var(--pd-color-ink); font-size:13px; }
.pd-email-fact > p { flex:1 1 12rem; min-width:0; margin:0; color:var(--pd-color-ink); font-size:14px; line-height:1.5; text-wrap:pretty; }
.pd-email-scores { display:flex; flex-direction:column; }
.pd-email-scores__header { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:.5rem; padding-bottom:.625rem; border-bottom:1px solid var(--pd-color-border); }
.pd-email-scores__header h2 { margin:0; font-size:16px; font-weight:700; }
.pd-email-scores__legend { display:flex; gap:.875rem; color:var(--pd-color-ink-3); font-size:12px; font-variant-numeric:tabular-nums; }
.pd-email-scores__legend span { display:flex; align-items:center; gap:.625rem; }
.pd-email-scores__legend i { display:block; flex:none; }
.pd-email-scores__legend i.is-current { width:.75rem; height:.75rem; border-radius:.125rem; background:var(--pd-color-accent); box-shadow:0 0 0 2px #fff,0 0 0 3px var(--pd-color-accent); transform:rotate(45deg); }
.pd-email-scores__legend i.is-sector { width:.1875rem; height:.875rem; border-radius:.125rem; background:var(--pd-color-ink); }
.pd-email-score { padding:.875rem 0; border-bottom:1px solid var(--pd-color-border-row); }
.pd-email-score__heading { align-items:baseline; }
.pd-email-score__heading strong { font-size:14px; font-weight:700; }
.pd-email-score__heading small { font-size:12px; }
.pd-email-score__value { flex:none; display:flex; align-items:baseline; gap:.375rem; font-variant-numeric:tabular-nums; }
.pd-email-score__value b { font-size:20px; font-weight:600; }
.pd-email-score__value small { color:var(--pd-color-ink-3); font-size:12px; }
.pd-email-score .pd-score-track { height:22px; }
.pd-email-score .pd-score-track::before { top:6px; height:10px; }
.pd-email-score .pd-score-track__sector { height:22px; }
.pd-email-score .pd-score-track__current { top:2.5px!important; width:17px; height:17px; }
.pd-email-score .pd-score-track__labels { font-size:12px; }

.pd-competitor-header { display:flex; flex-direction:column; gap:.75rem; padding-bottom:1.125rem; border-bottom:3px solid var(--pd-color-accent); }
.pd-competitor-header__identity { display:flex; align-items:center; gap:.5rem; color:var(--pd-color-accent-text); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-competitor-header__title { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:.75rem 1.5rem; }
.pd-competitor-header__title h1 { margin:0; font-size:clamp(1.625rem,4.2vw,2.25rem); font-weight:800; letter-spacing:-.025em; line-height:1.05; }
.pd-competitor-header__title p { margin:0; color:var(--pd-color-ink-3); font-size:.75rem; line-height:1.6; text-align:right; }
.pd-competitor-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.pd-competitor-chips span { padding:.375rem .625rem; border-radius:.5rem; color:var(--pd-color-accent-text); background:var(--pd-color-tint); font-size:.75rem; font-weight:600; }
.pd-competitor-chips span.is-dark { color:#fff; background:var(--pd-color-ink); }
.pd-competitor-placeholder { padding:1rem 1.125rem; border:1px dashed var(--pd-color-border); border-radius:.875rem; background:var(--pd-color-subtle); }
.pd-competitor-placeholder strong { font-size:.875rem; }
.pd-competitor-placeholder p { margin:.25rem 0 0; color:var(--pd-color-ink-3); font-size:.8125rem; }
.pd-competitor-comparisons { display:flex; flex-direction:column; }
.pd-competitor-comparison-legend { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.5rem 1rem; color:var(--pd-color-ink-3); font-size:.6875rem; }
.pd-competitor-comparison-legend span { display:flex; align-items:center; gap:.375rem; }
.pd-competitor-comparison-legend i { display:block; flex:none; }
.pd-competitor-comparison-legend i.is-competitor,.pd-competitor-comparison-legend i.is-previous,.pd-competitor-comparison-legend i.is-own { width:.75rem; height:.75rem; border:.125rem solid #fff; border-radius:.125rem; transform:rotate(45deg); }
.pd-competitor-comparison-legend i.is-competitor { background:var(--pd-color-accent); box-shadow:0 0 0 1px var(--pd-color-accent-text); }
.pd-competitor-comparison-legend i.is-previous { border-color:var(--pd-color-ink-2); background:#fff; }
.pd-competitor-comparison-legend i.is-own { background:var(--pd-color-ink); box-shadow:0 0 0 1px var(--pd-color-ink); }
.pd-competitor-comparison-legend i.is-sector { width:.1875rem; height:1rem; border-radius:.125rem; background:var(--pd-color-ink); }
.pd-competitor-comparison { display:grid; grid-template-columns:minmax(11rem,1fr) minmax(18rem,2fr); align-items:center; gap:1rem 1.75rem; padding:1.125rem 0; border-bottom:1px solid var(--pd-color-border-row); }
.pd-competitor-comparison__copy { display:flex; flex-direction:column; gap:.25rem; }
.pd-competitor-comparison__copy strong { font-size:.9375rem; }
.pd-competitor-comparison__copy small { color:var(--pd-color-ink-3); font-size:.75rem; line-height:1.4; }
.pd-competitor-comparison__chart { min-width:0; display:flex; flex-direction:column; gap:.375rem; }
.pd-score-track__own { top:.1875rem!important; width:.9375rem; height:.9375rem; border:2px solid #fff; border-radius:.1875rem; background:var(--pd-color-ink); box-shadow:0 1px 3px rgb(0 0 0 / 25%); transform:translateX(-50%) rotate(45deg)!important; }
.pd-competitor-values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem; }
.pd-competitor-values div { min-width:0; display:flex; flex-direction:column; gap:.125rem; }
.pd-competitor-values small { overflow:hidden; color:var(--pd-color-ink-3); font-size:.625rem; text-overflow:ellipsis; white-space:nowrap; }
.pd-competitor-values strong { font-size:1rem; font-weight:600; font-variant-numeric:tabular-nums; }
.pd-competitor-signal { display:grid; grid-template-columns:minmax(11rem,1fr) minmax(18rem,2fr); align-items:center; gap:1rem 1.75rem; padding:1.125rem 0; border-bottom:1px solid var(--pd-color-border-row); }
.pd-competitor-signal > div:first-child { display:flex; flex-direction:column; gap:.25rem; }
.pd-competitor-signal > div:first-child small,.pd-competitor-signal > span { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-competitor-palettes { display:flex; flex-direction:column; gap:.75rem; }
.pd-competitor-palette { display:flex; align-items:center; gap:.75rem; }
.pd-competitor-palette > span { flex:0 0 5.25rem; color:var(--pd-color-ink-3); font-size:12px; font-variant-numeric:tabular-nums; }
.pd-competitor-palette .pd-activity-colour-swatches i { width:1.875rem; height:1.875rem; border-radius:.5rem; }
.pd-competitor-email-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:1rem; }
.pd-competitor-email-card { min-width:0; display:flex; flex-wrap:wrap; align-items:flex-start; gap:1rem; padding:.875rem; border:1px solid var(--pd-color-border); border-radius:.875rem; color:var(--pd-color-ink); text-decoration:none; }
/* The whole card is the link, so the underline would run through the summary text with it.
   [href] matches the global report link hover above, which sets the underline on the <a> and
   would otherwise propagate into every line: only the title and "View email" carry it. The
   hover background from that rule still applies, it is a different property. */
.pd-report-app a[href].pd-competitor-email-card:is(:hover,.is-pointer-hover,:focus-visible) { text-decoration:none; }
.pd-report-app a[href].pd-competitor-email-card:is(:hover,.is-pointer-hover,:focus-visible) .pd-competitor-email-card__copy > strong,
.pd-report-app a[href].pd-competitor-email-card:is(:hover,.is-pointer-hover,:focus-visible) .pd-competitor-email-card__copy > span:last-child { text-decoration:underline; text-decoration-thickness:.08em; text-underline-offset:.16em; }
.pd-competitor-email-card__preview { position:relative; flex:0 0 9.375rem; width:9.375rem; height:18.75rem; overflow:hidden; display:grid; place-items:center; border-radius:.625rem; color:var(--pd-color-ink-3); background:var(--pd-color-subtle); box-shadow:0 0 0 1px var(--pd-color-border),0 6px 18px rgb(60 40 20 / 10%); font-size:.6875rem; text-align:center; }
.pd-competitor-email-card__preview::after { content:""; position:absolute; right:0; bottom:0; left:0; height:5.625rem; background:linear-gradient(transparent,#fff 90%); }
.pd-competitor-email-card__preview img { width:100%; display:block; align-self:start; }
.pd-competitor-email-card__copy { min-width:10rem; flex:1; align-self:stretch; display:flex; flex-direction:column; gap:.625rem; }
.pd-competitor-email-card__copy small { color:var(--pd-color-accent-text); font-size:.6875rem; font-variant-numeric:tabular-nums; }
.pd-competitor-email-card__copy strong { font-size:1.0625rem; line-height:1.25; }
.pd-competitor-email-card__copy p { margin:0; color:var(--pd-color-ink-2); font-size:.8125rem; line-height:1.5; }
.pd-competitor-email-card__copy span { margin-top:auto; padding-top:.625rem; border-top:1px solid var(--pd-color-border-row); color:var(--pd-color-accent-text); font-size:.75rem; font-weight:600; }

.pd-sector-header { display:flex; flex-direction:column; gap:.875rem; padding-bottom:1.125rem; border-bottom:3px solid var(--pd-color-accent); }
.pd-sector-header__title { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:.75rem 1.5rem; }
.pd-sector-header__title > div { display:flex; flex-direction:column; gap:.375rem; }
.pd-sector-header__title span { color:var(--pd-color-accent-text); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-sector-header__title h1 { margin:0; font-size:clamp(1.625rem,4.2vw,2.25rem); font-weight:800; letter-spacing:-.025em; line-height:1.05; }
.pd-sector-header__title p { margin:0; color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-sector-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.pd-sector-chips span { padding:.375rem .625rem; border-radius:.5rem; color:var(--pd-color-accent-text); background:var(--pd-color-tint); font-size:.8125rem; font-weight:600; }
.pd-sector-chips span.is-dark { color:#fff; background:var(--pd-color-ink); }
.pd-sector-chips span.is-muted { color:var(--pd-color-ink-2); background:#F5EDE2; }
.pd-sector-chips span.is-positive { color:oklch(0.48 0.12 150); }
.pd-sector-chips span.is-negative { color:oklch(0.5 0.17 25); }
.pd-sector-volume { display:flex; align-items:stretch; flex-wrap:wrap; gap:1.25rem 2rem; }
.pd-sector-change { flex:0 0 10.625rem; display:flex; flex-direction:column; justify-content:center; gap:.375rem; padding:1.125rem 1.25rem; border-radius:.875rem; color:var(--pd-color-accent-text); background:var(--pd-color-tint); }
.pd-sector-change strong { font-size:2.5rem; font-weight:600; line-height:1; font-variant-numeric:tabular-nums; }
.pd-sector-change span { font-size:.8125rem; }
.pd-sector-change.is-positive strong { color:oklch(0.48 0.12 150); }
.pd-sector-change.is-negative strong { color:oklch(0.5 0.17 25); }
.pd-sector-chart { flex:1 1 22.5rem; min-width:0; display:flex; flex-direction:column; gap:1.25rem; }
.pd-sector-bars { width:100%; height:15.375rem; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); align-items:end; gap:clamp(.375rem,1.5vw,.875rem); }
.pd-sector-bar { height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:stretch; gap:.375rem; padding:.25rem .1875rem 0; border-radius:.5rem; background:transparent; text-align:center; }
.pd-sector-bar.has-occasion { background:#FFF3E8; }
.pd-sector-bar__occasions { margin-bottom:auto; display:flex; flex-direction:column; align-items:center; gap:.125rem; overflow:hidden; color:var(--pd-color-accent-text); }
.pd-sector-bar__occasions strong { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:.75rem; font-weight:700; line-height:1.15; }
.pd-sector-bar__occasions small { font-size:.75rem; }
.pd-sector-bar strong { color:var(--pd-color-ink-2); font-size:.75rem; font-weight:600; font-variant-numeric:tabular-nums; }
.pd-sector-bar > strong.is-busiest { color:var(--pd-color-accent-text); }
.pd-sector-bar > i { min-height:.125rem; border-radius:.375rem .375rem .125rem .125rem; background:#E3D3BF; }
.pd-sector-bar > i.is-busiest { background:var(--pd-color-accent); }
.pd-sector-bar > span { height:4rem; flex:0 0 4rem; display:flex; flex-direction:column; align-items:center; gap:.1875rem; padding-top:.375rem; border-top:1px solid var(--pd-color-border); color:var(--pd-color-ink); font-size:.75rem; }
.pd-sector-bar > span small { display:flex; align-items:center; gap:.25rem; font-size:.75rem; }
.pd-sector-bar > span small i { width:.4375rem; height:.4375rem; border-radius:.0625rem; background:var(--pd-color-ink); transform:rotate(45deg); }
.pd-sector-bars-legend { position:relative; z-index:1; width:100%; min-height:.875rem; display:flex; align-items:center; gap:.5rem; margin-top:.5rem; color:var(--pd-color-ink-3); background:#fff; font-size:.75rem; line-height:1.2; }
.pd-sector-bars-legend i { width:.75rem; height:.75rem; border-radius:.1875rem; background:#FFF3E8; box-shadow:inset 0 0 0 1px #F4D9C2; }
.pd-zeitgeist-daily { display:flex; align-items:stretch; flex-wrap:wrap; gap:1.25rem 2rem; }
.pd-zeitgeist-daily__summary { flex:0 0 12.5rem; display:flex; flex-direction:column; gap:.875rem; padding:1.125rem 1.25rem; border-radius:.875rem; background:#FDF1E6; }
.pd-zeitgeist-daily__summary .pd-sector-change { flex:none; padding:0 0 .625rem; border-radius:0; background:transparent; }
.pd-zeitgeist-daily__summary .pd-sector-change strong { font-size:2.25rem; }
.pd-zeitgeist-daily__stat { display:flex; flex-direction:column; gap:.125rem; padding-top:.625rem; border-top:1px solid #F4D9C2; }
.pd-zeitgeist-daily__stat span { color:var(--pd-color-accent-text); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-zeitgeist-daily__stat strong { color:var(--pd-color-ink); font-size:.875rem; font-weight:700; line-height:1.3; }
.pd-zeitgeist-daily__table { flex:1 1 26.25rem; min-width:0; display:flex; flex-direction:column; }
.pd-zeitgeist-daily__head,.pd-zeitgeist-daily__row { display:grid; grid-template-columns:3.25rem minmax(5rem,1.1fr) minmax(0,2fr); gap:.875rem; align-items:center; padding:.5rem .625rem; }
.pd-zeitgeist-daily__head { padding-top:0; color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-zeitgeist-daily__row { min-height:3.125rem; border-top:1px solid var(--pd-color-border-row); border-radius:.5rem; }
.pd-zeitgeist-daily__row.has-occasion { background:#FFF3E8; }
.pd-zeitgeist-daily__day { display:flex; flex-direction:column; gap:.125rem; }
.pd-zeitgeist-daily__day strong { font-size:.8125rem; }
.pd-zeitgeist-daily__day small { display:flex; align-items:center; gap:.25rem; font-size:.75rem; }
.pd-zeitgeist-daily__day small i { width:.4375rem; height:.4375rem; border-radius:.0625rem; background:var(--pd-color-ink); transform:rotate(45deg); }
.pd-zeitgeist-daily__share { display:flex; align-items:center; gap:.5rem; min-width:0; }
.pd-zeitgeist-daily__share > span { flex:1; min-width:0; height:.875rem; overflow:hidden; border-radius:.25rem; background:#F5EDE2; }
.pd-zeitgeist-daily__share i { display:block; height:100%; border-radius:inherit; background:#E3D3BF; }
.pd-zeitgeist-daily__share i.is-busiest { background:var(--pd-color-accent); }
.pd-zeitgeist-daily__share strong { flex:0 0 2.125rem; color:var(--pd-color-ink-2); font-size:.75rem; text-align:right; font-variant-numeric:tabular-nums; }
.pd-zeitgeist-daily__share strong.is-busiest { color:var(--pd-color-accent-text); }
.pd-zeitgeist-daily__occasions { display:flex; flex-wrap:wrap; gap:.3125rem; min-width:0; }
.pd-zeitgeist-daily__occasions span { padding:.1875rem .5625rem; border-radius:999px; color:#4A3F37; background:#fff; box-shadow:inset 0 0 0 1px #F4D9C2; font-size:.75rem; line-height:1.3; }
.pd-zeitgeist-daily__occasions em { color:#9A8D80; font-size:.75rem; font-style:normal; }
.pd-sector-occasion-treemap { position:relative; height:17.5rem; margin-top:.5rem; overflow:hidden; border-radius:.75rem; background:var(--pd-color-subtle); }
.pd-sector-occasion-treemap canvas { width:100% !important; height:100% !important; }
.pd-sector-new-mentions { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem .625rem; }
.pd-sector-new-mentions > small { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-sector-new-mentions > span { color:var(--pd-color-ink-3); font-size:.8125rem; }
.pd-sector-new-mentions > .pd-sector-new-mention { padding:.3125rem .5625rem; border-radius:.5rem; color:var(--pd-color-accent-text); background:var(--pd-color-tint); font-weight:600; }
.pd-sector-occasion-table-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:.5rem; padding-top:.375rem; }
.pd-sector-occasion-table-heading strong { font-size:.9375rem; }
.pd-sector-occasion-table-heading span { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-sector-occasion-table { min-width:30rem; overflow:hidden; }
.pd-report-section-block:has(.pd-sector-occasion-table) { overflow-x:auto; }
.pd-sector-occasion-table__head,.pd-sector-occasion-table__row { display:grid; grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr)); gap:.625rem; align-items:center; padding:.5rem .625rem; }
.pd-sector-occasion-table__head { color:var(--pd-color-ink-3); border-bottom:1px solid var(--pd-color-border); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-sector-occasion-table__row { padding-top:.5625rem; padding-bottom:.5625rem; border-bottom:1px solid var(--pd-color-border-row); border-radius:.5rem; font-size:.8125rem; line-height:1.25; }
.pd-sector-occasion-table__row.is-opportunity { background:#FFF8F1; }
.pd-sector-occasion-table__row strong { font-size:.875rem; font-weight:600; }
.pd-sector-occasion-table__row .is-up { color:var(--pd-color-success-text); font-weight:700; }
.pd-sector-occasion-table__row .is-down { color:var(--pd-color-error-text); font-weight:700; }
.pd-sector-occasion-table__row .is-neutral { color:var(--pd-color-ink-3); }
.pd-sector-mentioned { justify-self:start; padding:.1875rem .5rem; border-radius:.4375rem; color:var(--pd-color-ink-3); background:var(--pd-color-subtle); font-size:.75rem; font-weight:600; line-height:1.2; }
.pd-sector-mentioned.is-mentioned { color:#fff; background:var(--pd-color-ink); }
.pd-sector-segment-bar { display:flex; width:100%; height:1.75rem; overflow:hidden; border-radius:.5rem; background:#F5EDE2; }
.pd-sector-segment-bar i { flex:0 0 auto; height:100%; min-width:1px; background:var(--pd-segment-color); box-shadow:inset -1px 0 0 #fff; }
.pd-sector-segment-caption { margin:-.25rem 0 0; color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-sector-ranked-list { display:flex; flex-direction:column; }
.pd-sector-ranked-list__row { display:grid; grid-template-columns:.625rem minmax(0,1fr) auto auto; align-items:center; gap:.5rem; padding:.5625rem 0; border-bottom:1px solid var(--pd-color-border-row); }
.pd-sector-ranked-list__row > i { width:.625rem; height:.625rem; border-radius:.1875rem; background:var(--pd-segment-color); }
.pd-sector-ranked-list__row strong { font-size:.875rem; font-weight:500; }
.pd-sector-ranked-list__row em { padding:.125rem .4375rem; border-radius:.375rem; color:#fff; background:var(--pd-color-ink); font-size:.75rem; font-style:normal; font-weight:600; }
.pd-sector-ranked-list__row > span { font-size:.8125rem; font-weight:600; font-variant-numeric:tabular-nums; }
.pd-sector-palettes { display:flex; flex-direction:column; gap:.75rem; }
.pd-sector-palette { display:grid; grid-template-columns:6.875rem minmax(0,1fr); align-items:center; gap:1rem; }
.pd-sector-palette > span { color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-sector-palette.is-current > span { color:var(--pd-color-accent-text); }
.pd-sector-palette.is-own > span { color:var(--pd-color-ink); }
.pd-sector-palette__colours { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:.3125rem; }
.pd-sector-palette__colours i { min-height:2.25rem; border-radius:.5rem; box-shadow:inset 0 0 0 1px rgb(0 0 0 / 6%); }
.pd-global-header .pd-sector-header__title h1 { max-width:42rem; }
.pd-global-occasion-table { min-width:39rem; }
.pd-global-occasion-table .pd-sector-occasion-table__head,
.pd-global-occasion-table .pd-sector-occasion-table__row { grid-template-columns:minmax(8rem,1.7fr) repeat(4,minmax(5.5rem,1fr)); }
.pd-global-sector-status { justify-self:start; padding:.1875rem .5rem; border-radius:.4375rem; color:var(--pd-color-ink-2); background:#F5EDE2; font-size:.75rem; font-weight:600; line-height:1.2; }
.pd-global-new-occasion-list { display:flex; flex-direction:column; gap:.875rem; }
.pd-global-new-occasions { display:flex; flex-wrap:wrap; gap:.5rem; }
.pd-global-new-occasions span { padding:.3125rem .5625rem; border-radius:.5rem; color:#4A3F37; background:#F5EDE2; font-size:.8125rem; font-weight:600; line-height:1.2; }
.pd-global-new-occasion-toggle { width:100%; display:flex; justify-content:space-between; align-items:center; gap:.625rem; padding:.625rem .875rem; border:1px solid #E8DFD0; border-radius:.75rem; color:#2A2320; background:#fff; cursor:pointer; text-align:left; }
.pd-global-new-occasion-toggle:hover { background:#FBF6EE; }
.pd-global-new-occasion-toggle strong { font-size:.8125rem; font-weight:600; }
.pd-global-new-occasion-toggle span { color:#6F6357; font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-zeitgeist-new { display:flex; flex-direction:column; gap:.875rem; }
.pd-zeitgeist-new__groups { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:.875rem; }
.pd-zeitgeist-new__group { display:flex; flex-direction:column; gap:.625rem; padding:1rem 1.125rem; border-radius:.875rem; background:#FDF1E6; }
.pd-zeitgeist-new__group.is-current { background:#FBF6EE; }
.pd-zeitgeist-new__group.is-out_of_season { background:#F5EDE2; }
.pd-zeitgeist-new__group header { display:flex; align-items:baseline; justify-content:space-between; gap:.5rem; }
.pd-zeitgeist-new__group header strong { font-size:.9375rem; }
.pd-zeitgeist-new__group header span { color:var(--pd-color-accent-text); font-size:.8125rem; font-weight:700; font-variant-numeric:tabular-nums; }
.pd-zeitgeist-new__group.is-out_of_season header span { color:var(--pd-color-ink-3); }
.pd-zeitgeist-new__group > p { margin:0; color:var(--pd-color-ink-2); font-size:.8125rem; line-height:1.4; }
.pd-zeitgeist-new__rows { display:flex; flex-direction:column; }
.pd-zeitgeist-new__row { display:flex; align-items:baseline; justify-content:space-between; gap:.625rem; padding:.375rem 0; border-top:1px solid #F4D9C2; }
.pd-zeitgeist-new__group.is-current .pd-zeitgeist-new__row,.pd-zeitgeist-new__group.is-out_of_season .pd-zeitgeist-new__row { border-top-color:#E8DFD0; }
.pd-zeitgeist-new__row strong { min-width:0; color:var(--pd-color-ink); font-size:.8125rem; font-weight:600; }
.pd-zeitgeist-new__row span,.pd-zeitgeist-new__group > small { flex:none; color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-radar-header .pd-sector-header__title h1 { max-width:42rem; }
.pd-sector-chips .is-occasion { color:oklch(0.42 0.13 45); background:#FDF1E6; }
.pd-sector-chips .is-tv { color:#5B315B; background:#F5EAF5; }
.pd-sector-chips .is-sport { color:#285B43; background:#EAF4EE; }
.pd-sector-chips .is-weather { color:#2A3A4A; background:#E3ECF5; }
.pd-radar-picks { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:.75rem; }
.pd-radar-pick { min-width:0; display:flex; flex-direction:column; gap:.625rem; padding:1rem 1.125rem; border:1px solid #E8DFD0; border-radius:.875rem; }
.pd-radar-pick__meta { display:flex; justify-content:space-between; align-items:center; gap:.5rem; color:oklch(0.48 0.14 45); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-radar-pick__meta em { display:flex; align-items:center; gap:.3125rem; color:#4A3F37; font-style:normal; font-weight:600; }
.pd-radar-pick__meta i,.pd-radar-filters i,.pd-radar-item > i { width:.5rem; height:.5rem; flex:0 0 .5rem; border-radius:.125rem; background:var(--pd-radar-colour); }
.pd-radar-pick__meta .is-occasion,.pd-radar-filters .is-occasion,.pd-radar-item.is-occasion { --pd-radar-colour:oklch(0.62 0.16 45); }
.pd-radar-pick__meta .is-tv,.pd-radar-filters .is-tv,.pd-radar-item.is-tv { --pd-radar-colour:oklch(0.52 0.13 320); }
.pd-radar-pick__meta .is-sport,.pd-radar-filters .is-sport,.pd-radar-item.is-sport { --pd-radar-colour:oklch(0.55 0.12 150); }
.pd-radar-pick__meta .is-weather,.pd-radar-filters .is-weather,.pd-radar-item.is-weather { --pd-radar-colour:oklch(0.6 0.1 240); }
.pd-radar-pick h3 { margin:0; font-size:1.125rem; font-weight:800; letter-spacing:-.01em; line-height:1.2; }
.pd-radar-pick p { margin:0; color:#3A302A; font-size:.875rem; line-height:1.5; }
.pd-radar-filters { display:flex; flex-wrap:wrap; gap:.375rem; }
.pd-radar-filters button { display:flex; align-items:center; gap:.375rem; padding:.375rem .6875rem; border:1px solid #E8DFD0; border-radius:.5625rem; color:#2A2320; background:#fff; font-size:.8125rem; font-weight:600; cursor:pointer; }
.pd-radar-filters button.is-active { border-color:#2A2320; color:#fff; background:#2A2320; }
.pd-radar-days { display:flex; flex-direction:column; }
.pd-radar-day { display:flex; flex-wrap:wrap; gap:.625rem 1.125rem; padding:.875rem 0; border-bottom:1px solid #F0E8DB; }
.pd-radar-day__date { flex:0 0 8.125rem; display:flex; flex-direction:column; gap:.375rem; }
.pd-radar-day__date-label { display:flex; align-items:baseline; gap:.375rem; }
.pd-radar-day__date-label strong { font-size:.9375rem; font-weight:800; }
.pd-radar-day__date-label span { color:#6F6357; font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-radar-day__weather { display:flex; align-items:center; gap:.5rem; }
.pd-radar-day__weather-icon { width:2rem; height:2rem; flex:0 0 2rem; display:grid; place-items:center; overflow:hidden; border-radius:.5625rem; color:#3A5570; background:#E3ECF5; }
.pd-radar-day__weather-icon img { width:1.375rem; height:1.375rem; object-fit:contain; }
.pd-radar-day__weather-icon span { color:#3A5570; font-size:1.25rem; line-height:1; }
.pd-radar-day__weather-copy { min-width:0; display:flex; flex-direction:column; gap:.0625rem; }
.pd-radar-day__weather-copy strong { font-size:.8125rem; font-weight:600; font-variant-numeric:tabular-nums; }
.pd-radar-day__weather-copy span { color:#6F6357; font-size:.75rem; line-height:1.2; }
.pd-radar-day__items { min-width:0; flex:1 1 18.75rem; display:flex; flex-wrap:wrap; align-content:flex-start; gap:.375rem; }
.pd-radar-item { display:flex; align-items:center; gap:.4375rem; padding:.375rem .625rem; border:1px solid #E8DFD0; border-radius:.625rem; color:#2A2320; background:#fff; }
.pd-radar-item strong { font-size:.8125rem; font-weight:500; }
.pd-radar-item span { opacity:.75; font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-radar-day__empty { padding:.375rem 0; color:#6F6357; font-size:.8125rem; }
.pd-radar-trends { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16.25rem),1fr)); column-gap:1.75rem; }
.pd-radar-trends a { display:flex; align-items:center; gap:.875rem; padding:.625rem .25rem; border-bottom:1px solid #F5EDE2; color:#2A2320; text-decoration:none; }
.pd-radar-trends a:hover { background:#FBF6EE; }
.pd-radar-trends strong { width:1.625rem; flex:0 0 1.625rem; color:#6F6357; font-size:1.125rem; font-weight:600; text-align:right; font-variant-numeric:tabular-nums; }
.pd-radar-trends strong.is-top { color:oklch(0.55 0.15 45); }
.pd-radar-trends span { min-width:0; flex:1; font-size:.875rem; text-transform:capitalize; }
.pd-radar-trends em { flex:0 0 auto; color:oklch(0.48 0.14 45); font-size:.75rem; font-style:normal; font-weight:600; }
.pd-radar-trends__note { margin:0; color:#6F6357; font-size:.75rem; }
.pd-search-header { display:flex; flex-direction:column; gap:.875rem; padding-bottom:1.125rem; border-bottom:3px solid var(--pd-color-accent); }
.pd-search-header > span { color:var(--pd-color-accent-text); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-search-form { display:flex; align-items:center; gap:.625rem; padding:.25rem .375rem .25rem 1rem; border:2px solid #2A2320; border-radius:.875rem; background:#fff; }
.pd-search-form > i { width:.875rem; height:.875rem; flex:0 0 .875rem; border:2px solid #2A2320; border-radius:50%; }
.pd-search-form input { min-width:0; flex:1; padding:.625rem 0; border:0; outline:0; color:#2A2320; background:transparent; font-family:var(--pd-font-sans); font-size:1.125rem; font-weight:600; }
.pd-search-clear { padding:.5rem .625rem; color:#6F6357; font-size:.8125rem; font-weight:600; text-decoration:none; }
.pd-search-suggestions { display:flex; flex-wrap:wrap; align-items:center; gap:.375rem; }
.pd-search-suggestions small { padding-right:.25rem; color:#6F6357; font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-search-suggestions a { padding:.3125rem .625rem; border-radius:.5rem; color:#4A3F37; background:#F5EDE2; font-size:.8125rem; font-weight:600; text-decoration:none; }
.pd-search-suggestions a:hover { color:var(--pd-color-accent-text); background:var(--pd-color-tint); }
.pd-search-suggestions a.is-active,
.pd-search-suggestions a.is-active:hover { color:#fff; background:#2A2320; }
.pd-search-results { display:flex; flex-direction:column; gap:1rem; }
.pd-search-results__heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:.625rem 1.25rem; }
.pd-search-results__heading h1 { margin:0; font-size:clamp(1.375rem,3.4vw,1.875rem); font-weight:800; letter-spacing:-.02em; line-height:1.1; }
.pd-search-results__heading > span { color:#6F6357; font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-search-tabs { display:flex; flex-wrap:wrap; gap:.375rem; padding-bottom:.875rem; border-bottom:1px solid #E8DFD0; }
.pd-search-tabs button { display:flex; align-items:center; gap:.4375rem; padding:.375rem .6875rem; border:1px solid #E8DFD0; border-radius:.5625rem; color:#2A2320; background:#fff; font-size:.8125rem; font-weight:600; cursor:pointer; }
.pd-search-tabs button span { opacity:.7; font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-search-tabs button.is-active { border-color:#2A2320; color:#fff; background:#2A2320; }
.pd-search-tabs button:disabled { opacity:.4; cursor:default; }
.pd-search-group { display:flex; flex-direction:column; gap:.25rem; }
.pd-search-group__heading { display:flex; justify-content:space-between; align-items:baseline; gap:.625rem; padding-bottom:.375rem; }
.pd-search-group__identity { min-width:0; display:flex; align-items:center; gap:.5rem; }
.pd-search-group__favicon { width:1.375rem; height:1.375rem; flex:0 0 1.375rem; display:grid; place-items:center; overflow:hidden; border:1px solid #E8DFD0; border-radius:.4375rem; }
.pd-search-group__favicon img { width:.875rem; height:.875rem; object-fit:contain; }
.pd-search-group h2 { margin:0; overflow:hidden; font-size:1rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.pd-search-group__heading > span { color:#6F6357; font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-search-result { display:flex; align-items:flex-start; gap:.875rem; margin-bottom:.375rem; padding:.75rem .875rem; border:1px solid #F0E8DB; border-radius:.75rem; color:#2A2320; text-decoration:none; }
.pd-search-result:hover { border-color:#E8DFD0; background:#FBF6EE; }
/* Whole row is the link, so the shared report hover would draw its underline through the
   excerpt as well. Same treatment as the email cards: the title and "Open" carry it, the
   hover background still comes from the shared rule. */
.pd-report-app a[href].pd-search-result:is(:hover,.is-pointer-hover,:focus-visible) { text-decoration:none; }
.pd-report-app a[href].pd-search-result:is(:hover,.is-pointer-hover,:focus-visible) .pd-search-result__title > strong,
.pd-report-app a[href].pd-search-result:is(:hover,.is-pointer-hover,:focus-visible) > em { text-decoration:underline; text-decoration-thickness:.08em; text-underline-offset:.16em; }
.pd-search-result__page { flex:0 0 2.875rem; display:flex; flex-direction:column; align-items:center; gap:.125rem; padding:.375rem 0; border-radius:.5625rem; color:oklch(0.42 0.13 45); background:#FDF1E6; }
.pd-search-result__page small { font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-search-result__page strong { font-size:1rem; font-weight:600; line-height:1; font-variant-numeric:tabular-nums; }
.pd-search-result__copy { min-width:0; flex:1; display:flex; flex-direction:column; gap:.25rem; }
.pd-search-result__title { display:flex; flex-wrap:wrap; align-items:center; gap:.375rem .625rem; }
.pd-search-result__title strong { font-size:.9375rem; font-weight:700; line-height:1.3; }
.pd-search-result__title span { padding:.125rem .4375rem; border-radius:.375rem; color:#4A3F37; background:#F5EDE2; font-size:.75rem; font-weight:600; }
.pd-search-result__copy p { margin:0; color:#4A3F37; font-size:.875rem; line-height:1.55; }
.pd-search-result__copy mark { padding:0 .0625rem; border-radius:.1875rem; color:#2A2320; background:#FDE3CC; font-weight:700; }
.pd-search-result > em { flex:0 0 auto; padding-top:.125rem; color:var(--pd-color-accent-text); font-size:.8125rem; font-style:normal; font-weight:600; }
.pd-search-empty { display:flex; flex-direction:column; gap:.5rem; padding:1.375rem 1.5rem; border-radius:.875rem; background:#FBF6EE; }
.pd-search-empty strong { font-size:1.0625rem; font-weight:700; }
.pd-search-empty p { margin:0; color:#4A3F37; font-size:.875rem; line-height:1.5; }

.pd-report-mobile-nav { display:none; background:#fff; border-bottom:1px solid var(--pd-color-border); }
.pd-report-mobile-nav__toggle { width:100%; display:flex; align-items:center; justify-content:space-between; gap:.75rem; border:0; padding:.75rem 1rem; color:var(--pd-color-ink); background:#fff; text-align:left; }
.pd-report-mobile-nav__toggle > span:first-child { display:flex; flex-direction:column; gap:.125rem; min-width:0; }
.pd-report-mobile-nav__toggle strong { font-size:.9375rem; }
.pd-report-mobile-nav__toggle small { color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-report-mobile-nav__button-label { padding:8px 12px; border:1px solid var(--pd-color-border); border-radius:10px; font-size:13px; font-weight:600; }
.pd-report-mobile-nav__panel { border-top:1px solid var(--pd-color-border-row); }

@media (max-width: 899px) {
  .pd-report-mobile-nav { display:block; }
  .pd-report-layout { display:block; min-height:0; }
  .pd-report-sidebar { display:none; }
}

@media (max-width: 600px) {
  .pd-report-toolbar { align-items:flex-start; }
  .pd-report-toolbar__actions { width:100%; }
  .pd-report-period { flex:1; }
  .pd-report-period select { width:100%; }
  .pd-report-pager__progress { justify-content:center; }
  .pd-report-pager__track { display:none; }
  .pd-report-paper__meta { text-align:left; }
  .pd-report-paper__footer { flex-direction:column; }
  .pd-activity-summary-grid,.pd-activity-metrics,.pd-activity-signals,.pd-activity-email-grid { grid-template-columns:1fr; }
  .pd-activity-measure { grid-template-columns:1fr; gap:.75rem; }
  .pd-activity-measures__legend { justify-content:flex-start; }
  .pd-email-preview { flex-basis:100%; }
  .pd-email-analysis { position:static; flex-basis:100%; }
  .pd-activity-header__main { align-items:flex-start; flex-direction:column; }
  .pd-activity-header__main > p { text-align:left; }
  .pd-competitor-header__title p { text-align:left; }
  .pd-competitor-comparison,.pd-competitor-signal { grid-template-columns:1fr; }
  .pd-competitor-values { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pd-sector-change { flex-basis:100%; }
  .pd-sector-volume { display:block; }
  .pd-sector-change { margin-bottom:1rem; }
  .pd-sector-chart { width:100%; overflow-x:auto; }
  .pd-sector-bars,.pd-sector-bars-legend { min-width:32rem; }
  .pd-sector-palette { grid-template-columns:1fr; gap:.375rem; }
  .pd-radar-day__date { flex-basis:100%; }
  .pd-radar-day__items { flex-basis:100%; }
  .pd-radar-item { max-width:100%; }
  .pd-radar-item strong { overflow-wrap:anywhere; }
  .pd-search-result { flex-wrap:wrap; }
  .pd-search-result > em { margin-left:3.5rem; }
}

@keyframes pd-onboarding-spin { to { transform:rotate(360deg); } }
@keyframes pd-onboarding-sheen { from { transform:translateX(-100%); } to { transform:translateX(250%); } }
@keyframes pd-onboarding-pulse { 50% { transform:scale(.85); opacity:.65; } }

@media (max-width: 480px) {
  .pd-onboarding-actions .pd-onboarding-submit { width: 100%; }
  .pd-onboarding-back { order: 2; }
}

.pd-footer__column a,
.pd-footer__email,
.pd-footer__column h3,
.pd-footer .pd-contact-form__hint {
  line-height: normal;
}

.pd-app-header .pd-button--small {
  min-height: 0;
  padding: 0.625rem 0.875rem;
  font-weight: 600;
  line-height: normal;
}

.pd-app-header .pd-button--primary { border: 0; }
.pd-app-header .pd-button--secondary { font-weight: 500; }

.pd-app-header .pd-header-link {
  padding: 0.625rem 0.25rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: normal;
}

@media (max-width: 40rem) {
  .pd-footer__links,
  .pd-footer .pd-contact-form__row { grid-template-columns: 1fr; }
  .pd-footer__bottom { align-items: flex-start; flex-direction: column; }
}

.pd-btn-primary {
  color: #fff;
  border: 0;
  background: linear-gradient(to right, var(--pd-main), var(--pd-secondary));
}

.pd-btn-primary:hover,
.pd-btn-primary:focus {
  color: #fff;
  opacity: 0.95;
}

.pd-link {
  color: var(--pd-main);
}

.pd-link:hover,
.pd-link:focus {
  color: var(--pd-secondary);
}

.pd-bg-main {
  background: var(--pd-main);
}

.pd-text-main {
  color: var(--pd-main);
}

.pd-btn-accent {
  color: #fff;
  border: 0;
  background: var(--pd-main);
}

.pd-btn-accent:hover,
.pd-btn-accent:focus {
  color: #fff;
  background: var(--pd-secondary);
}

.pd-lock-icon {
  width: 4rem;
  height: auto;
}

.pd-report-card-interactive {
  transition: all 0.2s ease;
}

.pd-report-card-interactive:hover,
.pd-report-card-interactive:focus-within {
  background: #faf7ff;
  box-shadow: 0 1rem 2.5rem rgba(17, 24, 39, 0.2);
  border-color: #c9b0ff;
}

.pd-link-underline-hover:hover,
.pd-link-underline-hover:focus {
  text-decoration: underline;
}

.pd-report-link-hover {
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.pd-report-link-hover:hover,
.pd-report-link-hover:focus {
  color: var(--pd-main) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

.pd-report-card-menu {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 20;
}

.pd-report-card-menu-trigger {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.25rem;
  cursor: pointer;
  color: #4b5563;
  background: transparent;
  box-shadow: none;
  transition: color 140ms ease, transform 140ms ease;
}

.pd-report-card-menu-trigger:hover,
.pd-report-card-menu-trigger:focus-visible,
.pd-report-card-menu[open] .pd-report-card-menu-trigger {
  color: var(--pd-color-accent-text);
  transform: scale(1.08);
}

.pd-report-card-menu-trigger:focus-visible { outline: 2px solid var(--pd-color-accent); outline-offset: 2px; }

.pd-report-card-menu-panel {
  position: absolute;
  right: 0;
  margin-top: 0.25rem;
  width: 14rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.375rem;
  background: #fff;
  padding: 0.5rem;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.14);
}

.pd-report-card-menu-form { width: 100%; margin: 0; }

.pd-report-card-menu-item {
  width: 100%;
  padding: 0.55rem 0.625rem;
  border: 0;
  border-radius: 0.35rem;
  color: var(--pd-color-ink);
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  text-align: left;
  transition: color 140ms ease, background-color 140ms ease;
}

.pd-report-card-menu-item:hover,
.pd-report-card-menu-item:focus-visible {
  color: var(--pd-color-accent-text);
  background: var(--pd-color-tint);
}

.pd-report-card-menu-item:focus-visible { outline: 2px solid var(--pd-color-accent); outline-offset: -2px; }
.pd-report-card-menu-item--danger:hover,
.pd-report-card-menu-item--danger:focus-visible { color: #9f2f2f; background: #fff0ee; }
.pd-report-card-menu-note { margin: 0; padding: 0.5rem 0.625rem; color: var(--pd-color-ink-3); font-size: 0.75rem; line-height: 1.4; }
.pd-report-summary-card.is-new .pd-report-card-menu { right: auto; left: 0.5rem; }

.pd-hover-bg-light:hover,
.pd-hover-bg-light:focus {
  background: #f3f4f6 !important;
}

.pd-report-card-image,
.pd-report-card .report-card-placeholder {
  height: 180px;
  width: 100%;
  object-fit: cover;
  object-position: top;
}

.pd-report-card .report-card-placeholder {
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #6b7280;
  font-size: 0.875rem;
  background: #f8f9fa;
}

.pd-report-card.pd-missing-image .pd-report-card-image {
  display: none !important;
}

.pd-report-card.pd-missing-image .report-card-placeholder {
  display: flex !important;
}

/* Reports home */
.pd-reports-index {
  min-height: calc(100vh - 8rem);
  padding: clamp(2.5rem, 6vw, 5rem) 0 5rem;
  background: #f8f7fb;
}

.pd-reports-hero {
  margin-bottom: 2rem;
}

.pd-reports-hero__row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
}

.pd-reports-title {
  margin: 0;
  color: #171226;
  font-family: var(--pd-font-display, Georgia, serif);
  font-size: clamp(2.4rem, 6vw, 4.6rem);
  font-weight: 500;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.pd-reports-intro {
  margin: 0.85rem 0 0;
  color: #625b70;
  font-size: 1.05rem;
}

.pd-reports-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.75rem;
}

.pd-reports-summary__item {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  padding: 0.45rem 0.75rem;
  border: 1px solid #e3dfea;
  border-radius: 999px;
  color: #625b70;
  background: rgba(255, 255, 255, 0.8);
  font-size: 0.82rem;
}

.pd-reports-summary__item strong {
  color: #241b35;
  font-size: 1rem;
}

.pd-reports-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.4rem;
}

.pd-reports-search {
  display: grid;
  grid-template-columns: 1.25rem minmax(8rem, 25rem) auto;
  align-items: center;
  gap: 0.7rem;
  width: min(100%, 34rem);
  padding: 0.35rem 0.35rem 0.35rem 0.85rem;
  border: 1px solid #dcd7e5;
  border-radius: 0.75rem;
  background: #fff;
}

.pd-reports-search:focus-within {
  border-color: var(--pd-main);
  box-shadow: 0 0 0 3px rgba(91, 44, 255, 0.12);
}

.pd-reports-search svg {
  width: 1.15rem;
  stroke-width: 1.8;
  color: #766e81;
}

.pd-reports-search input[type="search"] {
  min-width: 0;
  border: 0;
  outline: 0;
  color: #241b35;
  background: transparent;
}

.pd-reports-search__submit {
  min-height: 2.4rem;
  padding: 0.5rem 0.9rem;
}

.pd-reports-controls {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.pd-segmented-control,
.pd-view-toggle {
  display: inline-flex;
  padding: 0.2rem;
  border: 1px solid #e0dce7;
  border-radius: 0.65rem;
  background: #eeebf2;
}

.pd-segmented-control a,
.pd-view-toggle a {
  padding: 0.45rem 0.65rem;
  border-radius: 0.45rem;
  color: #655e70;
  font-size: 0.77rem;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}

.pd-segmented-control a.is-active,
.pd-view-toggle a.is-active {
  color: #241b35;
  background: #fff;
  box-shadow: 0 1px 4px rgba(35, 26, 53, 0.1);
}

.pd-reports-collection {
  display: grid;
  gap: 1.25rem;
}

.pd-reports-collection--grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pd-reports-collection--list {
  grid-template-columns: 1fr;
}

.pd-reports-collection--list .pd-report-summary-card {
  display: grid;
  grid-template-columns: minmax(14rem, 28%) 1fr;
}

.pd-reports-collection--list .pd-report-preview {
  min-height: 100%;
  border-bottom: 0;
  border-right: 1px solid #e9e5ee;
}

.pd-report-summary-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #e0dce7;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 10px 35px rgba(36, 27, 53, 0.055);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.pd-report-summary-card:hover {
  transform: translateY(-2px);
  border-color: #cfc4e2;
  box-shadow: 0 16px 42px rgba(36, 27, 53, 0.1);
}

.pd-report-preview {
  position: relative;
  min-height: 10.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  border-bottom: 1px solid #e9e5ee;
  color: #746c80;
  background: linear-gradient(145deg, #f6f2fc, #eee8f7);
  text-align: center;
}

.pd-report-preview::before {
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  margin-bottom: 0.25rem;
  border: 1px dashed #a99bb9;
  border-radius: 0.55rem;
  background: linear-gradient(135deg, transparent 48%, #cfc3db 49%, #cfc3db 52%, transparent 53%);
}

.pd-report-preview > span:first-of-type,
.pd-report-preview small {
  font-size: 0.72rem;
}

.pd-report-preview > strong {
  color: #40354d;
  font-size: 0.9rem;
}

.pd-report-preview__locked {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  color: #fff;
  background: rgba(29, 21, 42, 0.7);
  backdrop-filter: blur(2px);
}

.pd-report-new-badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  color: #fff;
  background: #5135c9;
  font-size: 0.67rem !important;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.pd-report-card-body {
  padding: 1.2rem;
}

.pd-report-card-identity {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
}

.pd-report-brand-mark {
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #e5e1e9;
  border-radius: 0.65rem;
  color: #5135c9;
  background: #faf8fc;
  font-weight: 750;
}

.pd-report-brand-mark img {
  width: 1.5rem;
  height: 1.5rem;
  object-fit: contain;
}

.pd-report-card-kicker {
  margin: 0 0 0.15rem;
  color: #81798b;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.pd-report-card-identity h2 {
  margin: 0;
  overflow: hidden;
  color: #21182f;
  font-size: 1.15rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pd-report-card-identity h2 a {
  color: inherit;
  text-decoration: none;
}

.pd-report-card-identity h2 a:hover { color: var(--pd-main); }
.pd-report-card-identity p:last-child { margin: 0.18rem 0 0; color: #746d7e; font-size: 0.75rem; }

.pd-report-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin: 1.15rem 0;
}

.pd-report-metric {
  padding: 0.75rem;
  border-radius: 0.7rem;
  background: #f7f5f9;
}

.pd-report-metric > span,
.pd-report-details dt {
  color: #7b7484;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.02em;
}

.pd-report-metric__value {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  margin-top: 0.2rem;
}

.pd-report-metric__value strong { color: #21182f; font-size: 1.5rem; line-height: 1; }
.pd-report-metric__value small { color: #766e80; font-size: 0.67rem; }
.pd-report-metric__value small.is-up { color: #13855f; }
.pd-report-metric__value small.is-down { color: #b33a4a; }

.pd-report-details {
  display: grid;
  gap: 0.55rem;
  margin: 0;
}

.pd-report-details > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.pd-report-details dd {
  margin: 0;
  color: #2f263b;
  font-size: 0.74rem;
  font-weight: 600;
  text-align: right;
}

.pd-report-details dd small { display: block; color: #837b8c; font-weight: 400; }

.pd-report-card-footer {
  margin-top: 1.1rem;
  padding-top: 0.9rem;
  border-top: 1px solid #ece8ef;
}
.pd-report-card-footer.is-sample { justify-content:flex-end; }

.pd-report-open-link { color: var(--pd-main); font-size: 0.8rem; font-weight: 750; text-decoration: none; }
.pd-report-locked-copy { color: #776f81; font-size: 0.74rem; }

.pd-reports-empty {
  padding: 5rem 1.5rem;
  border: 1px dashed #d5cfde;
  border-radius: 1rem;
  background: #fff;
  text-align: center;
}

.pd-reports-empty h2 { color: #21182f; }

/* Reports-home fidelity pass: mirrors the supplied app template tokens and proportions. */
.pd-app-header,
.pd-app-header button {
  font-family: var(--pd-font-sans);
}

.pd-app-header__inner {
  width: 100%;
  max-width: none;
  padding-inline: clamp(0.875rem, 3vw, 1.5rem);
}

.pd-reports-index {
  min-height: calc(100vh - 3.75rem);
  padding: clamp(1.125rem, 3vw, 2.25rem) 0 3.5rem;
  color: var(--pd-color-ink);
  background: var(--pd-color-page);
  font-family: var(--pd-font-sans);
}

.pd-reports-index > .pd-page-container {
  max-width: 77.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.375rem;
}

.pd-reports-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.875rem 1.5rem;
  margin: 0;
}

.pd-reports-hero__copy {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.pd-reports-date {
  margin: 0;
  color: var(--pd-color-accent-text);
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}

.pd-reports-title {
  margin: 0;
  color: var(--pd-color-ink);
  font-family: var(--pd-font-sans);
  font-size: clamp(1.625rem, 4vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.05;
}

.pd-reports-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
}

.pd-reports-summary__item {
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
  padding: 0.4375rem 0.75rem;
  border: 1px solid var(--pd-color-border);
  border-radius: 0.625rem;
  color: var(--pd-color-ink-2);
  background: var(--pd-color-surface);
  font-size: 0.8125rem;
  line-height: normal;
}

.pd-reports-summary__item strong {
  color: var(--pd-color-ink);
  font-size: 1rem;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.pd-reports-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem 0.875rem;
  margin: 0;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--pd-color-border);
  border-radius: 0.875rem;
  background: var(--pd-color-surface);
}

.pd-reports-search {
  flex: 1 1 15rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: auto;
  padding: 0 0.75rem;
  border: 1px solid var(--pd-color-border-row);
  border-radius: 0.6875rem;
  background: var(--pd-color-subtle);
}

.pd-reports-search:focus-within {
  border-color: var(--pd-color-accent-strong);
  box-shadow: var(--pd-focus-ring);
}

.pd-reports-search svg {
  width: 0.8rem;
  height: 0.8rem;
  flex: 0 0 auto;
  color: #7a6e62;
  stroke-width: 1.5;
}

.pd-reports-search input[type="search"] {
  flex: 1;
  min-width: 0;
  padding: 0.5625rem 0;
  border: 0;
  outline: 0;
  color: var(--pd-color-ink);
  background: transparent;
  font: 0.875rem var(--pd-font-sans);
}

.pd-reports-search input::placeholder { color: var(--pd-color-ink-3); opacity: 1; }

.pd-reports-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem;
}

.pd-reports-sort-label {
  color: var(--pd-color-ink-3);
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}

.pd-segmented-control,
.pd-view-toggle {
  display: flex;
  gap: 0.1875rem;
  padding: 0.1875rem;
  border: 1px solid var(--pd-color-border-row);
  border-radius: 0.6875rem;
  background: var(--pd-color-subtle);
}

.pd-segmented-control a,
.pd-view-toggle a {
  padding: 0.375rem 0.6875rem;
  border-radius: 0.5rem;
  color: var(--pd-color-ink-2);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: normal;
  text-decoration: none;
}

.pd-segmented-control a.is-active,
.pd-view-toggle a.is-active {
  color: #fff;
  background: var(--pd-color-ink);
  box-shadow: none;
}

.pd-reports-collection { gap: 1.25rem; }
.pd-reports-collection--grid { grid-template-columns: repeat(auto-fill, minmax(18.75rem, 1fr)); }

.pd-report-summary-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--pd-color-border);
  border-radius: 1rem;
  background: var(--pd-color-surface);
  box-shadow: 0 1px 2px rgb(60 40 20 / 6%);
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.pd-report-summary-card.is-new { border-color: #f4d9c2; }

.pd-report-summary-card:hover {
  transform: translateY(-2px);
  border-color: var(--pd-color-border-control);
  background: var(--pd-color-tint);
  box-shadow: 0 10px 30px rgb(60 40 20 / 12%);
}

.pd-report-summary-card:focus-within {
  border-color: var(--pd-color-accent);
  box-shadow: 0 0 0 3px rgb(213 96 24 / 18%), 0 10px 30px rgb(60 40 20 / 12%);
}

.pd-report-card-hit-area {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  border: 0;
  border-radius: inherit;
  padding: 0;
  background: transparent;
  cursor: pointer;
}

.pd-report-card-hit-area:focus-visible {
  outline: 2px solid var(--pd-color-accent);
  outline-offset: -4px;
}

.pd-report-preview {
  position: relative;
  min-height: 9.375rem;
  height: 9.375rem;
  gap: 0.45rem;
  border: 0;
  color: var(--pd-color-ink-2);
  background: #f7f4ee;
}

.pd-report-preview::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3.125rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff);
  pointer-events: none;
}

.pd-report-preview::before { display: none; }

.pd-report-preview--image {
  overflow: hidden;
  background: #fff;
}

.pd-report-preview__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: top center;
}

.pd-report-placeholder-icon {
  width: 1.7rem;
  height: 1.45rem;
  display: block;
  border: 2px solid #978f87;
  border-radius: 0.2rem;
  background: linear-gradient(140deg, transparent 48%, #978f87 49%, #978f87 54%, transparent 55%);
}

.pd-report-preview > strong { color: var(--pd-color-ink-2); font-size: 0.875rem; font-weight: 600; }

.pd-report-preview__locked {
  z-index: 3;
  border: 0;
  padding: 1rem;
  color: #fff;
  background: linear-gradient(180deg,rgb(42 35 32 / 22%),rgb(42 35 32 / 58%));
  text-shadow: 0 1px 8px rgb(42 35 32 / 55%);
  backdrop-filter: blur(1px) saturate(.8);
  cursor: pointer;
  text-decoration: none;
  transition: background-color 140ms ease, color 140ms ease;
}

.pd-report-preview__locked:hover,
.pd-report-preview__locked:focus-visible {
  color: #fff;
  background: linear-gradient(180deg,rgb(42 35 32 / 14%),rgb(42 35 32 / 48%));
}

.pd-report-preview__locked:focus-visible { outline: 2px solid var(--pd-color-accent); outline-offset: -4px; }
.pd-report-preview__locked strong { max-width: 13rem; font-size: 1rem; line-height: 1.25; }

.pd-report-lock-icon {
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
  filter: drop-shadow(0 1px 4px rgb(42 35 32 / 35%));
}

.pd-report-new-badge {
  z-index: 4;
  top: 0.75rem;
  right: 0.75rem;
  left: auto;
  padding: 0.25rem 0.5rem;
  border-radius: var(--pd-radius-tag);
  background: var(--pd-color-accent-strong);
  font-size: 0.75rem !important;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.pd-report-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  padding: 0.25rem 1.125rem 1rem;
  background: transparent;
  transition: background-color 160ms ease;
}

.pd-report-card-menu,
.pd-report-card-identity h2 a,
.pd-report-open-link,
.pd-report-card-body form {
  position: relative;
  z-index: 4;
}

.pd-report-card-identity { grid-template-columns: 2.5rem minmax(0, 1fr); gap: 0.75rem; }

.pd-report-brand-mark {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.6875rem;
  border-color: transparent;
  box-shadow: 0 0 0 1px rgb(0 0 0 / 6%);
}

.pd-report-brand-mark img { width: 1.5rem; height: 1.5rem; }

.pd-report-card-identity h2 {
  color: var(--pd-color-ink);
  font-size: 1.0625rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.pd-report-card-identity p:last-child {
  margin-top: 0.125rem;
  color: var(--pd-color-ink-3);
  font-size: 0.8125rem;
}

.pd-report-metrics {
  gap: 0.625rem;
  margin: 0;
  padding-top: 0.75rem;
  border-top: 1px solid var(--pd-color-border-row);
}

.pd-report-metric { padding: 0; border-radius: 0; background: transparent; }
.pd-report-metric > span { color: var(--pd-color-ink-3); font-size: 0.75rem; font-weight: 400; }
.pd-report-metric__value { gap: 0.375rem; margin-top: 0.1875rem; }
.pd-report-metric__value strong { color: var(--pd-color-ink); font-size: 1.25rem; font-weight: 500; }
.pd-report-metric__value small { color: var(--pd-color-ink-3); font-size: 0.75rem; }
.pd-report-metric__value small.is-up { color: var(--pd-color-success-text); }
.pd-report-metric__value small.is-down { color: var(--pd-color-error-text); }

.pd-report-preparing {
  display:flex;
  flex-direction:column;
  gap:.1875rem;
  margin:0;
  padding:.875rem 1rem;
  border-top:1px solid var(--pd-color-border-row);
  border-radius:0 0 .625rem .625rem;
  background:var(--pd-color-tint);
}
.pd-report-preparing strong { color:var(--pd-color-ink); font-size:.9375rem; font-weight:700; }
.pd-report-preparing small { color:var(--pd-color-ink-3); font-size:.75rem; }

.pd-report-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
  margin: auto 0 0;
  padding-top: 0.75rem;
  border-top: 1px solid var(--pd-color-border-row);
}

.pd-report-next { display: flex; align-items: baseline; gap: 0.25rem; color: var(--pd-color-ink); font-size: 0.8125rem; }
.pd-report-next strong { font-weight: 700; }
.pd-report-next small { color: var(--pd-color-accent-text); font-size: 0.75rem; }
.pd-report-open-link { border-radius:.375rem; padding:.25rem .375rem; color:var(--pd-color-accent-text); font-size:.8125rem; font-weight:700; text-decoration:none; transition:color 140ms ease,background-color 140ms ease,transform 140ms ease; }
.pd-report-open-link:hover,.pd-report-open-link:focus-visible { color:#fff; background:var(--pd-color-accent-strong); text-decoration:none; transform:translateX(2px); }
.pd-report-open-link:focus-visible { outline:2px solid var(--pd-color-accent); outline-offset:2px; }
.pd-report-upgrade-link { border:0; background:transparent; font-family:inherit; line-height:inherit; }

.pd-report-list {
  overflow-x: auto;
  border: 1px solid var(--pd-color-border);
  border-radius: 0.875rem;
  background: var(--pd-color-surface);
}

.pd-report-list__inner { min-width: 47.5rem; }
.pd-report-list__header, .pd-report-list__row { display: grid; grid-template-columns: minmax(0,2.2fr) minmax(0,1.3fr) 5.625rem 6.875rem minmax(0,1fr) minmax(0,1.3fr) 4.375rem; gap: 0.75rem; }
.pd-report-list__header { padding: 0.75rem 1rem; border-bottom: 1px solid var(--pd-color-border); color: var(--pd-color-ink-3); font-size: 0.75rem; }
.pd-report-list__row { align-items: center; padding: 0.75rem 1rem; border-bottom: 1px solid var(--pd-color-muted); color: var(--pd-color-ink-2); background:var(--pd-color-surface); font-size: 0.8125rem; transition:background-color 160ms ease,box-shadow 160ms ease; }
.pd-report-list__row:hover { background:var(--pd-color-tint); box-shadow:inset 3px 0 0 var(--pd-color-accent); }
.pd-report-list__row:focus-within { background:var(--pd-color-tint); box-shadow:inset 3px 0 0 var(--pd-color-accent),inset 0 0 0 1px var(--pd-color-border-control); }
.pd-report-list__row:last-child { border-bottom: 0; }
.pd-report-list__row > span small { display: block; color: var(--pd-color-accent-text); }
.pd-report-list__preparing { grid-column:3 / 6; display:flex; flex-direction:column; gap:.125rem; }
.pd-report-list__preparing strong { color:var(--pd-color-ink); font-weight:700; }
.pd-report-list__preparing small { color:var(--pd-color-ink-3) !important; }
.pd-report-list__brand { display: flex; align-items: center; gap: 0.625rem; min-width: 0; }
.pd-report-list__mark { width: 1.875rem; height: 1.875rem; display: grid; place-items: center; flex: 0 0 auto; border-radius: 0.5625rem; box-shadow: 0 0 0 1px var(--pd-color-border); }
.pd-report-list__mark img { width: 1.125rem; height: 1.125rem; object-fit: contain; }
.pd-report-list__brand strong { display: flex; align-items: center; gap: 0.375rem; overflow: hidden; }
.pd-report-list__brand strong a { overflow: hidden; color: var(--pd-color-ink); text-overflow: ellipsis; white-space: nowrap; }
.pd-report-list__name-link { border-radius: 0.25rem; text-decoration: none; }
.pd-report-list__name-link:hover,.pd-report-list__name-link:focus-visible { color: var(--pd-color-accent-text); background: var(--pd-color-tint); text-decoration: underline; text-underline-offset: 0.15em; }
.pd-report-list__brand strong i { width: 0.4375rem; height: 0.4375rem; flex: 0 0 auto; border-radius: 50%; background: var(--pd-color-accent); }
.pd-report-list__brand small { display: block; color: var(--pd-color-ink-3); font-size: 0.75rem; }
.pd-report-list__email-count { display: inline-flex; align-items: baseline; gap: 0.35rem; }
.pd-report-list__email-count small { display: inline !important; font-size: 0.75rem; }
.pd-report-list__action { grid-column:7; display: inline-flex; min-width: 4.375rem; justify-self: end; justify-content: flex-end; text-align: right; white-space: nowrap; }
.pd-report-list .is-up { color: var(--pd-color-success-text); }
.pd-report-list .is-down { color: var(--pd-color-error-text); }

.pd-reports-empty {
  padding: 1.375rem 1.5rem;
  border: 1px solid var(--pd-color-border);
  border-radius: 0.875rem;
  background: var(--pd-color-surface);
  text-align: left;
}

@media (max-width: 991px) {
  .pd-reports-toolbar { align-items: center; flex-direction: row; }
  .pd-reports-search { width: 100%; }
  .pd-reports-controls { justify-content: space-between; }
  .pd-reports-collection--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .pd-reports-index { padding-top: 1.125rem; }
  .pd-reports-index > .pd-page-container { gap: 1.125rem; }
  .pd-reports-hero { align-items: flex-start; flex-direction: column; }
  .pd-reports-summary { width: 100%; }
  .pd-reports-toolbar { align-items: stretch; flex-direction: column; }
  .pd-reports-search { flex: 0 0 auto; min-height: 2.5rem; }
  .pd-reports-controls { justify-content: flex-start; }
  .pd-reports-sort-label { display: none; }
  .pd-reports-collection--grid { grid-template-columns: 1fr; }
  .pd-report-card-body { padding-inline: 1rem; }
}

.pd-insight-icon {
  width: 2.5rem;
  height: 2.5rem;
  object-fit: contain;
}

.cursor-pointer {
  cursor: pointer;
}

/* Report TOC (off-canvas + contents): native <details> for expand/collapse. */
.report-toc-details > summary,
.report-toc-email-group > summary {
  list-style: none;
}

.report-toc-details > summary::-webkit-details-marker,
.report-toc-email-group > summary::-webkit-details-marker {
  display: none;
}

.report-toc-details > summary,
.report-toc-email-group > summary {
  position: relative;
  padding-right: 2rem;
  cursor: pointer;
}

.report-toc-details > summary::after,
.report-toc-email-group > summary::after {
  content: "";
  position: absolute;
  right: 0.75rem;
  top: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  opacity: 0.55;
}

.report-toc-details[open] > summary::after,
.report-toc-email-group[open] > summary::after {
  transform: translateY(-50%) rotate(-135deg);
}

.report-toc-contents-root {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.pd-report-shell {
  display: flex;
  align-items: stretch;
  min-height: calc(100vh - 4rem);
}

.pd-report-shell > .pd-report-sidebar {
  flex: 0 0 20rem;
  width: 20rem;
  margin-left: calc(50% - 50vw);
  background: #fff;
  border-right: 1px solid #e6e7eb;
}

.pd-report-shell .pd-report-sidebar-inner {
  position: sticky;
  top: 1rem;
  max-height: calc(100vh - 4rem);
  overflow: auto;
}

.pd-report-main {
  flex: 1 1 auto;
  min-width: 0;
}

.pd-report-content {
  flex: 1 1 auto;
  min-width: 0;
}

.report-toc-section-body {
  margin-top: 0.25rem;
}

@media (max-width: 991.98px) {
  .pd-report-shell {
    display: block;
    min-height: auto;
  }

  .pd-report-shell > .pd-report-sidebar {
    width: 100%;
    flex: 0 0 auto;
    margin-left: 0;
    border-right: 0;
    border-bottom: 1px solid #e6e7eb;
  }

  .pd-report-shell .pd-report-sidebar-inner {
    position: static;
    max-height: none;
    overflow: visible;
  }
}

/* Tabler-style page-loader overlay (used on onboarding processing page). */
.page-loader {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.95);
  transition: opacity 250ms ease, transform 250ms ease;
}

.page-loader-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.page-loader.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-10px);
}

/* Top colour gradient bar (reports; keep in sync with report_pdf.css) */
.pd-top-colour-bar {
  /* Match ColourGradientBar::EDGE_PCT / 100 */
  --pd-tcb-edge-fr: 0.08;
  /* Same white as Bootstrap/Tailwind .bg-white (Tabler --tblr-white); used in ColourGradientBar edge stops */
  --pd-tcb-edge-bg: var(--tblr-white, #ffffff);
  --pd-tcb-track-h: 2.3rem;
  --pd-tcb-marker: 0.625rem;
  max-width: 14rem;
  width: 100%;
}

.pd-top-colour-bar-compare .pd-top-colour-bar {
  max-width: none;
}

.pd-top-colour-bar__label {
  font-size: 1rem;
  font-weight: 600;
  color: #111827;
  margin-bottom: 0.5rem;
}

/* Track + markers: thick bar, modest radius; dots straddle bottom edge, evenly placed by gradient index */
.pd-top-colour-bar__stack {
  width: 100%;
  padding-bottom: calc(var(--pd-tcb-marker) / 2 + 0.25rem);
}

.pd-top-colour-bar__track {
  position: relative;
  overflow: visible;
  height: var(--pd-tcb-track-h);
  border-radius: 0.375rem;
  border: none;
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.06),
    0 8px 24px rgba(0, 0, 0, 0.1);
}

.pd-top-colour-bar__markers {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.pd-top-colour-bar__marker {
  position: absolute;
  bottom: 0;
  width: var(--pd-tcb-marker);
  height: var(--pd-tcb-marker);
  border-radius: 50%;
  border: 1px solid #fff;
  box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.12);
  box-sizing: content-box;
  transform: translate(-50%, 50%);
}

/* Centres align with palette stops inside ColourGradientBar edge band (same math as Ruby) */
.pd-top-colour-bar__marker:not(.pd-top-colour-bar__marker--solo) {
  left: calc(
    (var(--pd-tcb-edge-fr) + (1 - 2 * var(--pd-tcb-edge-fr)) * var(--pd-tcb-i) / var(--pd-tcb-denom)) * 100%
  );
}

.pd-top-colour-bar__marker--solo {
  left: 50%;
}

.pd-top-colour-bar__empty {
  color: #6b7280;
}

.pd-top-colour-bar-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.pd-top-colour-bar-compare__col {
  min-width: 0;
}
.visually-hidden,
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  margin: -1px !important;
  padding: 0 !important;
  white-space: nowrap !important;
}
/* Opportunity Radar fit mode: picks for the report company, fit-weighted items, "Good fits only" switch. */
.pd-radar-pick__fact { display:flex; flex-direction:column; gap:.125rem; padding:.4375rem .5625rem; border-radius:.5rem; background:#FBF6EE; }
.pd-radar-pick__fact span { color:#6F6357; font-size:.6875rem; font-weight:600; letter-spacing:.02em; text-transform:uppercase; }
.pd-radar-pick__fact strong { color:#2A2320; font-size:.8125rem; font-weight:600; line-height:1.4; }
.pd-radar-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.625rem; }
.pd-radar-item.is-fit-strong { border-color:oklch(0.62 0.16 45); background:#FDF1E6; }
.pd-radar-item.is-fit-strong strong { font-weight:700; }
.pd-radar-item.is-fit-possible { border-color:#F4D9C2; background:#FFF8F1; }
.pd-radar-item.is-fit-possible strong { font-weight:600; }
.pd-radar-item.is-fit-low { color:#6F6357; background:#FBF6EE; border-color:#F0E8DB; }
.pd-radar-item.is-fit-low strong { font-weight:400; }
.pd-radar-item.is-big-moment { border-color:#2A2320; }
.pd-radar-pick.is-big-moment { border-color:#2A2320; }
.pd-activity-summary-grid.is-single { grid-template-columns:1fr; }
.pd-radar-item.has-angle { flex-wrap:wrap; }
.pd-radar-item .pd-radar-item__angle { flex-basis:100%; opacity:.8; font-size:.75rem; font-style:italic; }
.pd-radar-item__status { width:1.125rem; height:1.125rem; flex:0 0 1.125rem; display:inline-grid; place-items:center; border-radius:50%; color:#6F4A2A; background:#F6E7D6; font-size:.6875rem; font-style:normal; font-weight:700; line-height:1; }
.pd-radar-item__status.is-used { color:#fff; background:oklch(0.55 0.12 150); }
.pd-radar-item__status.is-sector-on { color:oklch(0.52 0.15 45); font-size:.5625rem; }
.pd-radar-key { display:flex; flex-wrap:wrap; gap:.375rem 1rem; margin:0; padding:.625rem 0 0; border-top:1px solid #F0E8DB; list-style:none; color:#6F6357; font-size:.75rem; }
.pd-radar-key li { display:flex; align-items:center; gap:.375rem; }
.pd-radar-pick.is-stretch { border-style:dashed; }
/* "What you can do" cards (Global Zeitgeist, Competitor) */
.pd-action-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:.75rem; }
.pd-action-card { min-width:0; display:flex; flex-direction:column; gap:.625rem; padding:1rem 1.125rem; border:1px solid #E8DFD0; border-radius:.875rem; }
.pd-action-card__head { display:flex; align-items:center; gap:.625rem; }
.pd-action-card__number { width:1.625rem; height:1.625rem; flex:0 0 1.625rem; display:grid; place-items:center; border-radius:.5rem; color:#fff; background:oklch(0.52 0.15 45); font-size:.75rem; font-weight:600; font-variant-numeric:tabular-nums; }
.pd-action-card h3 { margin:0; font-size:.9375rem; font-weight:700; line-height:1.3; }
.pd-action-card p { margin:0; color:#3A302A; font-size:.875rem; line-height:1.55; text-wrap:pretty; }
.pd-action-card__evidence { margin-top:auto; padding:.375rem .5625rem; border-radius:.5rem; color:oklch(0.42 0.13 45); background:#FDF1E6; font-size:.75rem; font-variant-numeric:tabular-nums; }

/* Braintree Hosted Fields + PayPal subscription checkout. */
.pd-billing-checkout { padding-block:2rem 4rem; }
.pd-sandbox-payment-note { display:grid; gap:.25rem; margin:0 0 1rem; padding:.875rem 1rem; border:1px solid #e5b27d; border-radius:var(--pd-radius-control); background:#fff4e8; color:var(--pd-color-ink); font-size:.875rem; }
.pd-sandbox-payment-note strong { color:#a9430a; }

/* Shared form furniture for the billing account and checkout screens. */
.pd-field-group { display:grid; gap:.4375rem; min-width:0; }
.pd-field-group label, .pd-field-group__label { color:var(--pd-color-ink); font-size:.8125rem; font-weight:600; }
.pd-field-group label span, .pd-field-group__label span { color:var(--pd-color-ink-3); font-weight:400; }
.pd-field-group input, .pd-field-group select, .pd-field-group textarea { width:100%; min-height:2.75rem; padding:.625rem .875rem; border:1px solid var(--pd-color-border-control); border-radius:.625rem; background-color:#fff; color:var(--pd-color-ink); font-family:inherit; font-size:.9375rem; }
.pd-field-group textarea { min-height:5rem; line-height:1.5; }
.pd-field-group input:focus, .pd-field-group select:focus, .pd-field-group textarea:focus { border-color:var(--pd-color-accent); box-shadow:var(--pd-focus-ring); outline:0; }
.pd-field-group input::placeholder { color:var(--pd-color-ink-4); }
.pd-form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:1.125rem 1.25rem; }
.pd-field-group--wide { grid-column:1/-1; }
.pd-billing .is-hidden, .pd-checkout-page .is-hidden { display:none; }

/* Segmented control: the checked state is CSS-only so it survives without JavaScript. */
.pd-segmented { display:inline-grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:.25rem; padding:.25rem; border-radius:.625rem; background:var(--pd-color-muted); }
.pd-segmented__option { display:grid; margin:0; cursor:pointer; }
.pd-segmented__option input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.pd-segmented__option span { display:grid; place-items:center; padding:.4375rem 1rem; border-radius:.4375rem; color:var(--pd-color-ink-3); font-size:.8125rem; font-weight:600; white-space:nowrap; }
.pd-segmented__option input:checked + span { color:var(--pd-color-ink); background:#fff; box-shadow:0 1px 2px rgb(60 40 20 / 12%); }
.pd-segmented__option input:focus-visible + span { box-shadow:var(--pd-focus-ring); }
.pd-segmented__button { padding:.4375rem 1rem; border:0; border-radius:.4375rem; background:transparent; color:var(--pd-color-ink-3); font-family:inherit; font-size:.8125rem; font-weight:600; cursor:pointer; }
.pd-segmented__button.is-active { color:var(--pd-color-ink); background:#fff; box-shadow:0 1px 2px rgb(60 40 20 / 12%); }
.pd-segmented__button[aria-disabled="true"] { color:var(--pd-color-ink-4); cursor:not-allowed; }

.pd-button--accent { color:var(--pd-color-on-accent); background:var(--pd-color-accent); }
.pd-button--accent:hover { background:var(--pd-color-accent-strong); }
.pd-pill--error { color:var(--pd-color-error-text); background:#fbe7e3; }

/* Billing account. */
.pd-billing { padding-block:clamp(1.5rem,4vw,3rem) 4rem; display:flex; flex-direction:column; gap:clamp(2.25rem,5vw,3.5rem); }
.pd-billing__intro { display:grid; gap:.5rem; }
.pd-billing__intro p { margin:0; color:var(--pd-color-ink-3); font-size:.9375rem; }
.pd-billing-label { margin:0; color:var(--pd-color-accent-text); font-size:.8125rem; font-weight:600; }
.pd-billing-card { border-radius:var(--pd-radius-card); background:var(--pd-color-surface); box-shadow:var(--pd-shadow-card); }
.pd-billing-card--form { padding:clamp(1.25rem,3vw,2rem); }
.pd-billing-card--table { overflow-x:auto; }
.pd-billing-note { padding:clamp(1.25rem,3vw,2rem); border-radius:var(--pd-radius-card); background:var(--pd-color-surface); box-shadow:var(--pd-shadow-card); }
.pd-billing-note h2 { margin:0 0 .375rem; font-size:1.25rem; }
.pd-billing-note p { margin:0; color:var(--pd-color-ink-2); }
.pd-billing__support { margin:0; padding-top:1.25rem; border-top:1px solid var(--pd-color-border); color:var(--pd-color-ink-2); font-size:.875rem; }

.pd-billing-section { display:flex; flex-direction:column; gap:1.125rem; }
.pd-billing-section__heading { display:grid; gap:.375rem; padding-bottom:.875rem; border-bottom:1px solid var(--pd-color-border); }
.pd-billing-section__heading h2 { margin:0; font-size:1.375rem; font-weight:800; letter-spacing:-.015em; }
.pd-billing-section__heading p { margin:0; color:var(--pd-color-ink-3); font-size:.875rem; line-height:1.55; }

.pd-billing-current { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18.75rem),1fr)); border-radius:var(--pd-radius-card); background:var(--pd-color-surface); box-shadow:var(--pd-shadow-card); }
.pd-billing-current__package { display:flex; flex-direction:column; gap:1.125rem; padding:clamp(1.25rem,3vw,2rem); border-right:1px solid var(--pd-color-border-row); }
.pd-billing-current__status { display:flex; align-items:center; flex-wrap:wrap; gap:.625rem; }
.pd-billing-current__headline { display:grid; gap:.375rem; }
.pd-billing-current__headline h2 { margin:0; font-size:2rem; font-weight:800; letter-spacing:-.025em; line-height:1; }
.pd-billing-current__headline p { margin:0; color:var(--pd-color-ink-2); font-size:.9375rem; }
.pd-billing-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:0; padding-top:1.125rem; border-top:1px solid var(--pd-color-border-row); }
.pd-billing-facts div { display:grid; gap:.25rem; min-width:0; }
.pd-billing-facts dt { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-billing-facts dd { margin:0; font-size:1.0625rem; font-weight:700; font-variant-numeric:tabular-nums; }
.pd-billing-facts dd span { color:var(--pd-color-ink-3); font-size:.8125rem; font-weight:500; }
.pd-billing-current__payment { display:flex; flex-direction:column; gap:1.125rem; padding:clamp(1.25rem,3vw,2rem); border-radius:0 var(--pd-radius-card) var(--pd-radius-card) 0; background:var(--pd-color-subtle); }
.pd-billing-method { display:flex; align-items:center; gap:.875rem; }
.pd-billing-method__badge { display:grid; place-items:center; flex:0 0 3.25rem; width:3.25rem; height:2.25rem; border-radius:.4375rem; color:#fff; background:var(--pd-color-ink); font-size:.6875rem; font-weight:800; letter-spacing:.06em; }
.pd-billing-method__copy { display:grid; gap:.125rem; min-width:0; }
.pd-billing-method__copy strong { font-size:1rem; font-weight:700; }
.pd-billing-method__copy span { color:var(--pd-color-ink-3); font-size:.8125rem; font-variant-numeric:tabular-nums; }
.pd-billing-method__actions { display:flex; flex-wrap:wrap; gap:.625rem; margin-top:auto; }

.pd-billing-alert { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; border:1px solid #e5b27d; border-radius:var(--pd-radius-control); background:#fff4e8; }
.pd-billing-alert > div { display:grid; gap:.25rem; }
.pd-billing-alert strong { color:#a9430a; }
.pd-billing-alert span { color:var(--pd-color-ink-2); font-size:.875rem; }

/* Package cards, shared by "Choose a paid package" and "Change package". */
.pd-plan-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16.25rem),1fr)); gap:1rem; }
.pd-plan-card { display:grid; grid-row:span 5; grid-template-rows:subgrid; gap:.875rem; padding:1.5rem; border-radius:var(--pd-radius-card); background:var(--pd-color-surface); box-shadow:var(--pd-shadow-card); }
.pd-plan-card.is-current { box-shadow:0 0 0 2px var(--pd-color-accent); }
.pd-plan-card__head { display:flex; align-items:center; justify-content:space-between; gap:.5rem; min-height:1.625rem; }
.pd-plan-card__head h3 { margin:0; font-size:1.25rem; font-weight:800; letter-spacing:-.015em; }
.pd-plan-card__desc { margin:0; color:var(--pd-color-ink-2); font-size:.875rem; line-height:1.5; }
.pd-plan-card__price { display:flex; align-items:baseline; flex-wrap:wrap; gap:.375rem; }
.pd-plan-card__price strong { font-size:2.125rem; font-weight:800; letter-spacing:-.025em; line-height:1; font-variant-numeric:tabular-nums; }
.pd-plan-card__price span { color:var(--pd-color-ink-3); font-size:.8125rem; }
.pd-plan-card__facts { display:grid; gap:.375rem; padding-top:.75rem; border-top:1px solid var(--pd-color-border-row); color:var(--pd-color-ink-2); font-size:.8125rem; font-variant-numeric:tabular-nums; }
.pd-plan-card__facts strong { color:var(--pd-color-ink); font-weight:700; }
.pd-plan-card__actions { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.625rem; }
.pd-plan-card__actions form { margin:0; }
.pd-plan-card__renews { margin:0; padding:.75rem 0; color:var(--pd-color-ink-3); font-size:.8125rem; }

.pd-billing-pending { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.25rem; padding:1.5rem; border:2px solid var(--pd-color-accent); border-radius:var(--pd-radius-card); background:var(--pd-color-surface); }
.pd-billing-pending__copy { display:grid; gap:.625rem; flex:1 1 22.5rem; }
.pd-billing-pending__copy h3 { margin:0; font-size:1.125rem; font-weight:800; letter-spacing:-.01em; }
.pd-billing-pending__copy p { margin:0; color:var(--pd-color-ink-3); font-size:.8125rem; }
.pd-billing-pending__facts { display:grid; grid-template-columns:auto auto; justify-content:start; gap:.375rem 1.5rem; margin:0; font-size:.875rem; font-variant-numeric:tabular-nums; }
.pd-billing-pending__facts dt { color:var(--pd-color-ink-3); }
.pd-billing-pending__facts dd { margin:0; font-weight:700; }
.pd-billing-pending form { margin:0; }

.pd-billing-form { display:flex; flex-direction:column; gap:1.25rem; }
.pd-billing-form__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.875rem; padding-top:1.25rem; border-top:1px solid var(--pd-color-border-row); }
.pd-billing-form .pd-form-hint { grid-column:1/-1; }

.pd-billing-report-list { display:grid; margin:0; padding:0; list-style:none; }
.pd-billing-report-list li { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.5rem; }
.pd-billing-report-list li + li { border-top:1px solid var(--pd-color-border-row); }
.pd-billing-report-list li > div { display:grid; gap:.125rem; min-width:0; }
.pd-billing-report-list span { color:var(--pd-color-ink-3); font-size:.8125rem; }
.pd-billing-report-list form { margin:0; }

.pd-billing-history { width:100%; min-width:42.5rem; border-collapse:collapse; font-size:.875rem; }
.pd-billing-history th { padding:.875rem 1.5rem; border-bottom:1px solid var(--pd-color-border-row); color:var(--pd-color-ink-3); font-size:.75rem; font-weight:600; text-align:left; }
.pd-billing-history td { padding:1rem 1.5rem; vertical-align:middle; font-variant-numeric:tabular-nums; }
.pd-billing-history tbody tr + tr td { border-top:1px solid var(--pd-color-border-row); }
.pd-billing-history td strong { display:block; font-weight:600; }
.pd-billing-history td span:not(.pd-pill) { display:block; margin-top:.125rem; color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-billing-history__end { text-align:right; }
.pd-billing-history__muted { color:var(--pd-color-ink-4); font-weight:600; }

.pd-billing-ending { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:clamp(1.25rem,3vw,1.75rem); border-radius:var(--pd-radius-card); background:var(--pd-color-tint-strong); }
.pd-billing-ending > div { display:grid; gap:.25rem; flex:1 1 22.5rem; }
.pd-billing-ending strong { font-size:.9375rem; }
.pd-billing-ending span { color:var(--pd-color-ink-2); font-size:.875rem; line-height:1.5; }
.pd-billing-ending form { margin:0; }

.pd-billing-cancel { border-radius:var(--pd-radius-card); background:var(--pd-color-surface); box-shadow:var(--pd-shadow-card); }
.pd-billing-cancel[open] { border:2px solid #d9a89c; box-shadow:none; }
.pd-billing-cancel__summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:clamp(1.25rem,3vw,1.75rem); cursor:pointer; list-style:none; }
.pd-billing-cancel__summary::-webkit-details-marker { display:none; }
.pd-billing-cancel__summary > div { display:grid; gap:.25rem; flex:1 1 22.5rem; }
.pd-billing-cancel__summary strong { font-size:.9375rem; }
.pd-billing-cancel__summary > div span { color:var(--pd-color-ink-3); font-size:.875rem; line-height:1.5; }
.pd-billing-cancel[open] .pd-billing-cancel__summary { padding-bottom:0; }
.pd-billing-cancel[open] .pd-billing-cancel__summary .pd-button { display:none; }
.pd-billing-cancel__panel { display:grid; gap:1.25rem; padding:clamp(1.25rem,3vw,1.75rem); }
.pd-billing-cancel__panel h3 { margin:0; font-size:1.125rem; font-weight:800; letter-spacing:-.01em; }
.pd-billing-cancel__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:.75rem; }
.pd-billing-cancel__grid div { display:grid; gap:.25rem; padding:.875rem 1rem; border-radius:.75rem; background:var(--pd-color-subtle); }
.pd-billing-cancel__grid span { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-billing-cancel__grid strong { font-size:.875rem; font-weight:600; line-height:1.45; }
.pd-billing-cancel__form { display:grid; gap:1.25rem; margin:0; }
.pd-billing-cancel__reasons { display:grid; gap:.625rem; margin:0; padding:0; border:0; }
.pd-billing-cancel__reasons legend { padding:0 0 .625rem; font-size:.8125rem; font-weight:600; }
.pd-billing-cancel__reasons legend span { color:var(--pd-color-ink-3); font-weight:400; }
.pd-chip-set { display:flex; flex-wrap:wrap; gap:.5rem; }
.pd-chip { display:grid; margin:0; cursor:pointer; }
.pd-chip input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.pd-chip span { padding:.5rem .875rem; border:1px solid var(--pd-color-border); border-radius:999px; background:var(--pd-color-surface); color:var(--pd-color-ink-2); font-size:.8125rem; font-weight:600; }
.pd-chip input:checked + span { border-color:var(--pd-color-accent); background:var(--pd-color-tint-strong); color:var(--pd-color-accent-text); }
.pd-chip input:focus-visible + span { box-shadow:var(--pd-focus-ring); }
.pd-billing-cancel__hint { display:none; margin:0; color:var(--pd-color-ink-2); font-size:.875rem; line-height:1.5; }
.pd-billing-cancel__form:has(#cancellation_reason_too_expensive:checked) .pd-billing-cancel__hint { display:block; }
.pd-billing-cancel__actions { display:flex; flex-wrap:wrap; gap:.625rem; padding-top:1.125rem; border-top:1px solid var(--pd-color-border-row); }
.pd-billing-cancel__actions form { margin:0; }

/* Profile borrows the billing layout; these are the few pieces billing has no use for. */
.pd-profile-email { word-break:break-word; }
/* Fields keep their own height instead of stretching to the tallest in the row. */
.pd-profile .pd-field-group { align-content:start; }
.pd-profile-field-label { display:flex; align-items:baseline; justify-content:space-between; gap:.75rem; }
.pd-profile-field-label button { padding:0; border:0; background:none; color:var(--pd-color-accent-text); font-family:inherit; font-size:.75rem; font-weight:600; cursor:pointer; }
.pd-profile-field-label button:hover { text-decoration:underline; }
.pd-profile-password { display:grid; gap:.875rem; margin:0; }
.pd-profile-password .pd-form-hint { margin:0; }
.pd-profile-password input[type="submit"] { justify-self:start; margin-top:.25rem; }
.pd-profile .pd-billing-card--form > .pd-checkout-error { display:block; margin-bottom:1rem; }

@media (max-width:48rem) {
  .pd-billing-current__package { border-right:0; border-bottom:1px solid var(--pd-color-border-row); }
  .pd-billing-current__payment { border-radius:0 0 var(--pd-radius-card) var(--pd-radius-card); }
  .pd-billing-facts { grid-template-columns:1fr; }
  .pd-plan-card { grid-row:auto; grid-template-rows:none; }
}

/* Checkout: package choice, billing details, payment and a sticky order summary. */
.pd-checkout-page { padding-block:clamp(1.5rem,4vw,3rem) 4rem; display:flex; flex-direction:column; gap:clamp(1.5rem,4vw,2.25rem); }
.pd-checkout-page__intro { display:grid; gap:.625rem; }
.pd-checkout-page__intro p { margin:0; color:var(--pd-color-ink-2); font-size:.9375rem; line-height:1.55; }
.pd-checkout-page__secure { display:flex; align-items:center; gap:.5rem; }
.pd-checkout { display:flex; flex-wrap:wrap; align-items:flex-start; gap:1.5rem; }
.pd-checkout__main { flex:999 1 35rem; min-width:0; display:flex; flex-direction:column; gap:1.5rem; }
.pd-checkout-step { display:flex; flex-direction:column; gap:1.125rem; }
.pd-checkout-step--card { padding:clamp(1.25rem,3vw,1.75rem); border-radius:var(--pd-radius-card); background:var(--pd-color-surface); box-shadow:var(--pd-shadow-card); }
.pd-checkout-step__head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.625rem; }
.pd-checkout-step__title { display:flex; align-items:center; gap:.625rem; }
.pd-checkout-step__title h2 { margin:0; font-size:1.125rem; font-weight:800; letter-spacing:-.01em; }
.pd-checkout-step__number { display:grid; place-items:center; flex:0 0 1.625rem; width:1.625rem; height:1.625rem; border-radius:50%; color:#fff; background:var(--pd-color-ink); font-size:.8125rem; font-weight:700; }
.pd-checkout-step__controls { display:flex; flex-wrap:wrap; align-items:stretch; gap:.5rem; }
.pd-checkout-step__currency select { min-height:2.25rem; height:100%; padding:.375rem .625rem; border:1px solid var(--pd-color-border-control); border-radius:.625rem; background-color:#fff; color:var(--pd-color-ink); font-family:inherit; font-size:.8125rem; font-weight:600; }
/* Left native, Safari draws its own stepper control on a select, which sits oddly against these
   flat fields. Draw the chevron ourselves on both billing screens instead. */
.pd-billing select, .pd-checkout-page select { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1.5 1.75 6 6.25l4.5-4.5' stroke='%236F6357' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .875rem center; background-size:.75rem .5rem; padding-right:2.25rem; }
.pd-checkout-page .pd-checkout-step__currency select { background-position:right .625rem center; padding-right:1.875rem; }

.pd-plan-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr)); gap:.75rem; }
.pd-plan-option { display:grid; grid-row:span 4; grid-template-rows:subgrid; gap:.625rem; padding:1.125rem 1.125rem 1rem; border-radius:1rem; background:var(--pd-color-surface); box-shadow:0 1px 2px rgb(60 40 20 / 6%), 0 8px 24px rgb(60 40 20 / 6%); cursor:pointer; }
.pd-plan-option:hover { box-shadow:0 0 0 2px var(--pd-color-border-control); }
.pd-plan-option input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.pd-plan-option:has(input:checked) { box-shadow:0 0 0 2px var(--pd-color-accent), 0 10px 30px rgb(60 40 20 / 10%); }
.pd-plan-option:has(input:focus-visible) { box-shadow:0 0 0 2px var(--pd-color-accent), var(--pd-focus-ring); }
.pd-plan-option__head { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.pd-plan-option__head strong { font-size:1.0625rem; font-weight:800; letter-spacing:-.01em; }
.pd-plan-option__dot { display:grid; place-items:center; flex:0 0 1.25rem; width:1.25rem; height:1.25rem; border:2px solid var(--pd-color-border-control); border-radius:50%; }
.pd-plan-option__dot::before { content:""; width:.625rem; height:.625rem; border-radius:50%; background:transparent; }
.pd-plan-option:has(input:checked) .pd-plan-option__dot { border-color:var(--pd-color-accent); }
.pd-plan-option:has(input:checked) .pd-plan-option__dot::before { background:var(--pd-color-accent); }
.pd-plan-option__desc { margin:0; color:var(--pd-color-ink-2); font-size:.8125rem; line-height:1.45; }
.pd-plan-option__price { display:flex; align-items:baseline; gap:.3125rem; }
.pd-plan-option__price strong { font-size:1.625rem; font-weight:800; letter-spacing:-.02em; line-height:1; font-variant-numeric:tabular-nums; }
.pd-plan-option__price span { color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-plan-option__facts { padding-top:.625rem; border-top:1px solid var(--pd-color-border-row); color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-plan-option__facts strong { color:var(--pd-color-ink); font-weight:700; }

.pd-checkout-testmode { display:flex; flex-wrap:wrap; align-items:center; gap:.375rem .75rem; padding:.625rem .875rem; border-radius:.625rem; background:var(--pd-color-tint-strong); color:var(--pd-color-accent-text); font-size:.8125rem; line-height:1.45; }
.pd-checkout-testmode__tag { padding:.1875rem .4375rem; border-radius:.3125rem; color:#fff; background:var(--pd-color-accent); font-size:.6875rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.pd-checkout-paypal-note { margin:0; padding:1rem 1.125rem; border-radius:.75rem; background:var(--pd-color-subtle); color:var(--pd-color-ink-2); font-size:.875rem; line-height:1.55; }
.pd-checkout-secure-note { display:flex; align-items:center; gap:.5rem; margin:0; color:var(--pd-color-ink-3); font-size:.75rem; }
.pd-checkout-secure-note svg { flex-shrink:0; }
.pd-checkout-fields-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.pd-hosted-field { height:2.75rem; padding:.5rem .875rem; border:1px solid var(--pd-color-border-control); border-radius:.625rem; background:#fff; }
.pd-hosted-field.braintree-hosted-fields-focused { border-color:var(--pd-color-accent); box-shadow:var(--pd-focus-ring); }
.pd-hosted-field.braintree-hosted-fields-invalid { border-color:var(--pd-color-error); }
.pd-payment-tabs { display:flex; gap:.5rem; margin-bottom:1.25rem; }
.pd-payment-tab { padding:.6rem 1rem; border:1px solid var(--pd-color-border); border-radius:999px; background:#fff; transition:background-color .15s,border-color .15s; }
.pd-payment-tab:hover { border-color:var(--pd-color-accent); background:#fff7f0; }
.pd-payment-tab.is-active { border-color:var(--pd-color-accent); color:#fff; background:var(--pd-color-accent); }
.pd-button--paypal { color:#111; background:#ffc439; }
.pd-button--paypal:hover { background:#f2ba36; }
.pd-checkout-error { margin:0; color:var(--pd-color-error-text); font-size:.875rem; font-weight:700; }
.pd-checkout-error:empty { display:none; }
.pd-form-hint { color:var(--pd-color-ink-3); font-size:.8125rem; line-height:1.45; }

.pd-checkout-summary { flex:1 1 20rem; min-width:0; position:sticky; top:1.5rem; display:flex; flex-direction:column; gap:1.25rem; padding:clamp(1.375rem,3vw,1.75rem); border-radius:1.25rem; color:var(--pd-color-page); background:var(--pd-color-dark-surface); }
.pd-checkout-summary__label { margin:0; color:var(--pd-color-dark-meta); font-size:.8125rem; }
.pd-checkout-summary__plan { margin:-1rem 0 0; font-size:1.5rem; font-weight:800; letter-spacing:-.02em; }
.pd-checkout-summary__reports { margin:-1rem 0 0; color:var(--pd-color-dark-text-2); font-size:.875rem; }
.pd-checkout-summary__lines { display:grid; gap:.625rem; margin:0; padding-top:1.125rem; border-top:1px solid var(--pd-color-dark-border); font-size:.875rem; font-variant-numeric:tabular-nums; }
.pd-checkout-summary__lines div { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.pd-checkout-summary__lines dt { color:var(--pd-color-dark-text-2); }
.pd-checkout-summary__lines dd { margin:0; text-align:right; }
.pd-checkout-summary__total { display:flex; align-items:baseline; justify-content:space-between; gap:.75rem; padding-top:1.125rem; border-top:1px solid var(--pd-color-dark-border); }
.pd-checkout-summary__total span { font-size:.9375rem; font-weight:700; }
.pd-checkout-summary__total strong { font-size:1.875rem; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.pd-checkout-summary__renewal { margin:-.5rem 0 0; color:var(--pd-color-dark-text-2); font-size:.8125rem; line-height:1.5; }
.pd-checkout-summary .pd-checkout-error { padding:.625rem .875rem; border-radius:.625rem; color:var(--pd-color-error-on-dark); background:#4a2a24; font-weight:500; line-height:1.5; }
.pd-checkout-summary__cta { width:100%; padding:.9375rem 1.25rem; border-radius:.875rem; font-size:1rem; }
.pd-checkout-summary__terms { margin:0; color:var(--pd-color-dark-meta); font-size:.75rem; line-height:1.55; }

@media (max-width:48rem) {
  .pd-checkout-summary { position:static; }
  .pd-checkout-fields-row { grid-template-columns:1fr; }
  .pd-plan-option { grid-row:auto; grid-template-rows:none; }
}
.pd-radar-weather-note { margin:-.25rem 0 0; color:#6F6357; font-size:.75rem; }

/* Admin reports: the pd-* theme applied to the admin tables and forms. */
.pd-admin-page { padding-block:clamp(1.75rem,4vw,3rem); }
.pd-admin-header { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.pd-admin-header h1 { margin:.25rem 0 0; }
.pd-admin-header__meta { margin:.375rem 0 0; color:var(--pd-color-ink-3); font-size:.9375rem; }
.pd-admin-header__meta a { color:var(--pd-color-accent-text); font-weight:700; }
.pd-admin-stack { display:flex; flex-direction:column; gap:1.25rem; }
.pd-admin-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:1.25rem; align-items:start; }
.pd-admin-card { overflow:hidden; border:1px solid var(--pd-color-border); border-radius:var(--pd-radius-card); background:var(--pd-color-surface); box-shadow:var(--pd-shadow-card); }
.pd-admin-card__header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; padding:1rem 1.25rem; border-bottom:3px solid var(--pd-color-accent); background:var(--pd-color-tint); }
.pd-admin-card__header h2 { margin:0; font-size:1.0625rem; }
.pd-admin-card__header span { color:var(--pd-color-ink-3); font-size:.8125rem; font-weight:700; }
.pd-admin-card__body { padding:1.25rem; }
.pd-admin-table-wrap { overflow-x:auto; }
.pd-admin-table { width:100%; border-collapse:collapse; font-size:.9375rem; }
.pd-admin-table th, .pd-admin-table td { padding:.8125rem 1rem; text-align:left; vertical-align:middle; }
.pd-admin-table thead th { color:var(--pd-color-ink-3); background:var(--pd-color-subtle); border-bottom:1px solid var(--pd-color-border); font-size:.75rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.pd-admin-table tbody tr + tr td { border-top:1px solid var(--pd-color-border-row); }
.pd-admin-table tbody tr:hover td { background:var(--pd-color-tint); }
.pd-admin-table td { color:var(--pd-color-ink-2); }
.pd-admin-table .pd-admin-table__end { text-align:right; white-space:nowrap; }
.pd-admin-table__primary { display:block; color:var(--pd-color-ink); font-weight:700; }
.pd-admin-table__sub { display:block; margin-top:.125rem; color:var(--pd-color-ink-3); font-size:.8125rem; }
.pd-admin-table td a:not(.pd-button) { color:var(--pd-color-accent-text); font-weight:600; text-decoration:none; }
.pd-admin-table td a:not(.pd-button):hover { text-decoration:underline; }
.pd-admin-table td .pd-admin-table__sub a { color:var(--pd-color-ink-3); font-weight:500; text-decoration:underline; }
.pd-admin-table td .pd-admin-table__sub a:hover { color:var(--pd-color-accent-text); }
.pd-admin-table td.pd-admin-table__empty { padding:1.75rem 1rem; color:var(--pd-color-ink-3); text-align:center; }
.pd-admin-row-actions { display:inline-flex; flex-wrap:nowrap; align-items:center; justify-content:flex-end; gap:.375rem; }
.pd-admin-row-actions .pd-button { min-height:2.125rem; padding:.5rem .75rem; }
@media (max-width:52rem) { .pd-admin-row-actions { flex-wrap:wrap; } }
.pd-admin-row-actions form { display:inline; margin:0; }
.pd-admin-details { display:grid; grid-template-columns:minmax(6rem,auto) minmax(0,1fr); gap:.625rem 1rem; margin:0; }
.pd-admin-details dt { color:var(--pd-color-ink-3); font-size:.8125rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.pd-admin-details dd { margin:0; color:var(--pd-color-ink); font-weight:600; overflow-wrap:anywhere; }
.pd-admin-mono { font-family:var(--pd-font-mono); font-size:.875rem; }
.pd-admin-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.375rem; padding:1rem 1.25rem; border-top:1px solid var(--pd-color-border-row); background:var(--pd-color-subtle); }
.pd-admin-pagination a, .pd-admin-pagination span { display:inline-flex; min-width:2.25rem; align-items:center; justify-content:center; padding:.4375rem .625rem; border:1px solid var(--pd-color-border); border-radius:var(--pd-radius-tag); color:var(--pd-color-ink-2); background:#fff; font-size:.875rem; font-weight:700; text-decoration:none; }
.pd-admin-pagination a:hover { border-color:var(--pd-color-accent); color:var(--pd-color-accent-text); }
.pd-admin-pagination .is-current { color:#fff; border-color:var(--pd-color-ink); background:var(--pd-color-ink); }
.pd-admin-pagination .is-disabled { color:var(--pd-color-ink-4); background:var(--pd-color-disabled); }
.pd-reports-pagination { display:flex; align-items:center; justify-content:center; gap:.75rem; margin:1.5rem 0 .5rem; }
.pd-reports-pagination__pages { display:flex; align-items:center; gap:.375rem; }
.pd-reports-pagination__button { display:inline-flex; min-width:2.5rem; min-height:2.5rem; align-items:center; justify-content:center; padding:.5rem .75rem; border:1px solid var(--pd-color-border); border-radius:var(--pd-radius-control); color:var(--pd-color-ink-2); background:#fff; font-size:.875rem; font-weight:700; text-decoration:none; transition:background-color 140ms ease,border-color 140ms ease,color 140ms ease; }
.pd-reports-pagination__button:is(a):hover { border-color:var(--pd-color-accent); color:var(--pd-color-accent-text); background:var(--pd-color-tint); }
.pd-reports-pagination__button.is-current { color:#fff; border-color:var(--pd-color-ink); background:var(--pd-color-ink); }
.pd-reports-pagination__button.is-disabled { color:var(--pd-color-ink-4); background:var(--pd-color-disabled); }
.pd-reports-pagination__ellipsis { color:var(--pd-color-ink-3); }
@media (max-width: 40rem) {
  .pd-reports-pagination { gap:.375rem; }
  .pd-reports-pagination__button { min-width:2.25rem; min-height:2.25rem; padding:.375rem .5rem; }
}
.pd-admin-check-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr)); gap:.75rem; }
.pd-admin-check { display:flex; align-items:flex-start; gap:.625rem; padding:.875rem 1rem; }
.pd-admin-check input { margin-top:.1875rem; width:1rem; height:1rem; accent-color:var(--pd-color-accent-strong); }
.pd-admin-check span { display:block; color:var(--pd-color-ink); font-weight:700; line-height:1.3; }
.pd-admin-check small { display:block; margin-top:.125rem; color:var(--pd-color-ink-3); font-size:.8125rem; font-weight:500; overflow-wrap:anywhere; }
.pd-admin-fieldset { margin:0 0 1.75rem; border:0; padding:0; }
.pd-admin-fieldset legend { margin-bottom:.25rem; padding:0; color:var(--pd-color-ink); font-size:1.0625rem; font-weight:800; }
.pd-admin-fieldset > p { margin:0 0 .875rem; }
.pd-admin-form-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.pd-admin-form-actions input[type="submit"] { cursor:pointer; }
@media (max-width:64rem) { .pd-admin-grid { grid-template-columns:1fr; } }
@media (max-width:40rem) { .pd-admin-header { align-items:stretch; flex-direction:column; } .pd-admin-table th, .pd-admin-table td { padding:.75rem .875rem; } }

/* Header admin menu: a details/summary dropdown in the app header. */
.pd-admin-menu { position:relative; }
.pd-admin-menu > summary { display:inline-flex; align-items:center; gap:.375rem; list-style:none; cursor:pointer; }
.pd-admin-menu > summary::-webkit-details-marker { display:none; }
.pd-admin-menu__caret { font-size:.625rem; line-height:1; }
.pd-admin-menu[open] > summary { border-color:var(--pd-color-accent); color:var(--pd-color-accent-text); }
.pd-admin-menu__panel { position:absolute; z-index:50; top:calc(100% + .5rem); right:0; display:flex; flex-direction:column; min-width:12rem; padding:.375rem; border:1px solid var(--pd-color-border); border-radius:var(--pd-radius-control); background:var(--pd-color-surface); box-shadow:var(--pd-shadow-card); }
.pd-admin-menu__item { padding:.5rem .625rem; border-radius:var(--pd-radius-tag); color:var(--pd-color-ink-2); font-size:.875rem; font-weight:600; text-decoration:none; }
.pd-admin-menu__item:hover { color:var(--pd-color-ink); background:var(--pd-color-tint); text-decoration:none; }
.pd-admin-menu__item[aria-current="page"] { color:var(--pd-color-accent-text); background:var(--pd-color-accent-soft); }

/* Admin list filters. */
.pd-admin-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.75rem; margin-bottom:1.25rem; padding:1rem 1.25rem; border:1px solid var(--pd-color-border); border-radius:var(--pd-radius-card); background:var(--pd-color-surface); }
.pd-admin-filters__field { display:flex; min-width:0; flex:1 1 18rem; flex-direction:column; gap:.3125rem; }
.pd-admin-filters__field--narrow { flex:0 1 12rem; }
.pd-admin-filters__field label { color:var(--pd-color-ink-3); font-size:.75rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.pd-admin-filters__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.pd-admin-filters__actions input[type="submit"] { cursor:pointer; }
.pd-admin-filters__actions .pd-button { min-height:2.625rem; }
.pd-field--compact { min-height:2.625rem; padding:.5625rem .75rem; font-size:.9375rem; }
select.pd-field--compact { appearance:auto; }
.pd-field--compact:focus { border-color:var(--pd-color-accent); box-shadow:var(--pd-focus-ring); outline:0; }

/* Admin record actions and inline audit forms. */
.pd-button--danger { color:var(--pd-color-error-text); border-color:var(--pd-color-border); background:var(--pd-color-surface); }
.pd-button--danger:hover { color:#fff; border-color:var(--pd-color-error); background:var(--pd-color-error); }
.pd-admin-actions { display:flex; flex-direction:column; align-items:flex-start; gap:.625rem; margin-top:1.25rem; }
.pd-admin-actions form { margin:0; }
.pd-admin-inline-form { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; width:100%; max-width:34rem; }
.pd-admin-inline-form .pd-field { width:auto; flex:1 1 14rem; }
.pd-admin-form-grid { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.75rem; margin-top:.75rem; }
.pd-admin-subheading { margin:1.75rem 0 0; font-size:1rem; }
.pd-admin-table td .pd-pill + .pd-pill { margin-left:.375rem; }
.pd-admin-pagination .is-gap { border-color:transparent; background:transparent; }

/* Admin list extras: tone-coded cells, clickable rows, record links. */
.pd-pill--warning { color:#8a4b12; background:var(--pd-color-accent-soft); }
.pd-pill--danger { color:#fff; background:var(--pd-color-error); }
.pd-admin-tone--danger .pd-admin-table__primary, .pd-admin-table td.pd-admin-tone--danger, .pd-admin-details dd.pd-admin-tone--danger, .pd-admin-tone--danger { color:var(--pd-color-error-text); }
.pd-admin-tone--warning .pd-admin-table__primary, .pd-admin-table td.pd-admin-tone--warning, .pd-admin-details dd.pd-admin-tone--warning, .pd-admin-tone--warning { color:var(--pd-color-accent-text); }
.pd-admin-tone--danger .pd-admin-table__sub, .pd-admin-tone--warning .pd-admin-table__sub { color:inherit; opacity:.85; }
.pd-admin-tone--muted, .pd-admin-tone--muted .pd-admin-table__primary { color:var(--pd-color-ink-4); }
.pd-admin-table__muted { color:var(--pd-color-ink-4); }
.pd-admin-table__tags { display:inline-flex; flex-wrap:wrap; gap:.25rem; margin-top:.3125rem; }
.pd-admin-table td a.pd-admin-table__primary:not(.pd-button) { color:var(--pd-color-ink); text-decoration:none; }
.pd-admin-table--linked tbody tr { cursor:pointer; }
.pd-admin-table--linked tbody tr:hover td a.pd-admin-table__primary:not(.pd-button) { color:var(--pd-color-accent-text); text-decoration:underline; }
.pd-admin-table--linked tbody tr:focus-within td { background:var(--pd-color-tint); }
.pd-admin-link-row { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.pd-admin-link-row__missing { color:var(--pd-color-ink-4); font-size:.8125rem; font-weight:600; }
.pd-admin-details dd .pd-admin-table__sub { display:block; margin-top:.125rem; font-weight:500; }
.pd-admin-details dd a { color:var(--pd-color-accent-text); text-decoration:underline; }
.pd-admin-details dd a:hover { color:var(--pd-color-accent-strong); }

/* Email anatomy pages (report_sections#email_layout, #competitor_anatomy): block families share one colour each */
.pd-anat-fam--chrome { background:#b9afa3; color:#2a2320; }
.pd-anat-fam--hero { background:#e07b39; color:#fff; }
.pd-anat-fam--products { background:#b5304f; color:#fff; }
.pd-anat-fam--copy { background:#4e8a5e; color:#fff; }
.pd-anat-fam--offers { background:#e5b13a; color:#2a2320; }
.pd-anat-fam--cards { background:#6e5ba8; color:#fff; }
.pd-anat-fam--footer { background:#7a6f64; color:#fff; }
.pd-anat-lede { margin:0; color:var(--pd-color-ink-2); font-size:.9375rem; }
.pd-anat-note { margin:0; color:var(--pd-color-ink-3); font-size:.8125rem; }
.pd-anat-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.pd-anat-chip { display:inline-flex; align-items:center; gap:.5rem; padding:.5rem .75rem; border:1px solid var(--pd-color-border); border-radius:.625rem; background:var(--pd-color-surface); color:var(--pd-color-ink); font:inherit; font-size:.8125rem; font-weight:600; cursor:pointer; }
.pd-anat-chip i { width:.625rem; height:.625rem; border-radius:.1875rem; display:inline-block; }
.pd-anat-chip:hover { border-color:var(--pd-color-ink-3); }
.pd-anat-chip.is-active { border-color:var(--pd-color-ink); background:var(--pd-color-ink); color:var(--pd-color-surface); }
.pd-anat-chip:focus-visible { box-shadow:var(--pd-focus-ring); outline:0; }

/* latest email from each brand: one scale, the longest --latest-h tall */
.pd-anat-brands { --latest-h:37.5rem; position:relative; display:grid; grid-template-columns:repeat(var(--brands), minmax(0, 1fr)); gap:.875rem; padding-right:4rem; min-width:0; }
/* The dashes stop at the brands, so the label sits beside the line in the gutter instead of under it. */
.pd-anat-fold { position:absolute; left:0; right:4rem; top:calc(var(--fold) * var(--latest-h)); border-top:1.5px dashed var(--pd-color-ink-2); pointer-events:none; z-index:1; }
.pd-anat-fold span { position:absolute; left:100%; top:0; transform:translateY(-50%); margin-left:.5rem; width:3.25rem; font-size:.6875rem; font-weight:700; line-height:1.2; color:var(--pd-color-ink-2); }
.pd-anat-brand { display:grid; align-content:start; justify-items:stretch; gap:.375rem; min-width:0; text-align:center; }
.pd-anat-strip { height:calc(var(--scale) * var(--latest-h)); min-height:1.5rem; display:flex; flex-direction:column; border-radius:.375rem; overflow:hidden; background:var(--pd-color-muted); }
.pd-anat-strip.is-empty { opacity:.4; }
.pd-anat-brand.is-you .pd-anat-strip { outline:2px solid var(--pd-color-ink); outline-offset:2px; }
.pd-anat-seg { position:relative; display:flex; align-items:center; justify-content:space-between; gap:.375rem; min-height:1px; padding:0 .625rem; overflow:hidden; border-bottom:1px solid #fff; font-size:.75rem; font-weight:600; white-space:nowrap; transition:opacity .15s; }
.pd-anat-strip .pd-anat-seg { justify-content:center; padding:0 .125rem; font-variant-numeric:tabular-nums; }
.pd-anat-seg.is-dim { opacity:.14; }
.pd-anat-seg > span:last-child { font-variant-numeric:tabular-nums; }
.pd-anat-brand__name { font-size:.75rem; font-weight:600; color:var(--pd-color-ink); overflow-wrap:anywhere; line-height:1.25; margin-top:.25rem; }
.pd-anat-brand.is-you .pd-anat-brand__name { font-weight:800; }
.pd-anat-brand small { font-size:.6875rem; color:var(--pd-color-ink-3); line-height:1.3; }

/* you vs the typical competitor, and a competitor's page */
.pd-anat-typical, .pd-anat-versus { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.4fr); gap:1.5rem; align-items:start; }
.pd-anat-stack { display:grid; gap:.625rem; min-width:0; }
.pd-anat-stack__head { display:grid; gap:.125rem; }
.pd-anat-stack__head strong { font-size:.9375rem; color:var(--pd-color-ink); overflow-wrap:anywhere; }
.pd-anat-stack__head small { font-size:.75rem; color:var(--pd-color-ink-3); }
.pd-anat-stack__bar { position:relative; height:35rem; display:flex; flex-direction:column; border-radius:.5rem; overflow:hidden; background:var(--pd-color-muted); }
.pd-anat-stack__bar.is-versus { height:40rem; }
.pd-anat-stack__bar.is-empty { opacity:.4; }
.pd-anat-stack.is-you .pd-anat-stack__bar { outline:2px solid var(--pd-color-ink); outline-offset:2px; }
.pd-anat-stack__fold { position:absolute; left:0; right:0; border-top:1.5px dashed #fff; pointer-events:none; }
.pd-anat-stack__fold span { position:absolute; right:.375rem; top:.125rem; padding:0 .25rem; border-radius:.25rem; background:rgb(42 35 32 / 70%); color:#fff; font-size:.625rem; font-weight:700; }
.pd-anat-differ { display:grid; gap:.875rem; min-width:0; }
.pd-anat-differ h3 { margin:0; font-size:.9375rem; font-weight:700; color:var(--pd-color-ink); }
.pd-anat-differ__note { margin-top:-.625rem; font-size:.75rem; color:var(--pd-color-ink-3); }
.pd-anat-differ__row { display:grid; gap:.25rem; padding-top:.75rem; border-top:1px solid var(--pd-color-border-row); }
.pd-anat-differ__row p { display:flex; align-items:center; gap:.5rem; margin:0; font-size:.875rem; font-weight:600; color:var(--pd-color-ink); }
.pd-anat-differ__row i { width:.625rem; height:.625rem; border-radius:.1875rem; flex-shrink:0; }
.pd-anat-differ__row small { padding-left:1.125rem; font-size:.8125rem; color:var(--pd-color-ink-3); font-variant-numeric:tabular-nums; }
.pd-anat-minis { display:grid; grid-template-columns:repeat(auto-fill, minmax(7rem, 1fr)); gap:1.25rem .875rem; min-width:0; }
.pd-anat-mini { display:grid; justify-items:center; align-content:start; gap:.3125rem; text-align:center; min-width:0; font-size:.75rem; color:var(--pd-color-ink-3); }
.pd-anat-mini small { font-weight:600; color:var(--pd-color-ink-2); }
.pd-anat-mini span { overflow-wrap:anywhere; line-height:1.3; }
.pd-anat-mini__strip { width:3rem; height:10rem; display:flex; flex-direction:column; border-radius:.3125rem; overflow:hidden; background:var(--pd-color-muted); }
.pd-anat-mini__strip i { display:block; min-height:1px; border-bottom:1px solid #fff; }
@media (max-width: 760px) {
  .pd-anat-typical, .pd-anat-versus { grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); }
  .pd-anat-differ { grid-column:1 / -1; }
  .pd-anat-stack__bar { height:26rem; }
  .pd-anat-stack__bar.is-versus { height:30rem; }
}
@media (max-width: 640px) {
  .pd-anat-brands { --latest-h:22rem; gap:.375rem; padding-right:2.75rem; }
  .pd-anat-fold { right:2.75rem; }
  .pd-anat-fold span { margin-left:.25rem; width:2.5rem; font-size:.5625rem; }
  .pd-anat-brand__name { font-size:.625rem; }
  .pd-anat-brand small { font-size:.5625rem; }
  .pd-anat-strip .pd-anat-seg { font-size:.5625rem; }
  .pd-anat-seg { padding:0 .375rem; font-size:.6875rem; }
}

/* Admin Report status page (report_sections/status) */
.pd-sync-summary { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin:0 0 1.25rem; }
.pd-sync-summary__all { margin:0 0 0 auto; }
.pd-sync-pill { padding:.1875rem .5625rem; border-radius:999px; background:var(--pd-color-muted); color:var(--pd-color-ink-2); font-size:.6875rem; font-weight:700; white-space:nowrap; }
.pd-sync-pill.is-synced { background:var(--pd-color-success-soft); color:var(--pd-color-success-text); }
.pd-sync-pill.is-syncing { background:var(--pd-color-tint-strong); color:var(--pd-color-accent-text); }
.pd-sync-pill.is-stale { background:var(--pd-color-accent-soft); color:var(--pd-color-accent-text); }
.pd-sync-pill.is-missing, .pd-sync-pill.is-failed { background:var(--pd-color-error); color:#fff; }
.pd-sync-row { display:grid; grid-template-columns:minmax(9rem,13rem) minmax(0,1fr) auto; align-items:center; gap:.5rem 1rem; padding:.75rem clamp(.875rem,2.5vw,1.375rem); border-top:1px solid var(--pd-color-border-row); }
.pd-sync-row:first-child { border-top:0; }
.pd-sync-row.is-missing, .pd-sync-row.is-failed, .pd-sync-row.is-stale { background:var(--pd-color-tint); }
.pd-sync-row__what { display:flex; flex-wrap:wrap; align-items:center; gap:.375rem .5rem; }
.pd-sync-row__what strong { font-size:.9375rem; }
.pd-sync-row__detail { min-width:0; font-size:.875rem; overflow-wrap:anywhere; }
.pd-sync-row__detail small { display:block; margin-top:.1875rem; color:var(--pd-color-ink-3); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pd-sync-row__form { margin:0; }
.pd-sync-row__busy { display:inline-flex; align-items:center; gap:.375rem; color:var(--pd-color-ink-3); font-size:.8125rem; font-weight:700; }
.pd-sync-spinner { flex:none; width:.875rem; height:.875rem; border:2px solid var(--pd-color-border); border-top-color:var(--pd-color-accent); border-radius:50%; animation:pd-sync-spin .8s linear infinite; }
@keyframes pd-sync-spin { to { transform:rotate(360deg); } }
@media (max-width: 640px) { .pd-sync-row { grid-template-columns:minmax(0,1fr) auto; } .pd-sync-row__detail { grid-column:1 / -1; grid-row:2; } }

/* Admin list: the report's favicon beside its name. */
.pd-admin-brand { display:flex; align-items:flex-start; gap:.625rem; }
.pd-admin-mark { display:grid; width:2rem; height:2rem; flex:0 0 2rem; place-items:center; overflow:hidden; border:1px solid var(--pd-color-border); border-radius:.5rem; background:var(--pd-color-subtle); }
.pd-admin-mark img { width:1.25rem; height:1.25rem; object-fit:contain; }
.pd-admin-mark span { color:var(--pd-color-ink-3); font-size:.8125rem; font-weight:800; }
