:root {
    --app-sidebar-width: 15rem;
}

body {
    background-color: #f5f6f8;
}

.navbar-brand {
    font-weight: 600;
}

.page-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: 1.5rem;
}

.page-header h1 {
    font-size: 1.5rem;
    margin: 0;
}

.card-stat .display-6 {
    font-weight: 600;
}

.table > :not(caption) > * > * {
    vertical-align: middle;
}

.login-card {
    max-width: 26rem;
}

.question.has-error {
    border-left: 3px solid var(--bs-danger);
    padding-left: .75rem;
}

.info-block-content > :last-child {
    margin-bottom: 0;
}

.info-block-content h1 {
    font-size: 1.25rem;
}

.section-nav .list-group-item[hidden] {
    display: none;
}

.repeatable-table td {
    min-width: 9rem;
}

.repeatable-table td:first-child,
.repeatable-table td:last-child {
    min-width: auto;
}

/* Les éléments flex ne doivent pas s'élargir au contenu (tableaux larges : défilement dans .table-responsive) */
.min-w-0 {
    min-width: 0;
}

/* Les éléments masqués visuellement (position absolue) restent contenus dans la zone de défilement */
.table-responsive {
    position: relative;
}
