25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

153 lines
3.5 KiB

  1. @use '../atoms/variables' as *;
  2. @use '../atoms/mixins' as *;
  3. // ─── Ausstehend-Badge ──────────────────────────────────────────────────────────
  4. .team-badge {
  5. display: inline-block;
  6. padding: 1px 8px;
  7. border-radius: $radius-pill;
  8. font-size: $font-size-xs;
  9. font-weight: $font-weight-medium;
  10. margin-left: $space-2;
  11. &--pending {
  12. background: rgba($color-warning-light, 0.12);
  13. color: $color-warning;
  14. }
  15. }
  16. // ─── Modal ─────────────────────────────────────────────────────────────────────
  17. .modal-overlay {
  18. position: fixed;
  19. inset: 0;
  20. background: $color-overlay;
  21. display: flex;
  22. align-items: center;
  23. justify-content: center;
  24. z-index: 200;
  25. }
  26. .modal-card {
  27. @include card;
  28. width: 100%;
  29. max-width: 460px;
  30. padding: 0;
  31. overflow: hidden;
  32. }
  33. .modal-card__header {
  34. display: flex;
  35. align-items: center;
  36. justify-content: space-between;
  37. padding: $space-5 $space-6;
  38. border-bottom: 1px solid rgba($color-border, 0.6);
  39. }
  40. .modal-card__title {
  41. font-size: $font-size-lg;
  42. font-weight: $font-weight-bold;
  43. color: $color-text-dark;
  44. }
  45. .modal-card__close {
  46. @include icon-btn;
  47. color: $color-text-muted;
  48. svg { width: 16px; height: 16px; }
  49. &:hover { background: rgba($color-border, 0.5); }
  50. }
  51. .modal-card__body {
  52. padding: $space-5 $space-6;
  53. display: flex;
  54. flex-direction: column;
  55. gap: $space-4;
  56. }
  57. .modal-card__footer {
  58. display: flex;
  59. justify-content: flex-end;
  60. gap: $space-3;
  61. padding: $space-4 $space-6;
  62. border-top: 1px solid rgba($color-border, 0.6);
  63. }
  64. // ─── Formularfelder im Modal ───────────────────────────────────────────────────
  65. .form-row {
  66. display: grid;
  67. grid-template-columns: 1fr 1fr;
  68. gap: $space-4;
  69. }
  70. .form-field {
  71. display: flex;
  72. flex-direction: column;
  73. gap: $space-1;
  74. }
  75. .form-field__label {
  76. font-size: $font-size-sm;
  77. font-weight: $font-weight-medium;
  78. color: $color-text-dark;
  79. }
  80. .form-errors {
  81. margin: 0 $space-6;
  82. padding: $space-3 $space-4;
  83. background: rgba($color-error, 0.08);
  84. border-radius: $radius-md;
  85. border: 1px solid rgba($color-error, 0.2);
  86. color: $color-error;
  87. font-size: $font-size-sm;
  88. ul { margin: 0; padding-left: 1.2em; }
  89. }
  90. // ─── Empty State ───────────────────────────────────────────────────────────────
  91. .crud-list__empty {
  92. padding: $space-6;
  93. text-align: center;
  94. color: $color-text-muted;
  95. font-size: $font-size-sm;
  96. }
  97. // ─── Rollen-Selector (Inline-Edit + Modal) ────────────────────────────────────
  98. .team-role-selector {
  99. display: flex;
  100. flex-direction: row;
  101. gap: $space-5;
  102. flex-wrap: wrap;
  103. &--disabled {
  104. opacity: 0.45;
  105. pointer-events: none;
  106. }
  107. }
  108. .team-role-option {
  109. display: flex;
  110. align-items: center;
  111. gap: $space-2;
  112. cursor: pointer;
  113. input[type='radio'] {
  114. accent-color: var(--color-primary);
  115. width: 15px;
  116. height: 15px;
  117. flex-shrink: 0;
  118. cursor: pointer;
  119. }
  120. &__label {
  121. font-size: $font-size-sm;
  122. color: $color-text-dark;
  123. }
  124. }
  125. .team-role-hint {
  126. margin-top: $space-1;
  127. font-size: $font-size-xs;
  128. color: $color-text-muted;
  129. }