/* Complete interface palettes, based on the ten approved visual directions.
   Natural modes preserve the original swatches; the opposite mode keeps the
   same identity. Only UI tokens and chrome are themed, never document paper. */
html[data-design="segnale"][data-palette="calce"] {
  --palette-bg:#F5F2EB; --palette-paper:#FFFEFA; --palette-ink:#293D34; --palette-muted:#626B61;
  --palette-side:#EAE8DE; --palette-side-ink:#293D34; --palette-side-muted:#59665D;
  --palette-action:#355B48; --palette-action-ink:#FFFFFF; --palette-soft:#E3EADF; --palette-border:#DADDD2;
  --palette-nav-bg:transparent; --palette-nav-ink:var(--palette-side-ink); --palette-nav-border:var(--palette-action);
}
html[data-design="segnale"][data-palette="cobalto"] {
  --palette-bg:#F5F7FC; --palette-paper:#FFFFFF; --palette-ink:#182744; --palette-muted:#59677D;
  --palette-side:#2449CA; --palette-side-ink:#FFFFFF; --palette-side-muted:#DBE3FF;
  --palette-action:#2449CA; --palette-action-ink:#FFFFFF; --palette-soft:#E8EEFF; --palette-border:#DCE3EF;
  --palette-nav-bg:#FFFFFF; --palette-nav-ink:#2449CA; --palette-nav-border:#FFFFFF;
}
html[data-design="segnale"][data-palette="bordeaux"] {
  --palette-bg:#F7F2F1; --palette-paper:#FFFDFC; --palette-ink:#412B32; --palette-muted:#78616A;
  --palette-side:#4C2433; --palette-side-ink:#FFF9F7; --palette-side-muted:#E7CED6;
  --palette-action:#7A3449; --palette-action-ink:#FFFFFF; --palette-soft:#F0DFE4; --palette-border:#E6D9DC;
}
html[data-design="segnale"][data-palette="laguna"] {
  --palette-bg:#EEF5F3; --palette-paper:#FFFFFF; --palette-ink:#203F42; --palette-muted:#5B7473;
  --palette-side:#174B50; --palette-side-ink:#F6FFFD; --palette-side-muted:#C4DFDB;
  --palette-action:#256A65; --palette-action-ink:#FFFFFF; --palette-soft:#DBEDE6; --palette-border:#D6E4DF;
}
html[data-design="segnale"][data-palette="carbonio"] {
  --palette-bg:#F3F4EF; --palette-paper:#FFFFFF; --palette-ink:#2B302C; --palette-muted:#657065;
  --palette-side:#2B302C; --palette-side-ink:#FBFCF4; --palette-side-muted:#CBD0C6;
  --palette-action:#D7E873; --palette-action-ink:#293020; --palette-soft:#EEF2D9; --palette-border:#DDE2D7;
  /* Cedar is an action fill, never low-contrast text on the white reading area. */
  --palette-link:#293020;
  --palette-nav-bg:var(--palette-action); --palette-nav-ink:var(--palette-action-ink); --palette-nav-border:var(--palette-action);
}
html[data-design="segnale"][data-palette="rame"] {
  --palette-bg:#F1ECE6; --palette-paper:#FFFCF7; --palette-ink:#47392F; --palette-muted:#7A685B;
  --palette-side:#493B33; --palette-side-ink:#FFF9F1; --palette-side-muted:#DFCCBA;
  --palette-action:#9C5534; --palette-action-ink:#FFFFFF; --palette-soft:#F1DFCE; --palette-border:#DFD3C5;
}
html[data-design="segnale"][data-palette="perla"] {
  --palette-bg:#F8F8F6; --palette-paper:#FFFFFF; --palette-ink:#292C30; --palette-muted:#6B6D73;
  --palette-side:#FFFFFF; --palette-side-ink:#292C30; --palette-side-muted:#65666D;
  --palette-action:#32373E; --palette-action-ink:#FFFFFF; --palette-soft:#E9EAED; --palette-border:#DDDFE2;
  --palette-nav-bg:var(--palette-action); --palette-nav-ink:var(--palette-action-ink); --palette-nav-border:var(--palette-action);
}
html[data-design="segnale"][data-palette="iris"] {
  --palette-bg:#F4F1F8; --palette-paper:#FFFDFF; --palette-ink:#463C55; --palette-muted:#756A83;
  --palette-side:#44364F; --palette-side-ink:#FDF8FF; --palette-side-muted:#DFD2E9;
  --palette-action:#70568D; --palette-action-ink:#FFFFFF; --palette-soft:#EAE0F3; --palette-border:#E1D9E8;
}
html[data-design="segnale"][data-palette="oliva"] {
  --palette-bg:#F3F0E7; --palette-paper:#FCFBF6; --palette-ink:#35392B; --palette-muted:#6B6F5C;
  --palette-side:#E7E6D9; --palette-side-ink:#343A28; --palette-side-muted:#62694F;
  --palette-action:#5C6B3E; --palette-action-ink:#FFFFFF; --palette-soft:#E3E8CF; --palette-border:#D9DCCB;
  --palette-nav-bg:var(--palette-action); --palette-nav-ink:var(--palette-action-ink); --palette-nav-border:var(--palette-action);
}
html[data-design="segnale"][data-palette="notturno"] {
  --palette-bg:#1A2331; --palette-paper:#232F40; --palette-ink:#EEF2F6; --palette-muted:#B1C0CF;
  --palette-side:#131D2A; --palette-side-ink:#F0F6FC; --palette-side-muted:#AFBFCE;
  --palette-action:#B0DCCB; --palette-action-ink:#182D27; --palette-soft:#304B49; --palette-border:#3D4C60;
  --palette-nav-bg:var(--palette-action); --palette-nav-ink:var(--palette-action-ink); --palette-nav-border:var(--palette-action);
}

