html, body { margin: 0; min-height: 100%; }

.cwe-account {
    min-height: 100dvh;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 2rem 1rem;
    background: var(--cwe-palette-surface-variant);
}

.cwe-account__card {
    width: 100%;
    max-width: 28rem;
    box-sizing: border-box;
    padding: 2rem;
    background: var(--cwe-palette-surface);
    border: var(--cwe-border-width) solid var(--cwe-palette-border);
    border-radius: var(--cwe-radius-lg);
    box-shadow: var(--cwe-shadow-2);
}

.cwe-account__footer { color: var(--cwe-palette-text-secondary); font-size: var(--cwe-text-label); }
.cwe-login__brand { margin-bottom: 1.5rem; text-align: center; }
.cwe-login__appname { margin: 0; color: var(--cwe-palette-text); font-size: var(--cwe-text-title); }
.cwe-login__tagline { margin: .35rem 0 0; color: var(--cwe-palette-text-secondary); }
.cwe-field { display: flex; flex-direction: column; gap: .35rem; margin-bottom: 1rem; }
.cwe-field__label { color: var(--cwe-palette-text); font-weight: var(--cwe-font-weight-semibold); }
.cwe-field__input { width: 100%; box-sizing: border-box; padding: .65rem .75rem; border: var(--cwe-border-width) solid var(--cwe-palette-border); border-radius: var(--cwe-radius-md); background: var(--cwe-palette-surface); color: var(--cwe-palette-text); }
.cwe-field__error { color: var(--cwe-palette-error-ink); font-size: var(--cwe-text-caption); }
.cwe-login__remember { display: inline-flex; align-items: center; gap: .4rem; margin-bottom: 1rem; color: var(--cwe-palette-text-secondary); }
.cwe-login__submit { width: 100%; padding: .7rem 1rem; border: 0; border-radius: var(--cwe-radius-md); background: var(--cwe-palette-primary); color: var(--cwe-palette-primary-text); cursor: pointer; font-weight: var(--cwe-font-weight-semibold); }
.cwe-account-status { margin-bottom: 1rem; padding: .75rem .9rem; border-radius: var(--cwe-radius-md); line-height: var(--cwe-leading-snug); }
.cwe-account-status--warning { background: color-mix(in srgb, var(--cwe-palette-warning) 14%, transparent); color: var(--cwe-palette-warning-ink); }
.cwe-account-status--error { background: color-mix(in srgb, var(--cwe-palette-error) 10%, transparent); color: var(--cwe-palette-error-ink); }
