Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 
 

160 řádky
3.7 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. @include tablet {
  33. margin: $space-4;
  34. max-width: calc(100% - #{$space-8});
  35. }
  36. }
  37. .modal-card__header {
  38. display: flex;
  39. align-items: center;
  40. justify-content: space-between;
  41. padding: $space-5 $space-6;
  42. border-bottom: 1px solid rgba($color-border, 0.6);
  43. }
  44. .modal-card__title {
  45. font-size: $font-size-lg;
  46. font-weight: $font-weight-bold;
  47. color: $color-text-dark;
  48. }
  49. .modal-card__close {
  50. @include icon-btn;
  51. color: $color-text-muted;
  52. svg { width: 16px; height: 16px; }
  53. &:hover { background: rgba($color-border, 0.5); }
  54. }
  55. .modal-card__body {
  56. padding: $space-5 $space-6;
  57. display: flex;
  58. flex-direction: column;
  59. gap: $space-4;
  60. }
  61. .modal-card__footer {
  62. display: flex;
  63. justify-content: flex-end;
  64. gap: $space-3;
  65. padding: $space-4 $space-6;
  66. border-top: 1px solid rgba($color-border, 0.6);
  67. }
  68. // ─── Formularfelder im Modal ───────────────────────────────────────────────────
  69. .form-row {
  70. display: grid;
  71. grid-template-columns: 1fr 1fr;
  72. gap: $space-4;
  73. @include mobile { grid-template-columns: 1fr; }
  74. }
  75. .form-field {
  76. display: flex;
  77. flex-direction: column;
  78. gap: $space-1;
  79. }
  80. .form-field__label {
  81. font-size: $font-size-sm;
  82. font-weight: $font-weight-medium;
  83. color: $color-text-dark;
  84. }
  85. .form-errors {
  86. margin: 0 $space-6;
  87. padding: $space-3 $space-4;
  88. background: rgba($color-error, 0.08);
  89. border-radius: $radius-md;
  90. border: 1px solid rgba($color-error, 0.2);
  91. color: $color-error;
  92. font-size: $font-size-sm;
  93. ul { margin: 0; padding-left: 1.2em; }
  94. }
  95. // ─── Empty State ───────────────────────────────────────────────────────────────
  96. .crud-list__empty {
  97. padding: $space-6;
  98. text-align: center;
  99. color: $color-text-muted;
  100. font-size: $font-size-sm;
  101. }
  102. // ─── Rollen-Selector (Inline-Edit + Modal) ────────────────────────────────────
  103. .team-role-selector {
  104. display: flex;
  105. flex-direction: row;
  106. gap: $space-5;
  107. flex-wrap: wrap;
  108. &--disabled {
  109. opacity: 0.45;
  110. pointer-events: none;
  111. }
  112. }
  113. .team-role-option {
  114. display: flex;
  115. align-items: center;
  116. gap: $space-2;
  117. cursor: pointer;
  118. input[type='radio'] {
  119. accent-color: var(--color-primary);
  120. width: 15px;
  121. height: 15px;
  122. flex-shrink: 0;
  123. cursor: pointer;
  124. }
  125. &__label {
  126. font-size: $font-size-sm;
  127. color: $color-text-dark;
  128. }
  129. }
  130. .team-role-hint {
  131. margin-top: $space-1;
  132. font-size: $font-size-xs;
  133. color: $color-text-muted;
  134. }