/* Impronta, il design system di PharmaCare, sui pannelli Filament: lo stile
   di tutti i pannelli sta qui. Senza build, in CSS normale: le variabili del
   CSS compilato di Filament per i valori di base, le sue classi fi- (le
   classi "hook" che Filament mette apposta per personalizzare) per i
   ritocchi. Quando Filament cambia versione maggiore si ricontrollano le
   pagine, perche' qualche classe puo' cambiare nome. Le regole di Filament
   stanno in un @layer e quelle di questo file no, quindi vincono sempre, in
   qualunque ordine si carichino. I colori e il
   logo stanno in app/Filament/Impronta.php, perche' Filament li usa anche lato
   server per scegliere il contrasto dei bottoni. Valori da
   PharmaCare-srl/css/style.css, sezione 1. Un modulo cambia quello che gli
   serve nel suo file (public/css/incall.css). */

/* Onest servito dalla piattaforma, mai da una CDN: gli stessi due file
   variabili (400-900) del sito, che il browser scarica solo se servono.
   Impronta::apply() aggancia questo file come carattere del pannello. */
@font-face {
    font-family: 'Onest';
    src: url('../fonts/onest/onest-latin.woff2') format('woff2');
    font-weight: 400 900;
    font-style: normal;
    font-display: swap;
    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: 'Onest';
    src: url('../fonts/onest/onest-latin-ext.woff2') format('woff2');
    font-weight: 400 900;
    font-style: normal;
    font-display: swap;
    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;
}

:root {
    /* Raggi: 6 px per bottoni, campi e menu (--radius-s), 10 px per sezioni,
       tabelle e finestre (--radius-m). */
    --radius-lg: 6px;
    --radius-xl: 10px;

    /* Pesi: 400 nel corpo, 600 nella UI, 900 nei titoli, con il salto minimo
       di 200 del sito. Il "medium" di Filament diventa 600, il "bold" 900. */
    --font-weight-medium: 600;
    --font-weight-bold: 900;
    --font-weight-extrabold: 900;

    /* Titoli col tracking negativo del sito. */
    --tracking-tight: -0.015em;

    /* Scala del testo: xs le etichette (--text-xs), sm la UI e le didascalie
       (--text-s), base il corpo, lg i titoli di card (--text-l), xl-3xl i
       titoli di pagina, piu' contenuti del sito perche' qui si lavora. */
    --text-xs: 0.74rem;
    --text-sm: 0.9rem;
    --text-base: 1rem;
    --text-lg: 1.2rem;
    --text-xl: 1.45rem;
    --text-2xl: 1.75rem;
    --text-3xl: 2.1rem;

    /* Movimento: --pace e --ease del sito. */
    --default-transition-duration: 180ms;
    --default-transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

/* I badge restano a pillola: sono indicatori, non azioni (REGOLE.md, la
   pillola e' bocciata solo sulle azioni). */
.fi-badge {
    border-radius: 9999px;
}

/* Nessun testo centrato, nemmeno i loghi (Andrea, 15 ottobre 2026). Filament
   centra intestazione e logo delle pagine di accesso, registrazione e
   attivazione, gli stati vuoti e le finestre di conferma. Restano centrati
   solo i giorni del calendario e le cifre dei codici, che non sono testo da
   leggere. */
.fi-simple-header {
    align-items: flex-start;
}

.fi-simple-header-heading,
.fi-simple-header-subheading,
.fi-logo {
    text-align: start;
}

.fi-empty-state-content,
.fi-ta-empty-state-content,
.fi-empty-state-text-ctn {
    justify-items: start;
    margin-inline: 0;
    text-align: start;
}

.fi-modal-header {
    align-items: flex-start;
    text-align: start;
}

/* La barra laterale si stacca dal contenuto: fondo bianco e una riga sottile
   a destra (in Impronta le righe sottili sono identita'). Da 64rem in su,
   dove la barra e' fissa; sotto e' un cassetto che si apre sopra la pagina e
   ha gia' il suo fondo. */
@media (min-width: 64rem) {
    .fi-sidebar {
        background-color: var(--color-white);
        border-inline-end: 1px solid var(--gray-200);
    }
}
