/* DOT DCMS Visual Quality 1.0.0
 * Own namespace; loaded after inspected module styles. Explicit !important rules
 * reconcile legacy !important declarations. No generic visibility/state overrides.
 * Font files, remote fonts, text filters and forced smoothing are not used.
 */
body.dcms-visual-quality {
  --vq-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --vq-ink: #1b2330; --vq-muted: #536174; --vq-line: #d9dfe7; --vq-field: #8995a5;
  --vq-bg: #f3f5f8; --vq-paper: #fff; --vq-action: #ad4300; --vq-soft: #fff3e9;
  --vq-focus: #1769aa; --vq-radius: 12px; --vq-shadow: 0 1px 3px rgb(19 33 54 / 4%);
  --ui-ink: var(--vq-ink); --ui-muted: var(--vq-muted); --ui-bg: var(--vq-bg);
  --ui-line: var(--vq-line); --ui-action: var(--vq-action); --ui-radius: var(--vq-radius);
  --dcms-office-pro-font: var(--vq-font); --dt-pro-font: var(--vq-font);
  font-family: var(--vq-font) !important; font-size: 15px; line-height: 1.55;
  color: var(--vq-ink) !important; background: var(--vq-bg) !important;
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
}
/* A native high-specificity button rule can outrank [hidden]. Do not reveal it. */
body.dcms-aligned.dcms-visual-quality [hidden] { display: none !important; }
body.dcms-visual-quality .dv3-wizard-steps button { min-height:44px; font-size:.8125rem !important; line-height:1.45; font-weight:600 !important; }
body.dcms-visual-quality .dv3-wizard-steps b { font-size:.75rem !important; }
/* Keep icon fonts and SVGs intact: no wildcard font-family override. */
body.dcms-visual-quality :is(h1,h2,h3,h4,h5,h6,p,button,input,select,textarea,label,legend,table,
 .doc-topbar,.doc-sidebar,.doc-pagebar,.doc-drawer,.doc-search-panel,
 .dh-ai-main,.dh-main,.dcms-dealer-main,.ops-main,.dv3-main,.dv3-page,.prod-main,.dos-app,
 .dcms-team-main,.dt-main,.dcms-dealer-metrics,.dci-app,.dci-banner,.dc-outcome-health,
 .dcms-app-shell,.dcms-modal,.dcms-login-card,.dot-network-bar) {
  font-family: var(--vq-font) !important; text-shadow: none !important;
}
body.dcms-visual-quality :is(h1,h2,h3,h4,h5,h6) {
  font-weight: 700 !important; line-height: 1.25 !important;
  letter-spacing: -.025em !important; text-wrap: pretty; overflow-wrap: anywhere;
}
body.dcms-visual-quality :is(.dh-ai-hero-copy h1,.dv3-page-head h1,.ops-page-head h1,.dci-head h1) {
  font-size: clamp(1.5rem, 1.25rem + .65vw, 2rem) !important;
}
body.dcms-visual-quality :is(.dh-ai-card h2,.ops-panel-head h2,.dv3-panel-head h2,.dcms-section-header h2) {
  font-size: 1.25rem !important;
}
body.dcms-visual-quality :is(.dh-ai-hero-copy p,.dcms-card-body p,.dv3-panel p,.ops-card p) {
  font-size: .9375rem !important; line-height: 1.6 !important;
}
/* Neutral, well-defined panels; no floating text or large fuzzy glow. */
body.dcms-visual-quality :is(.dcms-card,.dd-card,.dv3-panel,.ops-panel,.ops-card,.dos-card,.prod-card,
 .dcms-dealer-card,.dcms-team-card,.dcms-job-card,.dcms-list-card,.dh-ai-card,.dh-ai-actions-panel,
 .dcms-install-panel,.dci-section,.dci-created,.dc-outcome-health,.dh-ai-hero-copy,.dh-ai-snapshot) {
  border: 1px solid var(--vq-line) !important; border-radius: var(--vq-radius) !important;
  box-shadow: var(--vq-shadow) !important; min-width: 0; overflow-wrap: anywhere;
}
body.dcms-visual-quality :is(.dcms-card-body,.dd-card,.ops-card,.dv3-panel,.dh-ai-card,.dcms-install-panel) {
  padding: 20px !important;
}
body.dcms-visual-quality :is(.dh-ai-hero-copy,.dh-ai-snapshot) { padding: 24px !important; }
body.dcms-visual-quality :is(.dcms-card-head,.dd-panel-head,.ops-panel-head,.dv3-panel-head,
 .dh-section-head,.dh-ai-panel-head,.dcms-section-header) { gap: 12px !important; }
