/* CMP Backoffice, token del sistema.
   Fonte dei colori, delle linee e dei pesi: Shift (cmp-turni/app/src/lib/theme.ts), stessi nomi di theme.ts
   riscritti come custom properties. Le righe marcate "BO:" sono scelte del backoffice che Shift non ha
   (vedi NOTE.md, sezione Divergenze).
   Chiaro di default. Scuro con prefers-color-scheme: dark oppure [data-theme="dark"].
   Chiaro forzato con [data-theme="light"]. */

/* ---------- Font del marchio, serviti in locale (cartella fonts/) ---------- */
@font-face{font-family:"Anton";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/Anton-Regular.woff2") format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/OpenSans-Regular400.woff2") format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;
  src:url("fonts/OpenSans-SemiBold600.woff2") format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:700;font-display:swap;
  src:url("fonts/OpenSans-Bold700.woff2") format("woff2")}

/* ---------- Valori che non cambiano col tema ---------- */
:root{
  /* tipografia */
  --font-display:"Anton","Arial Narrow",Impact,sans-serif;          /* BO: titoli di pagina e cifre grandi */
  --font-body:"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --text-hero-size:34px;   --text-hero-line:40px;
  --text-title-size:26px;  --text-title-line:32px;
  --text-h2-size:20px;     --text-h2-line:26px;
  --text-lead-size:17px;   --text-lead-line:24px;                   /* bodyLarge */
  --text-body-size:15px;   --text-body-line:22px;
  --text-small-size:13px;  --text-small-line:18px;
  --text-caption-size:13px;--text-caption-line:18px;--text-caption-tracking:.4px;
  --text-cell-size:14px;   --text-cell-line:20px;                   /* BO: celle di tabella */
  --text-kpi-size:40px;    --text-kpi-line:44px;                    /* BO: cifre grandi, Anton */
  --weight-regular:400; --weight-semibold:600; --weight-bold:700;

  /* spazio (Shift) */
  --space-xs:4px; --space-sm:8px; --space-smd:12px; --space-md:16px;
  --space-lg:24px; --space-xl:32px; --space-xxl:48px; --space-gutter:20px;

  /* raggi (Shift) */
  --radius-sm:8px; --radius-md:12px; --radius-lg:18px; --radius-xl:28px; --radius-pill:999px;

  /* controlli. Shift: height 54, target 48. BO: 40 su scrivania col mouse, 48 col tocco */
  --control-height:40px;
  --control-target:44px;
  --row-height:44px;

  /* struttura */
  --sidebar-width:268px;
  --header-height:64px;
  --page-gutter:32px;

  /* movimento */
  --ease:cubic-bezier(.2,.7,.2,1);
  --dur:160ms;
}
@media (pointer:coarse),(max-width:640px){
  :root{--control-height:48px;--control-target:48px;--row-height:56px;--page-gutter:16px}
}
@media (min-width:641px) and (max-width:1023px){
  :root{--page-gutter:24px}
}

/* ---------- Tema chiaro (Shift light) ---------- */
:root,[data-theme="light"]{
  color-scheme:light;
  --color-bg:#F1F2F6;
  --color-surface:#FFFFFF;
  --color-surface-alt:#E2E4EA;
  --color-text:#062028;
  --color-text-muted:#456069;
  --color-border:#B3BBC4;
  --color-accent:#E05610;
  --color-accent-strong:#0F4C5C;
  --color-on-accent:#FFFFFF;
  --color-action:#E05610;
  --color-on-action:#041519;
  --color-accent-soft:#E7EDEF;
  --color-sand:#B3BBC4;
  --color-sand-soft:#DBE4E7;
  --color-on-sand:#0F4C5C;
  --color-danger:#B3261E;
  --color-on-danger:#FFFFFF;
  --color-warning:#8A5A00;
  --color-warning-soft:#FBEFD6;
  --color-disabled:#B3BBC4;
  --color-overlay:rgba(0,0,0,.35);

  /* BO: aggiunte, tutte derivate dalla palette */
  --color-border-strong:#6C7C85;          /* bordo dei campi, 3:1 sul bianco (WCAG 1.4.11) */
  --color-danger-soft:#FBE7E5;
  --color-ok:#0F4C5C;                     /* "è andata bene" = petrolio, mai verde */
  --color-ok-soft:#E7EDEF;
  --color-ok-dot:#0F4C5C;
  --color-neutral-soft:#E2E4EA;
  --color-focus:#0F4C5C;
  --color-row-hover:#F1F2F6;
  --color-row-selected:#DBE4E7;
  --color-action-hover:#F67B23;           /* ember-400, hover */
  --color-placeholder:#5A727B;
  --color-data:#0F4C5C;                   /* grafici: petrolio su chiaro */
  --shadow-pop:0 12px 32px rgba(6,32,40,.18),0 2px 6px rgba(6,32,40,.10);
  --shadow-menu:0 8px 24px rgba(6,32,40,.16),0 1px 3px rgba(6,32,40,.10);
  --shadow-bar:0 10px 28px rgba(6,32,40,.20);
  --chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23062028' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --check-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --dash-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");
  --logo-light:block; --logo-dark:none;
}

