@use "../../core/variables" as *; @use "../../core/mixins" as *; // ============================================================= // Administration partagée // ============================================================= // Blocs BEM utilisés sur plusieurs écrans d'administration. .admin-nav { margin-bottom: $spacing-lg; } .admin-page-header { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: $spacing-md; margin-bottom: $spacing-md; &__body { display: grid; gap: $spacing-xs; } &__title { margin: 0; } &__intro { margin: 0; color: $color-text-muted; } &__actions { display: flex; flex-wrap: wrap; gap: $spacing-sm; } } .admin-actions { display: flex; flex-wrap: wrap; align-items: center; gap: $spacing-sm; } .admin-table { width: 100%; border-collapse: collapse; th, td { padding: $spacing-sm; border-bottom: 1px solid $color-border; text-align: left; vertical-align: top; line-height: $line-height-base; } th { background: $color-bg-light; font-weight: $font-weight-semibold; } &__self { color: $color-text-muted; font-size: $font-size-xs; } &__muted { color: $color-text-subtle; font-size: $font-size-xs; } &__form { display: inline-flex; align-items: center; gap: $spacing-xs; margin: 0; } &__list { margin: $spacing-xs 0 0; padding-left: $spacing-md; } &__list-item + &__list-item { margin-top: $spacing-xs; } &__code { display: block; } &__role-select { font-size: $font-size-sm; padding: $spacing-xs $spacing-sm; border: 1px solid $color-border; border-radius: $radius-md; background: $color-bg-white; cursor: pointer; @include interactive-transition; &:focus-visible { @include focus-ring; } } } @include mobile { .admin-table { display: block; thead { display: none; } tbody, tr { display: block; } tr { border: 1px solid $color-border; border-radius: $radius-md; margin-bottom: $spacing-md; padding: $spacing-sm; background: $color-bg-white; } td { display: flex; align-items: flex-start; gap: $spacing-sm; padding: $spacing-xs 0; border-bottom: 1px solid $color-border; font-size: $font-size-sm; &:last-child { border-bottom: none; padding-bottom: 0; } &::before { content: attr(data-label); font-weight: $font-weight-semibold; min-width: 100px; flex-shrink: 0; color: $color-text-muted; } } } .admin-actions { flex-direction: column; align-items: flex-start; } }