@use '../atoms/variables' as *; @use '../atoms/mixins' as *; // ─── Page ───────────────────────────────────────────────────────────────────── .account-page { @include page-shell; } // ─── Header ────────────────────────────────────────────────────────────────── .account-header { @include section-header; padding: $space-6; @include tablet { flex-direction: column; align-items: stretch; gap: $space-3; } } .account-header__title { font-size: $font-size-xl; font-weight: $font-weight-bold; color: var(--header-text); } // ─── Tab-Navigation (Pill im Header) ───────────────────────────────────────── .account-tabs { display: flex; background: var(--header-overlay); border-radius: $radius-pill; padding: 3px; gap: $space-1; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); @include tablet { width: 100%; } } .account-tab { display: inline-flex; align-items: center; padding: $space-2 $space-5; @include tablet { flex: 1; justify-content: center; } font-size: $font-size-sm; font-weight: $font-weight-medium; color: var(--header-text-muted); text-decoration: none; border-radius: $radius-pill; transition: background $transition-fast, color $transition-fast; white-space: nowrap; &:hover:not(.account-tab--active) { color: var(--header-text); background: var(--header-overlay); } &--active { color: $color-text-dark; background: $color-white; font-weight: $font-weight-bold; } } // ─── Content ───────────────────────────────────────────────────────────────── .account-content { flex: 1; max-width: 680px; width: 100%; margin: $space-8 auto; padding: 0 $space-6; display: flex; flex-direction: column; gap: $space-6; @include tablet { padding: 0 $space-4; } } // ─── Karte ─────────────────────────────────────────────────────────────────── .account-card { @include card; padding: $space-8; @include tablet { padding: $space-6 $space-5; } } // ─── Formular-Grid ─────────────────────────────────────────────────────────── .account-form__grid { display: grid; grid-template-columns: 160px 1fr; gap: $space-4 $space-6; align-items: start; @include tablet { grid-template-columns: 1fr; gap: $space-3; } } .account-form__label { @include form-label; font-weight: $font-weight-medium; padding-top: 7px; @include tablet { text-align: left; padding-right: 0; padding-top: 0; } } .account-form__field { display: flex; flex-direction: column; gap: $space-2; } .account-form__hint { font-size: $font-size-xs; color: $color-text-muted; &--owner { font-size: $font-size-sm; line-height: 1.55; margin-top: $space-1; } } .account-form__link { font-size: $font-size-sm; color: $color-text-muted; text-decoration: none; &:hover { color: $color-text-dark; text-decoration: underline; } } .account-form__key-status { display: flex; align-items: center; gap: $space-3; padding: $space-2 0; } .account-form__key-mask { font-size: $font-size-base; color: $color-text-muted; letter-spacing: 0.1em; } // ─── Farbfeld ───────────────────────────────────────────────────────────────── .account-color-field { display: flex; align-items: center; gap: $space-3; } .account-color-field__swatch { width: 40px; height: 40px; border: 1px solid $color-input-border; border-radius: $radius-sm; padding: 2px; cursor: pointer; background: none; flex-shrink: 0; } .account-color-field__hex { width: 110px; font-family: monospace; letter-spacing: 0.04em; } // ─── Passwort-Sektion (toggle) ──────────────────────────────────────────────── .account-form__pw-section { display: contents; } // ─── Actions ───────────────────────────────────────────────────────────────── .account-form__actions { grid-column: 1 / -1; display: flex; align-items: center; gap: $space-4; margin-top: $space-2; padding-top: $space-4; border-top: 1px solid $color-border; @include tablet { flex-direction: column; .btn { width: 100%; } } } // ─── Import-Sektion ────────────────────────────────────────────────────── .import-section__title { font-size: $font-size-lg; font-weight: $font-weight-bold; color: $color-text-dark; margin-bottom: $space-2; } .import-section__desc { font-size: $font-size-sm; color: $color-text-muted; line-height: 1.55; margin-bottom: $space-6; } .import-upload__area { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: $space-2; padding: $space-8 $space-6; border: 2px dashed $color-input-border; border-radius: $radius-md; cursor: pointer; transition: border-color $transition-fast, background $transition-fast; &:hover, &--dragover { border-color: var(--color-primary, $color-primary); background: rgba(var(--color-primary-rgb, 58, 123, 191), 0.04); } } .import-upload__icon { color: $color-text-muted; } .import-upload__text { font-size: $font-size-sm; font-weight: $font-weight-medium; color: $color-text-dark; } .import-upload__hint { font-size: $font-size-xs; color: $color-text-muted; } .import-upload__file-info { display: flex; align-items: center; gap: $space-3; margin-top: $space-3; padding: $space-3 $space-4; background: $color-bg; border-radius: $radius-sm; font-size: $font-size-sm; color: $color-text-dark; } .import-upload__remove { margin-left: auto; background: none; border: none; font-size: $font-size-lg; color: $color-text-muted; cursor: pointer; padding: 0 $space-2; line-height: 1; &:hover { color: $color-error; } } .import-actions { margin-top: $space-5; display: flex; gap: $space-4; &--preview { padding-top: $space-5; border-top: 1px solid $color-border; } } // ─── Import-Vorschau ───────────────────────────────────────────────────── .import-preview__stats { display: grid; grid-template-columns: auto 1fr; gap: $space-2 $space-6; font-size: $font-size-sm; dt { color: $color-text-muted; font-weight: $font-weight-medium; } dd { color: $color-text-dark; font-weight: $font-weight-bold; margin: 0; } &--result dd { color: $color-text-dark; font-weight: $font-weight-regular; strong { color: var(--color-primary, $color-primary); font-weight: $font-weight-bold; } } } .import-preview__subtitle { font-size: $font-size-sm; font-weight: $font-weight-bold; color: $color-text-dark; margin-top: $space-5; margin-bottom: $space-2; } .import-preview__users { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: $space-2; li { font-size: $font-size-sm; color: $color-text-dark; line-height: 1.6; } } .import-preview__email { color: $color-text-muted; } .import-user-options { display: flex; gap: $space-4; margin-top: $space-1; } .import-user-option { display: inline-flex; align-items: center; gap: $space-1; font-size: $font-size-xs; color: $color-text-muted; cursor: pointer; input[type="radio"] { margin: 0; accent-color: var(--color-primary, $color-primary); } } .import-badge { display: inline-block; font-size: $font-size-xs; padding: 1px $space-2; border-radius: $radius-pill; font-weight: $font-weight-medium; &--matched { background: rgba(34, 197, 94, 0.12); color: #15803d; } &--fallback { background: rgba(234, 179, 8, 0.15); color: #a16207; } } .import-preview__warnings { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: $space-1; li { font-size: $font-size-sm; color: $color-text-muted; padding-left: $space-4; position: relative; &::before { content: '⚠'; position: absolute; left: 0; font-size: $font-size-xs; } } } .import-result { border-left: 3px solid var(--color-primary, $color-primary); } // ─── Toast ─────────────────────────────────────────────────────────────────── .account-toast { position: fixed; bottom: $space-6; right: $space-6; background: $color-text-dark; color: $color-white; padding: $space-3 $space-5; border-radius: $radius-md; font-size: $font-size-sm; opacity: 0; transform: translateY(8px); transition: opacity $transition-base, transform $transition-base; pointer-events: none; z-index: 9999; &--visible { opacity: 1; transform: translateY(0); } &--error { background: $color-error; } }