@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;500;600;700;800;900&display=swap");

/* DVR.COM CANONICAL THEME
 * This is the one live palette, typography and shared-component source.
 * Values originate in the approved homepage; the three structural trim
 * values are the exact measured Professional Optimizer references.
 */
:root {
  color-scheme: dark;

  --dvr-page: #07111d;
  --dvr-header: #0a1420;
  --dvr-surface: #0e1b2a;
  --dvr-surface-raised: #122338;
  --dvr-field: #0b1725;
  --dvr-panel: linear-gradient(180deg, #122338 0%, #0e1b2a 100%);

  --dvr-trim-panel: rgba(255, 255, 255, .10);
  --dvr-trim-control: rgba(255, 255, 255, .20);
  --dvr-trim-field: rgba(255, 255, 255, .24);
  --dvr-trim-active: #55a8f5;
  --dvr-divider: rgba(255, 255, 255, .10);
  --dvr-focus-ring: rgba(85, 168, 245, .35);

  --dvr-primary: #55a8f5;
  --dvr-primary-hover: #75baff;
  --dvr-secondary: #a8b6c8;
  --dvr-text: #f5f8fc;
  --dvr-text-secondary: #c5d0df;
  --dvr-text-muted: #a8b6c8;
  --dvr-text-faint: #7f8da1;
  --dvr-accent: #f4b91f;
  --dvr-success: #18ae4b;
  --dvr-success-hover: #20c45a;
  --dvr-warning: #f4b91f;
  --dvr-error: #ff626b;
  --dvr-primary-wash: rgba(85, 168, 245, .12);
  --dvr-success-wash: rgba(24, 174, 75, .16);
  --dvr-error-wash: rgba(255, 98, 107, .12);

  --font-reading: "Inter", sans-serif;
  --font-ui: "Inter", sans-serif;
  --font-display: "Bebas Neue", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  --type-heading-size: clamp(2rem, 5vw, 3.25rem);
  --type-heading-weight: 700;
  --type-heading-line: 1.2;
  --type-body-size: .96875rem;
  --type-body-weight: 400;
  --type-body-line: 1.55;
  --type-label-size: .96875rem;
  --type-label-weight: 700;
  --type-helper-size: .88rem;
  --type-helper-line: 1.55;
  --type-input-size: 1rem;
  --type-input-line: 1.5;
  --type-button-size: .875rem;
  --type-button-weight: 650;
  --type-button-line: 1.55;

  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --dvr-radius-sm: .625rem;
  --dvr-radius: .875rem;
  --dvr-radius-lg: 1rem;
  --dvr-radius-pill: 999px;
  --dvr-shadow-panel: 0 18px 45px rgba(0, 0, 0, .30);
  --dvr-shadow-focus: 0 0 0 3px var(--dvr-focus-ring);
  --dvr-ease: 140ms ease;
  --dvr-tap: 2.75rem;
  --dvr-maxw: 95rem;
  --dvr-gutter: 1.25rem;
  --breakpoint-phone: 22.5rem;
  --breakpoint-phone-wide: 24.375rem;
  --breakpoint-tablet: 48rem;
  --breakpoint-shell: 56.25rem;

  --brand-mark-desktop-size: 3.125rem;
  --brand-mark-mobile-size: 1.25rem;
  --brand-mark-weight: 800;
  --brand-mark-tracking: .125rem;
  --brand-line-desktop-size: .875rem;
  --brand-line-mobile-size: .390625rem;
  --brand-line-desktop-width: 15.875rem;

  /* Compatibility aliases consumed by existing product layout rules. */
  --dvr-bg: var(--dvr-page);
  --dvr-card: var(--dvr-surface-raised);
  --dvr-card-hover: #182c43;
  --dvr-inset: var(--dvr-field);
  --dvr-border: var(--dvr-trim-panel);
  --dvr-border-strong: var(--dvr-trim-control);
  --dvr-border-selected: var(--dvr-primary);
  --dvr-blue: var(--dvr-primary);
  --dvr-blue-hover: var(--dvr-primary-hover);
  --dvr-blue-soft: var(--dvr-primary);
  --dvr-blue-wash: var(--dvr-primary-wash);
  --dvr-blue-glow: var(--dvr-focus-ring);
  --dvr-green: var(--dvr-success);
  --dvr-green-hover: var(--dvr-success-hover);
  --dvr-green-soft: #76dc98;
  --dvr-green-wash: var(--dvr-success-wash);
  --dvr-gold: var(--dvr-accent);
  --dvr-amber-soft: var(--dvr-warning);
  --dvr-red-soft: var(--dvr-error);
  --dvr-white: var(--dvr-text);
  --dvr-text-2: var(--dvr-text-secondary);
  --dvr-muted: var(--dvr-text-muted);
  --dvr-faint: var(--dvr-text-faint);
  --dvr-font: var(--font-reading);
  --dvr-claire-panel: var(--dvr-panel);
  --dvr-pro-trim-panel: var(--dvr-trim-panel);
  --dvr-pro-trim-control: var(--dvr-trim-control);
  --dvr-pro-trim-field: var(--dvr-trim-field);
  --dvr-trim-subtle: var(--dvr-trim-panel);
  --dvr-trim-default: var(--dvr-trim-control);
  --dvr-trim-strong: var(--dvr-trim-field);
  --dvr-danger: var(--dvr-error);
  --fs-card-title: 1.15rem;
  --fs-card-meta: .90625rem;
  --fs-secondary: .78125rem;
  --fs-detail-title: 1.6875rem;
  --fs-body: var(--type-body-size);
}

body.dvr-shell-page {
  margin: 0;
  min-height: 100vh;
  background: var(--dvr-page);
  color: var(--dvr-white);
  font-family: var(--dvr-font);
  font-size: var(--type-body-size);
  font-weight: var(--type-body-weight);
  line-height: var(--type-body-line);
}

/* Reusable component contract. Product selectors may position or size these
   controls, but their shared visual treatment comes from this file. */
.dvr-panel,
.dvr-card {
  border: 1px solid var(--dvr-trim-panel);
  border-radius: var(--dvr-radius);
  background: var(--dvr-panel);
  box-shadow: var(--dvr-shadow-panel);
  color: var(--dvr-text);
}

.dvr-field,
body.dvr-shell-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.dvr-shell-page select,
body.dvr-shell-page textarea {
  border-color: var(--dvr-trim-field);
  border-radius: var(--dvr-radius-sm);
  background-color: var(--dvr-field);
  color: var(--dvr-text);
  font-family: var(--font-reading);
  font-size: var(--type-input-size);
  line-height: var(--type-input-line);
}

body.dvr-shell-page label,
.dvr-label {
  color: var(--dvr-text-secondary);
  font-family: var(--font-ui);
  font-size: var(--type-label-size);
  font-weight: var(--type-label-weight);
}

.dvr-helper {
  color: var(--dvr-text-muted);
  font-size: var(--type-helper-size);
  line-height: var(--type-helper-line);
}

.dvr-button,
body.dvr-shell-page button,
body.dvr-shell-page .btn {
  font-family: var(--font-ui);
  font-size: var(--type-button-size);
  font-weight: var(--type-button-weight);
  line-height: var(--type-button-line);
}

.dvr-button {
  min-height: var(--dvr-tap);
  padding: 0 var(--space-5);
  border: 1px solid var(--dvr-trim-control);
  border-radius: var(--dvr-radius-sm);
  background: transparent;
  color: var(--dvr-text);
}
.dvr-button--primary { border-color: var(--dvr-primary); background: var(--dvr-primary); }
.dvr-button--success { border-color: var(--dvr-success); background: var(--dvr-success); }

body.dvr-shell-page :is(input, select, textarea, button, a):focus-visible {
  outline: 2px solid var(--dvr-primary);
  outline-offset: 2px;
}

.dvr-shell *, .dvr-footer * { box-sizing: border-box; }
.dvr-shell a, .dvr-footer a { overflow-wrap: normal; }
.dvr-shell button, .dvr-footer button { font: inherit; }
.dvr-shell nav { position: static; inset: auto; padding: 0; border: 0; background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }

.dvr-shell {
  position: sticky;
  top: 0;
  z-index: 1200;
  width: 100%;
  background: rgba(16, 23, 32, .98);
  border-bottom: 1px solid var(--dvr-border);
  color: var(--dvr-white);
  font-family: var(--dvr-font);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.dvr-shell__bar {
  max-width: var(--dvr-maxw);
  min-height: 4.75rem;
  margin: 0 auto;
  padding: 0 var(--dvr-gutter);
  display: flex;
  align-items: stretch;
  gap: 2rem;
}
.dvr-shell__brand {
  flex: none;
  min-height: 2.75rem;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  color: #fff !important;
  text-decoration: none !important;
  white-space: nowrap;
}
.dvr-shell__brand-mark {
  display: block;
  font-size: 1.5625rem;
  font-weight: 800;
  letter-spacing: -.015em;
  line-height: 1.05;
}
.dvr-shell__brand-dot { color: #55a8f5; }
.dvr-shell__brandline {
  display: block;
  margin-top: .24rem;
  color: #a8b6c8;
  font-size: .59375rem;
  font-weight: 700;
  letter-spacing: .17em;
  line-height: 1.2;
  text-transform: uppercase;
}
.dvr-shell__brandline i { color: #55a8f5; font-style: normal; }
.dvr-shell__primary {
  display: flex;
  align-items: stretch;
  gap: .2rem;
}
.dvr-shell__link, .dvr-shell__trigger {
  min-height: 2.75rem;
  padding: 0 .85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .38rem;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: var(--dvr-text-2) !important;
  cursor: pointer;
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .065em;
  line-height: 1;
  text-decoration: none !important;
  text-transform: uppercase;
  white-space: nowrap;
}
.dvr-shell__link:hover, .dvr-shell__trigger:hover { color: #fff !important; }
.dvr-shell__link[aria-current="page"],
.dvr-shell__group.is-active > .dvr-shell__trigger {
  color: var(--dvr-blue-soft) !important;
  border-bottom-color: var(--dvr-blue);
}
.dvr-shell__group, .dvr-shell__account { position: relative; display: flex; }
.dvr-shell__group > summary, .dvr-shell__account > summary { list-style: none; }
/* Firefox lays out <details> contents as a block (its flex display is ignored), so the trigger would sit
   at the top of the stretched group; fill the group so Optimize centres like its neighbours. */
.dvr-shell__group > summary { height: 100%; }
.dvr-shell__group > summary::-webkit-details-marker,
.dvr-shell__account > summary::-webkit-details-marker { display: none; }
.dvr-shell__chevron { font-size: .72rem; transition: transform 140ms ease; }
.dvr-shell details[open] > summary .dvr-shell__chevron { transform: rotate(180deg); }
.dvr-shell__menu {
  position: absolute;
  top: calc(100% - .5rem);
  left: .25rem;
  z-index: 4;
  width: max-content;
  min-width: 13.5rem;
  padding: .45rem;
  border: 1px solid var(--dvr-border-strong);
  border-radius: var(--dvr-radius-sm);
  background: #111a24;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .38);
}
.dvr-shell__menu a, .dvr-shell__menu button {
  width: 100%;
  min-height: 2.75rem;
  padding: .65rem .8rem;
  display: flex;
  align-items: center;
  border: 0;
  border-radius: .45rem;
  background: transparent;
  color: var(--dvr-text-2) !important;
  cursor: pointer;
  font-size: .875rem;
  font-weight: 650;
  text-align: left;
  text-decoration: none !important;
}
.dvr-shell__menu a:hover, .dvr-shell__menu button:hover { background: var(--dvr-card-hover); color: #fff !important; }
.dvr-shell__menu a[aria-current="page"] { color: var(--dvr-blue-soft) !important; background: var(--dvr-blue-wash); }
.dvr-shell__actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: .55rem;
}
.dvr-shell__action {
  min-height: 2.65rem;
  padding: 0 .9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--dvr-border-strong);
  border-radius: var(--dvr-radius-sm);
  color: var(--dvr-text-2) !important;
  font-size: .78125rem;
  font-weight: 750;
  letter-spacing: .055em;
  text-decoration: none !important;
  text-transform: uppercase;
  white-space: nowrap;
}
.dvr-shell__action:hover { border-color: var(--dvr-blue-soft); color: #fff !important; }
.dvr-shell__action--primary { background: var(--dvr-green); border-color: var(--dvr-green); color: #fff !important; }
.dvr-shell__action--primary:hover { background: var(--dvr-green-hover); border-color: var(--dvr-green-hover); }
.dvr-shell__avatar {
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--dvr-border-strong);
  border-radius: 50%;
  background: var(--dvr-card);
  color: var(--dvr-blue-soft);
  cursor: pointer;
  font-size: .83rem;
  font-weight: 800;
}
.dvr-shell__account .dvr-shell__menu { left: auto; right: 0; }
.dvr-shell__account-label {
  padding: .35rem .8rem .55rem;
  color: var(--dvr-muted);
  font-size: .75rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dvr-shell__account form { margin: 0; }
.dvr-shell__mobile-toggle { display: none; }
.dvr-shell__mobile { display: none; }

.dvr-footer {
  margin-top: 4rem;
  padding: 0;
  border-top: 1px solid var(--dvr-border);
  background: #0c131c;
  color: var(--dvr-text-2);
  font-family: var(--dvr-font);
  text-align: left;
}
.dvr-footer__inner { max-width: var(--dvr-maxw); margin: 0 auto; padding: 2.5rem var(--dvr-gutter) 1.5rem; }
.dvr-footer__grid { display: grid; grid-template-columns: minmax(16rem, 1.5fr) minmax(12rem, 1fr); gap: 2.5rem; }
.dvr-footer__brand-lockup { align-self: start; width: max-content; max-width: 100%; }
.dvr-footer__promise {
  margin: .8rem 0 0;
  color: var(--dvr-white);
  font-size: clamp(.8rem, 1.2vw, .92rem);
  font-weight: 800;
  letter-spacing: .07em;
  line-height: 1.25;
  text-transform: uppercase;
}
.dvr-footer__promise span { display: block; width: max-content; max-width: 100%; white-space: nowrap; }
.dvr-footer__promise-stop { color: var(--dvr-white); }
.dvr-footer__promise-connect { margin-top: .18rem; color: #ffc72c; }
.dvr-footer details { min-width: 0; }
.dvr-footer summary { list-style: none; color: var(--dvr-white); font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.dvr-footer summary::-webkit-details-marker { display: none; }
.dvr-footer__links { margin-top: .8rem; display: grid; gap: .6rem; }
.dvr-footer__links a { color: var(--dvr-muted) !important; font-size: .875rem; text-decoration: none !important; }
.dvr-footer__links a:hover { color: var(--dvr-white) !important; }
.dvr-footer__bottom { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--dvr-border); color: var(--dvr-muted); font-size: .78rem; }
.dvr-footer__bottom p { margin: 0; }
.dvr-footer__disclaimer { margin-top: .55rem !important; max-width: 58rem; }

@media (max-width: 70rem) {
  .dvr-shell__bar { gap: .75rem; }
  .dvr-shell__link, .dvr-shell__trigger { padding-inline: .55rem; font-size: .74rem; }
  .dvr-shell__action { padding-inline: .65rem; }
}

@media (max-width: 56.25rem) {
  body.dvr-menu-open { overflow: hidden; }
  body.dvr-menu-open::before { content: ""; position: fixed; inset: 0; z-index: 1199; background: rgba(2, 8, 23, .72); }
  /* Reading layouts may make the header static. An open drawer still needs
     a positioned stacking context above the shared fixed backdrop. */
  .dvr-shell[data-dvr-shell="header"].is-open { position: relative; z-index: 1200; }
  .dvr-shell__bar { min-height: 3.5rem; padding-inline: .875rem; align-items: center; gap: .75rem; }
  .dvr-shell__brand { min-height: 2.5rem; }
  .dvr-shell__brand-mark { font-size: 1.25rem; }
  .dvr-shell__brandline { margin-top: .16rem; font-size: .625rem; letter-spacing: .08em; }
  .dvr-shell__primary, .dvr-shell__actions { display: none; }
  .dvr-shell__mobile-toggle {
    margin-left: auto;
    width: 2.75rem;
    height: 2.75rem;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .25rem;
    border: 1px solid var(--dvr-border-strong);
    border-radius: var(--dvr-radius-sm);
    background: transparent;
    color: var(--dvr-white);
    cursor: pointer;
  }
  .dvr-shell__mobile-toggle span { width: 1rem; height: 2px; background: currentColor; transition: transform 140ms ease, opacity 140ms ease; }
  .dvr-shell.is-open .dvr-shell__mobile-toggle span:nth-child(1) { transform: translateY(.35rem) rotate(45deg); }
  .dvr-shell.is-open .dvr-shell__mobile-toggle span:nth-child(2) { opacity: 0; }
  .dvr-shell.is-open .dvr-shell__mobile-toggle span:nth-child(3) { transform: translateY(-.35rem) rotate(-45deg); }
  .dvr-shell.is-open .dvr-shell__mobile {
    max-height: calc(100dvh - 3.5rem);
    display: block;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-top: 1px solid var(--dvr-border);
    background: #0e161f;
  }
  .dvr-shell__mobile-inner { padding: .4rem .875rem 1rem; }
  .dvr-shell__mobile-title { margin: .55rem .75rem .25rem; color: var(--dvr-muted); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
  .dvr-shell__mobile-link, .dvr-shell__mobile button {
    width: 100%;
    min-height: 2.75rem;
    padding: .55rem .75rem;
    display: flex;
    align-items: center;
    border: 0;
    border-left: 3px solid transparent;
    border-radius: .35rem;
    background: transparent;
    color: var(--dvr-text-2) !important;
    font-size: .9rem;
    font-weight: 700;
    text-align: left;
    text-decoration: none !important;
  }
  .dvr-shell__mobile-link[aria-current="page"] { border-left-color: var(--dvr-blue); background: var(--dvr-blue-wash); color: var(--dvr-blue-soft) !important; }
  .dvr-shell__mobile-link:hover { background: var(--dvr-card-hover); color: #fff !important; }
  .dvr-shell__mobile-rule { margin: .75rem 0; border: 0; border-top: 1px solid var(--dvr-border); }
  .dvr-shell__mobile-cta { margin-top: .4rem; justify-content: center; background: var(--dvr-green) !important; color: #fff !important; border-left: 0 !important; }
  .dvr-footer__inner { padding-top: 2rem; }
  .dvr-footer__grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .dvr-footer details { border-top: 1px solid var(--dvr-border); }
  .dvr-footer summary { min-height: 3rem; display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
  .dvr-footer summary::after { content: "+"; color: var(--dvr-blue-soft); font-size: 1.2rem; }
  .dvr-footer details[open] summary::after { content: "−"; }
  .dvr-footer__links { padding-bottom: .8rem; }
  .dvr-footer__links a { min-height: 2.75rem; display: flex; align-items: center; }
}

@media (max-width: 40rem) {
  /* The four Homebase destinations are one balanced 2 x 2 control. */
  .workbar .pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workbar .pill:nth-child(3) { border-left: 0; border-top: 1px solid var(--dvr-border-strong); }
  .workbar .pill:nth-child(4) { border-top: 1px solid var(--dvr-border-strong); }

  /* Full-width fields and a contained action row at phone widths. */
  .searchbar { padding: 0 !important; }
  .searchbar__inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: .75rem 1rem !important;
    border-radius: 0 !important;
  }
  .searchbar .searchrow {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(7.8rem, auto) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: .5rem !important;
  }
  .searchbar .field--grow { grid-column: 1 / -1; }
  .searchbar .field--select { grid-column: 1; }
  .searchbar .field,
  .searchbar .field__input {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .searchbar .field { min-height: 3rem !important; padding-inline: .75rem !important; }
  .searchbar #search-button {
    grid-column: 2;
    width: auto !important;
    min-width: 6.75rem;
    min-height: 3rem !important;
    padding-inline: .75rem;
  }
  .searchbar #search-button::after { font-size: .75rem; }
  .searchbar #clear-button {
    grid-column: 1 / -1;
    justify-self: end;
    width: auto !important;
    min-width: 2.75rem;
    min-height: 3rem !important;
    padding-inline: .5rem;
  }
  .searchbar .filterrow {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-top: .625rem;
    padding-top: .625rem;
  }
  .searchbar .pills {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-wrap: wrap !important;
    gap: .5rem !important;
    overflow: visible !important;
    contain: none !important;
  }
  .searchbar .pill {
    flex: 0 1 auto !important;
    max-width: 100%;
    min-height: 2.75rem;
    padding: .5rem .75rem;
    white-space: normal;
    line-height: 1.25;
  }
}

/* A phone held sideways gets its vertical space back as the page scrolls.
   Portrait and desktop retain the approved sticky-header behavior. */
@media (orientation: landscape) and (max-width: 56.25rem) and (max-height: 31.25rem) {
  body.dvr-application-page .dvr-shell {
    position: static;
    top: auto;
  }
  body.dvr-shell-page.dvr-pro-page .resume-preview-frame,
  body.dvr-shell-page.dvr-pro-page .resume-preview {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
  body.dvr-shell-page.dvr-pro-page .resume-preview-frame { overflow: visible !important; }
  body.dvr-shell-page.dvr-pro-page .resume-preview {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 1rem !important;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 24.375rem) {
  :root { --dvr-gutter: 1rem; }
  .dvr-shell__brandline { letter-spacing: .1em; }
}

@media (prefers-reduced-motion: reduce) {
  .dvr-shell *, .dvr-footer * { scroll-behavior: auto !important; transition: none !important; }
}

/* Private owner preview: the approved homepage two-level navy system.
   The class is applied only on the private review mount. Public,
   account and legal pages retain their existing rendering. */
html.dvr-private-theme {
  --dvr-theme-page: #07111d;
  --dvr-theme-panel: var(--dvr-claire-panel);
  --dvr-theme-field: #0b1725;
  --dvr-theme-reading-panel: linear-gradient(180deg, #122338 0%, #0e1b2a 100%);
}

html.dvr-private-theme body.dvr-shell-page:is(
  :has(.searchbar),
  :has(.qm-wrap),
  :has(.main-container),
  :has(.outreach-beta),
  :has(.workbar)
) {
  background-color: var(--dvr-theme-page);
  background-image: none;
}

/* Discovery reading and result surfaces. */
html.dvr-private-theme .workspace > .detail,
html.dvr-private-theme .workspace .jobcard,
html.dvr-private-theme .workspace .empty,
html.dvr-private-theme .workspace .skeleton {
  background: var(--dvr-theme-panel);
}
html.dvr-private-theme .workspace .jobcard {
  background: var(--dvr-theme-panel) !important;
}
html.dvr-private-theme .searchbar .field,
html.dvr-private-theme .workspace .detail textarea,
html.dvr-private-theme .workspace .detail input,
html.dvr-private-theme .workspace .detail select {
  background-color: var(--dvr-theme-field);
}

/* Quick Optimize work surface and inset entry controls. */
html.dvr-private-theme .qm-form {
  background: var(--dvr-theme-panel);
}
html.dvr-private-theme .qm-field input[type="text"],
html.dvr-private-theme .qm-field textarea,
html.dvr-private-theme .qm-drop,
html.dvr-private-theme .qm-drop__input::file-selector-button,
html.dvr-private-theme .qm-drop__remove {
  background-color: var(--dvr-theme-field);
}

/* Professional Optimize intake, work, consent and review surfaces. */
html.dvr-private-theme .main-container .intake-card,
html.dvr-private-theme .main-container .input-panel,
html.dvr-private-theme .main-container .intake-acknowledgment,
html.dvr-private-theme .main-container #results-container,
html.dvr-private-theme .main-container .result-section,
html.dvr-private-theme .main-container .result-card {
  background: var(--dvr-theme-panel) !important;
}
html.dvr-private-theme .main-container input,
html.dvr-private-theme .main-container textarea,
html.dvr-private-theme .main-container select,
html.dvr-private-theme .main-container .drop-area,
html.dvr-private-theme .main-container .resume-structured-editor {
  background-color: var(--dvr-theme-field);
}

/* Outreach browse, saved-company, contact and focused-work surfaces. */
html.dvr-private-theme .outreach-beta__panel,
html.dvr-private-theme .outreach-beta__results,
html.dvr-private-theme .outreach-beta__notice,
html.dvr-private-theme .outreach-beta__company-card,
html.dvr-private-theme .outreach-beta__contact-card,
html.dvr-private-theme .outreach-beta__focus-identity,
html.dvr-private-theme .outreach-beta__focus-contact,
html.dvr-private-theme .outreach-beta__background-card,
html.dvr-private-theme .outreach-beta__next-step,
html.dvr-private-theme .outreach-beta__expand[open] {
  background: var(--dvr-theme-panel);
}
html.dvr-private-theme .outreach-beta input:not([type="checkbox"]),
html.dvr-private-theme .outreach-beta textarea,
html.dvr-private-theme .outreach-beta select,
html.dvr-private-theme .outreach-beta__choice,
html.dvr-private-theme .outreach-beta__contact-introduction {
  background-color: var(--dvr-theme-field);
}

/* Homebase opportunity, status, note, record and reading surfaces. */
html.dvr-private-theme .metrics,
html.dvr-private-theme .homebase-tool,
html.dvr-private-theme .resume-upload,
html.dvr-private-theme .jobcard,
html.dvr-private-theme .detail,
html.dvr-private-theme .formpanel,
html.dvr-private-theme .emptystate,
html.dvr-private-theme .outreach-toolbar,
html.dvr-private-theme .outreach-row,
html.dvr-private-theme .email-connection {
  background: var(--dvr-theme-panel);
}
html.dvr-private-theme .formpanel .field,
html.dvr-private-theme .detail textarea,
html.dvr-private-theme .detail input,
html.dvr-private-theme .detail select,
html.dvr-private-theme .file-input,
html.dvr-private-theme .outreach-status-control .field {
  background-color: var(--dvr-theme-field);
}

/* Owner mobile corrections. These rules deliberately sit below the legacy
   app styles and never cross the tablet/desktop breakpoint. */
@media (max-width: 48em) {
  html:has(body.dvr-shell-page .searchbar),
  html:has(body.dvr-shell-page .main-container),
  body.dvr-shell-page:has(.searchbar),
  body.dvr-shell-page:has(.main-container) {
    overflow-x: visible !important;
  }

  body.dvr-shell-page:has(.main-container) .main-container {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    padding: 2rem 1rem 1.5rem !important;
  }
  body.dvr-shell-page:has(.main-container) .main-container,
  body.dvr-shell-page:has(.main-container) .main-container * {
    box-sizing: border-box;
  }
  body.dvr-shell-page:has(.main-container) .main-container > *,
  body.dvr-shell-page:has(.main-container) .optimizer-grid,
  body.dvr-shell-page:has(.main-container) .optimizer-grid > *,
  body.dvr-shell-page:has(.main-container) .intake-fields,
  body.dvr-shell-page:has(.main-container) .intake-fields > *,
  body.dvr-shell-page:has(.main-container) .input-panel,
  body.dvr-shell-page:has(.main-container) .drop-area,
  body.dvr-shell-page:has(.main-container) #results-container,
  body.dvr-shell-page:has(.main-container) .resume-preview-frame,
  body.dvr-shell-page:has(.main-container) .resume-preview {
    max-width: 100% !important;
    min-width: 0 !important;
  }
  body.dvr-shell-page:has(.main-container) .optimizer-grid,
  body.dvr-shell-page:has(.main-container) .intake-fields {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.dvr-shell-page:has(.main-container) .intake-card,
  body.dvr-shell-page:has(.main-container) .input-panel,
  body.dvr-shell-page:has(.main-container) .main-container > div:has(#target-company),
  body.dvr-shell-page:has(.main-container) #results-container > div,
  body.dvr-shell-page:has(.main-container) .result-section,
  body.dvr-shell-page:has(.main-container) .result-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 1rem !important;
  }
  body.dvr-shell-page:has(.main-container) #results-container > div,
  body.dvr-shell-page:has(.main-container) .result-section {
    padding: .5rem !important;
  }
  html.dvr-private-theme body.dvr-shell-page:has(.main-container) .intake-card,
  html.dvr-private-theme body.dvr-shell-page:has(.main-container) .input-panel,
  html.dvr-private-theme body.dvr-shell-page:has(.main-container) .main-container > div:has(#target-company),
  html.dvr-private-theme body.dvr-shell-page:has(.main-container) #results-container > div,
  html.dvr-private-theme body.dvr-shell-page:has(.main-container) .result-section,
  html.dvr-private-theme body.dvr-shell-page:has(.main-container) .result-card,
  html.dvr-private-theme .optimizer-choice__card {
    background: var(--dvr-theme-reading-panel) !important;
  }
  body.dvr-shell-page:has(.main-container) .main-container > div:has(#target-company) > div:has(#target-company) {
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem !important;
  }
  body.dvr-shell-page:has(.main-container) .main-container > div:has(#target-company) > div:has(#target-company) > div {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  body.dvr-shell-page:has(.main-container) input,
  body.dvr-shell-page:has(.main-container) textarea,
  body.dvr-shell-page:has(.main-container) select,
  body.dvr-shell-page:has(.main-container) button {
    max-width: 100%;
    min-width: 0;
  }
  body.dvr-shell-page:has(.main-container) input,
  body.dvr-shell-page:has(.main-container) textarea,
  body.dvr-shell-page:has(.main-container) select {
    width: 100% !important;
    font-size: 1rem !important;
  }
  body.dvr-shell-page:has(.main-container) label,
  body.dvr-shell-page:has(.main-container) .prefill-summary,
  body.dvr-shell-page:has(.main-container) .main-container > div:has(#target-company) > p {
    font-size: 1rem !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere;
  }
  body.dvr-shell-page:has(.main-container) .page-header h1 { font-size: 1.75rem !important; }
  body.dvr-shell-page:has(.main-container) .page-header p { font-size: 1rem !important; }
  body.dvr-shell-page:has(.main-container) .panel-header h2 { font-size: 1.125rem !important; }
  body.dvr-shell-page:has(.main-container) .resume-structured-editor,
  body.dvr-shell-page:has(.main-container) .source-docx-paragraph {
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }
  body.dvr-shell-page:has(.main-container) .source-docx-paragraph:not(.source-docx-section-heading),
  body.dvr-shell-page:has(.main-container) .resume-source__status,
  body.dvr-shell-page:has(.main-container) #results-container p,
  body.dvr-shell-page:has(.main-container) #results-container li {
    overflow-wrap: anywhere;
  }
  body.dvr-shell-page:has(.main-container) .source-docx-section-heading,
  body.dvr-shell-page:has(.main-container) .resume-preview .rp-section,
  body.dvr-shell-page:has(.main-container) #results-container h2,
  body.dvr-shell-page:has(.main-container) #results-container h3 {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none;
  }
  body.dvr-shell-page:has(.main-container) .source-docx-section-heading {
    font-size: 1.0625rem !important;
    line-height: 1.3 !important;
  }
  body.dvr-shell-page:has(.main-container) .resume-preview-frame {
    width: 100% !important;
    overflow: visible !important;
  }
  body.dvr-shell-page:has(.main-container) .resume-preview {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: .75rem !important;
    font-size: 1rem !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere;
  }
  body.dvr-shell-page:has(.main-container) .resume-preview .rp-name {
    font-size: 1.375rem !important;
    line-height: 1.2 !important;
  }
  body.dvr-shell-page:has(.main-container) .resume-preview .rp-section {
    font-size: 1rem !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
  }
}

/* Pro has an explicit page hook so its phone layout does not depend on the
   relational :has() selector used by newer desktop engines. */
@media (max-width: 48em) {
  body.dvr-shell-page.dvr-pro-page .main-container {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    padding: 2rem 1rem 1.5rem !important;
  }
  body.dvr-shell-page.dvr-pro-page .main-container,
  body.dvr-shell-page.dvr-pro-page .main-container * { box-sizing: border-box; }
  body.dvr-shell-page.dvr-pro-page .main-container > *,
  body.dvr-shell-page.dvr-pro-page .optimizer-grid,
  body.dvr-shell-page.dvr-pro-page .optimizer-grid > *,
  body.dvr-shell-page.dvr-pro-page .intake-fields,
  body.dvr-shell-page.dvr-pro-page .intake-fields > *,
  body.dvr-shell-page.dvr-pro-page .input-panel,
  body.dvr-shell-page.dvr-pro-page .drop-area,
  body.dvr-shell-page.dvr-pro-page #results-container,
  body.dvr-shell-page.dvr-pro-page #results-container > *,
  body.dvr-shell-page.dvr-pro-page .result-section,
  body.dvr-shell-page.dvr-pro-page .result-card,
  body.dvr-shell-page.dvr-pro-page .resume-preview-frame,
  body.dvr-shell-page.dvr-pro-page .resume-preview {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
  body.dvr-shell-page.dvr-pro-page .optimizer-grid,
  body.dvr-shell-page.dvr-pro-page .intake-fields {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.dvr-shell-page.dvr-pro-page .intake-card,
  body.dvr-shell-page.dvr-pro-page .input-panel,
  body.dvr-shell-page.dvr-pro-page .result-card { padding: .75rem !important; }
  body.dvr-shell-page.dvr-pro-page #results-container > *,
  body.dvr-shell-page.dvr-pro-page .result-section { padding: .5rem !important; }
  body.dvr-shell-page.dvr-pro-page input,
  body.dvr-shell-page.dvr-pro-page textarea,
  body.dvr-shell-page.dvr-pro-page select,
  body.dvr-shell-page.dvr-pro-page button {
    max-width: 100%;
    min-width: 0;
  }
  body.dvr-shell-page.dvr-pro-page input,
  body.dvr-shell-page.dvr-pro-page textarea,
  body.dvr-shell-page.dvr-pro-page select { width: 100% !important; }
  body.dvr-shell-page.dvr-pro-page .dvr-welcome-modal { padding: 1rem; }
  body.dvr-shell-page.dvr-pro-page .dvr-welcome-dialog {
    width: 100%;
    max-width: none;
    min-width: 0;
    padding: 1rem;
  }
  body.dvr-shell-page.dvr-pro-page .dvr-welcome-title {
    font-size: 1.375rem;
    line-height: 1.2;
  }
  body.dvr-shell-page.dvr-pro-page .dvr-welcome-copy,
  body.dvr-shell-page.dvr-pro-page .dvr-welcome-preference {
    font-size: 1rem;
    line-height: 1.5;
  }
  body.dvr-shell-page.dvr-pro-page .page-header h1 {
    font-size: clamp(1.65rem, 8vw, 1.875rem) !important;
    line-height: 1.15;
  }
  body.dvr-shell-page.dvr-pro-page .page-header p,
  body.dvr-shell-page.dvr-pro-page label,
  body.dvr-shell-page.dvr-pro-page .prefill-summary { font-size: 1rem !important; line-height: 1.5 !important; }
  body.dvr-shell-page.dvr-pro-page small,
  body.dvr-shell-page.dvr-pro-page .resume-source__status,
  body.dvr-shell-page.dvr-pro-page .file-upload-hint-text { font-size: .875rem; line-height: 1.45; }
  body.dvr-shell-page.dvr-pro-page .panel-header h2 { font-size: 1.125rem !important; }
  body.dvr-shell-page.dvr-pro-page .resume-structured-editor,
  body.dvr-shell-page.dvr-pro-page .source-docx-paragraph,
  body.dvr-shell-page.dvr-pro-page .resume-preview {
    font-size: 1rem !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere;
  }
  body.dvr-shell-page.dvr-pro-page .source-docx-section-heading,
  body.dvr-shell-page.dvr-pro-page .resume-preview .rp-section,
  body.dvr-shell-page.dvr-pro-page #results-container h2,
  body.dvr-shell-page.dvr-pro-page #results-container h3 {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none;
  }
  body.dvr-shell-page.dvr-pro-page .resume-preview-frame { overflow: visible !important; }
  body.dvr-shell-page.dvr-pro-page .resume-preview {
    min-height: 0 !important;
    margin: 0 !important;
    padding: .75rem !important;
  }
  body.dvr-shell-page.dvr-pro-page .resume-preview .rp-name { font-size: 1.375rem !important; line-height: 1.2 !important; }
  body.dvr-shell-page.dvr-pro-page .resume-preview .rp-section { font-size: 1rem !important; line-height: 1.3 !important; letter-spacing: 0 !important; }
}

@media (max-width: 43.75em) {
  .optimizer-choice {
    width: calc(100vw - 2rem) !important;
    max-width: calc(100vw - 2rem) !important;
    min-width: 0 !important;
  }
  .optimizer-choice__surface { padding: 1rem !important; }
  .optimizer-choice__grid,
  .optimizer-choice__card,
  .optimizer-choice__title-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .optimizer-choice__grid { grid-template-columns: minmax(0, 1fr) !important; }
  .optimizer-choice__card { padding: 1rem !important; }
  .optimizer-choice__title-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: start;
    gap: .75rem !important;
  }
  .optimizer-choice__card h3 {
    min-width: 0;
    font-size: 1rem !important;
    overflow-wrap: normal;
    word-break: normal;
  }
  .optimizer-choice__price {
    position: static !important;
    width: max-content;
    max-width: none;
    margin: 0 !important;
    font-size: 1.35rem !important;
    white-space: nowrap;
  }
  .optimizer-choice__card form,
  .optimizer-choice__action,
  .btn--optimizer-product {
    width: 100% !important;
    max-width: 100% !important;
  }
  .btn--optimizer-product { min-height: 2.75rem; }
}

.optimizer-choice__pricing-link {
  margin: 1rem 0 .25rem;
  text-align: center;
}
.optimizer-choice__pricing-link a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  color: var(--dvr-blue-soft) !important;
  font-size: .875rem;
  font-weight: 800;
  letter-spacing: .075em;
  text-decoration: underline;
  text-underline-offset: .2em;
  white-space: nowrap;
}

/* Canonical application panel color. This deliberately changes only card and
   panel backgrounds. Page canvases, borders, controls and inset fields retain
   their established tokens so controls stay visually distinct. */
body.dvr-shell-page:has(.searchbar) .workspace > .detail,
body.dvr-shell-page:has(.searchbar) .workspace .jobcard,
body.dvr-shell-page:has(.searchbar) .workspace .empty,
body.dvr-shell-page:has(.searchbar) .workspace .skeleton,
body.dvr-shell-page:has(.qm-wrap) .qm-form,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__panel,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__results,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__notice,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__company-card,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__contact-card,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__focus-identity,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__focus-contact,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__background-card,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__next-step,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__expand[open],
body.dvr-shell-page:has(.workbar) .metrics,
body.dvr-shell-page:has(.workbar) .homebase-tool,
body.dvr-shell-page:has(.workbar) .resume-upload,
body.dvr-shell-page:has(.workbar) .jobcard,
body.dvr-shell-page:has(.workbar) .detail,
body.dvr-shell-page:has(.workbar) .formpanel,
body.dvr-shell-page:has(.workbar) .emptystate,
body.dvr-shell-page:has(.workbar) .outreach-toolbar,
body.dvr-shell-page:has(.workbar) .outreach-row,
body.dvr-shell-page:has(.workbar) .email-connection {
  background: var(--dvr-claire-panel) !important;
}

/* Canonical homepage header brand on every product. The markup remains the
   single shared-shell component; only its responsive presentation is fixed
   here to the approved homepage measurements. */
.dvr-shell__brandline { color: #a8b6c8; }
body .dvr-shell,
body .dvr-footer,
body .dvr-footer__bottom {
  border-color: var(--dvr-pro-trim-panel);
}

@media (min-width: 56.251rem) {
  body .dvr-shell__bar {
    grid-template-columns: max-content minmax(0, 1fr) max-content;
    display: grid;
    width: 100%;
    max-width: 1500px;
    min-height: 104px;
    padding: 20px 32px 10px 30px;
    gap: 28px;
  }
  body .dvr-shell__brand {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: auto;
  }
  body .dvr-shell__brand-mark {
    width: max-content;
    font-family: var(--font-ui);
    font-size: var(--brand-mark-desktop-size);
    font-style: normal;
    font-weight: var(--brand-mark-weight);
    font-stretch: 100%;
    letter-spacing: var(--brand-mark-tracking);
    line-height: .95;
    text-rendering: auto;
    white-space: nowrap;
  }
  body .dvr-shell__brandline {
    display: flex;
    justify-content: space-between;
    width: var(--brand-line-desktop-width);
    min-width: 0;
    margin-top: 6px;
    margin-left: 2px;
    font-family: var(--font-ui);
    font-size: var(--brand-line-desktop-size);
    font-style: normal;
    font-weight: 800;
    font-stretch: 100%;
    letter-spacing: 1.8px;
    line-height: normal;
    text-rendering: auto;
    text-transform: uppercase;
    white-space: nowrap;
  }
  body .dvr-shell__primary { justify-self: center; }
  body .dvr-shell__actions { justify-self: end; margin-left: 0; }
}

@media (max-width: 56.25rem) {
  body .dvr-shell__brand { width: max-content; }
  body .dvr-shell__brandline {
    display: flex;
    justify-content: space-between;
    width: 0;
    min-width: 100%;
    margin-top: .16rem;
    font-family: var(--font-ui);
    font-size: var(--brand-line-mobile-size);
    font-weight: 700;
    letter-spacing: .115px;
    line-height: 12px;
    white-space: nowrap;
  }
}

/* Discovery uses Pro's three measured trim strengths. State-bearing blue and
   Direct Connect gold remain untouched; only general structural edges move. */
body.dvr-shell-page:has(.searchbar) .searchbar,
body.dvr-shell-page:has(.searchbar) .searchbar__inner,
body.dvr-shell-page:has(.searchbar) .filterrow,
body.dvr-shell-page:has(.searchbar) .workspace .jobcard:not(.is-selected),
body.dvr-shell-page:has(.searchbar) .workspace > .detail,
body.dvr-shell-page:has(.searchbar) .workspace .empty,
body.dvr-shell-page:has(.searchbar) .workspace .skeleton,
body.dvr-shell-page:has(.searchbar) .jobcard__foot,
body.dvr-shell-page:has(.searchbar) .detail__source,
body.dvr-shell-page:has(.searchbar) .detail__facts,
body.dvr-shell-page:has(.searchbar) .detail__note + .section {
  border-color: var(--dvr-pro-trim-panel) !important;
}
body.dvr-shell-page:has(.searchbar) .field {
  border-color: var(--dvr-pro-trim-field) !important;
}
body.dvr-shell-page:has(.searchbar) .field:focus-within {
  border-color: var(--dvr-blue) !important;
}
/* The field container owns Discovery's focus treatment. The shared global
   focus rule must not draw a second pill inside the two text fields. */
body.dvr-shell-page:has(.searchbar) .field--grow > .field__input:focus-visible {
  outline: none;
  outline-offset: 0;
}
body.dvr-shell-page:has(.searchbar) #clear-button,
body.dvr-shell-page:has(.searchbar) .pill:not(.is-active),
body.dvr-shell-page:has(.searchbar) .pager__btn {
  border-color: var(--dvr-pro-trim-control) !important;
}
body.dvr-shell-page:has(.searchbar) #clear-button:hover:not([disabled]),
body.dvr-shell-page:has(.searchbar) .pill:not(.is-active):hover:not([disabled]),
body.dvr-shell-page:has(.searchbar) .pager__btn:hover:not([disabled]) {
  border-color: var(--dvr-pro-trim-field) !important;
}

/* Outreach fields retain their established treatment. Only the header and
   existing major panel/reading-surface borders use the Pro panel trim. */
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__panel,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__results,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__notice,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__company-card,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__contact-card,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__focus-visual,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__focus-map-shell,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__focus-identity,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__focus-contact,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__background-card,
body.dvr-shell-page:has(.outreach-beta) .outreach-beta__expand[open] {
  border-color: var(--dvr-pro-trim-panel) !important;
}

/* Quick Optimize loads quick_manual.css after this shared sheet, and that
   legacy page resolves --line to #2a3644 from warroom.css. Pin each actual
   form edge to the measured Pro strength; validation, drag, file-present,
   focus and submit states retain their existing semantic colors. */
body.dvr-shell-page:has(.qm-wrap) .qm-form {
  border-color: var(--dvr-pro-trim-panel) !important;
}
body.dvr-shell-page:has(.qm-wrap) .qm-field input[type="text"]:not([aria-invalid="true"]),
body.dvr-shell-page:has(.qm-wrap) .qm-field textarea:not([aria-invalid="true"]),
body.dvr-shell-page:has(.qm-wrap) .qm-drop:not(.is-dragover):not(.has-file) {
  border-color: var(--dvr-pro-trim-field) !important;
}
body.dvr-shell-page:has(.qm-wrap) .qm-drop__input::file-selector-button,
body.dvr-shell-page:has(.qm-wrap) .qm-drop__remove {
  border-color: var(--dvr-pro-trim-control) !important;
}
body.dvr-shell-page:has(.qm-wrap) .qm-drop__chosen {
  border-color: var(--dvr-pro-trim-panel) !important;
}
body.dvr-shell-page:has(.qm-wrap) .qm-field [aria-invalid="true"] {
  border-color: var(--red) !important;
}
body.dvr-shell-page:has(.qm-wrap) .qm-drop.is-dragover {
  border-color: #6cb6ff !important;
}
body.dvr-shell-page:has(.qm-wrap) .qm-drop.has-file {
  border-color: var(--green) !important;
}

/* Homebase structural panels and inactive local tabs share Pro trim. Blue
   active-tab/selection edges keep their separate state meaning. */
body.dvr-shell-page:has(.workbar) {
  --dvr-border: var(--dvr-pro-trim-panel);
  --dvr-border-strong: var(--dvr-pro-trim-control);
}
body.dvr-shell-page:has(.workbar) .workbar,
body.dvr-shell-page:has(.workbar) .metrics,
body.dvr-shell-page:has(.workbar) .metric,
body.dvr-shell-page:has(.workbar) .homebase-tool,
body.dvr-shell-page:has(.workbar) .resume-upload,
body.dvr-shell-page:has(.workbar) .jobcard:not(.is-selected),
body.dvr-shell-page:has(.workbar) .detail,
body.dvr-shell-page:has(.workbar) .formpanel,
body.dvr-shell-page:has(.workbar) .emptystate,
body.dvr-shell-page:has(.workbar) .outreach-toolbar,
body.dvr-shell-page:has(.workbar) .outreach-row,
body.dvr-shell-page:has(.workbar) .email-connection {
  border-color: var(--dvr-pro-trim-panel) !important;
}
body.dvr-shell-page:has(.workbar) .workbar .pill:not(.is-active) {
  border-color: var(--dvr-pro-trim-control) !important;
}
body.dvr-shell-page:has(.workbar) .field:not(:focus),
body.dvr-shell-page:has(.workbar) .file-input {
  border-color: var(--dvr-pro-trim-field) !important;
}

/* The shell is inserted by dvr-shell.js. Hold the first content paint until
   that insertion completes so the hero and application graphics never paint
   at a temporary layout offset without their header. An empty header stops
   matching immediately after bootstrap; BFCache restores already-filled
   headers. No-JS readers render normally, and a failed shell script releases
   the content after three seconds rather than leaving a blank page. */
@media (scripting: enabled) {
  html.dvr-shell-loading:not(:has([data-dvr-shell="header"]:not(:empty))) body,
  body:has([data-dvr-shell="header"]:empty) {
    opacity: 0;
    animation: dvr-shell-bootstrap-fallback .001s step-start 3s forwards;
  }
  /* Critical CSS can explicitly release a failed stylesheet bootstrap.
     Honor that existing fallback instead of waiting for a missing header. */
  html.page-load-fallback body:has([data-dvr-shell="header"]:empty) {
    opacity: 1;
    animation: none;
  }
}
@keyframes dvr-shell-bootstrap-fallback {
  to { opacity: 1; }
}

/* Phone presentation only: chooser containment and readable ATS provider rows. */
@media (max-width: 43.75em) {
  body.dvr-shell-page .ats-scores .ats-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
  }
  body.dvr-shell-page .ats-scores .ats-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    min-height: 2.75rem;
    padding: 0.5rem 0.75rem;
    text-align: left;
  }
  body.dvr-shell-page .ats-card .platform {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.3;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
  }
  body.dvr-shell-page .ats-card .score {
    font-size: 1.25rem;
    line-height: 1.3;
    text-align: right;
    white-space: nowrap;
  }
}

/* Phone chooser: small fixed gutters, bounded type, separate close toolbar. */
@media (max-width: 700px) {
  body.dvr-shell-page .optimizer-choice {
    box-sizing: border-box;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - 16px);
    min-width: 0;
    margin: auto;
    overflow: hidden;
    font-size: clamp(14px, 0.875rem, 16px);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body.dvr-shell-page .optimizer-choice__surface {
    display: flex;
    flex-direction: column;
    max-height: calc(100dvh - 18px);
    padding: 0 !important;
    overflow: hidden;
  }
  .optimizer-choice .optimizer-choice__toolbar {
    display: flex;
    flex: none;
    justify-content: flex-end;
    padding: 4px 8px;
    border-bottom: 1px solid var(--dvr-trim-control);
    background: var(--dvr-panel);
  }
  body.dvr-shell-page .optimizer-choice .optimizer-choice__close {
    position: static;
    flex: none;
    width: 44px;
    height: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border-radius: 8px;
    font-size: 24px;
    line-height: 1;
  }
  .optimizer-choice .optimizer-choice__content {
    min-height: 0;
    padding: 8px 10px 10px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .optimizer-choice .optimizer-choice__header {
    display: block;
    width: 100%;
    min-width: 0;
    padding-right: 0;
  }
  .optimizer-choice .optimizer-choice__header h2 {
    margin: 0;
    padding: 0;
    font-size: clamp(20px, 1.25rem, 23px);
    line-height: 1.2;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
  }
  .optimizer-choice .optimizer-choice__context {
    display: block;
    margin: 6px 0 0;
    font-size: clamp(14px, 0.875rem, 16px);
    line-height: 1.35;
  }
  .optimizer-choice .optimizer-choice__context strong {
    font-size: inherit;
    overflow-wrap: break-word;
    word-break: normal;
  }
  .optimizer-choice .optimizer-choice__explanation {
    margin: 6px 0 0;
    font-size: clamp(14px, 0.875rem, 16px);
    line-height: 1.4;
  }
  .optimizer-choice .optimizer-choice__instant {
    margin-top: 10px;
    padding: 8px 10px;
  }
  .optimizer-choice .optimizer-choice__instant h3,
  .optimizer-choice .optimizer-choice__card h3 {
    margin: 0;
    font-size: clamp(14px, 0.875rem, 16px) !important;
    line-height: 1.3;
    letter-spacing: 0.01em;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
  }
  .optimizer-choice .optimizer-choice__instant p {
    margin: 4px 0 6px;
    font-size: clamp(14px, 0.875rem, 16px);
    line-height: 1.35;
  }
  .optimizer-choice .optimizer-choice__grid {
    margin-top: 8px;
    gap: 8px;
  }
  .optimizer-choice .optimizer-choice__card {
    min-height: 0;
    padding: 8px 10px !important;
  }
  .optimizer-choice .optimizer-choice__title-row {
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: start;
    gap: 8px !important;
  }
  .optimizer-choice .optimizer-choice__price {
    align-self: start;
    font-size: clamp(19px, 1.1875rem, 22px) !important;
    line-height: 1.2;
    white-space: nowrap;
  }
  .optimizer-choice .optimizer-choice__quantity,
  .optimizer-choice .optimizer-choice__quantities {
    margin-top: 4px;
    font-size: clamp(14px, 0.875rem, 16px);
    line-height: 1.3;
  }
  .optimizer-choice .optimizer-choice__quantities { gap: 2px; }
  .optimizer-choice .optimizer-choice__quantities strong { font-size: inherit; }
  .optimizer-choice .optimizer-choice__term {
    margin-top: 4px;
    font-size: clamp(13px, 0.8125rem, 15px);
    line-height: 1.35;
  }
  .optimizer-choice .optimizer-choice__card form,
  .optimizer-choice .optimizer-choice__action { padding-top: 6px; }

  body.dvr-shell-page .optimizer-choice .btn--optimizer-product {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    height: auto;
    padding: 8px 12px;
    font-size: clamp(14px, 0.875rem, 16px);
    line-height: 1.25;
    letter-spacing: 0.02em;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    text-align: center;
  }
  .optimizer-choice .optimizer-choice__note {
    margin-top: 6px;
    font-size: clamp(12px, 0.75rem, 14px);
    line-height: 1.35;
  }
  .optimizer-choice .optimizer-choice__status {
    margin-top: 8px;
    padding: 8px 10px;
    font-size: clamp(14px, 0.875rem, 16px);
    line-height: 1.35;
  }
}
