/* my.bosmal — colori e badge del design system del gestionale (ds.css), SENZA
   la sua densita'.

   Decisione di Claudio (24/09/2026): sul portale dipendenti arrivano solo la
   palette degli stati e i badge tenui, cosi' un "fermo" o un "in turno" ha lo
   stesso colore dentro e fuori. Niente carattere Inter, niente dimensioni,
   spaziature o altezze: le schermate dei driver (bottoni da 48px, testo da
   16px, utenti anziani e polacchi) restano come sono. Eccezione (25/09/2026):
   le pagine "da ufficio" dentro .my-ds, in fondo al file.

   Caricato solo su my.bosmal (is_my_portal, _base/head_assets.html). I valori
   sono gli stessi di ds.css: se cambiano la', vanno cambiati anche qui. */

:root {
  --ok:#157347;   --ok-bg:#e7f4ec;   --ok-bd:#b9dfc9;
  --warn:#8a5d00; --warn-bg:#fdf6e3; --warn-bd:#eedfae;
  --bad:#b42318;  --bad-bg:#fdecea;  --bad-bd:#f2c3bd;
  --info:#0a6b7c; --info-bg:#e6f4f6; --info-bd:#b5dbe1;
  --accent:       var(--bosmal-primary-light, #1e4a8a);
  --accent-hover: var(--bosmal-primary, #183867);
  --accent-soft:  color-mix(in srgb, var(--accent) 8%, #fff);
  --accent-border:color-mix(in srgb, var(--accent) 26%, #fff);

  /* varianti tenui di Bootstrap (alert, *-subtle, *-emphasis) sulla stessa palette */
  --bs-success-rgb:21,115,71;
  --bs-danger-rgb:180,35,24;
  --bs-primary-text-emphasis:var(--accent-hover);
  --bs-primary-bg-subtle:var(--accent-soft);
  --bs-primary-border-subtle:var(--accent-border);
  --bs-success-text-emphasis:var(--ok);   --bs-success-bg-subtle:var(--ok-bg);   --bs-success-border-subtle:var(--ok-bd);
  --bs-warning-text-emphasis:var(--warn); --bs-warning-bg-subtle:var(--warn-bg); --bs-warning-border-subtle:var(--warn-bd);
  --bs-danger-text-emphasis:var(--bad);   --bs-danger-bg-subtle:var(--bad-bg);   --bs-danger-border-subtle:var(--bad-bd);
  --bs-info-text-emphasis:var(--info);    --bs-info-bg-subtle:var(--info-bg);    --bs-info-border-subtle:var(--info-bd);
}

/* badge tenui (testo del tono su fondo chiaro), solo nel contenuto: i contatori
   sopra le icone (position-absolute, es. campanella) restano pieni */
main .badge { border: 1px solid transparent; }
main .badge:is(.bg-primary, .text-bg-primary):not(.position-absolute) {
  background-color: var(--accent-soft) !important; color: var(--accent-hover) !important; border-color: var(--accent-border); }
main .badge:is(.bg-success, .text-bg-success):not(.position-absolute) {
  background-color: var(--ok-bg) !important; color: var(--ok) !important; border-color: var(--ok-bd); }
main .badge:is(.bg-danger, .text-bg-danger):not(.position-absolute) {
  background-color: var(--bad-bg) !important; color: var(--bad) !important; border-color: var(--bad-bd); }
main .badge:is(.bg-warning, .text-bg-warning):not(.position-absolute) {
  background-color: var(--warn-bg) !important; color: var(--warn) !important; border-color: var(--warn-bd); }
main .badge:is(.bg-info, .text-bg-info):not(.position-absolute) {
  background-color: var(--info-bg) !important; color: var(--info) !important; border-color: var(--info-bd); }
main .badge:is(.bg-secondary, .text-bg-secondary):not(.position-absolute) {
  background-color: #f1f3f7 !important; color: #4e5969 !important; border-color: #dde1ea; }
/* badge sopra un bottone pieno: il tenue non si vedrebbe */
main :is(.btn-primary, .btn-success, .btn-danger, .btn-secondary) > .badge {
  background-color: rgba(255,255,255,.22) !important; color: #fff !important; border-color: transparent; }

/* testi di stato con gli stessi toni */
main .text-success { color: var(--ok) !important; }
main .text-danger  { color: var(--bad) !important; }
main .text-warning { color: var(--warn) !important; }

/* ══════════ pagine "da ufficio" di my.bosmal: .my-ds ══════════
   Tabellone turni e Stato flotta li aprono capiturno e tecnici, non i driver:
   li si allinea al gestionale (carattere Inter, componenti .bos-* con i token
   di ds.css). Opt-in per pagina: il contenitore .my-ds dentro {% block content %}.
   Le schermate dei driver non lo usano e restano come sono (decisione sopra).
   Valori copiati da ds.css (.bos-shell-on ...): se cambiano la', qui. */
@font-face {
  font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('../fonts/inter/inter-latin-wght-normal.woff2') format('woff2-variations'),
       url('../fonts/inter/inter-latin-wght-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('../fonts/inter/inter-latin-ext-wght-normal.woff2') format('woff2-variations'),
       url('../fonts/inter/inter-latin-ext-wght-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
.my-ds {
  --n-0:#ffffff; --n-25:#f7f8fa; --n-50:#f1f3f7; --n-100:#e8ebf1;
  --n-200:#dde1ea; --n-300:#c2c9d6; --n-400:#8f9bb0;
  --n-500:#667286; --n-600:#4e5969; --n-700:#333c49; --n-800:#1f2630;
  --viola:#6b3fa0; --viola-bg:#f1ebf9; --viola-bd:#d6c6ec;
  --surface:#fff; --surface-2:var(--n-25);
  --border:var(--n-200); --border-soft:var(--n-100);
  --r:8px; --r-sm:6px;
  --bos-primary:var(--accent); --bos-success:var(--ok); --bos-warning:#b7791f;
  --bos-danger:var(--bad); --bos-info:var(--info); --bos-purple:var(--viola); --bos-gray:var(--n-500);
  font-family: "Inter","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  font-feature-settings: "cv05" 1, "cv08" 1;
  color: var(--n-700);
}
/* i controlli dei form ereditano il carattere (Bootstrap li mette a "inherit"
   solo in parte: select e bottoni su alcuni browser no) */
.my-ds :is(button, input, select, .btn) { font-family: inherit; }

.my-ds .bos-page-header { border-bottom-color: var(--border); }
.my-ds .bos-page-title { font-size: 1.25rem; font-weight: 600; color: var(--n-800); }
.my-ds .bos-page-title > .bi:first-child { color: var(--accent); }
.my-ds .bos-page-subtitle { color: var(--n-500); }

.my-ds .bos-stat { border-color: var(--border); color: var(--n-700); border-radius: 999px; font-size: .85rem; }
.my-ds .bos-stat:hover { border-color: var(--n-300); background: var(--surface); color: var(--n-800); }
.my-ds .bos-stat .n { color: var(--n-800); }
.my-ds .bos-stat.active,
.my-ds .bos-stat.active .n { background: var(--accent-soft); border-color: var(--accent-border); color: var(--accent-hover); }
.my-ds .bos-stat:disabled { opacity: .6; cursor: default; }
.my-ds .bos-stat .dot.primary   { background: var(--accent); }
.my-ds .bos-stat .dot.success   { background: var(--ok); }
.my-ds .bos-stat .dot.warning   { background: #d4a017; }
.my-ds .bos-stat .dot.danger    { background: var(--bad); }
.my-ds .bos-stat .dot.gray      { background: var(--n-400); }

.my-ds .bos-kpi-row { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
.my-ds .bos-kpi { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r); padding: .6rem .9rem; }
.my-ds .bos-kpi-label { color: var(--n-500); }
.my-ds .bos-kpi-value { color: var(--n-800); }
/* KPI-bottone (filtro): stesso aspetto della scheda, anello quando e' acceso */
.my-ds button.bos-kpi { font: inherit; width: 100%; cursor: pointer; }
.my-ds button.bos-kpi:hover { border-color: var(--accent-border); }
.my-ds .bos-kpi.danger { background: var(--bad-bg); border-color: var(--bad-bd); }
.my-ds .bos-kpi.danger.active { box-shadow: 0 0 0 2px var(--bad); }

.my-ds .bos-card { border-color: var(--border); border-radius: var(--r); }