/* Night counterparts of the nine naturally light palettes. */
html[data-design="segnale"][data-palette="calce"][data-theme="dark"] {
  --palette-bg:#202923; --palette-paper:#29362D; --palette-ink:#EDF2E9; --palette-muted:#B7C4B6;
  --palette-side:#19251E; --palette-side-ink:#F0F5EC; --palette-side-muted:#B9CAB9;
  --palette-action:#B7D4BE; --palette-action-ink:#1F3227; --palette-soft:#354B3C; --palette-border:#46594A;
}
html[data-design="segnale"][data-palette="cobalto"][data-theme="dark"] {
  --palette-bg:#182137; --palette-paper:#222E46; --palette-ink:#EFF3FF; --palette-muted:#B6C4DE;
  --palette-side:#163596; --palette-side-ink:#FFFFFF; --palette-side-muted:#D9E3FF;
  --palette-action:#A9BFFF; --palette-action-ink:#152858; --palette-soft:#303F60; --palette-border:#435473;
  --palette-nav-ink:#163596;
}
html[data-design="segnale"][data-palette="bordeaux"][data-theme="dark"] {
  --palette-bg:#2A1F25; --palette-paper:#382A32; --palette-ink:#F9EDF1; --palette-muted:#D0BAC3;
  --palette-side:#391C28; --palette-side-ink:#FFF9F7; --palette-side-muted:#E7CED6;
  --palette-action:#E8B3C3; --palette-action-ink:#42222E; --palette-soft:#4F3441; --palette-border:#654755;
}
html[data-design="segnale"][data-palette="laguna"][data-theme="dark"] {
  --palette-bg:#172D30; --palette-paper:#203D40; --palette-ink:#EDFAF6; --palette-muted:#AFCCC7;
  --palette-side:#103D42; --palette-side-ink:#F6FFFD; --palette-side-muted:#C4DFDB;
  --palette-action:#A2D9CE; --palette-action-ink:#123B38; --palette-soft:#2D524F; --palette-border:#446B65;
}
html[data-design="segnale"][data-palette="carbonio"][data-theme="dark"] {
  --palette-bg:#232723; --palette-paper:#2D332D; --palette-ink:#F0F3E9; --palette-muted:#BCC5B5;
  --palette-side:#191E19; --palette-side-ink:#FBFCF4; --palette-side-muted:#CBD0C6;
  --palette-action:#D7E873; --palette-action-ink:#293020; --palette-soft:#3C442B; --palette-border:#535B45;
  --palette-link:var(--palette-action);
}
html[data-design="segnale"][data-palette="rame"][data-theme="dark"] {
  --palette-bg:#2D241F; --palette-paper:#3B3028; --palette-ink:#FAF0E6; --palette-muted:#D4BEAA;
  --palette-side:#34261F; --palette-side-ink:#FFF9F1; --palette-side-muted:#DFCCBA;
  --palette-action:#E3B18B; --palette-action-ink:#3A2519; --palette-soft:#543F30; --palette-border:#705340;
}
html[data-design="segnale"][data-palette="perla"][data-theme="dark"] {
  --palette-bg:#25272B; --palette-paper:#303339; --palette-ink:#F0F1F3; --palette-muted:#BDC0C7;
  --palette-side:#1E2024; --palette-side-ink:#F2F3F5; --palette-side-muted:#BEC1C7;
  --palette-action:#E1E4E9; --palette-action-ink:#262B32; --palette-soft:#41464F; --palette-border:#565D68;
}
html[data-design="segnale"][data-palette="iris"][data-theme="dark"] {
  --palette-bg:#282231; --palette-paper:#352D40; --palette-ink:#F3EDF8; --palette-muted:#C5B7D3;
  --palette-side:#30253B; --palette-side-ink:#FDF8FF; --palette-side-muted:#DFD2E9;
  --palette-action:#D2BCE5; --palette-action-ink:#392447; --palette-soft:#493B59; --palette-border:#665374;
}
html[data-design="segnale"][data-palette="oliva"][data-theme="dark"] {
  --palette-bg:#272A1E; --palette-paper:#333828; --palette-ink:#F2F4E4; --palette-muted:#C4C9AF;
  --palette-side:#222819; --palette-side-ink:#F1F4E4; --palette-side-muted:#CAD1B4;
  --palette-action:#CDD9A2; --palette-action-ink:#2F381E; --palette-soft:#47512F; --palette-border:#657248;
}
html[data-design="segnale"][data-palette="notturno"][data-theme="light"] {
  --palette-bg:#EEF2F7; --palette-paper:#FFFFFF; --palette-ink:#223348; --palette-muted:#5A6C81;
  --palette-side:#192A3D; --palette-side-ink:#F0F6FC; --palette-side-muted:#AFBFCE;
  --palette-action:#28675A; --palette-action-ink:#FFFFFF; --palette-soft:#DCEEE8; --palette-border:#D0DCE8;
  --palette-nav-bg:#B0DCCB; --palette-nav-ink:#182D27; --palette-nav-border:#B0DCCB;
}

