/* Paper / Motion: editor chrome only. Screen rules deliberately exclude print.
   Label artwork, SVG, canvas, export dimensions and preview geometry are untouched. */
@media screen {
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor {
    background: var(--paper-bg);
    color: var(--paper-ink);
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(.choice-heading,.panel-title,.size-controls,.hint,#category-note,.explanation,.excel-panel>h3,.excel-status,.excel-row-editor h3,.excel-row-editor h4,.parent-category-panel),
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(button,input,select,textarea,label) {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(.workspace>aside,.preview-panel,.product-detection,.parent-category-panel,.excel-import) {
    background: var(--paper-panel);
    border-color: var(--paper-line);
    border-radius: 24px;
    box-shadow: var(--paper-shadow);
    color: var(--paper-ink);
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(.choice-heading,.panel-title h2,.excel-panel h3,.excel-row-editor h4) {
    color: var(--paper-ink);
    letter-spacing: -.035em;
    font-weight: 650;
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(.hint,#category-note,#status,.explanation p,.zone-empty,.brand-placement-note,.paste-feedback,.selected-category-caption) {
    color: var(--paper-muted);
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(label,.custom-field-zone h4) { color: var(--paper-ink); }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(a,.custom-field-settings>summary,.product-detection summary) { color: var(--paper-accent); }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(button,.editor-select-trigger,.custom-field-name,.custom-preset-menu,.excel-combo,.excel-options) {
    background: var(--paper-input);
    border-color: var(--paper-line);
    color: var(--paper-ink);
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor button {
    font-weight: 550;
    transition: box-shadow .18s ease;
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
    background-color: var(--paper-input);
    border-color: var(--paper-line);
    color: var(--paper-ink);
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(input,textarea)::placeholder { color: var(--paper-muted); opacity: .8; }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(input[type=checkbox],input[type=radio]) { accent-color: var(--paper-accent); }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(button,input,select,textarea,a,summary):focus-visible {
    outline-color: var(--paper-accent);
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(.custom-field-name,.clearable-value):focus-within,
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .editor-select-menu:focus-within .editor-select-trigger {
    box-shadow: 0 0 0 1px var(--paper-accent), 0 0 0 4px color-mix(in srgb,var(--paper-accent) 12%,transparent);
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(#layouts,#categories) button,
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor #parent-categories button {
    background: var(--paper-panel);
    border-color: var(--paper-line);
    color: var(--paper-ink);
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(#layouts,#categories) button>strong { color: var(--paper-ink); letter-spacing: -.02em; }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(#layouts,#categories) button>span { color: var(--paper-muted); }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor #layouts .layout-thumbnail { background: var(--paper-bg); }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor #layouts #custom-start { background: var(--paper-panel); color: var(--paper-ink); }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(#layouts,#categories) button[aria-selected=true],
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor #layouts :is(#custom-start,#custom-full-start)[aria-selected=true],
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor #parent-categories button[aria-pressed=true],
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .layout-position-options button[aria-pressed=true],
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-layout-cards>button[aria-pressed=true],
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-rows button[aria-pressed=true] {
    background: var(--paper-soft);
    border-color: var(--paper-accent);
    color: var(--paper-accent);
    box-shadow: 0 0 0 1px color-mix(in srgb,var(--paper-accent) 14%,transparent);
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .layout-position-options button { color: var(--paper-muted); border-color: var(--paper-line); }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(.size-badge,.preset-placement,.editor-select-arrow,.selected-category) {
    background: var(--paper-soft);
    color: var(--paper-accent);
    border-color: var(--paper-line);
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor #preview,
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-label {
    background: var(--paper-bg);
    box-shadow: inset 0 0 0 1px var(--paper-line);
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(.custom-field,.custom-field-zone) { background: var(--paper-bg); border-color: var(--paper-line); }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .custom-field-zone.drop-active { background: var(--paper-soft); border-color: var(--paper-accent); }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(.explanation,.custom-storage,.alignment-icons,.batch-pdf-panel,.excel-row-editor,#label-symbols,.label-symbol-options label) { border-color: var(--paper-line); }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .custom-field-name input { background: transparent; }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(.clear-value,.paste-value,.custom-drag-handle,.custom-field-remove,.format-toggle span) { color: var(--paper-muted); }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(.clear-value,.paste-value,.custom-field-actions button) { background: transparent; }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .custom-field-name .custom-preset-toggle,
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .format-toggle input:checked+span,
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .alignment-icons button[aria-pressed=true],
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .editor-select-menu .custom-preset-menu button[aria-selected=true] {
    background: var(--paper-soft);
    color: var(--paper-accent);
    border-color: var(--paper-line);
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(.custom-preset-menu,.excel-options) { box-shadow: var(--paper-shadow); }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .editor-select-menu .custom-preset-menu button { background: var(--paper-panel); color: var(--paper-ink); }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor #fields label:has([data-field="highlight"]) { background: var(--paper-soft); color: var(--paper-ink); }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-tabs { background: var(--paper-bg); border-bottom: 1px solid var(--paper-line); }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-templates a { background: var(--paper-soft); color: var(--paper-accent); border-color: var(--paper-line); }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-layout-cards>button { border-radius: 14px; }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-layout-cards small { color: var(--paper-muted); opacity: 1; }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-error { color: #b42318; }
  html[data-theme=dark] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-error { color: #ffaaa3; }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-status { color: var(--paper-muted); }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor input[type=file]::file-selector-button {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--paper-soft);
    color: var(--paper-accent);
    border-color: var(--paper-line);
  }

  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .actions button:first-child,
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor #excel-download:not(:disabled),
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-tabs button[aria-pressed=true] {
    background: var(--paper-accent);
    border-color: var(--paper-accent);
    color: var(--paper-button-ink, #fff);
  }

  @media (hover:hover) {
    html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor button:not(:disabled):hover,
    html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .editor-select-menu .custom-preset-menu button:hover,
    html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-options button:hover,
    html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-templates a:hover {
      background: var(--paper-soft);
      border-color: var(--paper-accent);
      color: var(--paper-accent);
    }
    html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .actions button:first-child:not(:disabled):hover,
    html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor #excel-download:not(:disabled):hover,
    html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-tabs button[aria-pressed=true]:hover {
      background: var(--paper-button-hover,var(--paper-accent));
      color: var(--paper-button-ink, #fff);
    }
  }

  @media (prefers-reduced-motion:reduce) {
    html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor button { transition: none; }
  }
}

/* Current tool skins define their own tokens on .label-editor. Resolve that
   local scope too, rather than mixing an inherited paper palette with lime UI. */
@media screen {
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor {
    --lt-bg:var(--paper-bg); --lt-panel:var(--paper-panel);
    --lt-soft:var(--paper-bg); --lt-preview:var(--paper-bg);
    --lt-ink:var(--paper-ink); --lt-muted:var(--paper-muted);
    --lt-line:var(--paper-line); --lt-line-strong:var(--paper-accent);
    --lt-lime:var(--paper-accent); --lt-accent:var(--paper-accent);
    --lt-selected:var(--paper-soft); --lt-primary-ink:var(--paper-button-ink,#fff);
    --lt-primary-hover:var(--paper-button-hover,var(--paper-accent)); --lt-shadow:var(--paper-shadow);
    background:var(--paper-bg); color:var(--paper-ink);
  }
  /* Modals are appended directly to body, outside .label-editor. */
  html[data-theme] body.paper-site.service-tool .symbol-picker-dialog {
    background:var(--paper-panel); color:var(--paper-ink); border-color:var(--paper-line);
    font-family:var(--paper-font); max-height:85dvh;
  }
  html[data-theme] body.paper-site.service-tool .symbol-picker-heading h2 { color:var(--paper-ink); }
  html[data-theme] body.paper-site.service-tool .symbol-picker-dialog>p,
  html[data-theme] body.paper-site.service-tool .symbol-picker-footer span { color:var(--paper-muted); }
  html[data-theme] body.paper-site.service-tool .symbol-picker-footer {
    background:var(--paper-panel); border-color:var(--paper-line); flex-wrap:wrap;
  }
  html[data-theme] body.paper-site.service-tool .symbol-picker-dialog button {
    background:var(--paper-bg); color:var(--paper-ink); border-color:var(--paper-line);
  }
  html[data-theme] body.paper-site.service-tool .symbol-picker-option[aria-pressed=true] {
    background:var(--paper-soft); color:var(--paper-accent); border-color:var(--paper-accent);
    box-shadow:inset 0 0 0 1px var(--paper-accent);
  }
  html[data-theme] body.paper-site.service-tool .symbol-picker-footer .symbol-picker-apply {
    background:var(--paper-accent); color:var(--paper-button-ink); border-color:var(--paper-accent);
  }
  html[data-theme] body.paper-site.service-tool .symbol-picker-dialog button:disabled { opacity:.5; cursor:not-allowed; }
  html[data-theme] body.paper-site.service-tool .symbol-picker-dialog button:focus-visible {
    outline:2px solid var(--paper-accent); outline-offset:3px;
  }
  /* These black print symbols need a paper backing; their artwork stays intact. */
  html[data-theme] body.paper-site.service-tool :is(.symbol-picker-option,.symbol-picker-chip)>svg {
    background:#fff; border-radius:3px; box-shadow:0 0 0 5px #fff;
  }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .symbol-picker-trigger {
    background:var(--paper-soft); color:var(--paper-accent); border-color:var(--paper-line);
  }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .symbol-picker-chip {
    color:var(--paper-ink); padding:10px;
  }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(.marking-settings,.marking-modes) {
    background:var(--paper-bg); color:var(--paper-ink);
  }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(.marking-kicker,.marking-heading p,.marking-output,.marking-bottom p) { color:var(--paper-muted); }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .marking-output strong { color:var(--paper-ink); }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site #generator .marking-setup .marking-modes button {
    color:var(--paper-muted); background:transparent;
  }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site #generator .marking-setup .marking-modes button[aria-pressed=true] {
    background:var(--paper-soft); color:var(--paper-accent); box-shadow:inset 0 0 0 1px var(--paper-accent);
  }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor #marking-upload-slot .batch-pdf-panel {
    background:var(--paper-panel); border-color:var(--paper-line);
  }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor #marking-edit-content {
    background:var(--paper-accent); color:var(--paper-button-ink);
  }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .brand-placement-note { white-space:normal; }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-options { max-width:min(280px,100%); min-width:100%; }
  @media(max-width:600px) {
    html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-mapping { grid-template-columns:minmax(0,1fr); }
    html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor .excel-tabs { flex-wrap:wrap; }
    html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(input,select,textarea) { font-size:16px; }
  }
}

@media screen {
  /* Theme/palette changes must update ink and fill together. An animated fill
     paired with immediate text color creates a low-contrast intermediate frame. */
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor #parent-categories button[aria-pressed=true] {
    background:var(--paper-soft); color:var(--paper-accent); border-color:var(--paper-accent);
    transition:box-shadow .18s ease;
  }
  html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(#batch-pdf-export,#excel-download):not(:disabled) {
    background:var(--paper-button-bg); border-color:var(--paper-button-bg); color:var(--paper-button-ink);
    transition:box-shadow .18s ease;
  }
  @media(hover:hover) {
    html[data-theme] body.paper-site.service-tool.lime-site.lime-site .label-editor :is(#batch-pdf-export,#excel-download):not(:disabled):hover {
      background:var(--paper-button-hover); border-color:var(--paper-button-hover); color:var(--paper-button-ink);
    }
  }
}
