/* Approved compact interface. Keep existing map geometry and production controls. */
html#od-app-html {
  --od-header-height: 52px;
  --od-progress-height: 40px;
  --od-footer-height: 64px;
  --od-panel-pad-x: 16px;
  --od-panel-pad-y: 12px;
  --od-type-xs: 11px;
  --od-type-sm: 12px;
  --od-type-md: 12px;
  --od-type-xl: 19px;
  --r24-divider-size: 10px;
}
html#od-app-html[data-theme='dark'] {
  color-scheme: dark;
  --od-bg:#070708; --od-surface-0:#09090b; --od-surface-1:#101013;
  --od-surface-2:#16161b; --od-surface-3:#202027;
  --od-text-1:#fff; --od-text-2:#e2e2e8; --od-text-3:#b9b9c5; --od-text-4:#aaaab8;
  --r24-accent:#d9a7f2; --r24-teal:#42d9dc;
  --od-brand-purple:#c185fc; --od-brand-purple-bright:#d9a7f2; --od-brand-purple-soft:#d9a7f2;
  --od-brand-turquoise:#42d9dc; --od-brand-turquoise-bright:#42d9dc;
  --od-on-purple:#100b15; --orion-purple-active:#d9a7f2; --orion-purple-light:#d9a7f2;
  --od-line-1:#29292f; --od-line-2:#40404a;
  --oa-ink:#fff; --oa-muted:#b9b9c5; --oa-purple:#d9a7f2;
  --oa-purple-soft:#2b2034; --oa-border:#40404a; --oa-paper:#101013;
}
html#od-app-html[data-theme='light'] {
  color-scheme: light;
  --od-bg:#fff; --od-surface-0:#fff; --od-surface-1:#fff;
  --od-surface-2:#f6f6f9; --od-surface-3:#eeeef3;
  --od-text-1:#141419; --od-text-2:#2f2f37; --od-text-3:#565661; --od-text-4:#656571;
  --r24-accent:#5b217a; --r24-teal:#00767c;
  --od-brand-purple:#5b217a; --od-brand-purple-bright:#6f268f; --od-brand-purple-soft:#5b217a;
  --od-brand-turquoise:#00767c; --od-brand-turquoise-bright:#00767c;
  --od-on-purple:#fff; --orion-purple-active:#5b217a; --orion-purple-light:#5b217a;
  --od-line-1:#e3e3e9; --od-line-2:#cbccd5;
  --oa-ink:#141419; --oa-muted:#656571; --oa-purple:#5b217a;
  --oa-purple-soft:#f2eaf7; --oa-border:#cbccd5; --oa-paper:#fff;
}
#od-app-root [hidden], .od-redesign-info-popover[hidden] { display:none !important; }
#od-app-root { height:100dvh; min-height:0; overflow:hidden; }
#od-app-root .od-panel { background:var(--od-surface-1) !important; }
#od-app-root .od-panel-content { padding:12px 16px !important; overflow:auto !important; scrollbar-width:thin; }
#od-app-root .od-step { height:auto !important; min-height:0 !important; gap:12px !important; overflow:visible !important; }
#od-app-root .od-step-heading { min-height:32px !important; padding:0 0 10px; border-bottom:1px solid var(--od-line-1); gap:8px !important; }
#od-app-root .od-step-heading h2 { color:var(--r24-accent); font-size:19px !important; font-weight:600 !important; letter-spacing:0; line-height:1.35; }
#od-app-root .od-step-heading .od-eyebrow,
#od-app-step-3-dimension-badge, #od-app-step-3-live-pill { display:none !important; }
.od-redesign-mission-summary { margin:4px 0 0; max-width:100%; color:var(--od-text-3); font-size:11px; line-height:1.45; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#od-app-root .od-info-button { width:26px; height:26px; min-height:26px; border:0; color:var(--od-text-2); background:transparent; padding:4px; }
#od-app-root .od-icon { width:16px; height:16px; }
#od-app-root :is(button,a,input,textarea,select):focus-visible { outline:2px solid var(--r24-teal) !important; outline-offset:2px; }
#od-app-root button:disabled { opacity:.45; }

/* One restrained header: identity, context, portals, then utility controls. */
#od-app-header { display:flex !important; align-items:center; gap:14px; padding:0 16px !important; background:var(--od-surface-0); }
#od-app-brand-group { flex:0 0 auto; gap:10px; }
#od-app-header .od-brand-logo { width:72px; height:34px; object-fit:contain; filter:none !important; }
#od-app-header .od-brand-product { font-size:11px; }
#od-app-header-context { flex:1 1 auto; min-width:0; justify-content:flex-start; gap:6px; }
#od-app-header-context-text { font-size:11px; font-weight:500; }
#od-app-header-change-customer { min-height:26px; padding:0 7px; border:0; font-size:10px; background:transparent; color:var(--r24-accent); }
html:not([data-app-actor-mode='admin-on-behalf']) #od-app-header-context { display:none !important; }
#od-app-header-actions { margin-inline-start:auto; gap:10px !important; }
#od-redesign-tools { display:flex; align-items:center; gap:3px; direction:ltr; }
#od-app-header #od-redesign-tools .od-header-button { border:0 !important; background:transparent !important; border-radius:5px !important; width:30px !important; min-width:30px !important; height:32px !important; min-height:32px !important; }
#od-app-header #od-app-language-button { width:44px !important; min-width:44px !important; }
#od-app-header #oa-account-slot { max-width:none; gap:10px; direction:rtl; }
#od-app-header #oa-account-button { min-height:32px; border:0; padding:3px 6px; background:transparent; color:var(--od-text-1); font-size:12px; }
#od-app-header .oa-avatar { width:24px; height:24px; border-radius:6px; background:var(--r24-accent-soft); color:var(--r24-accent); }
#od-app-header .oa-account-arrow { display:none; }
#od-app-header .oa-portals { max-width:none; overflow:visible; gap:2px; padding:0; }
#od-app-header .oa-portals a { border:0; background:transparent; color:var(--r24-accent); border-radius:4px; padding:6px 5px; font-size:11px; font-weight:500; }
#od-app-header .oa-portals a::after { content:none !important; }
#od-app-header #od-app-admin-console-button { display:inline-flex; align-items:center; gap:4px; min-height:30px; padding:0 7px; border:1px solid var(--od-line-1); background:transparent; color:var(--r24-accent); font-size:10px; box-shadow:none; border-radius:5px; }
#od-app-root .od-progress-index { width:24px; height:24px; font-size:11px; box-shadow:none; }
#od-app-root .od-progress-step { gap:7px; }
#od-app-root .od-progress-label { font-size:11px; font-weight:500; }
#od-app-root .od-progress-step.is-active .od-progress-index { color:var(--od-on-purple); }

/* Stages 1 and 2 retain all input methods and their existing order. */
#od-app-root .od-field-block { gap:4px; }
#od-app-root :is(.od-text-input,.od-small-input) { height:34px; min-height:34px; padding:0 9px; border:1px solid var(--od-line-2); background:var(--od-surface-2); font-size:12px; border-radius:5px; }
#od-app-root .od-textarea { padding:7px 9px; min-height:54px; font-size:12px; border-color:var(--od-line-2); background:var(--od-surface-2); }
#od-app-mission-description-input { height:52px; min-height:52px !important; }
#od-app-root :is(.od-choice-card,.od-method-button,.od-segment-button,.od-chip) { box-shadow:none !important; border-radius:5px !important; font-size:12px; gap:5px; }
#od-app-root .od-choice-card { min-height:50px !important; padding:6px !important; }
#od-app-root .od-choice-card strong { font-size:12px !important; }
#od-app-root .od-choice-card .od-choice-icon { width:24px; height:24px; }
#od-app-root .od-segment-button { min-height:38px !important; padding:5px 8px !important; }
#od-app-root .od-method-button { min-height:38px !important; padding:5px !important; flex-direction:row; }
#od-app-root .od-method-content { flex:0 0 auto; min-height:110px; height:auto !important; }
#od-app-root .od-method-panel { min-height:110px; padding:10px; }
#od-app-root .od-method-panel[data-method-panel='govmap'],
#od-app-root .od-method-panel[data-method-panel='binyamin'],
#od-app-root .od-method-panel[data-method-panel='coordinates'] { padding-bottom:26px; }
#od-app-root .od-primary-button { min-height:34px; padding:0 10px; color:var(--od-on-purple); box-shadow:none; }
#od-app-root :is(.od-choice-card,.od-method-button,.od-segment-button,.od-chip).is-selected { color:var(--r24-accent) !important; border-color:var(--r24-accent) !important; background:var(--r24-accent-soft) !important; }
#od-app-step-1-name-help { display:none; }

/* Stage 3: label and value share a single compact row, two columns. */
#od-app-root .od-parameter-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:0 12px !important; }
#od-app-root .od-parameter-panel { gap:10px; }
#od-app-root :is(.od-number-control,.od-derived-control) { display:flex !important; align-items:center !important; justify-content:space-between !important; flex-wrap:nowrap; min-width:0; min-height:46px !important; padding:4px 0 !important; gap:3px !important; background:transparent !important; border:0 !important; border-bottom:1px solid var(--od-line-1) !important; border-radius:0 !important; box-shadow:none !important; }
#od-app-root .od-control-label-row { display:flex; flex-direction:column; align-items:flex-start; gap:0; min-width:0; flex:1 1 auto; font-size:11px !important; line-height:1.3; }
#od-app-root .od-control-label-row label { font-size:11px !important; font-weight:500; color:var(--od-text-2); }
#od-app-root .od-control-label-row > span:last-child:not(:first-child) { font-size:9px; color:var(--od-text-4); }
#od-app-root .od-stepper { display:grid; grid-template-columns:26px 40px 26px; flex:0 0 auto; height:32px !important; min-height:32px !important; width:92px !important; padding:0 !important; border:0 !important; border-radius:4px !important; background:transparent !important; direction:ltr; }
#od-app-root .od-stepper button { width:26px !important; min-width:26px !important; height:32px !important; min-height:32px !important; padding:0 !important; border:0 !important; background:transparent !important; color:var(--od-text-1) !important; }
#od-app-root .od-stepper input { width:40px !important; min-width:0; height:32px !important; padding:0 !important; border:0 !important; background:transparent !important; color:var(--r24-teal) !important; font-size:14px !important; font-weight:600 !important; text-align:center; -moz-appearance:textfield; }
#od-app-root .od-stepper input::-webkit-inner-spin-button,
#od-app-root .od-stepper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
#od-app-root .od-derived-control output { font-size:15px !important; font-weight:600 !important; color:var(--r24-teal) !important; padding-inline:5px; }
#od-app-parameter-gsd-map-resolution,#od-app-parameter-speed-limit { display:none !important; }
#od-app-root #od-app-terrain-follow-label { display:flex !important; min-height:32px !important; margin:0 !important; padding:6px 0 !important; gap:7px; border:0 !important; background:transparent !important; font-size:11px; }
#od-app-terrain-follow-copy::after { content:none !important; }
#od-app-root #od-admin-route-planner { margin:0 !important; padding:0 !important; background:transparent !important; border:0 !important; border-radius:0; box-shadow:none; }
#od-app-root #od-admin-route-planner > header,
#od-app-root #od-admin-route-planner > p { display:none; }
#od-app-root #od-admin-route-planner .od-route-planner-grid { gap:0; }
#od-app-root #od-admin-route-planner :is(.od-route-direction,.od-route-corners) { min-height:37px; padding:2px 0; border:0; border-bottom:1px solid var(--od-line-1); border-radius:0; background:transparent; flex-wrap:nowrap; gap:6px; }
#od-app-root #od-admin-route-planner :is(.od-route-direction,.od-route-corners)>span { flex-basis:auto; font-size:11px; font-weight:500; }
#od-app-root #od-admin-route-planner button { min-height:30px; font-size:11px; border-radius:4px; padding:0 7px; transform:none; }
#od-app-root #od-admin-route-planner .od-route-stepper { border:0; grid-template-columns:28px 55px 28px; }
#od-app-root #od-admin-route-planner .od-route-stepper button { color:var(--od-text-1); }
#od-app-root #od-admin-route-planner .od-route-stepper output { color:var(--r24-teal); font-weight:600; }
#od-app-root #od-admin-route-planner .od-route-corners>div button { width:30px; color:var(--r24-teal); }
html:not([data-orion-r171-admin='authorized']) #od-app-root :is(#od-admin-route-planner,#od-admin-road-segment-control,#od-app-summary-controller-time,#od-app-summary-divider-controller-time) { display:none !important; }
#od-app-root .od-custom-checkbox { width:17px; height:17px; flex:0 0 17px; border:1px solid var(--od-line-2); border-radius:4px; }
#od-app-root input:checked + .od-custom-checkbox { background:var(--r24-teal) !important; border-color:var(--r24-teal) !important; color:var(--od-bg) !important; }

/* Stage 4: service title at right of the divider, formats at left. */
#od-app-root .od-services-grid { display:flex !important; flex-direction:column !important; gap:0 !important; height:auto !important; min-height:0 !important; }
#od-app-root .od-service-card { display:grid !important; grid-template-columns:minmax(125px,40%) minmax(0,1fr) !important; grid-template-rows:auto !important; min-height:56px !important; height:auto !important; max-height:none !important; padding:0 !important; border:0 !important; border-bottom:1px solid var(--od-line-1) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; overflow:visible !important; }
#od-app-root .od-service-header { position:relative; display:flex !important; flex-direction:column; align-items:flex-start !important; justify-content:center !important; grid-column:1 !important; grid-row:1 !important; min-width:0; min-height:56px !important; gap:4px !important; padding:8px 0 8px 28px !important; border:0 !important; border-inline-end:1px solid var(--od-line-1) !important; }
#od-app-root .od-service-header .od-switch-row { display:flex; align-items:center; gap:6px; color:var(--od-text-1); font-size:12px !important; font-weight:500; line-height:1.45; }
#od-app-root .od-service-price { font-size:11px !important; color:var(--r24-accent) !important; margin:0; white-space:normal; }
#od-app-root .od-service-body { grid-column:2 !important; grid-row:1 !important; display:flex !important; flex-direction:column; justify-content:center; align-items:stretch; height:auto !important; min-height:0 !important; padding:8px 10px !important; gap:6px !important; border:0 !important; opacity:1 !important; background:transparent !important; overflow:visible !important; }
#od-app-root .od-service-body[inert] { opacity:.55 !important; }
#od-app-root .od-redesign-service-info { position:absolute; inset-inline-end:2px; top:50%; transform:translateY(-50%); }
#od-app-root :is(#od-app-service-processing-switch,#od-app-service-model-switch) { display:none !important; }
#od-app-root .od-r24-product-halves { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:5px !important; }
#od-app-root .od-r24-product-halves .od-format-chip { display:flex !important; align-items:center; justify-content:flex-start; min-height:32px !important; padding:4px 0 !important; border:0 !important; border-radius:0; gap:5px; background:transparent !important; color:var(--od-text-2); }
#od-app-root .od-r24-product-halves .od-format-chip b { font-size:11px !important; font-weight:500; }
#od-app-root .od-r24-product-halves .od-format-chip > span:last-child { display:flex; align-items:center; gap:5px; min-width:0; }
#od-app-root .od-r24-product-halves .od-format-chip small { display:inline; font-size:10px; font-weight:500; color:var(--r24-teal); white-space:nowrap; }
#od-app-service-processing-price, #od-app-service-model-price, #od-app-quote-line-model { display:none !important; }
#od-app-root .od-r24-check { width:17px; height:17px; flex:0 0 17px; border-color:var(--od-line-2); border-radius:4px; }
#od-app-root .od-r24-check .od-icon { width:13px; height:13px; }
#od-app-root .od-format-chip.is-selected .od-r24-check { background:var(--r24-teal); border-color:var(--r24-teal); color:var(--od-bg); }
#od-app-root #od-app-service-gcp { min-height:88px !important; }
#od-app-root #od-app-service-gcp-body { display:grid !important; grid-template-columns:minmax(0,1fr); grid-template-rows:32px 32px; gap:4px !important; padding:8px 10px !important; }
#od-app-root #od-app-service-gcp-count-row { min-height:32px !important; display:flex; justify-content:flex-start; gap:5px; padding:0; }
#od-app-root :is(#od-app-service-gcp-status,#od-app-service-gcp-recommendation,#od-app-service-gcp-count-unit) { display:none !important; }
#od-app-root #od-app-service-gcp-methods { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); min-height:32px !important; gap:3px !important; }
#od-app-root #od-app-service-gcp-methods .od-mini-button { min-height:32px; min-width:0; padding:0 3px; gap:3px; border:0; background:var(--od-surface-2); color:var(--od-text-2); border-radius:4px; font-size:10px; white-space:nowrap; }
#od-app-root #od-app-service-gcp-methods .od-icon { width:12px; height:12px; flex-shrink:0; }
#od-app-root :is(#od-app-service-cad-explanation,#od-app-service-cad-meta,#od-app-service-cad-help) { display:none !important; }
#od-app-root #od-app-service-cad-notes { min-height:42px !important; height:42px; resize:vertical; max-height:110px; font-size:11px; padding:6px; }
.od-redesign-info-popover { max-width:min(330px,calc(100vw - 32px)); padding:16px; border:1px solid var(--od-line-2); border-radius:8px; background:var(--od-surface-1); color:var(--od-text-2); font-size:13px; line-height:1.7; box-shadow:var(--od-shadow-md); direction:rtl; }
.od-redesign-info-popover::backdrop { background:#0004; }

/* Stage 5 uses existing quote arithmetic and admin editors. */
#od-app-root .od-quote-card { border-radius:6px; box-shadow:none; background:transparent; }
#od-app-root .od-quote-line { min-height:40px; padding-block:6px; }
#od-app-root .od-quote-line-title { font-size:12px; font-weight:500; }
#od-app-root .od-quote-line-meta { font-size:10px; }
#od-app-root .od-total-row { padding-block:5px; font-size:12px; }
#od-app-root .od-grand-total strong { color:var(--r24-accent); font-size:21px; }
#od-app-root .od-inline-discount-editor { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
#od-r24-discount-reason { grid-column:1/-1; }
#od-app-root .od-decision-button { min-height:44px; border-radius:5px; box-shadow:none; }
#od-app-root .od-decision-copy strong { font-size:12px; }
#od-app-root .od-decision-copy>span { font-size:10px; }

/* Footer remains persistent and shows every summary field. */
#od-app-footer { background:var(--od-surface-0); }
#od-app-root .od-summary { gap:12px; padding:6px 14px; }
#od-app-root .od-summary-item>span { font-size:10px; color:var(--od-text-3); }
#od-app-root .od-summary-item>strong { font-size:12px; color:var(--od-text-1); font-weight:500; }
#od-app-root #od-app-summary-price-value { color:var(--r24-accent) !important; font-size:17px; font-weight:600; }
#od-app-root .od-nav-button { min-height:38px; border-radius:5px; box-shadow:none; font-size:12px; padding:0 14px; min-width:96px; }
#od-app-root .od-nav-primary { background:var(--od-brand-purple); color:var(--od-on-purple); }
#od-app-root .od-nav-secondary { border-color:var(--r24-accent); color:var(--od-text-1); }
#od-app-root .od-navigation-status { font-size:10px; }

/* Theme-safe dialogs and login follow the same typography and color contract. */
#orion-auth-root :is(.oa-content,.oa-account-dialog) { background:var(--od-surface-1); color:var(--od-text-1); }
#orion-auth-root input { background:var(--od-surface-2); color:var(--od-text-1); border-color:var(--od-line-2); }
#orion-auth-root label { color:var(--od-text-2); }
#orion-auth-root .oa-primary { background:var(--od-brand-purple); color:var(--od-on-purple); }
.od-r236-entry-dialog { background:var(--od-surface-1) !important; }
.od-r236-entry-dialog :is(p,small) { color:var(--od-text-3) !important; }
.od-r239-auth-head img { filter:none !important; }

@media (orientation:portrait), (max-width:760px) {
  html#od-app-html { --od-header-height:72px; --od-progress-height:0px; --od-footer-height:calc(112px + env(safe-area-inset-bottom)); --r24-mobile-map-height:calc((100dvh - var(--od-header-height) - var(--od-footer-height) - 10px)/2); }
  #od-app-root { grid-template-columns:minmax(0,1fr) !important; grid-template-rows:var(--od-header-height) minmax(100px,var(--r24-mobile-map-height)) 10px minmax(100px,1fr) var(--od-footer-height) !important; grid-template-areas:'header' 'map' 'divider' 'panel' 'footer' !important; }
  #od-app-root .od-app-main { display:contents !important; }
  #od-app-root .od-map-region { min-height:100px !important; }
  #od-app-root .od-panel { min-height:0 !important; height:100%; border:0; }
  #od-app-root #od-app-progress { display:none !important; }
  #od-app-header { display:grid !important; grid-template-columns:66px minmax(0,1fr) auto; grid-template-rows:34px 28px; gap:2px 5px; padding:4px 8px !important; }
  #od-app-brand-group { grid-column:1; grid-row:1; }
  #od-app-header .od-brand-logo { width:60px; height:28px; }
  #od-app-header-actions,#od-app-header #oa-account-slot { display:contents !important; }
  #od-redesign-tools { grid-column:3; grid-row:1; justify-self:end; }
  #od-app-header #oa-account-button { grid-column:2; grid-row:1; justify-self:start; padding:0; min-width:0; max-width:100%; font-size:11px; }
  #od-app-header #oa-greeting { overflow:hidden; text-overflow:ellipsis; }
  #od-app-header .oa-avatar,#od-app-header #od-app-video-button,#od-app-header #od-app-help-button { display:none !important; }
  #od-app-header-context { grid-column:1/3; grid-row:2; max-width:100%; gap:2px; }
  #od-app-header-context-text { font-size:10px; max-width:none; }
  #od-app-header-change-customer { font-size:10px; min-width:26px; width:auto; padding:0 3px; }
  #od-app-header-change-customer::after { content:none; }
  #od-app-header .oa-portals { grid-column:3; grid-row:2; justify-self:end; gap:0; }
  #od-app-header .oa-portals a { padding:4px; font-size:10px; }
  #od-app-header #od-app-admin-console-button { display:inline-flex; width:26px; min-width:26px; padding:0 4px; border:0; }
  #od-app-header #od-app-admin-console-button span { display:none; }
  #od-app-root .od-panel-content { padding:9px 10px !important; }
  #od-app-root .od-step { gap:8px !important; }
  #od-app-root .od-step-heading { min-height:28px !important; padding-bottom:7px; }
  #od-app-root .od-step-heading h2 { font-size:17px !important; }
  .od-redesign-mission-summary { font-size:10px; margin-top:2px; }
  #od-app-root .od-parameter-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:0 9px !important; }
  #od-app-root :is(.od-number-control,.od-derived-control) { min-height:40px !important; }
  #od-app-root .od-control-label-row label { font-size:10px !important; }
  #od-app-root .od-stepper { grid-template-columns:24px 32px 24px; width:80px !important; }
  #od-app-root .od-stepper input { width:32px !important; font-size:13px !important; }
  #od-app-root .od-stepper button { width:24px !important; min-width:24px !important; }
  #od-app-root .od-service-card { grid-template-columns:minmax(120px,39%) minmax(0,1fr) !important; min-height:48px !important; }
  #od-app-root .od-service-header { min-height:48px !important; padding-block:5px !important; padding-inline-end:24px !important; }
  #od-app-root .od-service-header .od-switch-row { font-size:11px !important; }
  #od-app-root .od-service-body { padding:5px 7px !important; }
  #od-app-root #od-app-service-gcp-body { padding:5px 7px !important; }
  #od-app-root #od-app-service-gcp-methods .od-icon { display:none; }
  #od-app-root #od-app-service-gcp-methods .od-mini-button { font-size:9px; min-height:32px; }
  #od-app-root .od-r24-product-halves .od-format-chip { gap:4px; }
  #od-app-root .od-r24-product-halves .od-format-chip b { font-size:10px !important; }
  #od-app-root .od-choice-grid-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #od-app-root .od-choice-card { min-height:36px !important; flex-direction:row; }
  #od-app-root .od-choice-card .od-choice-icon { width:20px; height:20px; }
  #od-app-root .od-choice-card small { display:none; }
  #od-app-root .od-two-column-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #od-app-root .od-quote-actions { gap:5px; }
  #od-app-footer { height:var(--od-footer-height) !important; min-height:0 !important; grid-template-rows:58px 46px !important; padding:4px 8px env(safe-area-inset-bottom) !important; }
  #od-app-root #od-app-summary { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; grid-template-rows:18px 32px; gap:2px 5px !important; padding:0 !important; overflow:hidden !important; align-items:center; }
  #od-app-root #od-app-summary .od-summary-item { min-width:0 !important; max-width:none !important; gap:1px; margin:0; }
  #od-app-root #od-app-summary .od-summary-name { grid-column:1/-1; flex-direction:row !important; align-items:baseline; gap:5px; }
  #od-app-root #od-app-summary .od-summary-name strong { text-align:start; }
  #od-app-root #od-app-summary .od-summary-item>span { font-size:9px !important; white-space:nowrap; }
  #od-app-root #od-app-summary .od-summary-item>strong { font-size:11px !important; white-space:nowrap; }
  #od-app-root #od-app-summary #od-app-summary-price-value { font-size:14px !important; }
  #od-app-root #od-app-summary .od-summary-divider { display:none !important; }
  #od-app-root #od-app-navigation { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px !important; padding:3px 0 !important; }
  #od-app-root .od-navigation-status { display:none !important; }
  #od-app-root :is(#od-app-next-button,#od-app-previous-button) { min-width:0 !important; width:100%; height:38px; min-height:38px; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) { #od-app-root *,#od-app-root *::before { animation:none !important; transition:none !important; } }

/* Override older cascade locks, including hidden live indicators. */
html#od-app-html body#od-app-body #od-app-root [hidden] { display:none !important; }
html#od-app-html body#od-app-body #od-app-root [hidden]::before,
html#od-app-html body#od-app-body #od-app-root [hidden]::after { content:none !important; }
#od-app-root #od-app-service-gcp-methods .od-mini-button span { display:inline !important; font-size:10px !important; }
#od-app-root #od-app-next-label::after,
#od-app-root #od-app-next-label::before,
#od-app-root #od-app-my-link::after { content:none !important; }
#od-app-root .od-nav-button>span { font-size:12px !important; }
#od-app-header #od-redesign-tools #od-app-language-button { width:44px !important; min-width:44px !important; }
#od-app-root .od-map-toolbar { background:var(--od-surface-1) !important; color:var(--od-text-1) !important; border-color:var(--od-line-2) !important; }
#od-app-root .od-map-toolbar button { background:transparent !important; color:var(--od-text-1) !important; }
#od-app-root #od-app-step-4 .od-service-card { grid-template-columns:minmax(125px,40%) minmax(0,1fr) !important; min-height:56px !important; margin:0 !important; }
#od-app-root #od-app-step-4 #od-app-service-gcp { min-height:88px !important; }
#od-app-root #od-app-step-4 #od-app-service-gcp-body { grid-template-rows:32px 32px !important; align-content:center; }
#od-app-root #od-app-step-4 #od-app-service-gcp-count-row { grid-row:1 !important; grid-column:1 !important; }
#od-app-root #od-app-step-4 #od-app-service-gcp-methods { grid-row:2 !important; grid-column:1 !important; }
#od-app-root #od-app-step-4 #od-app-service-gcp-stepper { grid-template-columns:26px 40px 26px !important; overflow:visible !important; }
#od-app-root #od-app-step-4 .od-r24-product-halves { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; align-items:center; }
#od-app-root #od-app-step-4 .od-format-chip { min-height:32px !important; height:32px !important; }
@media (orientation:portrait), (max-width:760px) {
  html#od-app-html { --od-footer-height:calc(112px + env(safe-area-inset-bottom)) !important; }
  #od-app-root #od-app-navigation { direction:ltr; }
  #od-app-root #od-app-previous-button { grid-column:1 !important; grid-row:1 !important; direction:rtl; }
  #od-app-root #od-app-next-button { grid-column:2 !important; grid-row:1 !important; direction:rtl; }
  #od-app-root #od-app-service-gcp-methods .od-mini-button span { font-size:9px !important; }
  #od-app-root .od-map-toolbar { display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; width:auto !important; height:auto !important; max-width:calc(100% - 80px); padding:3px !important; gap:1px; }
  #od-app-root .od-map-toolbar .od-map-tool-button { width:30px !important; min-width:30px !important; height:30px !important; min-height:30px !important; padding:5px !important; }
  #od-app-root .od-map-toolbar>button { width:30px !important; min-width:30px !important; height:30px !important; min-height:30px !important; padding:5px !important; }
  #od-app-root #od-app-step-4 .od-service-card { grid-template-columns:minmax(120px,39%) minmax(0,1fr) !important; min-height:48px !important; }
  #od-app-root #od-app-step-4 #od-app-service-gcp-stepper { grid-template-columns:24px 32px 24px !important; }
}

/* Real calculation stages, no invented completion percentage. */
#od-app-root .od-calculation-progress { grid-column:1/-1; display:grid; gap:5px; padding:10px 12px; margin-top:8px; border:1px solid var(--od-line-1); border-inline-start:3px solid var(--r24-teal); border-radius:6px; background:var(--od-surface-2); color:var(--od-text-1); font:inherit; }
#od-app-root .od-calculation-progress[hidden], #od-app-point-price-retry[hidden] { display:none!important; }
#od-app-root .od-calculation-progress strong { font-size:12px; color:var(--r24-accent); }
#od-app-root .od-calculation-progress small { font-size:11px; line-height:1.5; color:var(--od-text-3); }
#od-app-point-price-retry { grid-column:1/-1; color:var(--r24-teal); font:inherit; }
@media(max-width:640px) { #od-app-root .od-calculation-progress { margin-top:4px; padding:6px 8px; gap:3px; } }

#od-app-root .od-estimate-notice { grid-column:1/-1; padding:8px 10px; margin:6px 0; border:1px solid var(--od-line-2); border-inline-start:3px solid var(--r24-teal); border-radius:5px; background:var(--od-surface-2); font-size:11px; line-height:1.55; color:var(--od-text-2); }
#od-app-root .od-estimate-notice[hidden] { display:none!important; }

/* Customer codes are separate from administrator price editing. */
#od-app-customer-code { display:none; margin:8px 0; }
html[data-app-actor-mode="customer"] #od-app-customer-code, html[data-app-actor-mode="admin-on-behalf"] #od-app-customer-code, html[data-app-actor-mode="admin-master"] #od-app-customer-code { display:grid; gap:5px; }
#od-app-customer-code label { color:var(--od-text-2); font:inherit; font-size:12px; font-weight:600; }
#od-app-customer-code .od-customer-code-controls { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:6px; }
#od-app-customer-code input { width:100%; min-width:0; min-height:34px; padding:5px 9px; border:1px solid var(--od-line-2); border-radius:8px; background:var(--od-surface-2); color:var(--od-text-1); font:inherit; font-size:12px; }
#od-app-customer-code input::placeholder { color:var(--od-text-3); }
#od-app-customer-code button { min-height:34px; padding:5px 11px; border:1px solid var(--r24-teal); border-radius:8px; background:transparent; color:var(--r24-teal); font:inherit; font-size:12px; font-weight:600; white-space:nowrap; }
#od-app-customer-code output { font:inherit; font-size:11px; color:var(--od-text-2); overflow-wrap:anywhere; }
#od-app-customer-code output.is-valid { color:var(--r24-teal); }
#od-app-customer-code output.is-invalid { color:var(--od-text-1); border-inline-start:2px solid var(--r24-accent); padding-inline-start:6px; }

/* 20260926 brand contrast: only brand UI, never status catalog/ticket --tone. */
html[data-theme=dark] :is(.brand-logo,.od-brand-logo,#pilot-header-logo,.oa-logo,.cp-logo,#od-app-process-logo,#od-app-success-brand-logo,#od-app-customer-brand-logo),
html.os-studio[data-theme=dark] #pilot-header .brand img,
html#od-app-html[data-theme=dark] #od-app-header .od-brand-logo {
 filter:brightness(0) saturate(100%) invert(76%) sepia(35%) saturate(3853%) hue-rotate(213deg) brightness(100%) contrast(98%)!important;
}

/* R4: quote hierarchy follows existing light/dark brand tokens. */
#od-app-root #od-app-step-5 :is(.od-quote-card,.od-quote-line,.od-quote-summary,.od-quote-totals){background:var(--od-surface-1);color:var(--od-text-1);border-color:var(--od-line-1)}
#od-app-root #od-app-quote-subtotal-value{color:var(--od-brand-purple)!important;font-size:24px!important;font-weight:700!important}
#od-app-root #od-app-quote-total-value{color:var(--od-brand-turquoise)!important;font-size:18px!important;font-weight:600!important}
#od-app-root :is(#od-app-quote-vat-value,#od-app-quote-total-label){color:var(--od-text-3)!important}
