/* Shared screen palette. No filters on images/canvases and no styles in printed documents.
   Color-only !important declarations bridge the older fixed-color portal/constructor UI. */
@media screen {
  html[data-color-mode="dark"] {
    color-scheme:dark;
    --night-page:#141e1b;--night-surface:#1e3027;--night-raised:#293e32;
    --night-ink:#eef4ef;--night-muted:#b5c5ba;--night-line:#587262;
    --night-accent:#b6d9c4;--night-action-ink:#13271d;--night-selected:#324e40;
    background:var(--night-page);
  }
  html[data-color-mode="dark"] :is(body,.grani-header,.portal-content,.grani-home,#radunec-constructor) {
    --ink:var(--night-ink);--muted:var(--night-muted);--page:var(--night-page);--paper:var(--night-page);
    --surface:var(--night-surface);--section:var(--night-surface);--frame:var(--night-raised);
    --border:var(--night-line);--line:var(--night-line);--primary:var(--night-accent);
    --primary-hover:#d1eadb;--accent:var(--night-accent);--focus:#d1eadb;
    --selected:var(--night-selected);--light:var(--night-selected);
    --rc-ink:var(--night-ink);--rc-muted:var(--night-muted);--rc-line:var(--night-line);
    --rc-green:var(--night-accent);
  }
  html[data-color-mode="dark"] body {
    background:var(--night-page)!important;color:var(--night-ink)!important;
  }
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) :is(h1,h2,h3,h4,label,legend,strong,b) {color:var(--night-ink)}
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) :is(p,small,.help,.field-hint,.privacy-note,.intro,.eyebrow,.synthetic-note,.art-footer,.art-heading,.mini-hint,.history-card-status,.seller-details,.document-date) {color:var(--night-muted)!important}
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) a {color:var(--night-accent)}
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) :is(.panel,.workshop-card,.payment-row,.theme-card,.package-editor,.controls,.generation-settings,.submit-area,.history-card-info,.launch-package,.style-card,.upload-box,.reference-upload,.appearance-toggles label,.address-options,.assistant-history-card,.notice,.constructor-return-notice,.auth-panel) {
    background:var(--night-surface)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important;box-shadow:none;
  }
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) :is(.studio-section,.generation-gallery,.composition-preview,.custom-art,.mini-workbench,.admin-nav,.hero-art,.promise-bar,.demo-tabs,.payment-balance,.card-icon,.badge,.roadmap-strip span,.section-title>span,.controls legend>span,.sketch span) {
    background:var(--night-raised)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important;
  }
  html[data-color-mode="dark"] .grani-home .hero-art {box-shadow:12px 12px 0 #101914}
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) :is(.style-card.selected,.style-card:hover,.workshop-card:hover,.module:hover) {border-color:var(--night-accent)!important}
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) :is(.upload-symbol,.custom-star,.custom-art-label,.empty-mark,.gallery-empty>span,.steps article>span,.package-link) {color:var(--night-accent)!important}
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) :is(input:not([type="color"]):not([type="range"]):not([type="checkbox"]):not([type="radio"]),textarea,select) {
    color:var(--night-ink)!important;background:var(--night-page)!important;border-color:var(--night-line)!important;caret-color:var(--night-accent);color-scheme:dark;
  }
  html[data-color-mode="dark"] :is(input,textarea)::placeholder {color:#a4b8aa;opacity:1}
  html[data-color-mode="dark"] :is(input,select,textarea):disabled {color:#93a69b!important;background:#26382f!important}
  html[data-color-mode="dark"] :is(input[type="checkbox"],input[type="radio"],input[type="range"]) {accent-color:var(--night-accent)}
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) :is(button,.secondary,.text-button,.choice-grid label>span,.mini-ai) {
    background:var(--night-raised)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important;
  }
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) :is(.primary,.analytics-consent button:first-of-type) {
    background:var(--night-accent)!important;color:var(--night-action-ink)!important;border-color:var(--night-accent)!important;
  }
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) .primary:hover {background:#d1eadb!important}
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) :is(.secondary:hover,.text-button:hover,.address-options [aria-selected="true"],.address-options [role="option"]:hover,.demo-tabs .active,.mini-tools button[aria-pressed="true"],.choice-grid input:checked+span) {
    background:var(--night-selected)!important;color:var(--night-ink)!important;border-color:var(--night-accent)!important;
  }
  html[data-color-mode="dark"] .grani-home .choice-grid input:checked+span {box-shadow:inset 0 0 0 1px var(--night-accent)}
  html[data-color-mode="dark"] .grani-home .upload-box.dragging {background:var(--night-selected)!important;border-color:var(--night-accent)!important}
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) :is(.payment-status,.payment-badge,.message) {background:#293e32;color:var(--night-ink);border-color:var(--night-line)}
  html[data-color-mode="dark"] :is(.status-succeeded,.message.success) {background:#254b36!important;color:#c4eed0!important;border-color:#729b7c!important}
  html[data-color-mode="dark"] :is(.status-review,.payment-badge,.message.warning) {background:#443b24!important;color:#f0dba4!important;border-color:#a18b54!important}
  html[data-color-mode="dark"] :is(.form-errors,.message.error) {background:#482d2a!important;color:#ffd0c7!important;border-color:#b27e74!important}
  html[data-color-mode="dark"] :is(.errorlist,.danger) {color:#ffc0b5!important}
  html[data-color-mode="dark"] .status-canceled {background:#333e37;color:#c7d0ca}
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) :is(td,th,.divider,.card-link,.steps li,.steps article,fieldset,.legal-footer,.auth-intro,.orbit) {border-color:var(--night-line)!important}
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home) th {background:var(--night-raised)!important;color:var(--night-ink)!important}
  html[data-color-mode="dark"] :is(.grani-portal,.grani-home)>footer {color:var(--night-muted)!important;border-color:var(--night-line)!important}
  html[data-color-mode="dark"] :is(.grani-header,.constructor-header,.portrait-panel-header) {background:var(--night-page)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important}
  html[data-color-mode="dark"] .grani-header :is(nav a,.link,.nav-cta,.grani-menu) {color:var(--night-ink)!important;background:transparent!important;border-color:var(--night-line)!important}
  html[data-color-mode="dark"] .grani-header[data-menu-ready].menu-open nav {background:var(--night-surface)!important;border-color:var(--night-line)!important;box-shadow:0 15px 32px #0006}
  html[data-color-mode="dark"] .grani-header.menu-open nav a:hover {background:var(--night-selected)!important}
  html[data-color-mode="dark"] .grani-header nav form button.link {background:transparent!important}
  html[data-color-mode="dark"] .grani-home .upload-box span:not(.upload-symbol) {color:var(--night-muted)!important}
  html[data-color-mode="dark"] .owner-catalog {--catalog-surface:var(--night-surface)}
  html[data-color-mode="dark"] :is(.catalog-tabs,.catalog-subtabs) a[aria-current] {background:var(--night-selected);color:var(--night-ink);border-color:var(--night-accent)}
  html[data-color-mode="dark"] :is(.catalog-card-meta,.catalog-code,.catalog-summary small,.catalog-card small) {color:var(--night-muted)!important}
  html[data-color-mode="dark"] .grani-wallet {background:var(--night-raised)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important}
  html[data-color-mode="dark"] .grani-wallet :is(strong,span) {color:var(--night-ink)!important}
  html[data-color-mode="dark"] .grani-wallet:hover {color:var(--night-ink)!important}
  html[data-color-mode="dark"] :is(.analytics-consent,.grani-skip) {background:var(--night-surface)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important;box-shadow:0 5px 28px #0005}
  html[data-color-mode="dark"] :is(a,button,input,select,textarea,summary):focus-visible {outline:3px solid #c9ecd6!important;outline-offset:3px}
  html[data-color-mode="dark"] dialog {background:var(--night-surface)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important}
  html[data-color-mode="dark"] dialog :is(input:not([type="color"]):not([type="range"]):not([type="checkbox"]):not([type="radio"]),select,textarea,button) {background:var(--night-raised)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important}
  html[data-color-mode="dark"] dialog::backdrop {background:#07100bc9}
  html[data-color-mode="dark"] :is(.constructor-header,.portrait-panel-header) a {color:var(--night-accent)}
  html[data-color-mode="dark"] :is(.portrait-panel-shell>iframe,#panelStatus) {background:var(--night-surface);color:var(--night-ink)}
  html[data-color-mode="dark"] .panel-brand span {color:var(--night-muted)}
  html[data-color-mode="dark"] .portrait-panel-header button {background:var(--night-raised);border-color:var(--night-line);color:var(--night-ink)}
  html[data-color-mode="dark"] .portrait-panel-header button[aria-pressed="true"] {background:var(--night-accent);color:var(--night-action-ink)}

  /* Editor chrome only: leave material swatches, SVG drawings and canvas pixels intact. */
  html[data-color-mode="dark"] #radunec-constructor {background:var(--night-page)!important;color:var(--night-ink)!important}
  html[data-color-mode="dark"] #radunec-constructor :is(.rc-controls,.rc-pricing,.rc-quote,.rc-text-editor,.rc-layers,.rc-panel-window,.rc-panel-head,.rc-price-head,.rc-menu-bar,.rc-menu-items,.rc-app-menu,.rc-toolbar-overflow,.rc-node-menu,.rc-alignment-menu,.rc-engraving-menu,.rc-mobile-object-menu,.rc-management-menu,.rc-catalog-card-menu,.rc-site-menu,.rc-node-edit-panel,.rc-three-head,.rc-portrait-dialog-bar,details,dialog) {
    background:var(--night-surface)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important;
  }
  html[data-color-mode="dark"] #radunec-constructor :is(h1,h2,h3,h4,label,legend,summary,.rc-selected,.rc-total,.rc-status,.rc-hint,.rc-warning,.rc-order-note) {color:var(--night-ink)!important}
  html[data-color-mode="dark"] #radunec-constructor :is(p,small,.rc-help-content) {color:var(--night-muted)!important}
  html[data-color-mode="dark"] #radunec-constructor a {color:var(--night-accent)!important}
  html[data-color-mode="dark"] #radunec-constructor :is(button:not(.rc-swatch),.rc-secondary,.rc-tools) {background:var(--night-raised)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important}
  html[data-color-mode="dark"] #radunec-constructor :is(button[aria-pressed="true"],button.active,button.selected) {background:var(--night-selected)!important;color:var(--night-ink)!important;border-color:var(--night-accent)!important;box-shadow:inset 0 0 0 1px var(--night-accent)!important}
  html[data-color-mode="dark"] #radunec-constructor :is(input:not([type="color"]):not([type="range"]):not([type="checkbox"]):not([type="radio"]),select,textarea) {background:var(--night-page)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important;color-scheme:dark}
  html[data-color-mode="dark"] #radunec-constructor :is(.rc-breakdown,.rc-breakdown td,.rc-breakdown th,.rc-help-content td,.rc-help-content th) {background:var(--night-surface)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important}
  html[data-color-mode="dark"] #radunec-constructor .rc-promotions {background:var(--night-selected);color:var(--night-ink);border-color:var(--night-line)}
  html[data-color-mode="dark"] #radunec-constructor :is(.rc-object-bar,.rc-icon-select,.rc-palette,.rc-main-toolbox,.rc-wallet,.rc-status,.rc-site-menu>summary,.rc-site-menu>nav,#rc-person-layout-panel) {background:var(--night-surface)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important}
  html[data-color-mode="dark"] #radunec-constructor :is(.rc-workspace,.rc-preview) {background:var(--night-page)!important;border-color:var(--night-line)!important}
  html[data-color-mode="dark"] #radunec-constructor .rc-quote-selected {background:var(--night-selected)!important}
  html[data-color-mode="dark"] #radunec-constructor .rc-training-tip {background:var(--night-surface)!important;color:var(--night-muted)!important;border-color:var(--night-line)!important}
  html[data-color-mode="dark"] .analytics-consent button {background:var(--night-raised)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important}
  html[data-color-mode="dark"] .analytics-consent button:first-of-type {background:var(--night-accent)!important;color:var(--night-action-ink)!important}
  html[data-color-mode="dark"] :is(.grani-access-dialog,.grani-access-complete) {background:var(--night-surface);color:var(--night-ink);border-color:var(--night-line)}
  html[data-color-mode="dark"] :is(.grani-access-actions a,.grani-access-actions button,.grani-access-complete button) {background:var(--night-raised);color:var(--night-ink);border-color:var(--night-line)}
  /* The A4 preview lives in its own iframe and never receives this stylesheet. */
  html[data-color-mode="dark"] :is(.rc-order-editor,.oe-picture-dialog,.oe-bar,.oe-fields,.oe-pages,.oe-row,.oe-status) {background:var(--night-surface)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important}
  html[data-color-mode="dark"] :is(.rc-order-editor,.oe-picture-dialog) :is(input,textarea,select,button) {background:var(--night-raised)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important}
  html[data-color-mode="dark"] .oe-pages button[aria-pressed="true"] {background:var(--night-selected)!important;border-color:var(--night-accent)!important}
}