/* ---------- Tema scuro (Shift dark) ---------- */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --color-bg:#062028;
    --color-surface:#0A343F;
    --color-surface-alt:#163D4A;
    --color-text:#FFFFFF;
    --color-text-muted:#A8CCD4;
    --color-border:#1E5468;
    --color-accent:#E05610;
    --color-accent-strong:#F5934A;
    --color-on-accent:#041519;
    --color-action:#E05610;
    --color-on-action:#041519;
    --color-accent-soft:#163D4A;
    --color-sand:#1E5468;
    --color-sand-soft:#163D4A;
    --color-on-sand:#FFFFFF;
    --color-danger:#FF8F84;
    --color-on-danger:#041519;
    --color-warning:#E8B75A;
    --color-warning-soft:#3A301C;
    --color-disabled:#1E5468;
    --color-overlay:rgba(0,0,0,.6);

    --color-border-strong:#5F95A6;
    --color-danger-soft:#3E2220;
    --color-ok:#A8CCD4;
    --color-ok-soft:#163D4A;
    --color-ok-dot:#37A3BE;
    --color-neutral-soft:#163D4A;
    --color-focus:#F5934A;
    --color-row-hover:#0E3A46;
    --color-row-selected:#163D4A;
    --color-action-hover:#F67B23;
    --color-placeholder:#8FB4BD;
    --color-data:#37A3BE;                 /* signal-400: ammesso per i dati */
    --shadow-pop:0 16px 40px rgba(0,0,0,.55);
    --shadow-menu:0 10px 28px rgba(0,0,0,.5);
    --shadow-bar:0 12px 32px rgba(0,0,0,.55);
    --chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    --check-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23041519' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
    --dash-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23041519' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");
    --logo-light:none; --logo-dark:block;
  }
}
[data-theme="dark"]{
  color-scheme:dark;
  --color-bg:#062028;
  --color-surface:#0A343F;
  --color-surface-alt:#163D4A;
  --color-text:#FFFFFF;
  --color-text-muted:#A8CCD4;
  --color-border:#1E5468;
  --color-accent:#E05610;
  --color-accent-strong:#F5934A;
  --color-on-accent:#041519;
  --color-action:#E05610;
  --color-on-action:#041519;
  --color-accent-soft:#163D4A;
  --color-sand:#1E5468;
  --color-sand-soft:#163D4A;
  --color-on-sand:#FFFFFF;
  --color-danger:#FF8F84;
  --color-on-danger:#041519;
  --color-warning:#E8B75A;
  --color-warning-soft:#3A301C;
  --color-disabled:#1E5468;
  --color-overlay:rgba(0,0,0,.6);

  --color-border-strong:#5F95A6;
  --color-danger-soft:#3E2220;
  --color-ok:#A8CCD4;
  --color-ok-soft:#163D4A;
  --color-ok-dot:#37A3BE;
  --color-neutral-soft:#163D4A;
  --color-focus:#F5934A;
  --color-row-hover:#0E3A46;
  --color-row-selected:#163D4A;
  --color-action-hover:#F67B23;
  --color-placeholder:#8FB4BD;
  --color-data:#37A3BE;
  --shadow-pop:0 16px 40px rgba(0,0,0,.55);
  --shadow-menu:0 10px 28px rgba(0,0,0,.5);
  --shadow-bar:0 12px 32px rgba(0,0,0,.55);
  --chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --check-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23041519' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --dash-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23041519' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");
  --logo-light:none; --logo-dark:block;
}
