您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

214 行
5.6 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. // ─── Farbfeld ─────────────────────────────────────────────────────────────────
  122. .account-color-field {
  123. display: flex;
  124. align-items: center;
  125. gap: $space-3;
  126. }
  127. .account-color-field__swatch {
  128. width: 40px;
  129. height: 40px;
  130. border: 1px solid $color-input-border;
  131. border-radius: $radius-sm;
  132. padding: 2px;
  133. cursor: pointer;
  134. background: none;
  135. flex-shrink: 0;
  136. }
  137. .account-color-field__hex {
  138. width: 110px;
  139. font-family: monospace;
  140. letter-spacing: 0.04em;
  141. }
  142. // ─── Passwort-Sektion (toggle) ────────────────────────────────────────────────
  143. .account-form__pw-section {
  144. display: contents;
  145. }
  146. // ─── Actions ─────────────────────────────────────────────────────────────────
  147. .account-form__actions {
  148. grid-column: 1 / -1;
  149. display: flex;
  150. align-items: center;
  151. gap: $space-4;
  152. margin-top: $space-2;
  153. padding-top: $space-4;
  154. border-top: 1px solid $color-border;
  155. @include tablet {
  156. flex-direction: column;
  157. .btn { width: 100%; }
  158. }
  159. }
  160. // ─── Toast ───────────────────────────────────────────────────────────────────
  161. .account-toast {
  162. position: fixed;
  163. bottom: $space-6;
  164. right: $space-6;
  165. background: $color-text-dark;
  166. color: $color-white;
  167. padding: $space-3 $space-5;
  168. border-radius: $radius-md;
  169. font-size: $font-size-sm;
  170. opacity: 0;
  171. transform: translateY(8px);
  172. transition: opacity $transition-base, transform $transition-base;
  173. pointer-events: none;
  174. z-index: 9999;
  175. &--visible {
  176. opacity: 1;
  177. transform: translateY(0);
  178. }
  179. &--error { background: $color-error; }
  180. }