/* Dmood adapter — maps the app's semantic token names onto the Dmood Design System.
   Electric Lime accent #C6F432 · carbon greys · neutral grayscale · Space Grotesk.
   Aesthetic: technical, calm, confident. Lime is a highlighter mark, never a wash.
   Text on the lime accent is ALWAYS dark carbon (white on lime is unreadable). */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400..700&display=swap');
:root {
  /* Type */
  --font-system: 'Space Grotesk', ui-sans-serif, system-ui, 'Segoe UI', Arial, sans-serif;
  --font-nav: var(--font-system);
  --font-heading: var(--font-system);
  --font-button: var(--font-system);
  --font-editorial: var(--font-system);
  --text-app-body-size: 14px;
  --text-app-body-line: 20px;
  --text-button-label-size: 14px;
  --text-button-label-weight: 500;
  --text-editorial-heading-md-size: 28px;
  --text-editorial-heading-md-line: 36px;

  /* Brand hues (legacy names re-pointed to Dmood lime/neutral) */
  --sr-institutional-blue: #c6f432;
  --sr-institutional-blue-hover: #b0de1f;
  --sr-institutional-blue-tint-10: #f4fcd9;
  --sr-cta-green: #b0de1f;
  --sr-input-background: #eff1ef;
  --sr-surface-white: #ffffff;
  --sr-border-hairline: #e2e5e2;

  /* Text */
  --color-text-primary: #1b1c1e;
  --color-text-secondary: #6e746e;
  --color-text-heading: #0d0e0f;
  --color-text-strong: #0d0e0f;
  --color-text-on-accent: #0d0e0f;
  --color-link: #6b8a0e;
  --color-link-hover: #475c09;

  /* Surfaces */
  --color-surface-page: #ffffff;
  --color-surface-card: #ffffff;
  --color-surface-sunken: #eff1ef;
  --color-surface-input: #f7f8f7;

  /* Actions */
  --color-accent-primary: #c6f432;
  --color-accent-primary-hover: #b0de1f;
  --color-accent-cta: #b0de1f;
  --color-accent-cta-hover: #8fb814;

  /* Borders */
  --color-border-subtle: #c9cdc9;
  --color-border-hairline: #e2e5e2;
  --color-ring: rgba(198, 244, 50, 0.45);

  /* Status */
  --color-status-info: #4da3f0;
  --color-status-info-bg: #eaf3fd;
  --color-status-success: #8fb814;
  --color-status-success-bg: #f4fcd9;
  --color-status-warning: #f5a524;
  --color-status-warning-bg: #fef3e2;
  --color-status-danger: #e5484d;
  --color-status-danger-bg: #fceaea;

  /* App chrome */
  --app-bg: #ffffff;
  --app-sidebar-bg: #f7f8f7;
  --app-surface: #ffffff;
  --app-border: #e2e5e2;
  --app-text-muted: #6e746e;
  --logo-filter: none;
  --gradient-ai: linear-gradient(90deg, #c6f432, #b0de1f);

  /* Shape */
  --radius-2xs: 3px;
  --radius-xs: 8px;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 20px;
  --radius-xl: 20px;
  --radius-pill: 999px;

  /* Elevation (neutral carbon shadows, not tinted) */
  --shadow-ring-subtle: 0 0 0 1px #e2e5e2;
  --shadow-hover: 0 0 0 1px #0d0e0f;
  --shadow-elevated: 0 2px 3px rgba(13, 14, 15, 0.10), 0 8px 24px 4px rgba(13, 14, 15, 0.12);
  --elevation-1: 0 1px 3px rgba(13, 14, 15, 0.08), 0 1px 3px 1px rgba(13, 14, 15, 0.05);
  --elevation-2: 0 1px 2px rgba(13, 14, 15, 0.08), 0 4px 12px 2px rgba(13, 14, 15, 0.08);
  --elevation-3: var(--shadow-elevated);
  --shadow-focus: 0 0 0 2px var(--color-surface-page), 0 0 0 4px #c6f432;

  /* Glass */
  --glass-bg: rgba(255, 255, 255, 0.7);
  --glass-bg-strong: rgba(255, 255, 255, 0.85);
  --glass-blur: blur(18px) saturate(160%);
  --glass-ring: 0 0 0 1px rgba(13, 14, 15, 0.08);
  --glass-scrim: rgba(13, 14, 15, 0.3);

  /* Motion */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
  --motion-fast: 120ms;
  --motion-base: 180ms;
  --motion-slow: 280ms;
  --transition-base: var(--motion-base) var(--ease-standard);
}

[data-theme="dark"] {
  --sr-institutional-blue: #c6f432;
  --sr-institutional-blue-hover: #cef45a;
  --sr-institutional-blue-tint-10: #1b1c1e;
  --sr-input-background: #1b1c1e;
  --sr-border-hairline: #232426;
  --color-text-primary: #e2e5e2;
  --color-text-secondary: #a8aaad;
  --color-text-heading: #f7f8f7;
  --color-text-strong: #ffffff;
  --color-text-on-accent: #0d0e0f;
  --color-link: #cef45a;
  --color-link-hover: #dbf788;
  --color-surface-page: #0d0e0f;
  --color-surface-card: #141517;
  --color-surface-sunken: #070708;
  --color-surface-input: #1b1c1e;
  --color-accent-primary: #c6f432;
  --color-accent-primary-hover: #cef45a;
  --color-accent-cta: #b0de1f;
  --color-accent-cta-hover: #c6f432;
  --color-border-subtle: #4a4c4f;
  --color-border-hairline: #232426;
  --color-ring: rgba(198, 244, 50, 0.28);
  --color-status-info: #4da3f0;
  --color-status-info-bg: #12233a;
  --color-status-success: #b0de1f;
  --color-status-success-bg: #1e2a05;
  --color-status-warning: #f5a524;
  --color-status-warning-bg: #3a2a10;
  --color-status-danger: #e5484d;
  --color-status-danger-bg: #3a1516;
  --app-bg: #0d0e0f;
  --app-sidebar-bg: #141517;
  --app-surface: #141517;
  --app-border: #232426;
  --app-text-muted: #a8aaad;
  --glass-bg: rgba(13, 14, 15, 0.6);
  --glass-bg-strong: rgba(20, 21, 23, 0.82);
  --glass-ring: 0 0 0 1px rgba(255, 255, 255, 0.06);
  --glass-scrim: rgba(0, 0, 0, 0.6);
  --shadow-ring-subtle: 0 0 0 1px #232426;
  --shadow-hover: 0 0 0 1px #ffffff;
  --shadow-elevated: 0 0 0 1px rgba(0, 0, 0, 0.5), 0 16px 40px rgba(0, 0, 0, 0.6);
  --gradient-ai: linear-gradient(90deg, #c6f432, #b0de1f);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--font-system);
  color: var(--color-text-primary);
  background: var(--color-surface-page);
}
::selection { background: #e8fab2; color: #0d0e0f; }
a { color: var(--color-link); text-decoration: none; }
a:hover { color: var(--color-link-hover); text-decoration: underline; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible {
  outline: none;
  box-shadow: var(--shadow-focus);
  border-radius: var(--radius-sm);
}

/* ── Toggle tema (light/dark) ── */
.dm-theme-toggle{width:36px;height:36px;border-radius:var(--radius-pill);border:1px solid var(--color-border-hairline);background:var(--color-surface-card);color:var(--color-text-strong);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1;transition:background var(--motion-fast) var(--ease-standard);padding:0}
.dm-theme-toggle:hover{background:var(--color-surface-sunken)}
.dm-theme-toggle .ico-dark{display:inline}
.dm-theme-toggle .ico-light{display:none}
[data-theme="dark"] .dm-theme-toggle .ico-dark{display:none}
[data-theme="dark"] .dm-theme-toggle .ico-light{display:inline}

/* ── Logo Dmood: mark bianco → scuro in light, resta bianco in dark ── */
.dm-logo{filter:invert(1);max-width:100%}
[data-theme="dark"] .dm-logo{filter:none}

/* Logo nel rail sidebar (largo 70px): vincolato alla larghezza, non sfora
   (il mark Dmood è ~1.39:1, quindi con height fissa diventerebbe troppo largo). */
.sr-rail .dm-logo{width:38px!important;height:auto!important;margin-bottom:14px}
