/*
 * TSdoc — compléments au thème Filament des back-offices (administration et cabinets).
 * Feuille statique, sans compilation : elle n'utilise que les variables du thème Filament
 * (--primary-*, --gray-*), donc elle suit la couleur de chaque cabinet, le mode sombre et l'arabe (RTL).
 */

/* Logo : pictogramme + nom */
.tsdoc-brand { display: inline-flex; align-items: center; gap: .625rem; min-width: 0; height: 100%; }
.tsdoc-brand-mark { flex: none; width: 2rem; height: 2rem; color: var(--primary-600); }
.tsdoc-brand-name {
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-size: 1.05rem; font-weight: 700; letter-spacing: -.01em; color: var(--gray-950);
}
.dark .tsdoc-brand-mark { color: var(--primary-500); }
.dark .tsdoc-brand-name { color: var(--gray-50); }

/* Pages de connexion et de double authentification */
.fi-simple-layout {
    background:
        radial-gradient(60rem 30rem at 0% 0%, color-mix(in oklab, var(--primary-200) 55%, transparent), transparent 70%),
        radial-gradient(50rem 30rem at 100% 100%, color-mix(in oklab, var(--primary-100) 70%, transparent), transparent 70%),
        var(--gray-50);
}
.dark .fi-simple-layout {
    background:
        radial-gradient(60rem 30rem at 0% 0%, color-mix(in oklab, var(--primary-900) 45%, transparent), transparent 70%),
        var(--gray-950);
}
.fi-simple-main {
    position: relative; overflow: hidden; border-radius: 1.25rem;
    box-shadow: 0 1px 2px rgb(15 23 42 / .06), 0 12px 32px -12px rgb(15 23 42 / .18), 0 0 0 1px rgb(15 23 42 / .05);
}
.fi-simple-main::before {
    content: ""; position: absolute; inset-inline: 0; top: 0; height: 4px;
    background: linear-gradient(90deg, var(--primary-500), var(--primary-700));
}

/* Barre latérale */
.fi-sidebar-group-label { font-size: .7rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn { background-color: color-mix(in oklab, var(--primary-500) 12%, transparent); }
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn::before {
    content: ""; position: absolute; inset-block: .4rem; inset-inline-start: -.25rem; width: 3px;
    border-radius: 3px; background: var(--primary-600);
}
.dark .fi-sidebar-item.fi-active > .fi-sidebar-item-btn { background-color: color-mix(in oklab, var(--primary-400) 16%, transparent); }

/* Indicateurs du tableau de bord */
.fi-wi-stats-overview-stat { overflow: hidden; transition: box-shadow .15s ease, transform .15s ease; }
.fi-wi-stats-overview-stat::before {
    content: ""; position: absolute; inset-inline: 0; top: 0; height: 3px;
    background: linear-gradient(90deg, var(--primary-400), var(--primary-600));
}
.fi-wi-stats-overview-stat:hover { transform: translateY(-1px); box-shadow: 0 10px 24px -12px rgb(15 23 42 / .25), 0 0 0 1px rgb(15 23 42 / .06); }

/* Titres de pages */
.fi-header-heading { letter-spacing: -.02em; }

@media (prefers-reduced-motion: reduce) {
    .fi-wi-stats-overview-stat { transition: none; }
    .fi-wi-stats-overview-stat:hover { transform: none; }
}
