@use '../atoms/variables' as *; // ─── Ausstehend-Badge ────────────────────────────────────────────────────────── .team-badge { display: inline-block; padding: 1px 8px; border-radius: $radius-pill; font-size: $font-size-xs; font-weight: $font-weight-medium; margin-left: $space-2; &--pending { background: rgba($color-warning-light, 0.12); color: $color-warning; } } // ─── Modal ───────────────────────────────────────────────────────────────────── .modal-overlay { position: fixed; inset: 0; background: $color-overlay; display: flex; align-items: center; justify-content: center; z-index: 200; &[hidden] { display: none !important; } } .modal-card { background: $color-card-white; border-radius: $radius-lg; box-shadow: $shadow-card; width: 100%; max-width: 460px; padding: 0; overflow: hidden; } .modal-card__header { display: flex; align-items: center; justify-content: space-between; padding: $space-5 $space-6; border-bottom: 1px solid rgba($color-border, 0.6); } .modal-card__title { font-size: $font-size-lg; font-weight: $font-weight-bold; color: $color-text-dark; } .modal-card__close { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: transparent; border: none; cursor: pointer; color: $color-text-muted; border-radius: 50%; transition: background $transition-fast; svg { width: 16px; height: 16px; } &:hover { background: rgba($color-border, 0.5); } } .modal-card__body { padding: $space-5 $space-6; display: flex; flex-direction: column; gap: $space-4; } .modal-card__footer { display: flex; justify-content: flex-end; gap: $space-3; padding: $space-4 $space-6; border-top: 1px solid rgba($color-border, 0.6); } // ─── Formularfelder im Modal ─────────────────────────────────────────────────── .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: $space-4; } .form-field { display: flex; flex-direction: column; gap: $space-1; } .form-field__label { font-size: $font-size-sm; font-weight: $font-weight-medium; color: $color-text-dark; } .form-errors { margin: 0 $space-6; padding: $space-3 $space-4; background: rgba($color-error, 0.08); border-radius: $radius-md; border: 1px solid rgba($color-error, 0.2); color: $color-error; font-size: $font-size-sm; &[hidden] { display: none !important; } ul { margin: 0; padding-left: 1.2em; } } // ─── Empty State ─────────────────────────────────────────────────────────────── .crud-list__empty { padding: $space-6; text-align: center; color: $color-text-muted; font-size: $font-size-sm; } // ─── Rollen-Selector (Inline-Edit + Modal) ──────────────────────────────────── .team-role-selector { display: flex; flex-direction: row; gap: $space-5; flex-wrap: wrap; &--disabled { opacity: 0.45; pointer-events: none; } } .team-role-option { display: flex; align-items: center; gap: $space-2; cursor: pointer; input[type='radio'] { accent-color: $color-primary; width: 15px; height: 15px; flex-shrink: 0; cursor: pointer; } &__label { font-size: $font-size-sm; color: $color-text-dark; } } .team-role-hint { margin-top: $space-1; font-size: $font-size-xs; color: $color-text-muted; }