/* Map the UI's existing semantic tokens to one complete palette. */
html[data-design="segnale"][data-palette] {
  --bg:var(--palette-bg); --paper:var(--palette-paper); --ink:var(--palette-ink);
  --muted:var(--palette-muted); --ink-muted:var(--palette-muted);
  --soft:var(--palette-soft); --panel:var(--palette-soft); --line:var(--palette-border); --surface-outline:var(--palette-border);
  --accent:var(--palette-link,var(--palette-action)); --accent-hover:var(--accent); --brand:var(--accent);
  --signal:var(--palette-action); --signal-ink:var(--palette-action-ink); --signal-hover:var(--palette-action);
  --signal-wash:var(--palette-soft); --tint:var(--palette-soft);
  --ratio-page:var(--bg); --ratio-ink:var(--ink); --ratio-muted:var(--muted); --ratio-line:var(--line); --ratio-accent:var(--accent);
  --palette-side-active:color-mix(in srgb,var(--palette-side-ink) 12%,var(--palette-side));
  --palette-side-border:color-mix(in srgb,var(--palette-side-ink) 22%,var(--palette-side));
  --palette-muted-on-soft:color-mix(in srgb,var(--palette-muted) 75%,var(--palette-ink));
  color:var(--ink); background:var(--bg);
}
html[data-design="segnale"][data-palette][data-theme="light"] { color-scheme:light; }
html[data-design="segnale"][data-palette][data-theme="dark"] { color-scheme:dark; }
html[data-design="segnale"][data-palette] :is(input,textarea,select,dialog) { color-scheme:inherit; }
html[data-design="segnale"][data-palette] body { background:var(--palette-bg);color:var(--palette-ink); }

