/* Sign in / create account ------------------------------------------------ */

.au { min-height: 100dvh; display: grid; grid-template-columns: minmax(360px, 44%) 1fr; background: var(--fs-bg); }

.au-brand {
    position: relative; overflow: hidden;
    display: flex; flex-direction: column; justify-content: space-between; gap: var(--fs-space-6);
    padding: var(--fs-space-8) var(--fs-space-8);
    background: radial-gradient(120% 90% at 100% 0%, var(--fs-dark-3) 0%, var(--fs-dark) 60%);
    color: var(--fs-on-dark);
}
.au-brand::after { content: ""; position: absolute; left: -120px; bottom: -160px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(30,123,255,.35), transparent 70%); pointer-events: none; }
.au-brand__logo { display: inline-flex; align-items: center; gap: 12px; color: var(--fs-on-dark) !important; text-decoration: none !important; font-family: var(--fs-font-display); font-weight: 600; font-size: 20px; z-index: 1; }
.au-brand__figure { flex: 1; min-height: 260px; max-height: 420px; z-index: 1; }
.au-brand__copy { z-index: 1; display: flex; flex-direction: column; gap: var(--fs-space-5); }
.au-brand__copy h2 { font-size: 28px; color: var(--fs-on-dark); max-width: 14ch; }
.au-trust { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.au-trust li { display: flex; align-items: center; gap: 10px; font-size: var(--fs-caption-size); color: var(--fs-on-dark-muted); }
.au-trust .fs-icon { color: var(--fs-accent-on-dark); }

.au-panel { display: flex; align-items: center; justify-content: center; padding: var(--fs-space-8) var(--fs-space-6); }
.au-card { width: 100%; max-width: 440px; display: flex; flex-direction: column; gap: var(--fs-space-5); background: var(--fs-canvas); border: 1px solid var(--fs-hairline); border-radius: var(--fs-radius-xl); padding: var(--fs-space-7); box-shadow: var(--fs-shadow-2); }

.au-tabs { display: flex; padding: 4px; gap: 4px; background: var(--fs-surface-2); border-radius: var(--fs-radius-sm); }
.au-tab { flex: 1; min-height: 40px; border: none; border-radius: 8px; background: transparent; font-family: var(--fs-font-body); font-size: var(--fs-caption-size); font-weight: 600; color: var(--fs-muted); cursor: pointer; transition: background-color var(--fs-transition-fast), color var(--fs-transition-fast); }
.au-tab.active { background: var(--fs-canvas); color: var(--fs-ink); box-shadow: var(--fs-shadow-1); }

.au-roles { display: grid; grid-template-columns: 1fr 1fr; gap: var(--fs-space-2); }
.au-role { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px 14px; min-height: 76px; border: 1px solid var(--fs-hairline-strong); border-radius: var(--fs-radius-sm); background: var(--fs-canvas); cursor: pointer; text-align: left; font-family: var(--fs-font-body); color: var(--fs-body); transition: border-color var(--fs-transition-fast), background-color var(--fs-transition-fast); }
.au-role span { font-weight: 600; font-size: var(--fs-caption-size); color: var(--fs-ink); }
.au-role small { font-size: var(--fs-fine-size); color: var(--fs-muted); }
.au-role .fs-icon { color: var(--fs-muted); margin-bottom: 2px; }
.au-role:hover { border-color: var(--fs-ink); }
.au-role.selected { border-color: var(--fs-primary); background: var(--fs-primary-soft); box-shadow: inset 0 0 0 1px var(--fs-primary); }
.au-role.selected .fs-icon, .au-role.selected span { color: var(--fs-on-primary-soft); }

.au-form { display: flex; flex-direction: column; gap: var(--fs-space-4); }
.au-link { border: none; background: none; padding: 0; font-family: var(--fs-font-body); font-size: var(--fs-fine-size); font-weight: 600; color: var(--fs-primary); cursor: pointer; min-height: 24px; }
.au-link:hover { text-decoration: underline; }
.au-remember { display: flex; align-items: flex-start; gap: 10px; font-size: var(--fs-caption-size); color: var(--fs-body); cursor: pointer; line-height: 1.45; }
.au-remember input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--fs-primary); flex-shrink: 0; }

.au-strength { height: 4px; border-radius: 2px; background: var(--fs-surface-3); overflow: hidden; }
.au-strength__bar { display: block; height: 100%; width: 0; transition: width var(--fs-transition), background-color var(--fs-transition); }
.au-strength__bar--weak { width: 33%; background: var(--fs-danger); }
.au-strength__bar--fair { width: 66%; background: var(--fs-warning); }
.au-strength__bar--strong { width: 100%; background: var(--fs-success); }

.au-legal { display: flex; align-items: flex-start; gap: 6px; font-size: var(--fs-fine-size); color: var(--fs-muted); line-height: 1.45; }
.au-legal .fs-icon { margin-top: 2px; }
.au-sheet { display: flex; flex-direction: column; gap: var(--fs-space-4); }
.au-sheet h2 { font-size: var(--fs-heading-size); }

@media (max-width: 900px) {
    .au { grid-template-columns: 1fr; }
    .au-brand { flex-direction: row; align-items: center; padding: var(--fs-space-5) var(--fs-space-5); gap: var(--fs-space-4); }
    .au-brand__figure { display: none; }
    .au-brand__copy h2 { font-size: 18px; }
    .au-trust { display: none; }
    .au-panel { padding: var(--fs-space-5) var(--fs-space-4); align-items: flex-start; }
    .au-card { padding: var(--fs-space-5); }
}
