/* The independent quote page shares the appearance preference and contrast
 * hierarchy, not the SPA layout. Form fields and backend behaviour are intact. */
.quote-theme-toggle{display:inline-grid;place-items:center;width:38px;height:38px;min-width:38px;border:1px solid #747474;border-radius:50%;background:transparent;color:#171717;font-size:20px;line-height:1;cursor:pointer}
html.dark{color-scheme:dark;background:#101012;color:#e8ebf0;--paper:#1c1d22;--ink:#101012;--gold-ink:#f4d286;--line:#707783}
html.dark body{background:#101012;color:#e8ebf0}
html.dark .workspace{background:#16171b;border-color:#454b56;box-shadow:0 18px 50px #0005}
html.dark .finder{background:transparent;color:#e8ebf0;box-shadow:none}
html.dark .project-form{background:#1c1d22;color:#e8ebf0;border-color:#454b56;box-shadow:0 7px 18px #0003}
html.dark .project-form::before{border-top-color:#34363e}
html.dark .project-form::after{border-color:#707783}
html.dark :is(.brand,.quote-close,.quote-theme-toggle,footer){color:#e8ebf0}
html.dark :is(.preview-label,.finder-intro,.trust-line p,.label-row>span,.detail-actions>span,#contact-help,#mobile-service-note,.demo-note,.panel-intro,.file-safety,.file-info small,.comparison p,.receipt-copy,.privacy-dialog>p,.intake-privacy-short){color:#b4bac6}
html.dark :is(.finder h1 em,.form-heading h2 em,.trust-line b,.service-guide h2){color:#f5f6f8}
html.dark :is(.finder .eyebrow,.mobile-picker small,.selected-services p,.selected-services li::before,.privacy-link,.privacy-dialog a,.detail-actions>button,.reference-rail button+button,.rail-plus,#compare-open,.service-summary,.file-list:empty::before){color:#f4d286}
html.dark :is(.trust-line,.contact-section,.workspace,.mobile-service-action,.reference-rail,.reference-rail button+button,.file-list,.file-item){border-color:#454b56}
html.dark :is(#idea,#name,#contact,#address,.detail-fields input,.detail-fields select){background:#141519;color:#e8ebf0;border:1px solid #707783;box-shadow:none}
html.dark #idea{border-bottom:0;box-shadow:inset 3px 0 #d3af63}
html.dark :is(#idea,#name,#contact,#address,.detail-fields input)::placeholder{color:#b4bac6;opacity:1}
html.dark :is(.name-section>label,.address-section>label,.contact-head>label){color:#d4d8e0}
html.dark .reference-rail{background:#24262d;border-color:#707783}
html.dark :is(.reference-rail button,.mobile-service-action,.service-group summary){color:#e8ebf0}
html.dark .reference-rail button:hover{background:#343741}
html.dark :is(.rail-icon,.picker-plus){background:#e7c883;color:#17120b}
html.dark :is(.finder .mobile-picker,.mobile-picker,.service-group,.service-choice,.service-guide,.contact-toggle,.file-marker,.file-remove,.secondary-action,#files-add-more,.review-notice,.receipt-reference){background:#24262d;color:#e8ebf0;border-color:#707783}
html.dark :is(.mobile-picker:hover,.finder .mobile-picker:hover,.service-choice:hover){background:#343741;border-color:#e7c883;color:#f5f6f8}
html.dark :is(.service-guide h2,#guide-description,#guide-example,.service-choice::after,.service-choice .service-index,.service-choice .service-summary){color:#d4d8e0}
html.dark .service-choice[aria-pressed=true]{background:#e7c883;color:#17120b;border-color:#e7c883}
html.dark .service-choice[aria-pressed=true] :is(.service-index,.service-summary){color:#17120b}
html.dark .service-choice[aria-pressed=true]::after{color:#17120b}
html.dark :is(.primary-action,.contact-toggle button[aria-pressed=true]){background:#e7c883;color:#17120b}
html.dark .primary-action>span:last-child{color:#17120b}
html.dark .primary-action:hover{background:#f9e3a0}
html.dark .contact-toggle button{color:#d4d8e0}
html.dark :is(.close-button,#review-edit,.quote-close,.quote-theme-toggle){color:#e8ebf0;border-color:#707783;background:transparent}
html.dark :is(.close-button:hover,.quote-close:hover,.quote-theme-toggle:hover){background:#343741;border-color:#e7c883}
html.dark .panel-dialog{background:#1c1d22;color:#e8ebf0;border-color:#707783}
html.dark :is(.error,.file-error){color:#ffb4a8}
html.dark :is(#idea,#name,#address,#contact)[aria-invalid=true]{border-color:#ffb4a8}
html.dark :is(.send-status,.send-fallback){color:#e7c883}
html.dark .send-fallback a{color:#e8ebf0}
html.dark :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid #f4d286;outline-offset:3px}
html.dark :is(.brand img,.trust-logo){transform:translateY(1px) scale(1.43)}
html.dark .service-guide::before{opacity:.1}
@media(max-width:900px){.quote-theme-toggle{width:34px;height:34px;min-width:34px}html.dark .project-form{background:transparent;border:0;box-shadow:none}html.dark .finder{background:transparent}}
@media(min-width:1180px){.contact-toggle button{min-width:48px;font-size:11px;padding:4px 6px}.contact-head>label{white-space:nowrap}}
.quote-theme-toggle:disabled{cursor:progress}
/* The quote page does not load the SPA stylesheet. Keep its dark day frames
 * paired too, without changing field geometry or the error/focus colours. */
html.dark :is(.trust-line,.service-guide){border-color:#fff}
html.dark .service-guide::after{border-color:#fff}
html.dark .service-choice[aria-pressed=true]{border-color:#fff}