/* The sidebar keeps its own readable palette, including an open mobile drawer. */
html[data-design="segnale"][data-palette] body[data-app-shell="unified"] :is(.work-navigation,.work-navigation-content) {
  --bg:var(--palette-side); --paper:var(--palette-side); --ink:var(--palette-side-ink);
  --muted:var(--palette-side-muted); --ink-muted:var(--palette-side-muted);
  --soft:var(--palette-side-active); --panel:var(--palette-side-active); --signal-wash:var(--palette-side-active); --tint:var(--palette-side-active);
  --line:var(--palette-side-border); --surface-outline:var(--palette-side-border); --accent:var(--palette-side-ink); --accent-hover:var(--palette-side-ink);
  --ratio-page:var(--bg); --ratio-ink:var(--ink); --ratio-muted:var(--muted); --ratio-line:var(--line); --ratio-accent:var(--accent);
  color:var(--ink);
}
html[data-design="segnale"][data-palette] body[data-app-shell="unified"] .chat-layout>.work-navigation:not([hidden]) { background:var(--palette-side);border-color:var(--palette-side-border); }
html[data-design="segnale"][data-palette] body[data-app-shell="unified"][data-legora-navigation="true"] #new-chat.legora-new-chat,
html[data-design="segnale"][data-palette] body[data-app-shell="unified"][data-legora-navigation="true"] #new-chat.legora-new-chat:hover:not(:disabled) {
  background:var(--palette-nav-bg,var(--palette-side-active)); color:var(--palette-nav-ink,var(--palette-side-ink)); border-color:var(--palette-nav-border,var(--palette-side-border));
}
html[data-design="segnale"][data-palette] body[data-app-shell="unified"][data-legora-navigation="true"] #new-chat.legora-new-chat:hover:not(:disabled) { box-shadow:0 0 0 1px var(--palette-side-ink); }
html[data-design="segnale"][data-palette] #legora-active-project .legora-project-tabs button[aria-current="page"] { background:var(--palette-side-active);color:var(--palette-side-ink); }
html[data-design="segnale"][data-palette] body[data-app-shell="unified"] .work-navigation :is(.work-nav-item:hover,.work-nav-item[aria-current="page"]) { --muted:var(--palette-side-ink); }

/* Floating menus use the main reading surface even when opened from the rail. */
html[data-design="segnale"][data-palette] :is(#work-account-details,.conversation-tools-list,.legora-composer-popup,.execution-profile-menu,.activity-more-list,.activity-tooltip,.segnale-library,.segnale-activities-popover,dialog) {
  --bg:var(--palette-bg); --paper:var(--palette-paper); --ink:var(--palette-ink); --muted:var(--palette-muted); --ink-muted:var(--palette-muted);
  --soft:var(--palette-soft); --panel:var(--palette-soft); --line:var(--palette-border); --surface-outline:var(--palette-border);
  --accent:var(--palette-link,var(--palette-action)); --accent-hover:var(--accent); --signal-wash:var(--palette-soft); --tint:var(--palette-soft);
  --ratio-page:var(--bg); --ratio-ink:var(--ink); --ratio-muted:var(--muted); --ratio-line:var(--line); --ratio-accent:var(--accent);
  background:var(--paper);color:var(--ink);border-color:var(--line);
}
html[data-design="segnale"][data-palette] :is(.button-primary,.primary),
html[data-design="segnale"][data-palette] .sl-workbench .sl-wb-primary,
html[data-design="segnale"][data-palette] body[data-app-shell="unified"] :is(.send-button,.stop-button) {
  background:var(--palette-action);color:var(--palette-action-ink);border-color:var(--palette-action);
}
html[data-design="segnale"][data-palette] :is(.button-primary,.primary):hover:not(:disabled),
html[data-design="segnale"][data-palette] .sl-workbench .sl-wb-primary:hover:not(:disabled),
html[data-design="segnale"][data-palette] body[data-app-shell="unified"] :is(.send-button,.stop-button):hover:not(:disabled) {
  background:var(--palette-action);color:var(--palette-action-ink);border-color:var(--palette-action);box-shadow:0 0 0 2px var(--palette-soft);
}
html[data-design="segnale"][data-palette] body[data-app-shell="unified"] .send-button:disabled { background:var(--palette-soft);color:var(--palette-muted);border-color:transparent; }
html[data-design="segnale"][data-palette] :is(input,textarea)::placeholder { color:var(--muted);opacity:1; }
html[data-design="segnale"][data-palette] :is(.chat-scroll,.work-navigation-scroll) { scrollbar-color:var(--line) transparent; }

