/* Police du Hub Admin.
   Le thème (MainLayout, AuthLayout) fixe la famille par défaut à Inter ; MudBlazor garde en revanche
   une variable de famille par style de texte, toutes réglées sur Roboto. On les ramène ici sur la
   famille par défaut, pour que titres, corps de texte et boutons suivent le thème sans exception. */
:root {
    --mud-typography-h1-family: var(--mud-typography-default-family);
    --mud-typography-h2-family: var(--mud-typography-default-family);
    --mud-typography-h3-family: var(--mud-typography-default-family);
    --mud-typography-h4-family: var(--mud-typography-default-family);
    --mud-typography-h5-family: var(--mud-typography-default-family);
    --mud-typography-h6-family: var(--mud-typography-default-family);
    --mud-typography-subtitle1-family: var(--mud-typography-default-family);
    --mud-typography-subtitle2-family: var(--mud-typography-default-family);
    --mud-typography-body1-family: var(--mud-typography-default-family);
    --mud-typography-body2-family: var(--mud-typography-default-family);
    --mud-typography-button-family: var(--mud-typography-default-family);
    --mud-typography-caption-family: var(--mud-typography-default-family);
    --mud-typography-overline-family: var(--mud-typography-default-family);
}

/* Sous le point de rupture, MudBlazor empile chaque cellule en libellé / valeur : un identifiant long
   (PosId, nom de dossier) doit revenir à la ligne plutôt que déborder de la carte. */
@media (max-width: 599.98px) {
    .mud-table-cell {
        word-break: break-word;
    }

    /* Le libellé, lui, reste d'un seul tenant : il est court et sert de repère. */
    .mud-table-cell::before {
        word-break: normal;
    }
}

/* Valeur de clé dans un tableau : coupée par des points de suspension tant qu'il y a de la place
   (la valeur entière reste dans l'infobulle). Sur téléphone, une chaîne insécable de cette longueur
   fixerait la largeur minimale de la colonne et ferait déborder la page : elle revient à la ligne. */
.api-key-value {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 599.98px) {
    .api-key-value {
        white-space: normal;
        overflow-wrap: anywhere;
    }
}

/* Identifiants (PosId, noms de dossiers, clés) : une police à chasse fixe qui distingue 0 et O,
   1 et l. Légèrement plus petite que le texte courant, dont elle garde l'alignement. */
.font-monospace {
    font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.85em;
}

/* Session interrompue par une erreur : en haut, au-dessus de tout (barres MudBlazor comprises), impossible à manquer.
   Blazor l'affiche en posant display: block. */
#blazor-error-ui {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    z-index: 3000;
    padding: 0.75rem 1.25rem;
    background: #B91C1C;
    color: #FFFFFF;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

    #blazor-error-ui .reload {
        color: #FFFFFF;
        margin-left: 1rem;
        text-decoration: underline;
    }
