Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 

227 wiersze
5.8 KiB

  1. @use '../atoms/variables' as *;
  2. @use '../atoms/mixins' as *;
  3. // ─── Page ─────────────────────────────────────────────────────────────────────
  4. .account-page {
  5. @include page-shell;
  6. }
  7. // ─── Header ──────────────────────────────────────────────────────────────────
  8. .account-header {
  9. @include section-header;
  10. padding: $space-6;
  11. @include tablet {
  12. flex-direction: column;
  13. align-items: stretch;
  14. gap: $space-3;
  15. }
  16. }
  17. .account-header__title {
  18. font-size: $font-size-xl;
  19. font-weight: $font-weight-bold;
  20. color: var(--header-text);
  21. }
  22. // ─── Tab-Navigation (Pill im Header) ─────────────────────────────────────────
  23. .account-tabs {
  24. display: flex;
  25. background: var(--header-overlay);
  26. border-radius: $radius-pill;
  27. padding: 3px;
  28. gap: $space-1;
  29. backdrop-filter: blur(6px);
  30. -webkit-backdrop-filter: blur(6px);
  31. @include tablet {
  32. width: 100%;
  33. }
  34. }
  35. .account-tab {
  36. display: inline-flex;
  37. align-items: center;
  38. padding: $space-2 $space-5;
  39. @include tablet {
  40. flex: 1;
  41. justify-content: center;
  42. }
  43. font-size: $font-size-sm;
  44. font-weight: $font-weight-medium;
  45. color: var(--header-text-muted);
  46. text-decoration: none;
  47. border-radius: $radius-pill;
  48. transition: background $transition-fast, color $transition-fast;
  49. white-space: nowrap;
  50. &:hover:not(.account-tab--active) {
  51. color: var(--header-text);
  52. background: var(--header-overlay);
  53. }
  54. &--active {
  55. color: $color-text-dark;
  56. background: $color-white;
  57. font-weight: $font-weight-bold;
  58. }
  59. }
  60. // ─── Content ─────────────────────────────────────────────────────────────────
  61. .account-content {
  62. flex: 1;
  63. max-width: 680px;
  64. width: 100%;
  65. margin: $space-8 auto;
  66. padding: 0 $space-6;
  67. display: flex;
  68. flex-direction: column;
  69. gap: $space-6;
  70. @include tablet {
  71. padding: 0 $space-4;
  72. }
  73. }
  74. // ─── Karte ───────────────────────────────────────────────────────────────────
  75. .account-card {
  76. @include card;
  77. padding: $space-8;
  78. @include tablet { padding: $space-6 $space-5; }
  79. }
  80. // ─── Formular-Grid ───────────────────────────────────────────────────────────
  81. .account-form__grid {
  82. display: grid;
  83. grid-template-columns: 160px 1fr;
  84. gap: $space-4 $space-6;
  85. align-items: start;
  86. @include tablet {
  87. grid-template-columns: 1fr;
  88. gap: $space-3;
  89. }
  90. }
  91. .account-form__label {
  92. @include form-label;
  93. font-weight: $font-weight-medium;
  94. padding-top: 7px;
  95. @include tablet {
  96. text-align: left;
  97. padding-right: 0;
  98. padding-top: 0;
  99. }
  100. }
  101. .account-form__field {
  102. display: flex;
  103. flex-direction: column;
  104. gap: $space-2;
  105. }
  106. .account-form__hint {
  107. font-size: $font-size-xs;
  108. color: $color-text-muted;
  109. &--owner {
  110. font-size: $font-size-sm;
  111. line-height: 1.55;
  112. margin-top: $space-1;
  113. }
  114. }
  115. .account-form__link {
  116. font-size: $font-size-sm;
  117. color: $color-text-muted;
  118. text-decoration: none;
  119. &:hover { color: $color-text-dark; text-decoration: underline; }
  120. }
  121. .account-form__key-status {
  122. display: flex;
  123. align-items: center;
  124. gap: $space-3;
  125. padding: $space-2 0;
  126. }
  127. .account-form__key-mask {
  128. font-size: $font-size-base;
  129. color: $color-text-muted;
  130. letter-spacing: 0.1em;
  131. }
  132. // ─── Farbfeld ─────────────────────────────────────────────────────────────────
  133. .account-color-field {
  134. display: flex;
  135. align-items: center;
  136. gap: $space-3;
  137. }
  138. .account-color-field__swatch {
  139. width: 40px;
  140. height: 40px;
  141. border: 1px solid $color-input-border;
  142. border-radius: $radius-sm;
  143. padding: 2px;
  144. cursor: pointer;
  145. background: none;
  146. flex-shrink: 0;
  147. }
  148. .account-color-field__hex {
  149. width: 110px;
  150. font-family: monospace;
  151. letter-spacing: 0.04em;
  152. }
  153. // ─── Passwort-Sektion (toggle) ────────────────────────────────────────────────
  154. .account-form__pw-section {
  155. display: contents;
  156. }
  157. // ─── Actions ─────────────────────────────────────────────────────────────────
  158. .account-form__actions {
  159. grid-column: 1 / -1;
  160. display: flex;
  161. align-items: center;
  162. gap: $space-4;
  163. margin-top: $space-2;
  164. padding-top: $space-4;
  165. border-top: 1px solid $color-border;
  166. @include tablet {
  167. flex-direction: column;
  168. .btn { width: 100%; }
  169. }
  170. }
  171. // ─── Toast ───────────────────────────────────────────────────────────────────
  172. .account-toast {
  173. position: fixed;
  174. bottom: $space-6;
  175. right: $space-6;
  176. background: $color-text-dark;
  177. color: $color-white;
  178. padding: $space-3 $space-5;
  179. border-radius: $radius-md;
  180. font-size: $font-size-sm;
  181. opacity: 0;
  182. transform: translateY(8px);
  183. transition: opacity $transition-base, transform $transition-base;
  184. pointer-events: none;
  185. z-index: 9999;
  186. &--visible {
  187. opacity: 1;
  188. transform: translateY(0);
  189. }
  190. &--error { background: $color-error; }
  191. }