/* Compléments à Bootstrap 5 */
body {
    min-height: 100vh;
    background: var(--bs-tertiary-bg);
}

.auth-card {
    max-width: 420px;
    margin: 8vh auto 0;
}

.app-tile {
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.app-tile:hover {
    transform: translateY(-2px);
    box-shadow: var(--bs-box-shadow);
}

.app-tile .bi {
    font-size: 2rem;
}

/* Pilotage : barre de navigation sombre, entrées avec icône */
.platform-navbar {
    background: #1f2a37;
}

.platform-navbar .nav-link {
    border-radius: .5rem;
    padding-inline: .75rem !important;
}

.platform-navbar .nav-link.active {
    background: rgba(255, 255, 255, .1);
}

.brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: .6rem;
    background: var(--bs-primary);
    color: #fff;
    font-size: 1rem;
}

.brand-mark-lg {
    width: 3rem;
    height: 3rem;
    border-radius: .9rem;
    font-size: 1.5rem;
}

/* Initiales d'une personne ou d'un client (liste des membres, comptes de pilotage, clients) */
.avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.4rem;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    font-size: .85rem;
    font-weight: 600;
    background: var(--bs-secondary-bg);
    color: var(--bs-secondary-color);
}

.avatar-sm {
    flex-basis: 2rem;
    width: 2rem;
    height: 2rem;
    font-size: .75rem;
}

.avatar-lg {
    flex-basis: 3.5rem;
    width: 3.5rem;
    height: 3.5rem;
    font-size: 1.25rem;
}

/* Un client ou une application : carré arrondi plutôt que rond */
.avatar-square {
    border-radius: .75rem;
}

.avatar-primary {
    background: var(--bs-primary-bg-subtle);
    color: var(--bs-primary-text-emphasis);
}

/* Compteurs cliquables (membres, clients, tableau de bord) */
.stat-card {
    transition: box-shadow .12s ease, transform .12s ease;
}

a.stat-card:hover {
    box-shadow: var(--bs-box-shadow-sm);
}

.stat-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.6rem;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: .75rem;
    font-size: 1.2rem;
}

.member-application-choices .form-check,
.subscription-choices .form-check {
    margin-bottom: .35rem;
}

.application-card {
    transition: box-shadow .12s ease;
}

.application-card:hover {
    box-shadow: var(--bs-box-shadow-sm) !important;
}

.min-w-0 {
    min-width: 0;
}

/* Pages de connexion du pilotage : marque, messages et carte dans une colonne centrée */
.auth-wrapper {
    max-width: 420px;
    margin: 8vh auto 0;
}

/* Carte d'un formulaire affiché en page (hors fenêtre modale) */
.form-card {
    max-width: 40rem;
}

.form-card-wide {
    max-width: 44rem;
}