/* Do not colour metric cards by position: colours must not imply an outcome. */
body.dcms-visual-quality :is(.dcms-stat-card,.dd-stat-card,.dh-stat,.dh-ai-stat) {
  background: var(--vq-paper) !important; border: 1px solid var(--vq-line) !important;
  border-radius: var(--vq-radius) !important; box-shadow: var(--vq-shadow) !important;
  padding: 18px !important; min-width: 0 !important;
}
body.dcms-visual-quality :is(.dcms-stat-card,.dd-stat-card,.dh-stat,.dh-ai-stat) strong {
  font-size: 1.875rem !important; line-height: 1.15 !important; font-weight: 700 !important;
  font-variant-numeric: tabular-nums; color: var(--vq-ink) !important;
}
body.dcms-visual-quality :is(.dcms-stat-card,.dd-stat-card,.dh-stat,.dh-ai-stat) :is(span,small) {
  font-size: .8125rem !important; font-weight: 500 !important; line-height: 1.5 !important;
  color: var(--vq-muted) !important;
}
/* Consistent control typography; explicit controls only, never every anchor. */
body.dcms-visual-quality :is(.dcms-btn,.dd-btn,.dv3-btn,.ops-btn,.dos-btn,.dh-btn,.dh-ai-btn,
 .dns-btn,.prod-btn,.dt-btn,.dcms-team-btn,.dcms-install-panel button,.dcms-sync-action,
 .dci-app button,.dci-app a.dci-primary,.dci-banner a,.dc-outcome-health button) {
  min-height: 44px !important; max-width: 100%; height: auto !important;
  padding: 11px 16px !important; border-radius: 9px !important;
  font-size: .875rem !important; line-height: 1.4 !important; font-weight: 600 !important;
  letter-spacing: 0 !important; white-space: normal !important;
  box-shadow: none !important; text-decoration: none !important;
}
body.dcms-visual-quality :is(.dcms-btn-primary,.dd-btn.primary,.dv3-btn.primary,.ops-btn.primary,
 .dos-btn.primary,.dh-btn.primary,.dh-ai-btn.primary,.dns-btn.primary,.prod-btn.primary,
 .dci-app .dci-primary,.dci-banner a) {
  color: #fff !important; background: var(--vq-action) !important; border-color: var(--vq-action) !important;
}
body.dcms-visual-quality :is(.dcms-btn-primary,.dd-btn.primary,.dv3-btn.primary,.ops-btn.primary,
 .dos-btn.primary,.dh-btn.primary,.dh-ai-btn.primary,.dci-app .dci-primary):hover:not(:disabled) {
  background: #893500 !important; border-color: #893500 !important;
}
body.dcms-visual-quality :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid var(--vq-focus) !important; outline-offset: 3px !important;
}
body.dcms-visual-quality :is(button,input,select,textarea):disabled {
  cursor: not-allowed !important; box-shadow: none !important;
}
body.dcms-visual-quality :is(.dcms-btn-row,.dd-inline-actions,.dd-form-action-bar,.dv3-row-actions,
 .dv3-head-actions,.dv3-filter-actions,.dv3-wizard-actions,.dv3-editor-actions,.ops-inline-actions,
 .ops-page-actions,.dos-top-actions,.dh-ai-hero-actions,.doc-pagebar-actions,.dci-footer-actions) {
  gap: 10px !important; align-items: center !important; flex-wrap: wrap !important;
}
/* Readable labels/inputs. No input names, values, required or disabled state changes. */
body.dcms-visual-quality :is(.dcms-form,.dd-form,.dv3-form,.dv3-wizard,.ops-form,.dos-app,.prod-form,
 .dns-form,.dcms-team-form,.dd-filter-form,.dv3-filter,.dcms-install-panel,.dci-app)
 :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=submit]),select,textarea) {
  font-size: 1rem !important; line-height: 1.5 !important; font-weight: 400 !important;
  min-height: 46px !important; border: 1px solid var(--vq-field) !important;
  border-radius: 8px !important; padding: 10px 12px !important; box-shadow: none !important;
}
body.dcms-visual-quality :is(.dcms-form,.dd-form,.dv3-form,.dv3-wizard,.ops-form,.dcms-team-form,.dcms-install-panel,.dci-app) label {
  font-size: .875rem !important; line-height: 1.5 !important; font-weight: 600 !important;
}
body.dcms-visual-quality :is(input,textarea)::placeholder { color: #5f6d7e !important; opacity: 1; }
body.dcms-visual-quality :is(.dcms-form,.dd-form,.dv3-form,.dv3-wizard,.ops-form,.dcms-team-form,.dci-app) :is(small,.description) {
  font-size: .8125rem !important; line-height: 1.5 !important;
}
body.dcms-visual-quality :is(.dcms-form-grid,.dd-form-grid,.dv3-form-grid,.ops-form-grid,
 .dos-grid-form,.prod-form-grid,.dcms-team-form-grid,.dcms-install-grid,.dci-grid) {
  gap: 18px 20px !important;
}
body.dcms-visual-quality :is(.dcms-table,.dd-table,.dv3-table,.ops-table,.dos-table,.dcms-team-table,.dcms-install-scroll table,.dcms-install-panel table) th {
  font-size: .8125rem !important; font-weight: 600 !important; line-height: 1.5 !important;
  letter-spacing: .015em !important; color: #445267 !important; padding: 13px 14px !important;
  background: #f7f9fb !important; vertical-align: top;
}
body.dcms-visual-quality :is(.dcms-table,.dd-table,.dv3-table,.ops-table,.dos-table,.dcms-team-table,.dcms-install-scroll table,.dcms-install-panel table) td {
  font-size: .875rem !important; line-height: 1.55 !important; padding: 14px !important;
  font-variant-numeric: tabular-nums; color: var(--vq-ink);
}
body.dcms-visual-quality :is(.dcms-table-wrap,.dd-table-wrap,.dv3-table-wrap,.ops-table-wrap,
 .dos-table-wrap,.dcms-team-table-wrap,.dcms-install-scroll,.dcms-scroll-region) {
  border-radius: 10px !important; scrollbar-gutter: stable;
}
body.dcms-visual-quality :is(.dcms-table,.dd-table,.dv3-table,.ops-table,.dos-table,.dcms-team-table) tbody tr:focus-within {
  background: #f0f5fb;
}
/* Legacy register and dispatch details: restore a readable minimum hierarchy. */
body.dcms-visual-quality :is(.dv3-metrics>div,.ops-kpis>article) {
  background: #fff !important; border: 1px solid var(--vq-line) !important;
  border-radius: 12px !important; padding: 18px !important; min-width: 0;
  box-shadow: var(--vq-shadow) !important;
}
body.dcms-visual-quality :is(.dv3-metrics,.ops-kpis) small {
  font-size: .8125rem !important; font-weight: 600 !important; letter-spacing: 0 !important;
  line-height: 1.5 !important; text-transform: none !important; color: var(--vq-muted) !important;
}
body.dcms-visual-quality :is(.dv3-metrics,.ops-kpis) strong {
  font-size: 1.875rem !important; font-weight: 700 !important; line-height: 1.15 !important;
  font-variant-numeric: tabular-nums;
}
body.dcms-visual-quality :is(.dv3-metrics,.ops-kpis)>:is(div,article)>span,
body.dcms-visual-quality :is(.dv3-table,.ops-table,.dcms-table) small {
  font-size: .8125rem !important; line-height: 1.5 !important; color: var(--vq-muted) !important;
}
body.dcms-visual-quality :is(.dv3-status,.ops-badge,.dos-badge,.dcms-install-badge) {
  font-size: .8125rem !important; font-weight: 600 !important; line-height: 1.45 !important;
  min-height: 30px !important; padding: 5px 10px !important;
}
body.dcms-visual-quality :is(.dv3-row-link,.dv3-row-delete) {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px !important; padding: 10px 12px !important;
  font-size: .875rem !important; line-height: 1.4 !important; font-weight: 600 !important;
  border-radius: 8px !important;
}
body.dcms-visual-quality .ops-detail-list span {
  font-size: .8125rem !important; font-weight: 600 !important; line-height: 1.5 !important;
}
body.dcms-visual-quality .ops-detail-list strong {
  font-size: .9375rem !important; font-weight: 500 !important; line-height: 1.5 !important;
  overflow-wrap: anywhere;
}
body.dcms-visual-quality .ops-job-card {
  border: 1px solid var(--vq-line) !important; border-radius: 12px !important;
  box-shadow: var(--vq-shadow) !important;
}
/* Office frame: retain 3.5.2's measured network/header clearance. */
body.dcms-visual-quality .doc-topbar { border-bottom: 1px solid var(--vq-line) !important; box-shadow: none !important; }
body.dcms-visual-quality :is(.doc-nav-group,.doc-nav-section)>span {
  font-size: .6875rem !important; letter-spacing: .085em !important; font-weight: 600 !important;
}
body.dcms-visual-quality :is(.doc-nav-group,.doc-nav-section) a {
  min-height: 44px !important; font-size: .875rem !important; font-weight: 500 !important;
  line-height: 1.45 !important; height: auto !important;
}
body.dcms-visual-quality .doc-page-context strong { font-size: 1rem !important; font-weight: 600 !important; }
body.dcms-visual-quality :is(.doc-page-context small,.doc-user-btn em small,.doc-sidebar-foot,.doc-search-launch kbd) {
  font-size: .75rem !important; line-height: 1.45 !important;
}
body.dcms-visual-quality :is(.doc-user-btn em strong,.doc-search-launch span) { font-size: .875rem !important; font-weight: 500 !important; }
body.dcms-visual-quality :is(.doc-drawer-toolbar button,.doc-notification-actions button,.doc-notification-actions a) {
  min-height: 44px !important; padding: 10px 12px !important; font-size: .8125rem !important; line-height: 1.4 !important;
}
body.dcms-visual-quality :is(.doc-notification p,.doc-notification>strong,.doc-more-list strong) { font-size: .875rem !important; line-height: 1.5 !important; }
body.dcms-visual-quality :is(.doc-notification-top,.doc-more-list small,.doc-notification-actions span,.doc-notification-actions em) { font-size: .75rem !important; }
body.dcms-visual-quality :is(.dcms-sync-copy,.dcms-sync-copy strong) { font-size: .875rem !important; }
body.dcms-visual-quality :is(.dcms-sync-copy small,.dcms-scroll-hint) { font-size: .8125rem !important; line-height: 1.5 !important; }
/* Preserve the user's exact master logo. Only unused top/bottom canvas is clipped. */
body.dcms-aligned.dcms-visual-quality img.dcms-vq-master-logo {
  object-fit: cover !important; object-position: center !important;
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  filter: none !important; image-rendering: auto !important; padding: 0 !important;
}
body.dcms-visual-quality .doc-brand img.dcms-vq-master-logo { width: 204px !important; height: 42px !important; max-height: 42px !important; }
body.dcms-visual-quality .dcms-tech-brand img.dcms-vq-master-logo { width: 192px !important; height: 42px !important; max-height: 42px !important; }
/* Technician: comfortable field controls, without changing card/status semantics. */
body.dcms-visual-quality #dot-dcms-app :is(.dcms-menu-main,.dcms-submenu button,.dcms-status-chip) {
  font-size: .9375rem !important; font-weight: 600 !important; line-height: 1.45 !important;
}
body.dcms-visual-quality #dot-dcms-app :is(.dcms-card-body h3,.dcms-section-header h2) { font-size: 1.25rem !important; }
body.dcms-visual-quality #dot-dcms-app :is(.dcms-muted,.dcms-card-bar,.dcms-dashboard-head small,.dcms-welcome) {
  font-size: .875rem !important; line-height: 1.5 !important;
}
body.dcms-visual-quality #dot-dcms-app .dcms-card-bar { padding: 12px 20px !important; }
body.dcms-visual-quality #dot-dcms-app .dcms-bottom-nav button { font-weight: 600 !important; }
body.dcms-visual-quality .dcms-modal .dcms-modal-card { border-radius: 14px !important; box-shadow: 0 12px 38px rgb(10 20 35 / 22%) !important; }
body.dcms-visual-quality .dcms-modal .dcms-form { padding: 20px 24px 24px !important; }
body.dcms-visual-quality .dcms-install-check { line-height: 1.55 !important; font-weight: 500 !important; }
/* Intake and completion-delivery panels use the same visual language. */
body.dcms-visual-quality .dci-app { --dci-orange: var(--vq-action); --dci-ink: var(--vq-ink); --dci-muted: var(--vq-muted); --dci-line: var(--vq-line); }
body.dcms-visual-quality .dci-intake-summary { background: #202a38 !important; border-radius: 12px !important; }
body.dcms-visual-quality .dci-intake-summary h2 { color: #fff !important; }
body.dcms-visual-quality .dci-section { padding: 24px !important; }
body.dcms-visual-quality :is(.dci-section-heading p,.dci-form-footer p,.dci-dirty,.dci-detail-bar>span,.dci-queue-row>div>span) { font-size: .8125rem !important; }
body.dcms-visual-quality .dc-outcome-health summary { min-height: 48px; border-radius: 11px 11px 0 0; }
/* Public app sign-in only. Authentication behaviour and WordPress sign-in untouched. */
body.dcms-visual-quality .dcms-login-wrap { min-height: min(780px, 100svh); padding: 48px 20px !important; }
body.dcms-visual-quality .dcms-login-card {
  max-width: 440px !important; width: 100% !important; padding: 32px !important;
  border: 1px solid var(--vq-line) !important; border-radius: 16px !important;
  box-shadow: 0 4px 20px rgb(19 33 54 / 6%) !important; background: #fff !important;
}
body.dcms-visual-quality .dcms-login-card h1 { font-size: 1.5rem !important; margin: 14px 0 8px !important; }
body.dcms-visual-quality .dcms-login-card>p { font-size: .9375rem !important; color: var(--vq-muted) !important; line-height: 1.6 !important; }
body.dcms-visual-quality .dcms-login-logo-wrap { min-height: 44px !important; margin: 0 0 12px !important; }
body.dcms-visual-quality .dcms-login-logo.dcms-vq-master-logo { width: 280px !important; max-width: 100% !important; height: 48px !important; max-height: 48px !important; }
body.dcms-visual-quality .dcms-forgot-password { min-height: 44px; display: flex; align-items: center; justify-content: center; font-size: .875rem !important; }
@media (max-width: 999px) {
  body.dcms-visual-quality { font-size: 16px; }
  body.dcms-visual-quality :is(.doc-bottom-nav,.doc-mobile-nav)>* { font-size: .75rem !important; min-height: 52px !important; }
  body.dcms-visual-quality #dot-dcms-app .dcms-bottom-nav button { font-size: .75rem !important; }
}
@media (max-width: 639px) {
  body.dcms-visual-quality :is(.dcms-card-body,.dd-card,.ops-card,.dv3-panel,.dh-ai-card,.dcms-install-panel) { padding: 16px !important; }
  body.dcms-visual-quality :is(.dh-ai-hero-copy,.dh-ai-snapshot,.dci-section) { padding: 18px !important; }
  body.dcms-visual-quality :is(.dcms-stat-card,.dd-stat-card,.dh-stat,.dh-ai-stat) { padding: 14px !important; }
  body.dcms-visual-quality :is(.doc-brand img.dcms-vq-master-logo) { width: 158px !important; height: 38px !important; }
  body.dcms-visual-quality .dcms-modal .dcms-form { padding: 16px !important; }
  body.dcms-visual-quality .dcms-modal .dcms-modal-card { border-radius: 12px !important; }
  body.dcms-visual-quality #dot-dcms-app .dcms-card-bar { padding: 12px 16px !important; }
  body.dcms-visual-quality .dcms-install-panel table.dcms-mobile-records td[data-label]::before { font-size: .75rem !important; font-weight: 600 !important; }
  body.dcms-visual-quality .dcms-login-wrap { padding: 28px 14px !important; }
  body.dcms-visual-quality .dcms-login-card { padding: 24px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.dcms-visual-quality :is(.dcms-login-card,.dcms-btn,.dd-btn,.dv3-btn,.ops-btn,.doc-icon-btn,.dci-app button) { transition: none !important; }
}
@media (forced-colors: active) {
  body.dcms-visual-quality :is(.dcms-card,.dd-card,.dv3-panel,.ops-panel,.ops-card,.dcms-job-card,.dci-section) { border-color: CanvasText !important; box-shadow: none !important; }
}
@media print {
  body.dcms-visual-quality { background: #fff !important; color: #000 !important; }
  body.dcms-visual-quality :is(.dcms-card,.dd-card,.dv3-panel,.ops-panel,.ops-card,.dcms-job-card,.dci-section,.dcms-login-card) { box-shadow: none !important; }
}

/* Dashboard selectors must outrank native nth-child colours and small KPI text. */
body.dcms-aligned.dcms-visual-quality .dh-ai-kpi-strip .dh-stat {
  background:#fff !important; border-color:var(--vq-line) !important;
  box-shadow:var(--vq-shadow) !important; transform:none !important;
}
body.dcms-aligned.dcms-visual-quality .dh-ai-kpi-strip .dh-stat :is(small,em) {
  font-size:.8125rem !important; line-height:1.5 !important;
  letter-spacing:0 !important; text-transform:none !important;
  font-weight:500 !important; color:var(--vq-muted) !important;
}
/* Small secondary labels must not retain older 9–10px module overrides. */
body.dcms-visual-quality :is(.dv3-filter,.dd-filter-form,.dv3-wizard,.ops-form,.dci-app) label>span {
  font-size:.875rem !important; font-weight:600 !important; line-height:1.5 !important;
  letter-spacing:0 !important;
}
body.dcms-visual-quality :is(.dv3-table,.ops-table,.dcms-table,.dcms-install-panel table) td strong {
  font-size:.875rem !important; font-weight:600 !important; line-height:1.5 !important;
}
/* Sign-in: normal-weight copy rather than the legacy 900-weight all-caps treatment. */
body.dcms-visual-quality .dcms-login-card {
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
}
body.dcms-visual-quality .dcms-login-card>p {
  font-weight:400 !important; letter-spacing:0 !important; text-transform:none !important;
}
body.dcms-visual-quality .dcms-login-card .dcms-form label {
  font-size:.875rem !important; font-weight:600 !important;
  letter-spacing:0 !important; text-transform:none !important;
}
body.dcms-visual-quality .dcms-login-card .dcms-form input { min-height:48px !important; height:48px !important; }
body.dcms-visual-quality .dcms-login-card .dcms-btn { text-transform:none !important; }
body.dcms-visual-quality .dcms-login-card .dcms-forgot-password { font-weight:600 !important; }
@media (max-width:999px) {
  body.dcms-visual-quality .doc-mobile-nav :is(a,button) {
    font-size:11px !important; line-height:1.3 !important; font-weight:600 !important;
    padding-inline:2px !important; letter-spacing:0 !important;
    white-space:nowrap !important; overflow-wrap:normal !important; word-break:normal !important;
  }
  body.dcms-visual-quality .dh-ai-hero-actions { align-items:stretch !important; }
  body.dcms-visual-quality .dh-ai-hero-actions>a { height:100% !important; }
}
