/* Workpiece Precision Blue visual system.
   This layer intentionally changes presentation only; application structure and behavior stay in the original styles/scripts. */
:root {
  color-scheme: light;
  --gf-bg:#f5f6f4;
  --gf-surface:#fff;
  --gf-surface-2:#eceeec;
  --gf-text:#171a1c;
  --gf-muted:#687076;
  --gf-border:#dadddc;
  --gf-blue:#2d65b8;
  --gf-blue-hover:#1f4f91;
  --gf-blue-soft:#e7eefa;
  --gf-blue-text:#1a4da1;
  --gf-success:#16a34a;
  --gf-warning:#e59e0b;
  --gf-error:#dc2626;
  --bg:var(--gf-bg);
  --bg2:var(--gf-surface-2);
  --panel:var(--gf-surface);
  --panel2:#f7f8f7;
  --line:var(--gf-border);
  --muted:var(--gf-muted);
  --text:var(--gf-text);
  --accent:var(--gf-blue);
  --accent2:var(--gf-blue-hover);
  --green:var(--gf-success);
  --yellow:var(--gf-warning);
  --red:var(--gf-error);
  --shadow:0 6px 24px rgba(23,26,28,.05);
  --display:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --radius-sm:6px;
  --radius-md:8px;
  --focus:0 0 0 3px rgba(45,101,184,.18);
}

