/* EDILAW · neumorfismo leggero, 12 novembre 2026.
   Ultimo livello visivo per app, editor e ricerca. La profondità è decorativa:
   testo, bordi dei campi, selezioni e focus restano indipendenti dalle ombre. */
:root {
  /* Mantiene leggibili anche le note piccole sulle superfici avorio. */
  --ds-text-3: #5d6b73;
  --neu-bg: var(--ds-bg, #f5f3ee);
  --neu-paper: var(--ds-surface, #fffefb);
  --neu-ink: var(--ds-text, #1d3341);
  --neu-navy: var(--ds-navy, #152f40);
  --neu-line: var(--ds-line, #e2ded3);
  --neu-field: #778187;
  --neu-focus: var(--ds-focus, #1d5f8c);
  --neu-radius: 16px;
  --neu-raised: 6px 6px 16px rgb(21 47 64 / 10%), -6px -6px 16px rgb(255 255 255 / 85%);
  --neu-small: 3px 3px 8px rgb(21 47 64 / 9%), -3px -3px 8px rgb(255 255 255 / 80%);
  --neu-inset: inset 2px 2px 5px rgb(21 47 64 / 8%), inset -2px -2px 5px rgb(255 255 255 / 95%);
  --neu-action: 0 3px 7px rgb(14 34 48 / 15%), inset 0 1px 0 rgb(255 255 255 / 13%);
}

/* Un solo rilievo per contenitore; i contenuti da leggere restano su carta. */
.login-card, .panel, .feature-card, .case-route, .work-entry:not([data-compact="true"]),
.resume-work, .home-recent, .folder-card, .start-card:not(.start-card-primary),
.function-card, .toolbar, .export-summary {
  background: var(--neu-bg);
  border-color: var(--neu-line);
  border-radius: var(--neu-radius);
  box-shadow: var(--neu-raised);
}
.home-recent { padding: 1.25rem; border: 1px solid var(--neu-line); }
.panel .panel, .panel .documents-card, .panel .fact-card,
.source-reader-article, .source-content, .source-reading,
.documents-review textarea, .ai-privacy-preview, .document-preview-text {
  background: var(--neu-paper);
  box-shadow: none;
}
.documents-card, .fact-card, .nav-current-work {
  border-radius: 12px;
  box-shadow: var(--neu-small);
}
.start-card:hover, .function-card:hover, .folder-card:hover {
  box-shadow: var(--neu-raised);
  border-color: var(--ds-brass, #9b7635);
  transform: translateY(-1px);
}
.start-card:active, .function-card:active, .folder-card:active {
  transform: none;
}
.start-card .start-icon {
  box-sizing: content-box;
  padding: 10px;
  border: 1px solid var(--neu-line);
  border-radius: 12px;
  background: var(--neu-bg);
  box-shadow: var(--neu-inset);
  color: var(--neu-navy);
}
.start-card-primary .start-icon {
  color: #fff;
  background: transparent;
  border-color: rgb(255 255 255 / 35%);
  box-shadow: inset 2px 2px 5px rgb(0 0 0 / 15%), inset -1px -1px 4px rgb(255 255 255 / 8%);
}

/* Primari pieni; secondari con un bordo netto, senza ombre in ogni riga. */
button.primary, .button.primary, .start-card-primary {
  box-shadow: var(--neu-action);
}
.start-card-primary { border-radius: var(--neu-radius); }
button:not(.primary):not(.delete):not(.ds-danger), .button:not(.primary) {
  border-radius: 9px;
}
.login-card button, .case-bar-actions button, .work-entry button,
.documents-drop button, .ds-dialog-actions button, .toolbar > .actions button {
  min-height: 44px;
}
.rail button[aria-current="page"], .rail .nav-primary button[aria-current="page"] {
  box-shadow: inset 3px 0 var(--ds-brass, #9b7635), var(--neu-action);
}
.case-route .case-workflow button { box-shadow: none; }
.step-marker { box-shadow: var(--neu-small); }
.case-route .case-workflow button[aria-current="step"] .step-marker {
  box-shadow: 0 0 0 3px var(--neu-bg), 0 0 0 5px var(--neu-navy);
}
.explorer-toolbar > button[aria-pressed] { border-radius: 0; }
.explorer-toolbar > button[aria-pressed]:first-of-type,
.explorer-toolbar > button:not([aria-pressed]) + button[aria-pressed] { border-radius: 9px 0 0 9px; }
.explorer-toolbar > button[aria-pressed] + button[aria-pressed] { border-radius: 0 9px 9px 0; }

/* L'incavo non sostituisce il confine del campo o l'anello di focus. */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
textarea, select {
  border-color: var(--neu-field);
  border-radius: 9px;
  background: #fff;
  color: var(--neu-ink);
  box-shadow: var(--neu-inset);
}
input::placeholder, textarea::placeholder { color: #5b6870; opacity: 1; }
input:focus-visible, textarea:focus-visible, select:focus-visible,
button:focus-visible, a:focus-visible, summary:focus-visible, [tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 3px solid var(--neu-focus);
  outline-offset: 3px;
}
input:focus, textarea:focus, select:focus { border-color: var(--neu-focus); }
input[type="checkbox"], input[type="radio"] { box-shadow: none; accent-color: var(--neu-navy); }
input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"] {
  border-color: var(--ds-danger, #a13a2a);
  border-width: 2px;
}
button:disabled, input:disabled, select:disabled, textarea:disabled { box-shadow: none; }
.documents-drop { border-color: var(--neu-field); box-shadow: var(--neu-inset); }
.documents-drop.dragging { border-color: var(--neu-navy); }

/* Ricerca autonoma: il blu della barra laterale e delle citazioni è conservato. */
.composer-inner, #filters, .sample, #dialog {
  border-radius: var(--neu-radius);
  box-shadow: var(--neu-raised);
}
.sample { background: var(--neu-bg); }
#sidebar input { background: var(--neu-paper); }
#sidebar :focus-visible { outline-color: #e0bf7e; }
.assistant .bubble, .cp-quote, .research-source, .md-table { box-shadow: none; }
.ds-dialog, .studio-dialog {
  border-radius: 18px;
  background: var(--neu-paper);
  box-shadow: 0 20px 55px rgb(14 34 48 / 24%), inset 0 1px 0 #fff;
}

@media (max-width: 1000px) {
  .start-card { grid-template-columns: 44px minmax(0, 1fr); column-gap: 1rem; }
  .start-card .start-icon { padding: 7px; }
}
@media (max-width: 700px) {
  :root { --neu-raised: 3px 3px 10px rgb(21 47 64 / 9%), -3px -3px 10px rgb(255 255 255 / 80%); }
  .home-recent { padding: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .start-card, .function-card, .folder-card { transition: none; }
  .start-card:hover, .function-card:hover, .folder-card:hover,
  .start-card:hover .start-link span { transform: none; }
}
@media (prefers-contrast: more) {
  :root { --neu-line: #778187; --neu-raised: none; --neu-small: none; --neu-inset: none; }
  .panel, .case-route, .folder-card, .function-card, .start-card, .resume-work { border-color: var(--neu-field); }
}
@media (forced-colors: active) {
  *, *::before, *::after { box-shadow: none !important; text-shadow: none !important; }
  button, .button, input, select, textarea { border: 1px solid ButtonText; }
  :focus-visible { outline: 3px solid Highlight !important; }
  [aria-current], [aria-pressed="true"], [aria-selected="true"] { outline: 2px solid Highlight; outline-offset: -3px; }
}
@media print {
  *, *::before, *::after { box-shadow: none !important; text-shadow: none !important; }
  .panel, .case-route, .toolbar, .home-recent, .source-reader-article,
  input, select, textarea { background: white; color: #111; }
}
