/* Shared dark canvas. Product imagery and catalogue card content retain light surfaces. */
:root{--canvas:#22261f;--surface:#2c3129;--surface-raised:#353b31;--on-dark:#faf8f2;--muted-dark:#d1d1c6;--dark-line:#4b5145;--warm-dark:#e6bc8d;color-scheme:dark}
html,body,body:has(.catalogChoices),#workspace,body:has(.catalogChoices) #workspace{background:var(--canvas)}
body,#workspace{color:var(--on-dark)}
#workspace{min-height:100vh}
main>.intro{color:var(--on-dark)}
.intro p,.resultcount,.back,.loading,.filterStatus{color:var(--muted-dark)}
.overline,.catalogFamily,.searchClear{color:var(--warm-dark)}
.catalogueStamp{background:#ffffff06;color:var(--on-dark);border-color:#b3a28665}
.catalogueStamp strong{color:#ef8d51}
.typeDivider,.groupSectionTitle{border-color:var(--dark-line);color:var(--on-dark)}
footer,body:has(.catalogChoices) footer{border-color:var(--dark-line);color:#c0c6b6}
footer b,body:has(.catalogChoices) footer b{color:#f2e8d7}
.empty{border-color:#7b8272}.empty p{color:var(--muted-dark)}
.searchbox,.catalogChoice,.group,.productWrapper,.product,.accessoryOpen,.compareTable thead th{color:#1c1e1b;color-scheme:light}
.searchbox input{color:#1c1e1b}.searchbox input::placeholder{color:#696f62}
.catalogChoiceText>.overline{color:#9d542a}
.catalogChoiceFoot strong{color:#1c211b}
.groupInfo .meta{color:#646a5c}
.productFilters,.fireFilters{background:var(--surface);border-color:var(--dark-line);color:var(--on-dark)}
.productFiltersHeading button{color:var(--warm-dark)}
.productFilterFields select,.fireFilters select{background:#f5f3ee;color:#1c1e1b;border-color:#bfb8ac;color-scheme:light}
.productFilterFields select:focus-visible{outline-color:var(--accent)}
.fireFilters p{color:var(--muted-dark)}
/* Dialogs share the canvas, including technical details, accessories and quote form. */
dialog,.selectionDialog{background:var(--canvas);color:var(--on-dark);border:1px solid var(--dark-line);color-scheme:dark}
.close{background:var(--surface-raised);color:var(--on-dark);border:1px solid #737965}
.detailText p,.accessoryIntro,.accessoryCard>p,.selectionDialog>p,.quotePrivacy,.quoteSetup p,.selectionEmpty,.technicalSource{color:var(--muted-dark)}
.detailText .code{color:var(--warm-dark)}
.detailNote,.technicalSection,.accessorySection,.detailSelection,#quotePrepared{border-color:var(--dark-line)}
.technicalTable th,.technicalTable td{border-color:var(--dark-line)}
.technicalTable thead,.technicalTable tbody tr:nth-child(even),.compareTable tbody tr:nth-child(even){background:var(--surface)}
.accessoryCard{background:var(--surface);border-color:var(--dark-line)}
.accessoryOpen{background:var(--surface);color:var(--on-dark)}
.accessoryOpen:hover{background:var(--surface-raised)}
.accessoryOpen img,.detailImage,.compareTable img,.quoteList img{background:#fff;color:#1c1e1b;color-scheme:light}
.accessoryOpen span,.accessoryBack button{color:var(--warm-dark)}
.accessoryQuote{background:#e8e0d2;color:#1c1e1b}
.detailSelection button,.compareTable button,.quoteButtons button,.quoteList button{background:var(--surface-raised);border-color:#747b68;color:var(--on-dark)}
.detailSelection .searchSubmit,.quoteButtons .searchSubmit{background:var(--accent);color:#1c1e1b;border-color:var(--accent)}
.compareTable th,.compareTable td{border-color:var(--dark-line)}
.compareTable thead th{background:var(--surface);color:var(--on-dark)}
.quoteList li{border-color:var(--dark-line)}
.quoteList small{color:var(--muted-dark)}
.selectionDialog input,.selectionDialog textarea,.quoteRecipient select{background:#f5f3ee;color:#1c1e1b;border-color:#bfb8ac;color-scheme:light}
.selectionDialog input::placeholder,.selectionDialog textarea::placeholder{color:#696f62}
.quoteSetup{background:var(--surface);color:var(--on-dark)}
.sellerInfo{border-color:var(--dark-line);color:#b5baac}
.sellerInfo p{color:var(--muted-dark)}
.sellerInfo summary:hover{color:var(--on-dark)}
.noImage{background:#f3f2ed;color:#60665a;color-scheme:light}
#selectionBar{background:#181b18}
@media print{html,body,#workspace,dialog,.selectionDialog{background:#fff;color:#1c1e1b;color-scheme:light}}
