You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

190 line
5.5 KiB

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