/* Small secondary labels remain readable on the stronger selected surfaces. */
html[data-design="segnale"][data-palette] :is(.user .message-body,.composer-actions .activity-selection,.legora-picker-search,.legora-picker-item:hover,.legora-picker-item[aria-pressed="true"],.execution-profile-option:hover,.execution-profile-option:focus-visible,.execution-profile-option[aria-checked="true"],.sl-wb-catalog,.sl-wb-matrix thead th,.sl-wb-matrix tbody th) { --muted:var(--palette-muted-on-soft); --ink-muted:var(--palette-muted-on-soft); }

/* Source and workbench chrome follows the palette. Document paper, extracted
   text, PDF frames and redline content retain their existing rendering. */
html[data-design="segnale"][data-palette] .document-pane { background:var(--palette-soft);color:var(--palette-ink);border-color:var(--palette-border); }
html[data-design="segnale"][data-palette] :is(.document-pane-header,.document-pane-footer) { background:var(--palette-paper);color:var(--palette-ink);border-color:var(--palette-border); }
html[data-design="segnale"][data-palette] :is(.document-pane-toolbar,.document-pane-compare,.document-pane-switch) { background:var(--palette-soft);color:var(--palette-ink);border-color:var(--palette-border);--muted:var(--palette-muted-on-soft); }
html[data-design="segnale"][data-palette] :is(.document-pane-icon,.document-pane-download) { color:var(--muted); }
html[data-design="segnale"][data-palette] .document-pane-icon:hover { background:var(--palette-soft);color:var(--palette-ink); }
html[data-design="segnale"][data-palette] .document-pane-pagination button { background:var(--palette-soft);color:var(--palette-ink);border-color:var(--palette-border); }
html[data-design="segnale"][data-palette] .document-pane-compare select { background:var(--palette-paper);color:var(--palette-ink);border-color:var(--palette-border); }
html[data-design="segnale"][data-palette] .sl-wb-heading { background:var(--palette-paper);color:var(--palette-ink); }
html[data-design="segnale"][data-palette] .sl-wb-heading .sl-wb-close { background:var(--palette-soft);color:var(--palette-ink);border-color:var(--palette-border); }
html[data-design="segnale"][data-palette] .sl-workbench input[type="checkbox"] { accent-color:var(--accent); }

