/* QRM approved concept v3 — 2026-09-17. Shared paint layer only.
   Existing document structure, dimensions, typography and behaviour are retained. */
@media screen {
  :root {
    color-scheme: dark;
    --qrm-canvas: #091218;
    --qrm-header-bg: #071017;
    --qrm-surface: #20343e;
    --qrm-surface-raised: #273f49;
    --qrm-field: #101f29;
    --qrm-line: #526b77;
    --qrm-copy: #f0f5f8;
    --qrm-secondary-copy: #c1d2dc;
    --qrm-accent: #ff9826;
    --qrm-accent-hover: #ffb455;
    --qrm-link: #8bdbd6;
    --qrm-navy: var(--qrm-copy);
    --qrm-blue: var(--qrm-link);
    --qrm-blue-dark: #b1eeea;
    --qrm-ink: var(--qrm-copy);
    --qrm-text: var(--qrm-copy);
    --qrm-muted: var(--qrm-secondary-copy);
    --qrm-bg: var(--qrm-canvas);
    --qrm-border: var(--qrm-line);
    --qrm-orange: var(--qrm-accent);
    --qrm-teal: var(--qrm-link);
    --qrm-teal-soft: #21484e;
    --qrm-dark: var(--qrm-canvas);
    --qrm-valid: #a6ebc8;
    --qrm-invalid: #ffc4cc;
    --qrm-warn: #ffe0a3;
    --ink: var(--qrm-copy);
    --navy: var(--qrm-copy);
    --blue: var(--qrm-accent);
    --blue-dark: var(--qrm-accent-hover);
    --border: var(--qrm-line);
    --bg: var(--qrm-canvas);
    --muted: var(--qrm-secondary-copy);
  }
  body, body.phone-home { background: var(--qrm-canvas); color: var(--qrm-copy); }
  h1, h2, h3, h4, legend { color: var(--qrm-copy); }
  a, .inline-link, .nav .return-link { color: var(--qrm-link); }
  a:hover, .inline-link:hover { color: #b1eeea; }
  .muted, .help, .eyebrow, .qrm-page-intro p, .qrm-brand-note,
  .qboy-guide p, .qboy-guide ul, .portal-qboy-note p { color: var(--qrm-secondary-copy); }
  .qrm-eyebrow, .qrm-section-label, .qrm-page-intro .qrm-eyebrow,
  .qboy-guide .qrm-eyebrow { color: #ffbb6b; }
  .qrm-brand-note strong, .portal-qboy-note strong { color: var(--qrm-copy); }

  .qrm-header, .phone-home .qrm-header { background: var(--qrm-header-bg); border-top-color: var(--qrm-accent); }
  .qrm-header .qrm-brand img, .phone-partner-logo { background-color: #fff; }
  .qrm-nav, .phone-home .qrm-nav { background: #13232d; border-color: var(--qrm-accent); }
  .qrm-header .qrm-nav a, .phone-home .qrm-nav a { color: var(--qrm-copy); }
  .qrm-nav .qrm-nav-portal, .phone-home .qrm-nav .qrm-nav-portal { background: #24414a; border-bottom-color: var(--qrm-accent); color: #ffbb6b; }
  .qrm-header .qrm-nav a:hover, .qrm-header .qrm-nav a[aria-current="page"],
  .qrm-header .qrm-nav a[aria-current="location"], .phone-home .qrm-nav .qrm-nav-portal:hover {
    background: var(--qrm-accent); color: #091218; border-bottom-color: var(--qrm-accent);
  }
  .qrm-menu, .phone-home .qrm-menu { background: var(--qrm-surface); color: var(--qrm-copy); border-color: var(--qrm-line); }
  .qrm-footer, .phone-home .qrm-footer { background: var(--qrm-header-bg); color: var(--qrm-secondary-copy); }
  .qrm-footer a { color: var(--qrm-link); }
  .qrm-footer-bottom { border-color: var(--qrm-line); }
  .qrm-footer-bottom span:last-child { color: #ffbb6b; }
  .qrm-skip { background: var(--qrm-accent); color: #091218; }

  .card, .portal-card, .admin-card, .support-card, .support-finder, .guide-step,
  .guide-toc, .support-faq, .support-empty, .manual-list, .source-table,
  .sensor-care-grid article, .support-product-card {
    background: var(--qrm-surface); color: var(--qrm-copy); border-color: var(--qrm-line);
    box-shadow: 0 4px 22px #00000018;
  }
  .portal-card, .login-card { border-top-color: var(--qrm-accent) !important; }
  .nav, .support-nav { background: #142630; border-color: var(--qrm-line); }
  .nav a, .support-nav a { color: var(--qrm-link); }
  .nav a:hover, .nav a[aria-current="page"] { background: var(--qrm-accent); color: #091218; }
  .support-nav a[aria-current="page"] { color: #ffbb6b; border-color: var(--qrm-accent); }
  .qrm-help-band, .qrm-return-address, .support-aside, .support-intro, .support-note,
  .sensor-explainer, .support-product-feature, .steps, .contact-panel {
    background: var(--qrm-surface-raised); color: var(--qrm-copy); border-color: var(--qrm-line);
  }
  .qrm-return-address, .support-note, .support-product-feature { border-left-color: var(--qrm-accent); }
  .sensor-explainer p, .contact-panel .help { color: var(--qrm-secondary-copy); }
  .qboy-guide, .portal-qboy-note, .action-panel {
    background: #1e3c43; color: var(--qrm-copy); border-color: #527b80;
  }
  .qboy-guide { border-top-color: var(--qrm-accent); }
  .qboy-guide details { border-color: #527b80; }
  .qboy-guide summary { color: var(--qrm-link); }
  .location-option, .admin-card fieldset, .form-stage > h2, .actions { border-color: var(--qrm-line); }

  label, .field label, .contact-panel legend { color: var(--qrm-copy); }
  input, select, textarea, .device-card input, .device-card select, .device-card textarea,
  .support-search input, .support-finder select,
  .admin-card input:not([type=checkbox]):not([type=radio]), .admin-card textarea,
  .admin-filter input:not([type=checkbox]) {
    background: var(--qrm-field); color: var(--qrm-copy); border-color: #718a97;
    accent-color: var(--qrm-accent);
  }
  input::placeholder, textarea::placeholder, .support-search input::placeholder { color: #b3c5d0; opacity: 1; }
  input[readonly] { background: #2a414b; color: #e0ebf1; }
  input:autofill { color: #091218; }
  input:-webkit-autofill { -webkit-text-fill-color: var(--qrm-copy); box-shadow: 0 0 0 1000px #243d47 inset; }
  .required::after { color: #ffbb6b; }
  .suggestions { background: #152b36; color: var(--qrm-copy); border-color: #718a97; box-shadow: 0 14px 30px #0007; }
  .suggestions .item { border-color: var(--qrm-line); }
  .suggestions .item:hover, .suggestions .item.active { background: #2c525b; color: var(--qrm-copy); }
  .suggestions small { color: var(--qrm-secondary-copy); }

  button, .button, .button-link, .actions button, .qrm-button,
  .qrm-button-primary, .phone-home .qrm-button-primary, .login-card button {
    background: var(--qrm-accent); color: #091218; border-color: var(--qrm-accent);
    box-shadow: none;
  }
  button:hover, .button:hover, .button-link:hover, .actions button:hover,
  .qrm-button:hover, .phone-home .qrm-button-primary:hover, .login-card button:hover {
    background: var(--qrm-accent-hover); color: #091218; border-color: var(--qrm-accent-hover);
  }
  .secondary, button.secondary, .qrm-button-light, .qrm-button-ghost,
  .phone-home .qrm-button-ghost, .preview-banner button {
    background: #294650 !important; color: var(--qrm-copy) !important; border-color: #718a97 !important;
  }
  .secondary:hover, button.secondary:hover, .qrm-button-light:hover, .qrm-button-ghost:hover {
    background: #365862 !important; color: var(--qrm-copy) !important; border-color: #8fa9b4 !important;
  }
  button.warning { background: #f2c46d; color: #211b10; border-color: #f2c46d; }
  .danger, button.danger, .action-table button[value="Scrap"] {
    background: #58313b !important; color: #ffd2d8 !important; border-color: #bc7c8a;
  }
  .danger:hover, button.danger:hover { background: #70414b !important; }
  .danger-link { color: #ffb6c0; }
  .action-table button[value="Approve"] { background: #a6ebc8; color: #10291e; }
  .action-table button[value="Declined"] { background: #294650; color: var(--qrm-copy); border-color: #718a97; }
  .qrm-menu, .phone-home .qrm-menu { background: var(--qrm-surface); color: var(--qrm-copy); border-color: var(--qrm-line); }
  :focus-visible { outline-color: var(--qrm-accent-hover); }
  a:focus-visible, button:focus-visible, input:focus-visible { outline-color: var(--qrm-accent-hover); }

  .step-list li { background: #142630; color: var(--qrm-secondary-copy); border-color: var(--qrm-line); }
  .step-list li.active { background: var(--qrm-accent); color: #091218; border-color: var(--qrm-accent); }
  .step-list li.complete { background: #23473e; color: #b1efd1; border-color: #649a83; }
  .device-card { background: linear-gradient(120deg,#27464e,#243a45); border-color: #63828d; border-left-color: #70c8c4; }
  .review-box, .summary-device { background: #203d46; color: var(--qrm-copy); border-color: #63828d; }
  .summary-order table, .summary-order td { background: #20343e; color: var(--qrm-copy); border-color: var(--qrm-line); }
  .summary-order th { background: #19303a; color: #ffcb8b; }
  .summary-order pre, .confirmation-text { background: #142630; color: var(--qrm-copy); }
  .notice, .meta-line { background: #273f49; color: var(--qrm-secondary-copy); border-color: #6c929e; }
  .meta-line strong { color: var(--qrm-copy); }
  .alert.success, .success-box, .good, .eta-condition.on-track, .eta-confidence {
    background: #23473a; color: #b1efd1; border-color: #649a83;
  }
  .alert.warning, .eta-unavailable, .empty-file, .warn, .preview-banner, .support-caution,
  .eta-condition.watch, .eta-condition.at-risk, .eta-condition.overdue {
    background: #4b3b24; color: #ffe0a3; border-color: #b2935d;
  }
  .alert.error, .error-box, .notice.error, .bad, .eta-condition.critical {
    background: #51333d; color: #ffd2d8; border-color: #bc7c8a;
  }
  .empty-inline { color: #ffe0a3; }
  .eta-status-card { background: linear-gradient(135deg,#24464e,#20343e); border-color: #63828d; border-top-color: var(--qrm-accent); }
  .eta-status-card strong { color: var(--qrm-copy); }
  .eta-label, .eta-status-card small, .eta-status-card p { color: var(--qrm-secondary-copy); }
  .eta-status-head .eta-label { color: #ffbb6b; }
  .eta-status-grid > div { background: #213944; border-color: #63828d; }
  .eta-status-grid > .eta-phase-timing { background: #285158; border-color: #7caaa9; }

  .result-table, .admin-table { background: var(--qrm-surface); color: var(--qrm-copy); border-color: var(--qrm-line); }
  .result-table th, .result-table td, .admin-table td { border-color: var(--qrm-line); }
  .result-table thead, .admin-table th, .source-table th { background: #162b35; color: #ffcb8b; }
  .result-table tbody tr:nth-child(even), .admin-table tbody tr:nth-child(even) { background: #273f49; }
  .result-table tbody tr:hover, .admin-table tbody tr:hover { background: #31515b; }
  .result-table td:nth-child(3) { background: #285158; color: var(--qrm-copy); }
  .sep { color: #a0b7c4; }

  .support-chip { background: #273f49; color: var(--qrm-copy); border-color: #718a97; }
  .support-chip[aria-pressed="true"] { background: var(--qrm-accent); color: #091218; border-color: var(--qrm-accent); }
  .support-chip:hover { border-color: var(--qrm-accent); }
  .support-faq[open] summary { background: #2b4651; border-color: var(--qrm-line); }
  .manual-tag { background: #21484e; color: #b1eeea; border-color: #63828d; }
  .guide-step-number { background: var(--qrm-accent); color: #091218; }
  .guide-figure { background: #e8f0f3; border-color: #8ba1ac; }
  .guide-figure figcaption { color: #294452; border-color: #8ba1ac; }
  .guide-figure figcaption a { color: #155267; }
  .support-card .guide-thumb { background: #e8f0f3; border-color: #8ba1ac; }
  .support-search-results a { background: var(--qrm-surface); border-color: var(--qrm-line); }
  .support-product-banner { background: linear-gradient(120deg,#20343e,#285158); box-shadow: 0 10px 28px #0002; }
  .support-product-banner .support-label { color: #ffbb6b; }
  .support-product-banner p:not(.support-label) { color: var(--qrm-secondary-copy); }

  .phone-hero { background-color: var(--qrm-canvas); }
  .phone-hero::after { background: radial-gradient(circle at 70% 38%,#ff982614,transparent 33%),linear-gradient(90deg,#091218f2,#091218db 48%,#091218b5); }
  .phone-hero-art::after { background: linear-gradient(90deg,#091218 0%,#09121812 22%,transparent 76%,#091218c4),linear-gradient(0deg,#09121870,transparent 50%); }
  .phone-home .qrm-eyebrow, .phone-card-index, .phone-service-card-dark .phone-card-index { color: #ffbb6b; }
  .phone-service-band { background: linear-gradient(180deg,#1c303a,#152730); }
  .phone-service-card-light, .phone-service-card-dark, .phone-product-card,
  .phone-journey, .phone-range, .phone-faq details, .phone-final-cta {
    background: var(--qrm-surface-raised); color: var(--qrm-copy); border-color: var(--qrm-line);
  }
  .phone-home h2, .phone-home h3, .phone-faq summary { color: var(--qrm-copy); }
  .phone-service-card p, .phone-service-card-dark p, .phone-journey-heading p:not(.qrm-section-label),
  .phone-journey-list p, .phone-journey-cards p, .phone-product-card p,
  .phone-range p:not(.qrm-section-label), .phone-faq details p,
  .phone-final-cta p:not(.qrm-section-label) { color: var(--qrm-secondary-copy); }
  .phone-service-card a:not(.qrm-button), .phone-service-card-dark a:not(.qrm-button),
  .phone-journey-heading > a, .phone-faq-heading > a, .phone-faq details a { color: var(--qrm-link); }
  .phone-card-icon, .phone-service-card-dark .phone-card-icon { color: #ffbb6b; border-color: #ffbb6b; }
  .phone-journey-list li, .phone-journey-cards li { background: #1d333e; border-color: var(--qrm-line); }
  .phone-journey-list > li > span, .phone-journey-cards li > span { background: var(--qrm-accent); color: #091218; }
  .phone-journey-art { background: #273f49; border-color: var(--qrm-line); }
  .phone-journey-figure figcaption { color: var(--qrm-secondary-copy); }
  .phone-sensor-care { background: linear-gradient(135deg,#24464e,#20343e); border-color: #63828d; border-left-color: var(--qrm-accent); }
  .phone-sensor-care-points > div, .phone-hero-art-features li { background: #24424dcc; border-color: #63828d; }
  .phone-support-panel { background-color: #1e3640; background-image: linear-gradient(#091218c4,#091218c4),url('../images/qrm-technical-header.jpg'); border-color: var(--qrm-line); }
  .phone-qboy-steps li { border-color: #63828d; }
  .phone-support-links a, .phone-support-links a::before { color: var(--qrm-link); }
  .phone-support-links a:hover { color: #b1eeea; }
  .phone-journey-heading { border-color: var(--qrm-accent); }
  .qboy-intake-panel { background: var(--qrm-surface-raised); border-color: var(--qrm-line); }
  .qboy-intake-panel h3, .qboy-intake-illustrations figcaption { color: var(--qrm-copy); }
  .qboy-intake-panel .qboy-intake-kicker { color: #ffbb6b; }
  .qboy-intake-illustrations figcaption span { background: var(--qrm-accent); color: #091218; }
}
/* Keep the existing print layout while avoiding dark backgrounds on paper. */
@media print {
  body, .card, .admin-card, .portal-card, .support-card, .guide-step, .guide-toc,
  .phone-service-band, .phone-hero, .phone-journey, .phone-journey-cards li,
  .phone-service-card, .phone-range, .phone-final-cta, .phone-faq details,
  .phone-product-card, .phone-sensor-care, .phone-support-panel,
  .result-table, .admin-table, .admin-table th, .admin-table td,
  .result-table th, .result-table td, .support-note, .support-faq, .support-intro,
  .guide-figure { background: #fff !important; box-shadow: none !important; }
  body, h1, h2, h3, h4, p, label, legend, a, small, strong, summary, figcaption,
  .card, .admin-card, .portal-card, .support-card, .guide-step, .guide-toc,
  .phone-journey, .phone-journey-cards li, .phone-service-card, .phone-range,
  .phone-final-cta, .phone-faq details, .phone-journey-cards h3, .phone-journey-cards p,
  .qboy-guide, .result-table, .admin-table, .admin-table th, .admin-table td,
  .result-table th, .result-table td, .support-note, .support-faq, .support-intro,
  .muted, .help, .guide-figure, .guide-figure figcaption { color: #111 !important; }
}
