/* Copiato da sunnycatnice/limtech_backend, design/tokens/limca.tokens.json (versione 0.6, LIM-216),
   con design/tokens/genera.mjs: non modificare a mano, si rigenera da lì. */

:root {
  /* Marchio Limca */
  --lc-brand-blue: #0f3397;
  --lc-brand-blue-2: #1c47b5;
  --lc-brand-navy: #0a1f66;
  --lc-brand-yellow: #ffe500;
  --lc-brand-green: #139b58;
  --lc-brand-red: #df2632;

  /* Superfici */
  --lc-bg: #f4f6fa;
  --lc-surface: #ffffff;
  --lc-surface-2: #f8f9fc;
  --lc-surface-sunken: #eef1f6;
  --lc-hover: #f2f5fb;
  --lc-selected: #e9effc;

  /* Bordi */
  --lc-border: #e2e7ef;
  --lc-border-strong: #c9d1de;
  --lc-input-border: #838ca0;

  /* Testo (contrasto su bianco: 17,7 · 9,8 · 5,9; il quarto solo per segnaposto) */
  --lc-text: #121827;
  --lc-text-2: #3a4459;
  --lc-text-3: #5b6579;
  --lc-text-4: #8a93a6;

  /* Azione primaria */
  --lc-primary: #0f3397;
  --lc-primary-hover: #0b2878;
  --lc-primary-text: #1c3fa8;
  --lc-primary-soft: #ebf0fc;
  --lc-on-primary: #ffffff;
  --lc-focus-color: #1c47b5;
  --lc-focus: 0 0 0 3px rgba(28, 71, 181, 0.32);

  /* Stati semantici: testo, sfondo, bordo */
  --lc-neutral-fg: #4a5468;
  --lc-neutral-bg: #eff1f5;
  --lc-neutral-bd: #dde1e8;
  --lc-info-fg: #1f45ad;
  --lc-info-bg: #ecf1fd;
  --lc-info-bd: #cfdbf8;
  --lc-warn-fg: #8a4b00;
  --lc-warn-bg: #fff4e0;
  --lc-warn-bd: #f7dcaa;
  --lc-transit-fg: #0d6273;
  --lc-transit-bg: #e5f6f8;
  --lc-transit-bd: #bfe6ec;
  --lc-ok-fg: #0d6b3d;
  --lc-ok-bg: #e7f6ee;
  --lc-ok-bd: #bfe5cf;
  --lc-danger-fg: #b0202e;
  --lc-danger-bg: #fdecee;
  --lc-danger-bd: #f6c9ce;
  --lc-lock-fg: #6a3fb0;
  --lc-lock-bg: #f3eefc;
  --lc-lock-bd: #e0d3f6;

  /* Accento: il giallo Limca, per le offerte (LIM-214) */
  --lc-accent-fg: #0a1f66;
  --lc-accent-bg: #ffe500;
  --lc-accent-bd: #e6cf00;

  /* Barra laterale: sempre blu Limca, in entrambi i temi */
  --lc-side-bg: #0f3397;
  --lc-side-bg-2: #0a1e6e;
  --lc-side-text: rgba(255, 255, 255, 0.82);
  --lc-side-text-dim: rgba(255, 255, 255, 0.64);
  --lc-side-hover: rgba(255, 255, 255, 0.08);
  --lc-side-active: rgba(255, 255, 255, 0.14);

  /* Tipografia */
  --lc-font: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --lc-font-display: "Bricolage Grotesque", var(--lc-font);
  --lc-font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;
  --lc-fs-xs: 0.75rem;
  --lc-fs-sm: 0.8125rem;
  --lc-fs-md: 0.875rem;
  --lc-fs-lg: 1rem;
  --lc-fs-xl: 1.375rem;
  --lc-fs-2xl: 1.625rem;
  --lc-fs-num: 1.5rem;

  /* Spaziature (griglia di 4 px) */
  --lc-s1: 4px;
  --lc-s2: 8px;
  --lc-s3: 12px;
  --lc-s4: 16px;
  --lc-s5: 20px;
  --lc-s6: 24px;
  --lc-s8: 32px;
  --lc-s10: 40px;

  /* Raggi (v2): angoli continui. r-sm resta per i campioni; r-md, r-lg, r-xl sono alias */
  --lc-r-xs: 4px;
  --lc-r-sm: 6px;
  --lc-r-campo: 14px;
  --lc-r-card: 22px;
  --lc-r-foglio: 28px;
  --lc-r-pill: 999px;
  --lc-r-md: var(--lc-r-campo);
  --lc-r-lg: var(--lc-r-card);
  --lc-r-xl: var(--lc-r-foglio);
  --lc-k: 1; /* 1,55 dove il browser supporta corner-shape: squircle */
  --lc-r-campo-sq: calc(var(--lc-r-campo) * var(--lc-k));
  --lc-r-card-sq: calc(var(--lc-r-card) * var(--lc-k));
  --lc-r-foglio-sq: calc(var(--lc-r-foglio) * var(--lc-k));

  /* Ombre: poche e basse */
  --lc-shadow-1: 0 1px 2px rgba(16, 24, 40, 0.05);
  --lc-shadow-2: 0 1px 2px rgba(16, 24, 40, 0.06), 0 8px 24px -12px rgba(16, 24, 40, 0.18);
  --lc-shadow-3: 0 12px 40px -12px rgba(16, 24, 40, 0.32);

  /* Misure dei controlli */
  --lc-control: 36px;
  --lc-control-sm: 30px;
  --lc-side-w: 244px;

  /* Titoli (v2, decisione del 14/10/2026): le lettere non si toccano */
  --lc-ls-display: -0.012em; /* Bricolage da 48 px in su, tetto -0.02em */
  --lc-ls-titolo: -0.005em; /* Bricolage sotto i 48 px, tetto -0.01em */
  --lc-lh-display: 1;
  --lc-lh-titolo: 1.08;
  --lc-fs-titolo-pagina: clamp(1.75rem, 1.2rem + 1.5vw, 2.5rem); /* titolo di pagina del gestionale: 28 px su telefono, 40 px su schermo largo */

  /* Luce dei pulsanti (v2): pillola lucida e alone */
  --lc-primary-alto: #2a57d0;
  --lc-primary-basso: #0f3397;
  --lc-luce: inset 0 1px 0 rgba(255, 255, 255, 0.28);
  --lc-alone-primary: 0 8px 18px -10px rgba(15, 51, 151, 0.55);

  /* Accenti di marchio (v2) */
  --lc-accent-limca: #ffe500;
  --lc-on-accent-limca: #0f3397;
  --lc-accent-limshop: #0b7a43;
  --lc-on-accent-limshop: #ffffff;
  --lc-accent-limtech: #1668c9;
  --lc-promo-fg: #c41d2a;

  /* Tinte di categoria del negozio e del sito (v2), validate per il daltonismo */
  --lc-cat-1: #1c47b5;
  --lc-cat-2: #d9730d;
  --lc-cat-3: #0a93a8;
  --lc-cat-4: #8a6a12;
  --lc-cat-5: #c2417e;
  --lc-cat-6: #3a8a2e;
  --lc-cat-7: #6b46c1;
  --lc-cat-8: #c0392b;

  /* Materia e movimento (v2) */
  --lc-vetro: rgba(255, 255, 255, 0.64); /* barre e livelli che galleggiano su contenuto */
  --lc-vetro-forte: rgba(255, 255, 255, 0.86); /* menu, dialoghi, barra di salvataggio: testo lungo sopra */
  --lc-vetro-scuro: rgba(14, 21, 44, 0.9); /* messaggi brevi (toast), al contrario del tema */
  --lc-vetro-blu: rgba(15, 51, 151, 0.84); /* barra su telefono sopra i contenuti */
  --lc-vetro-bordo: rgba(255, 255, 255, 0.78);
  --lc-vetro-filtro: blur(22px) saturate(1.8);
  --lc-materia-blu: radial-gradient(70% 60% at 10% 0%, rgba(92, 140, 255, 0.55), transparent 62%), radial-gradient(60% 55% at 100% 100%, rgba(38, 86, 226, 0.4), transparent 70%), linear-gradient(165deg, #1640b4 0%, #0f3397 34%, #0a1f66 74%, #071650 100%); /* testate, accesso, numero principale: uguale nei due temi */
  --lc-materia-side: radial-gradient(140% 40% at 0% 0%, rgba(92, 140, 255, 0.45), transparent 60%), linear-gradient(180deg, #1640b4 0%, #0f3397 30%, #0a1e6e 100%); /* barra laterale del gestionale */
  --lc-luce-vetro: inset 0 1px 0 rgba(255, 255, 255, 0.55);
  --lc-molla: cubic-bezier(0.34, 1.56, 0.64, 1);
  --lc-durata-molla: 380ms;
  --lc-durata-pressione: 100ms;
  --lc-durata-foglio: 550ms;
  --lc-scala-pressione: 0.97;
  --lc-durata-entrata: 420ms; /* entrata in sequenza (lc-motion) */
  --lc-passo-sequenza: 35ms; /* distanza tra un elemento e il successivo */

  /* Icone d'app delle aree del gestionale (v2): tessera nella tinta dell'area, glifo bianco, uguale nei due temi */
  --lc-r-icona: 23.5%; /* raggio della tessera, in proporzione al lato */
  --lc-app-ordini: #2456d6;
  --lc-app-pagamenti: #11935a;
  --lc-app-consegne: #0a8ca0;
  --lc-app-resi: #d2650c;
  --lc-app-clienti: #7a4fd0;
  --lc-app-catalogo: #d03c66;
  --lc-app-promo: #b07c00;
  --lc-app-newsletter: #bf389c;
  --lc-app-sito: #5c8c1a;
  --lc-app-numeri: #1276cc;
  --lc-app-sistema: #5b6880;
}

/* Tema scuro: notte Limca. Il gestionale imposta sempre data-theme; gli altri prodotti
   seguono il sistema finché non c'è una scelta esplicita. */
:root[data-theme="dark"] {
  --lc-bg: #0a0f1f;
  --lc-surface: #10182c;
  --lc-surface-2: #141d34;
  --lc-surface-sunken: #0d1427;
  --lc-hover: #17213b;
  --lc-selected: #1a2a55;
  --lc-border: #222d48;
  --lc-border-strong: #33405f;
  --lc-input-border: #5b6890;
  --lc-text: #e8ecf6;
  --lc-text-2: #bcc5da;
  --lc-text-3: #939eb9;
  --lc-text-4: #6b7693;
  --lc-primary: #3d63e0;
  --lc-primary-hover: #5277ec;
  --lc-primary-text: #9db4ff;
  --lc-primary-soft: #1a2853;
  --lc-focus-color: #9db4ff;
  --lc-focus: 0 0 0 3px rgba(125, 155, 255, 0.45);
  --lc-neutral-fg: #c2c9d8;
  --lc-neutral-bg: #1b2338;
  --lc-neutral-bd: #2b3550;
  --lc-info-fg: #a9c0ff;
  --lc-info-bg: #16224a;
  --lc-info-bd: #253a78;
  --lc-warn-fg: #ffc874;
  --lc-warn-bg: #2e2112;
  --lc-warn-bd: #5a3f17;
  --lc-transit-fg: #7fdbe9;
  --lc-transit-bg: #0f2a33;
  --lc-transit-bd: #1b4b57;
  --lc-ok-fg: #7fe0ab;
  --lc-ok-bg: #0f2a1f;
  --lc-ok-bd: #1d4d36;
  --lc-danger-fg: #ff9aa5;
  --lc-danger-bg: #331419;
  --lc-danger-bd: #5c2129;
  --lc-lock-fg: #cdb6ff;
  --lc-lock-bg: #251a3f;
  --lc-lock-bd: #3f2d6a;
  --lc-accent-fg: #ffe500;
  --lc-accent-bg: #2b2706;
  --lc-accent-bd: #5c5410;
  --lc-side-bg: #0a1640;
  --lc-side-bg-2: #08123a;
  --lc-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.3);
  --lc-shadow-2: 0 1px 2px rgba(0, 0, 0, 0.35), 0 10px 28px -14px rgba(0, 0, 0, 0.6);
  --lc-shadow-3: 0 16px 48px -12px rgba(0, 0, 0, 0.7);
  --lc-primary-alto: #3d63e0;
  --lc-primary-basso: #2f55d4;
  --lc-luce: inset 0 1px 0 rgba(255, 255, 255, 0.18);
  --lc-alone-primary: 0 8px 20px -10px rgba(0, 0, 0, 0.65);
  --lc-accent-limshop: #5fd394;
  --lc-on-accent-limshop: #06210f;
  --lc-accent-limtech: #6cb4ff;
  --lc-promo-fg: #ff8a94;
  --lc-cat-1: #5577ee;
  --lc-cat-2: #d07020;
  --lc-cat-3: #0f9aa8;
  --lc-cat-4: #b08a2a;
  --lc-cat-5: #d6579a;
  --lc-cat-6: #4a9e3c;
  --lc-cat-7: #9177e0;
  --lc-cat-8: #e05a4a;
  --lc-vetro: rgba(20, 28, 60, 0.58);
  --lc-vetro-forte: rgba(20, 28, 56, 0.88);
  --lc-vetro-scuro: rgba(232, 236, 246, 0.92);
  --lc-vetro-blu: rgba(10, 22, 64, 0.86);
  --lc-vetro-bordo: rgba(255, 255, 255, 0.13);
  --lc-materia-side: radial-gradient(140% 40% at 0% 0%, rgba(70, 110, 230, 0.28), transparent 60%), linear-gradient(180deg, #0f2470 0%, #0a1640 45%, #08123a 100%);
  --lc-luce-vetro: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --lc-bg: #0a0f1f;
    --lc-surface: #10182c;
    --lc-surface-2: #141d34;
    --lc-surface-sunken: #0d1427;
    --lc-hover: #17213b;
    --lc-selected: #1a2a55;
    --lc-border: #222d48;
    --lc-border-strong: #33405f;
    --lc-input-border: #5b6890;
    --lc-text: #e8ecf6;
    --lc-text-2: #bcc5da;
    --lc-text-3: #939eb9;
    --lc-text-4: #6b7693;
    --lc-primary: #3d63e0;
    --lc-primary-hover: #5277ec;
    --lc-primary-text: #9db4ff;
    --lc-primary-soft: #1a2853;
    --lc-focus-color: #9db4ff;
    --lc-focus: 0 0 0 3px rgba(125, 155, 255, 0.45);
    --lc-neutral-fg: #c2c9d8;
    --lc-neutral-bg: #1b2338;
    --lc-neutral-bd: #2b3550;
    --lc-info-fg: #a9c0ff;
    --lc-info-bg: #16224a;
    --lc-info-bd: #253a78;
    --lc-warn-fg: #ffc874;
    --lc-warn-bg: #2e2112;
    --lc-warn-bd: #5a3f17;
    --lc-transit-fg: #7fdbe9;
    --lc-transit-bg: #0f2a33;
    --lc-transit-bd: #1b4b57;
    --lc-ok-fg: #7fe0ab;
    --lc-ok-bg: #0f2a1f;
    --lc-ok-bd: #1d4d36;
    --lc-danger-fg: #ff9aa5;
    --lc-danger-bg: #331419;
    --lc-danger-bd: #5c2129;
    --lc-lock-fg: #cdb6ff;
    --lc-lock-bg: #251a3f;
    --lc-lock-bd: #3f2d6a;
    --lc-accent-fg: #ffe500;
    --lc-accent-bg: #2b2706;
    --lc-accent-bd: #5c5410;
    --lc-side-bg: #0a1640;
    --lc-side-bg-2: #08123a;
    --lc-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.3);
    --lc-shadow-2: 0 1px 2px rgba(0, 0, 0, 0.35), 0 10px 28px -14px rgba(0, 0, 0, 0.6);
    --lc-shadow-3: 0 16px 48px -12px rgba(0, 0, 0, 0.7);
    --lc-primary-alto: #3d63e0;
    --lc-primary-basso: #2f55d4;
    --lc-luce: inset 0 1px 0 rgba(255, 255, 255, 0.18);
    --lc-alone-primary: 0 8px 20px -10px rgba(0, 0, 0, 0.65);
    --lc-accent-limshop: #5fd394;
    --lc-on-accent-limshop: #06210f;
    --lc-accent-limtech: #6cb4ff;
    --lc-promo-fg: #ff8a94;
    --lc-cat-1: #5577ee;
    --lc-cat-2: #d07020;
    --lc-cat-3: #0f9aa8;
    --lc-cat-4: #b08a2a;
    --lc-cat-5: #d6579a;
    --lc-cat-6: #4a9e3c;
    --lc-cat-7: #9177e0;
    --lc-cat-8: #e05a4a;
    --lc-vetro: rgba(20, 28, 60, 0.58);
    --lc-vetro-forte: rgba(20, 28, 56, 0.88);
    --lc-vetro-scuro: rgba(232, 236, 246, 0.92);
    --lc-vetro-blu: rgba(10, 22, 64, 0.86);
    --lc-vetro-bordo: rgba(255, 255, 255, 0.13);
    --lc-materia-side: radial-gradient(140% 40% at 0% 0%, rgba(70, 110, 230, 0.28), transparent 60%), linear-gradient(180deg, #0f2470 0%, #0a1640 45%, #08123a 100%);
    --lc-luce-vetro: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  }
}

/* Angoli continui dove il browser li supporta: i raggi crescono perché la curva è più morbida.
   Negli altri browser restano gli angoli tondi normali (--lc-k: 1). */
@supports (corner-shape: squircle) {
  :root { --lc-k: 1.55; }
}