html { background:var(--gf-bg); }
body,
body.store-page,
body.welcome-page,
body.checkout-page { background:var(--gf-bg); color:var(--gf-text); }
body::before { opacity:.55; background-image:linear-gradient(rgba(45,101,184,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(45,101,184,.035) 1px,transparent 1px); mask-image:linear-gradient(to bottom,#000,transparent 70%); }
h1,h2,h3,h4,strong,b { color:var(--gf-text); }
p { color:var(--gf-muted); }
a { color:inherit; }
:focus-visible { outline-color:var(--gf-blue); box-shadow:var(--focus); }
.hidden { display:none !important; }

/* Shared navigation */
.topbar { height:72px; background:rgba(255,255,255,.94); border-bottom:1px solid var(--gf-border); box-shadow:0 1px 2px rgba(23,26,28,.035); backdrop-filter:blur(16px); }
.brand { color:var(--gf-text); }
.brand:hover { color:var(--gf-blue-text); }
.brand-mark { border-color:#cfd5d7; background:#fff; filter:hue-rotate(185deg) saturate(.82); }
.brand-accent { color:var(--gf-blue); }
.prototype-pill { color:var(--gf-muted); border-color:var(--gf-border); }
nav { color:var(--gf-muted); }
nav > a,.link-button { border-color:transparent; background:transparent; color:#485157; }
nav a:hover,.link-button:hover { color:var(--gf-blue-text); border-color:#cbd8ea; background:var(--gf-blue-soft); }
nav a.current { color:#fff; border-color:var(--gf-blue); background:var(--gf-blue); }
.language-switcher::before { color:var(--gf-blue); }
.language-switcher select { border-color:var(--gf-border); background:#fff; color:var(--gf-text); }
.mobile-menu summary { border-color:var(--gf-border); background:#fff; color:var(--gf-text); }
.mobile-menu > div { border-color:var(--gf-border); background:#fff; box-shadow:var(--shadow); }
.mobile-menu a,.mobile-menu button { border-color:#e4e7e6; color:#465057; }
.mobile-menu a:hover,.mobile-menu button:hover,.mobile-menu a.current { color:var(--gf-blue-text); background:var(--gf-blue-soft); }
.skip-link { border-color:var(--gf-blue); background:#fff; color:var(--gf-blue-text); }

/* Shared type and controls */
.eyebrow { color:#53616a; font-size:11px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.eyebrow::before { background:var(--gf-blue); }
.primary-button { border-color:var(--gf-blue); background:var(--gf-blue); color:#fff; box-shadow:0 1px 2px rgba(31,79,145,.16); }
.primary-button:hover { border-color:var(--gf-blue-hover); background:var(--gf-blue-hover); color:#fff; box-shadow:0 4px 12px rgba(31,79,145,.16); }
.secondary-button,.small-button { border-color:var(--gf-border); background:#fff; color:var(--gf-blue-text); }
.secondary-button:hover,.small-button:hover { border-color:#aebfd6; background:#f8faff; color:var(--gf-blue-hover); }
select,input,textarea { border-color:var(--gf-border); background:#fff; color:var(--gf-text); }
select:focus,input:focus,textarea:focus { border-color:var(--gf-blue); box-shadow:0 0 0 3px rgba(45,101,184,.10); }
label > span,.field-label-row > span { color:#4f5a61; font-weight:650; }
.field-help,.field-label-row small { color:var(--gf-muted); }
.stepper button { border-color:var(--gf-border); background:#f7f8f7; color:var(--gf-text); }
.stepper button:hover { background:var(--gf-blue-soft); color:var(--gf-blue-text); }
input[type="range"],input[type="checkbox"],input[type="radio"] { accent-color:var(--gf-blue); }

/* Primary custom-quote workflow */
.hero { min-height:auto; margin-top:24px; padding:72px 48px; display:block; border:1px solid #d7e1ef; border-radius:12px; background:linear-gradient(135deg,rgba(45,101,184,.025),rgba(45,101,184,.105)); }
.hero-copy { max-width:780px; }
.hero h1 { max-width:12ch; color:var(--gf-text); font-size:clamp(48px,6vw,76px); line-height:.98; }
.hero h1 span { color:var(--gf-blue-text); }
.hero-copy > p { color:#536068; font-size:17px; }
.hero-notes { color:var(--gf-muted); }
.process-illustration { border-color:#d2dbe5; background:rgba(255,255,255,.82); box-shadow:0 6px 24px rgba(45,77,112,.06); }
.process-illustration > div { border-color:var(--gf-border); background:#fff; }
.process-illustration strong { color:var(--gf-blue-text); }
.grid-plane { background-image:linear-gradient(rgba(45,101,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(45,101,184,.08) 1px,transparent 1px); }
.section-heading h2,.quote-title-row h2 { font-size:clamp(28px,3.2vw,40px); color:var(--gf-text); }
.process-card { border-color:var(--gf-border); border-radius:10px; background:#fff; box-shadow:0 1px 2px rgba(23,26,28,.025); }
.process-card:hover { border-color:#aebfd6; background:#fbfcff; transform:translateY(-1px); }
.process-card.active { border-color:var(--gf-blue); background:var(--gf-blue-soft); box-shadow:inset 3px 0 var(--gf-blue); }
.process-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:auto; }
.process-grid.four .process-card:first-child,.process-grid.four .process-card:last-child { grid-row:auto; grid-column:auto; min-height:0; }
.process-card { min-height:280px; padding:18px; flex-direction:column; gap:14px; }
.process-card>div:nth-child(2) { padding-right:4px; }
.process-icon { width:100%; height:158px; border-color:#cdd9e8; border-radius:8px; background:#f7faff; color:var(--gf-blue); overflow:hidden; }
.process-icon img { width:100%; height:100%; object-fit:contain; padding:12px; filter:hue-rotate(185deg) saturate(.82); }
.process-icon-cnc img { padding:6px; filter:none; }
.process-icon-duo { grid-template-columns:1fr 1fr; }
.process-icon-duo img { min-width:0; padding:8px 2px; }
.process-icon-cutting,.process-icon-engraving { position:relative; }
.process-icon-cutting img,.process-icon-engraving img { padding:10px 18px 36px; }
.laser-operation-mark { position:absolute; z-index:2; left:50%; bottom:13px; width:76px; height:24px; transform:translateX(-50%); pointer-events:none; }
.process-icon-cutting .laser-operation-mark { border:2px solid var(--gf-blue); border-radius:50% 38% 46% 42%; background:transparent; transform:translateX(-50%) rotate(-4deg); }
.process-icon-cutting .laser-operation-mark::before { content:""; position:absolute; width:7px; height:7px; right:-5px; top:3px; border-radius:50%; background:var(--gf-blue); box-shadow:0 0 0 4px rgba(45,101,184,.13); }
.process-icon-engraving .laser-operation-mark { border:1px solid #91acd0; border-radius:3px; background:repeating-linear-gradient(0deg,rgba(45,101,184,.9) 0 2px,rgba(45,101,184,.12) 2px 5px); box-shadow:inset 0 0 0 4px rgba(255,255,255,.72); }
.process-icon-engraving .laser-operation-mark::after { content:"ENGRAVED"; position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:7px; font-weight:850; letter-spacing:.12em; text-shadow:0 1px 2px rgba(31,79,145,.5); }
.process-card h3 { font-size:20px; }
.process-card p { line-height:1.45; }
.status.live { border-color:#b8e3c5; background:#ecf8f0; color:#137a38; }
.status.soon { border-color:var(--gf-border); color:var(--gf-muted); }
.status.beta { border-color:#bfd1eb; background:var(--gf-blue-soft); color:var(--gf-blue-text); }
.quote-section { padding-top:64px; }
.dropzone { border-color:#aebfd6; background:linear-gradient(135deg,rgba(45,101,184,.025),rgba(45,101,184,.075)); }
.dropzone:hover,.dropzone.dragging { border-color:var(--gf-blue); background:var(--gf-blue-soft); }
.upload-icon { background:#dce8f8; color:var(--gf-blue); }
.dropzone p { color:#58636a; }
.dropzone span { color:var(--gf-muted); }
.viewer-card { border-color:var(--gf-border); border-radius:10px; background:#edf0f2; box-shadow:0 1px 2px rgba(23,26,28,.03); }
.viewer-toolbar { border-color:var(--gf-border); background:#fff; }
.viewer-toolbar small { color:var(--gf-muted); }
.viewer-actions button,.slice-controls button { border-color:var(--gf-border); background:#f7f8f7; color:#4f5960; }
.viewer-actions button:hover,.slice-controls button:hover { border-color:#afc1da; color:var(--gf-blue-text); }
.viewer-actions button.selected { border-color:var(--gf-blue); background:var(--gf-blue); color:#fff; }
.slicer-service-row,.slice-controls,.laser-simulation-controls { border-color:var(--gf-border); background:#f7f8f7; }
.slicer-service-row a,.slicer-service-actions > span { color:var(--gf-muted); }
.slicer-service-actions button { border-color:var(--gf-border); background:#fff; color:#4e585f; }
.slicer-service-actions button:hover { border-color:var(--gf-blue); color:var(--gf-blue-text); }
.viewer-help { background:rgba(255,255,255,.9); color:#59636a; border:1px solid var(--gf-border); }
.slice-controls strong,.laser-simulation-controls strong { color:var(--gf-text); }
.slice-controls span,.laser-simulation-controls span { color:var(--gf-muted); }
.metric-card,.configuration-card { border-color:var(--gf-border); background:#fff; box-shadow:0 1px 2px rgba(23,26,28,.025); }
.metric-card span,.metric-card small { color:var(--gf-muted); }
.manufacturability.ok { border-color:#b8e3c5; background:#eff9f2; }
.manufacturability.warn { border-color:#efd99f; background:#fff9e9; }
.manufacturability.bad { border-color:#efb4b4; background:#fff1f1; }
.manufacturability p { color:#58636a; }
.orientation-badge { border-color:#c4d5ec; background:var(--gf-blue-soft); }
.orientation-badge > span { background:#d7e4f6; color:var(--gf-blue); }
.orientation-badge small { color:#5f6970; }
.selected-material-card { border-color:#cdd6df; border-left-color:var(--gf-blue); background:linear-gradient(125deg,var(--gf-blue-soft),#fff 55%); }
.selected-material-kind { color:var(--gf-blue-text); }
.selected-material-heading > strong,.selected-material-card > p,.selected-material-footer > span { color:var(--gf-muted); }
.selected-material-specs > div { border-color:var(--gf-border); background:rgba(255,255,255,.8); }
.selected-material-specs span { color:var(--gf-muted); }
.selected-material-specs b,.selected-material-footer a { color:var(--gf-text); }
.selected-material-footer { border-color:var(--gf-border); }
.resin-slicer-summary { border-color:var(--gf-border); border-left-color:var(--gf-blue); background:#f7f9fc; }
.resin-slicer-summary > div + div { border-color:var(--gf-border); }
.resin-slicer-summary span { color:var(--gf-muted); }
.option-button,.quality-option,.complexity-option { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text) !important; }
.option-button.active,.quality-option.active,.complexity-option.active,.option-button.selected,.quality-option.selected,.complexity-option.selected { border-color:var(--gf-blue) !important; background:var(--gf-blue-soft) !important; color:var(--gf-blue-text) !important; }
.quote-sidebar,.quote-summary,.laser-quote-card,.quote-card,.review-card { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text); box-shadow:0 1px 2px rgba(23,26,28,.03); }
.summary-sticky { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text) !important; box-shadow:0 2px 8px rgba(23,26,28,.045) !important; }
.summary-lines,.production-box,.stripe-checkout-note { border-color:var(--gf-border) !important; background:#f7f9fc !important; color:var(--gf-text) !important; }
.summary-lines > div,.production-box > div { border-color:var(--gf-border) !important; }
.summary-lines span,.production-box span,.estimate-disclaimer { color:var(--gf-muted) !important; }
.summary-lines b,.production-box strong { color:var(--gf-text) !important; }
.summary-lines { border-color:var(--gf-border); background:#f8f9f8; }
.summary-lines > div { border-color:#e3e6e5; color:var(--gf-muted); }
.summary-lines b { color:var(--gf-text); }
.price-row strong,.total-price,.quote-total { color:var(--gf-blue-text) !important; }
.production-box { border-color:#cbd8ea; background:var(--gf-blue-soft); }
.minimum-badge { border-color:#efd99f; background:#fff9e9; color:#8a6713; }
.manufacturing-guide,.method-guide,.guide-panel,.materials-guide,.material-guide { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text); }
dialog { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text) !important; box-shadow:0 18px 60px rgba(23,26,28,.16) !important; }
dialog::backdrop { background:rgba(36,43,48,.32); }
.dialog-head { border-color:var(--gf-border); }
.dialog-intro { color:var(--gf-muted); }

/* Footer and generic sections */
footer { border-color:var(--gf-border) !important; background:#eef2f6 !important; color:#58636a !important; }
footer a { color:var(--gf-blue-text) !important; }
.toast { border-color:#afc1da !important; background:#fff !important; color:var(--gf-text) !important; box-shadow:0 10px 30px rgba(23,26,28,.12) !important; }

/* Store, products, cart and checkout */
.catalog-hero,.store-hero { border-color:#d7e1ef !important; background:linear-gradient(135deg,rgba(45,101,184,.025),rgba(45,101,184,.09)) !important; }
.catalog-hero h1 span,.store-hero h1 span { color:var(--gf-blue-text) !important; }
.catalog-hero p,.store-hero-copy > p { color:#59636a !important; }
.catalog-hero-aside strong { color:var(--gf-text) !important; }
.catalog-card,.store-product-shot,.product-preview-card,.store-order-card,.catalog-promise,.coming-grid article,.store-steps article,.store-specs div { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text); box-shadow:none !important; }
.catalog-card:hover { border-color:#aebfd6 !important; box-shadow:0 6px 20px rgba(23,26,28,.055) !important; }
.catalog-card-image { background:#eef2f6 !important; }
.catalog-card-meta span,.catalog-card-copy p,.store-specs span,.store-steps p,.coming-grid p { color:var(--gf-muted) !important; }
.catalog-card-meta b,.catalog-card-link,.new-product-pill { color:var(--gf-blue-text) !important; }
.new-product-pill { border-color:#bfd1eb !important; background:var(--gf-blue-soft) !important; }
.store-product-shot figcaption { border-color:var(--gf-border) !important; background:#fff !important; }
.preview-stage,.keychain-preview-stage { border-color:var(--gf-border) !important; background:linear-gradient(145deg,#eef2f5,#f8fafb) !important; }
.store-dropzone { border-color:#aebfd6 !important; background:#f8faff !important; }
.store-dropzone:hover { border-color:var(--gf-blue) !important; background:var(--gf-blue-soft) !important; }
.artwork-editor,.people-photo-assist,.background-editor,.choice-row,.store-breakdown,.keychain-option-grid label,.quantity-pills span { border-color:var(--gf-border) !important; background:#f8f9f8 !important; color:var(--gf-text); }
.choice-row:has(input:checked),.keychain-option-grid label:has(input:checked),.quantity-pills label:has(input:checked) span { border-color:var(--gf-blue) !important; background:var(--gf-blue-soft) !important; box-shadow:inset 3px 0 var(--gf-blue) !important; }
.people-photo-assist.detected { border-color:#b8e3c5 !important; background:#eff9f2 !important; }
.editor-heading > output { border-color:#bfd1eb !important; color:var(--gf-blue-text) !important; }
.editor-control-grid select,.personalization-field input,.destination-select select,.keychain-select select { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text) !important; }
.store-breakdown > div,.choice-row small,.checkout-note,.draft-banner p { color:var(--gf-muted) !important; }
.store-breakdown b { color:var(--gf-text) !important; }
.store-total strong { color:var(--gf-blue-text) !important; }
.draft-banner { border-color:#bfd1eb !important; background:var(--gf-blue-soft) !important; }
.draft-banner span { color:var(--gf-blue-text) !important; }
.cart-layout,.checkout-layout,.cart-item,.checkout-card,.checkout-summary,.cart-summary,.checkout-section { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text); box-shadow:none !important; }
.cart-item-copy span,.cart-item-copy p,.checkout-note,.cart-empty p { color:var(--gf-muted) !important; }
.checkout-heading>p { color:var(--gf-muted) !important; }
.checkout-progress { border-color:var(--gf-border) !important; background:#fff !important; }
.checkout-progress li { border-color:var(--gf-border) !important; color:var(--gf-muted) !important; }
.checkout-progress b { border-color:#b9c8d9 !important; color:var(--gf-blue-text) !important; }
.checkout-progress li.active { background:var(--gf-blue-soft) !important; color:var(--gf-blue-text) !important; }
.checkout-progress li.active b { border-color:var(--gf-blue) !important; background:var(--gf-blue) !important; color:#fff !important; }
.checkout-progress li.complete b { border-color:var(--gf-success) !important; color:var(--gf-success) !important; }
.checkout-step,.checkout-order-summary { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text) !important; box-shadow:none !important; }
.checkout-step-heading>span,.checkout-order-summary>span { color:var(--gf-blue-text) !important; }
.checkout-step-heading p,.checkout-order-summary>small { color:var(--gf-muted) !important; }
.checkout-fields label,.checkout-locker { color:#4f5a61 !important; }
.checkout-fields small,.checkout-locker small { color:var(--gf-muted) !important; }
.checkout-fields input,.checkout-fields select,.checkout-locker input { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text) !important; }
.checkout-fields input:disabled { background:#eef1f3 !important; color:var(--gf-muted) !important; }
.checkout-actions { border-color:var(--gf-border) !important; }
.checkout-actions>button:not(.primary-button),.checkout-actions>a { color:var(--gf-blue-text) !important; }
.shipping-method,.checkout-locker,.billing-same,.checkout-terms { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text) !important; }
.shipping-method:has(input:checked) { border-color:var(--gf-blue) !important; background:var(--gf-blue-soft) !important; box-shadow:inset 3px 0 var(--gf-blue) !important; }
.shipping-method small,.billing-same small,.checkout-terms { color:var(--gf-muted) !important; }
.shipping-method b { color:var(--gf-blue-text) !important; }
.checkout-order-summary #checkoutItems img { border-color:var(--gf-border) !important; background:#eef2f5 !important; }
.checkout-order-summary #checkoutItems span,.checkout-summary-row p,.checkout-summary-total p { color:var(--gf-muted) !important; }
.checkout-summary-row,.checkout-summary-total { border-color:var(--gf-border) !important; }
.checkout-summary-total strong { color:var(--gf-blue-text) !important; }

/* Welcome navigator */
.welcome-page { background:var(--gf-bg) !important; }
.welcome-main { position:relative; }
.welcome-intro { margin-top:24px; padding:56px 48px 44px; border:1px solid #d7e1ef; border-radius:12px 12px 0 0; background:linear-gradient(135deg,rgba(45,101,184,.025),rgba(45,101,184,.10)); }
.welcome-intro h1 { color:var(--gf-text); font-size:clamp(48px,6vw,76px); line-height:.98; }
.welcome-intro h1 span { color:var(--gf-blue-text); }
.welcome-intro > p { color:#59636a; font-size:16px; }
.welcome-primary-routes { gap:12px; padding:0 48px 48px; border:1px solid #d7e1ef; border-top:0; border-radius:0 0 12px 12px; background:linear-gradient(135deg,rgba(45,101,184,.025),rgba(45,101,184,.10)); }
.welcome-primary-card { min-height:350px; border-color:var(--gf-border); background:rgba(255,255,255,.9); color:var(--gf-text); box-shadow:0 1px 2px rgba(23,26,28,.03); }
.welcome-primary-card:hover,.welcome-primary-card[aria-expanded="true"] { border-color:#9db5d4; background:#fff; transform:translateY(-2px); box-shadow:0 8px 24px rgba(45,77,112,.07); }
.welcome-primary-number,.welcome-primary-card p { color:var(--gf-muted); }
.welcome-primary-card > div > span,.route-arrow { color:var(--gf-blue-text); }
.welcome-primary-card > strong { border-color:var(--gf-border); color:var(--gf-text); }
.welcome-primary-glyph { filter:drop-shadow(0 14px 20px rgba(45,77,112,.12)); }
.welcome-primary-card:hover .welcome-primary-glyph,.welcome-primary-card[aria-expanded="true"] .welcome-primary-glyph { filter:drop-shadow(0 18px 26px rgba(45,77,112,.16)); }
.design-options { border-color:#c7d6e9; background:linear-gradient(135deg,var(--gf-blue-soft),#fff 65%); }
.design-options-heading span,.welcome-help span { color:var(--gf-blue-text); }
.design-options-heading p { color:var(--gf-muted); }
.design-option,.welcome-help a { border-color:var(--gf-border); background:#fff; color:var(--gf-text); }
.design-option:hover,.welcome-help a:hover { border-color:var(--gf-blue); color:var(--gf-blue-text); }
.design-option > span { color:var(--gf-blue-text); }
.design-option p { color:var(--gf-muted); }
.welcome-help { border-color:var(--gf-border); }

/* Templates, methods, materials and review surfaces */
.template-card,.template-builder,.prompt-builder,.method-card,.material-card,.comparison-card,.quote-review-card,.review-project,.review-sidebar { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text); box-shadow:none !important; }
.template-card:hover,.method-card:hover,.material-card:hover { border-color:#aebfd6 !important; }
.template-preview,.prompt-preview,.method-visual { border-color:var(--gf-border) !important; background:#eef2f5 !important; }
.template-chip,.material-chip,.filter-chip { border-color:var(--gf-border) !important; background:#fff !important; color:#4e585f !important; }
.template-chip.active,.material-chip.active,.filter-chip.active { border-color:var(--gf-blue) !important; background:var(--gf-blue-soft) !important; color:var(--gf-blue-text) !important; }

/* Templates and browser-based part builder */
.templates-page { background:var(--gf-bg) !important; }
.template-hero>div>p { color:var(--gf-muted) !important; }
.builder-steps,.template-workbench,.prompt-entry-card,.ai-result-card { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text) !important; }
.builder-steps li,.template-preview-card,.template-metrics,.template-metrics>div+div { border-color:var(--gf-border) !important; }
.builder-steps span,.template-metrics span { color:var(--gf-muted) !important; }
.template-card.selected,.prompt-example-card:hover,.prompt-example-card.selected { border-color:var(--gf-blue) !important; background:var(--gf-blue-soft) !important; box-shadow:inset 3px 0 var(--gf-blue) !important; }
.template-glyph { border-color:#cbd8ea !important; background:#f2f6fb !important; color:var(--gf-blue) !important; }
.glyph-reducer::after { border-color:#f2f6fb !important; }
.template-preview-toolbar,.ai-result-heading,.template-metrics,.template-controls.compact,.ai-download-actions { border-color:var(--gf-border) !important; background:#f7f9fc !important; }
.view-toggle,.view-toggle button,.view-toggle button+button { border-color:var(--gf-border) !important; }
.view-toggle button { background:#fff !important; color:var(--gf-muted) !important; }
.view-toggle button.selected { background:var(--gf-blue) !important; color:#fff !important; }
.template-config-card,.template-config-card h2,.template-preview-toolbar strong,.ai-result-heading strong,.template-metrics b { color:var(--gf-text) !important; }
.feature-control-heading,.dimension-notice { border-color:#bfd1eb !important; border-left-color:var(--gf-blue) !important; background:var(--gf-blue-soft) !important; }
.feature-control-heading span,.dimension-notice span { color:var(--gf-blue-text) !important; }
.feature-control-heading small,.dimension-notice p { color:var(--gf-muted) !important; }
.template-feature { border-color:var(--gf-border) !important; background:#fff !important; color:#536068 !important; }
.template-feature:hover,.template-feature.selected { border-color:var(--gf-blue) !important; background:var(--gf-blue-soft) !important; color:var(--gf-blue-text) !important; }
.template-control input,.prompt-entry-card textarea { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text) !important; }
.template-control b { border-color:var(--gf-border) !important; background:#f3f5f6 !important; color:var(--gf-muted) !important; }
.template-eligibility { border-color:#b8e3c5 !important; background:#eff9f2 !important; color:#42604b !important; }
.download-actions button,.approval-row button,.ai-view-actions button,.sketch-toolbar button { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-blue-text) !important; }
.prompt-example-card { background:#fff !important; color:var(--gf-text) !important; }
.prompt-example-visual { border-color:var(--gf-border) !important; background:linear-gradient(145deg,#f2f4f5,#dfe5eb) !important; }
.prompt-example-card small,.prompt-guidance,.prompt-example-heading p,.optional-sketch-heading p,.sketch-scale-note,.prompt-boundary,.approval-row p { color:var(--gf-muted) !important; }
.try-prompt { color:var(--gf-blue-text) !important; }
.prompt-detail-cues,.sketch-analysis { border-color:var(--gf-border) !important; background:#f7f9fc !important; }
.prompt-detail-cues>div+div,.sketch-analysis>div+div { border-color:var(--gf-border) !important; }
.sketch-dropzone { border-color:#aebfd6 !important; background:#f8faff !important; }
.sketch-toolbar { border-color:var(--gf-border) !important; background:#f7f9fc !important; }
.ai-preview-stage,#templateCanvas,#aiCanvas { background:#eef2f5 !important; }
.approval-row { border-color:var(--gf-border) !important; background:#fff !important; }
.custom-route { border-color:#bfd1eb !important; border-left-color:var(--gf-blue) !important; background:linear-gradient(100deg,var(--gf-blue-soft),#fff 72%) !important; }
.custom-route h2 { color:var(--gf-text) !important; }
.custom-route p { color:var(--gf-muted) !important; }

/* Manufacturing methods */
.methods-page { background:var(--gf-bg) !important; }
.methods-hero>p { color:var(--gf-muted) !important; }
.replacement-guide>div,.replacement-guide>div:first-child { border-color:var(--gf-border) !important; background:#fff !important; }
.replacement-guide>div:first-child { border-left:3px solid var(--gf-blue) !important; background:linear-gradient(105deg,var(--gf-blue-soft),#fff 70%) !important; }
.replacement-guide h3 { color:var(--gf-text) !important; }
.replacement-guide p { color:var(--gf-muted) !important; }
.guide-kicker,.guide-kicker.metal { color:var(--gf-blue-text) !important; }
.method-summary { color:var(--gf-text) !important; }
.method-summary img,.method-letter { border-color:#cbd8ea !important; background:#f2f6fb !important; filter:hue-rotate(185deg) saturate(.82); }
.method-letter,.method-letter.metal { color:var(--gf-blue-text) !important; }
.method-card:hover,.method-card:focus-within,.method-card.expanded { border-color:#aebfd6 !important; box-shadow:0 8px 24px rgba(45,77,112,.08) !important; }
.method-heading-copy small,.method-heading-copy em,.method-card.planned .method-heading-copy small,.method-card.comparison .method-heading-copy small { color:var(--gf-muted) !important; }
.method-body { border-color:var(--gf-border) !important; }
.method-body>p:first-child,.method-body dd { color:var(--gf-muted) !important; }
.method-body>p:first-child strong,.method-body dt { color:var(--gf-text) !important; }
.method-body dl div { border-color:var(--gf-border) !important; background:#f7f9fc !important; }
.best-when { border-left-color:var(--gf-blue) !important; background:var(--gf-blue-soft) !important; color:#536068 !important; }
.best-when strong { color:var(--gf-blue-text) !important; }

/* Materials guide */
.material-guide-grid { align-items:stretch; }
.material-guide-grid>.material-card { min-width:0; padding:22px; display:flex; flex-direction:column; overflow:hidden; }
.material-guide-grid>.material-card>span { color:var(--gf-blue-text) !important; font-size:10px; font-weight:750; letter-spacing:.08em; }
.material-guide-grid>.material-card h3 { margin:7px 0 12px; font-size:22px; }
.material-guide-grid>.material-card p { min-height:0; margin:0 0 18px; color:var(--gf-muted) !important; font-size:14px; line-height:1.55; overflow-wrap:anywhere; }
.material-guide-grid>.material-card div { margin-top:8px; color:#465158; font-size:13px; line-height:1.45; overflow-wrap:anywhere; }
.material-guide-grid>.material-card div:first-of-type { margin-top:auto; }
.material-guide-grid>.material-card div b { display:block; margin-bottom:2px; color:var(--gf-text); }
.technical-note { border-left-color:var(--gf-blue) !important; background:var(--gf-blue-soft) !important; color:#536068 !important; }
.technical-note strong { color:var(--gf-blue-text) !important; }

/* Remove legacy dark/orange treatment from configurator sub-panels */
.process-illustration img { filter:hue-rotate(185deg) saturate(.82); }
.guide-cta { border-color:#b9cce5 !important; background:linear-gradient(120deg,var(--gf-blue-soft),#f8faff 72%) !important; color:#53616a !important; box-shadow:0 4px 16px rgba(45,77,112,.07) !important; }
.guide-cta:hover,.guide-cta:focus-visible { border-color:var(--gf-blue) !important; background:linear-gradient(120deg,#dce8f8,#fff 72%) !important; }
.guide-cta strong,.guide-cta b { color:var(--gf-blue-text) !important; }
.tuning-slider,.scale-card,.artwork-scale-slider,.engraving-editor { border-color:var(--gf-border) !important; background:#f7f9fc !important; color:var(--gf-text) !important; }
.tuning-slider .range-labels,.scale-card-head small,.inline-check,.artwork-scale-slider>div,.laser-calibration>div:first-child small,.laser-calibration>p,.laser-calibration-actions label>span { color:var(--gf-muted) !important; }
.artwork-scale-slider output,.engraving-control-grid label>span b,.background-strength b { color:var(--gf-blue-text) !important; }
.laser-calibration,.laser-background-editor { border-color:var(--gf-border) !important; }
.engraving-control-grid label>span,.laser-background-editor .background-strength label { color:#4f5a61 !important; }
.laser-background-editor,.laser-people-assist { border-color:#cbd8ea !important; background:#fff !important; color:var(--gf-text) !important; }
.laser-people-assist { padding:13px; display:flex; align-items:center; justify-content:space-between; gap:14px; border:1px solid; border-radius:8px; }
.laser-people-assist>div { min-width:0; display:flex; flex-direction:column; }
.laser-people-assist strong { margin-top:3px; font-size:11px; }
.laser-people-assist span { color:var(--gf-blue-text) !important; }
.laser-people-assist small,.laser-background-editor .background-toggle small { color:var(--gf-muted) !important; }
.laser-background-editor { padding:13px; border:1px solid; border-radius:8px; }
.laser-bed-label,.engraving-legend { background:rgba(255,255,255,.92) !important; color:var(--gf-blue-text) !important; border:1px solid var(--gf-border); }
.laser-zoom-controls,.cam-slice-controls { border-color:var(--gf-border) !important; background:#f7f9fc !important; color:var(--gf-text) !important; }
.cam-slice-controls button { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-blue-text) !important; }
.cnc-viewer-card,#cncCanvas { background:#eef2f5 !important; }
.shipping-card,.shipping-option { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text) !important; }
.shipping-option.selected { border-color:var(--gf-blue) !important; background:var(--gf-blue-soft) !important; box-shadow:inset 3px 0 var(--gf-blue) !important; }

/* Authenticated customer and workshop screens */
.profile-shell,.track-shell,.quote-status-shell,.admin-shell,.orders-admin-shell { color:var(--gf-text) !important; }
.profile-shell header,.track-header,.quote-status-hero,.admin-header,.orders-admin-header { border-color:var(--gf-border) !important; }
.profile-shell header a,.track-header a,.admin-brand,.orders-admin-brand,.track-brand { color:var(--gf-text) !important; }
.profile-shell header strong,.profile-shell section>span,.track-eyebrow,.admin-intro>span,.orders-admin-intro>span { color:var(--gf-blue-text) !important; }
.profile-shell section>p,.track-copy,.admin-intro p,.orders-admin-intro p { color:var(--gf-muted) !important; }
.profile-shell form,.product-admin-form,.order-workspace,.quote-admin-grid,.track-panel,.track-summary,.track-current,.track-shipment,.quote-status-grid>*,.product-purchase-card,.product-information { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text) !important; box-shadow:none !important; }
.profile-shell input,.admin-shell input,.admin-shell select,.admin-shell textarea,.orders-admin-shell input,.orders-admin-shell select,.orders-admin-shell textarea { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text) !important; }
.profile-shell label span,.admin-shell label span,.orders-admin-shell label span { color:var(--gf-muted) !important; }
.profile-shell button,.admin-submit-row button,.order-save-row button,.quote-admin-save button,.track-primary { background:var(--gf-blue) !important; color:#fff !important; }
.order-list,.order-detail,.quote-admin-items,.admin-form-section,.order-control,.order-history { border-color:var(--gf-border) !important; background:#fff !important; color:var(--gf-text) !important; }
.order-list button.selected,.order-filters button.active { border-color:var(--gf-blue) !important; background:var(--gf-blue-soft) !important; color:var(--gf-blue-text) !important; }

@media (max-width:900px) {
  .hero { margin:16px 16px 0; padding:52px 28px; }
  .process-grid.four { grid-template-columns:1fr 1fr; }
  .welcome-intro { margin:16px 16px 0; padding:44px 28px 32px; }
  .welcome-primary-routes { margin:0 16px; padding:0 28px 32px; }
}
@media (max-width:620px) {
  .hero { padding:40px 20px; border-radius:10px; }
  .hero h1,.welcome-intro h1 { font-size:44px; }
  .welcome-intro { padding:36px 20px 28px; }
  .welcome-primary-routes { padding:0 20px 24px; }
  .welcome-primary-card { min-height:300px; }
  .topbar { height:64px; padding:0 16px; }
  .section-wrap { padding-right:16px; padding-left:16px; }
  .process-grid.four { grid-template-columns:1fr; }
  .process-card { min-height:240px; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