/* Account is the only palette picker. Miniatures show the complete natural mode. */
html[data-design="segnale"][data-palette] .account-colors { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
html[data-design="segnale"][data-palette] .account-colors button {
  display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch;padding:9px;
  background:var(--paper);border-color:var(--line);color:var(--ink);border-radius:12px;
}
html[data-design="segnale"][data-palette] .account-colors button:disabled { opacity:1; }
html[data-design="segnale"][data-palette] .account-colors button:hover { background:var(--soft);border-color:var(--accent); }
html[data-design="segnale"][data-palette] .account-colors button:focus-visible { outline:2px solid var(--accent);outline-offset:3px; }
html[data-design="segnale"][data-palette="calce"] .account-colors [data-color-choice="calce"],
html[data-design="segnale"][data-palette="cobalto"] .account-colors [data-color-choice="cobalto"],
html[data-design="segnale"][data-palette="bordeaux"] .account-colors [data-color-choice="bordeaux"],
html[data-design="segnale"][data-palette="laguna"] .account-colors [data-color-choice="laguna"],
html[data-design="segnale"][data-palette="carbonio"] .account-colors [data-color-choice="carbonio"],
html[data-design="segnale"][data-palette="rame"] .account-colors [data-color-choice="rame"],
html[data-design="segnale"][data-palette="perla"] .account-colors [data-color-choice="perla"],
html[data-design="segnale"][data-palette="iris"] .account-colors [data-color-choice="iris"],
html[data-design="segnale"][data-palette="oliva"] .account-colors [data-color-choice="oliva"],
html[data-design="segnale"][data-palette="notturno"] .account-colors [data-color-choice="notturno"] {
  background:var(--signal-wash);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);--color-choice-check:visible;
}
html[data-design="segnale"][data-palette] .palette-preview { display:grid;grid-template-columns:29% minmax(0,1fr);height:86px;overflow:hidden;background:var(--preview-bg);border:1px solid color-mix(in srgb,var(--preview-ink) 16%,var(--preview-bg));border-radius:7px; }
html[data-design="segnale"][data-palette] .palette-preview-side { display:flex;flex-direction:column;gap:6px;padding:12px 6px;background:var(--preview-side); }
html[data-design="segnale"][data-palette] .palette-preview-side i { display:block;height:3px;border-radius:2px;background:var(--preview-side-ink);opacity:.6; }
html[data-design="segnale"][data-palette] .palette-preview-side i:first-child { width:77%;height:6px;margin-bottom:6px;opacity:1; }
html[data-design="segnale"][data-palette] .palette-preview-main { position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;padding:13px 10px;background:var(--preview-bg); }
html[data-design="segnale"][data-palette] .palette-preview-main b { display:block;width:75%;height:5px;margin-bottom:3px;background:var(--preview-ink);border-radius:2px; }
html[data-design="segnale"][data-palette] .palette-preview-main i { display:block;width:100%;height:3px;background:var(--preview-ink);opacity:.23;border-radius:2px; }
html[data-design="segnale"][data-palette] .palette-preview-main i:nth-of-type(2) { width:72%; }
html[data-design="segnale"][data-palette] .palette-preview-main em { position:absolute;inset:auto 8px 8px;height:17px;background:var(--preview-paper);border:1px solid color-mix(in srgb,var(--preview-ink) 14%,var(--preview-paper));border-radius:4px; }
html[data-design="segnale"][data-palette] .palette-preview-main em::after { content:"";position:absolute;right:3px;top:3px;width:9px;height:9px;background:var(--preview-action);border-radius:3px; }
html[data-design="segnale"][data-palette] .palette-choice-label { display:flex;align-items:center;gap:8px;padding:0 2px;font-size:12px;line-height:1.5; }
html[data-design="segnale"][data-palette] .account-color-check { margin-left:auto;visibility:var(--color-choice-check,hidden);color:var(--accent); }

@media(max-width:850px) {
  html[data-design="segnale"][data-palette] body[data-app-shell="unified"] .chat-layout>.work-navigation:not([hidden]) { background:transparent;border:0; }
  html[data-design="segnale"][data-palette] body[data-app-shell="unified"] .work-navigation-heading {
    --ink:var(--palette-ink); --muted:var(--palette-muted); --paper:var(--palette-paper); --bg:var(--palette-bg);
    --soft:var(--palette-soft); --panel:var(--palette-soft); --line:var(--palette-border); --accent:var(--palette-link,var(--palette-action));
    color:var(--palette-ink);
  }
  html[data-design="segnale"][data-palette] body[data-app-shell="unified"] .work-navigation-toggle { color:var(--palette-ink); }
  html[data-design="segnale"][data-palette] body[data-app-shell="unified"] .work-navigation.is-open .work-navigation-content { background:var(--palette-side);border-color:var(--palette-side-border); }
  html[data-design="segnale"][data-palette] .work-mobile-document-count { background:var(--palette-action);color:var(--palette-action-ink); }
}
@media(max-width:600px) {
  html[data-design="segnale"][data-palette] .account-colors { grid-template-columns:1fr; }
  html[data-design="segnale"][data-palette] .palette-preview { height:94px; }
}
@media(forced-colors:active) {
  html[data-design="segnale"][data-palette] .palette-preview { forced-color-adjust:none; }
  html[data-design="segnale"][data-palette] .account-colors button { border:1px solid ButtonText; }
  html[data-design="segnale"][data-palette] .account-colors button[aria-pressed="true"] { border:2px solid Highlight; }
  html[data-design="segnale"][data-palette] .account-colors button:focus-visible { outline-color:Highlight; }
}
