body { min-height: 100vh; background: #fff; }
.auth-page { display: grid; min-height: 100vh; grid-template-columns: minmax(380px, .9fr) minmax(480px, 1.1fr); }
.auth-showcase { position: relative; display: flex; overflow: hidden; flex-direction: column; justify-content: space-between; padding: clamp(35px, 5vw, 70px); color: #fff; background: radial-gradient(circle at 20% 15%, rgba(168,85,247,.55), transparent 34%), radial-gradient(circle at 90% 80%, rgba(139,92,246,.35), transparent 32%), linear-gradient(145deg, #3b1677, #5b21b6 55%, #7c3aed); }
.auth-showcase::before { position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to bottom, #000, transparent 90%); content: ""; }
.auth-showcase > * { position: relative; z-index: 1; }
.auth-brand--light { color: #fff; }.auth-brand--light .brand-mark { box-shadow: 0 0 0 2px rgba(255,255,255,.24), 0 10px 24px rgba(46,16,101,.32); }
.showcase-copy { max-width: 560px; }.eyebrow--light { color: #ddd6fe; }.showcase-copy h1 { margin: 14px 0 17px; font-size: clamp(34px, 4.6vw, 62px); font-weight: 650; letter-spacing: -.06em; line-height: 1.04; }.showcase-copy p { max-width: 500px; color: #ddd6fe; font-size: 14px; line-height: 1.7; }
.showcase-metric { display: flex; max-width: 480px; align-items: center; gap: 13px; padding: 16px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.1); border-radius: 15px; backdrop-filter: blur(12px); }.showcase-metric > span { display: grid; width: 40px; height: 40px; place-items: center; background: rgba(255,255,255,.13); border-radius: 11px; }.showcase-metric > div:nth-child(2) { display: flex; flex-direction: column; }.showcase-metric small { color: #ddd6fe; font-size: 9px; }.showcase-metric strong { font-size: 20px; }.mini-bars { display: flex; height: 38px; flex: 1; align-items: end; justify-content: flex-end; gap: 5px; }.mini-bars i { width: 8px; background: rgba(255,255,255,.34); border-radius: 3px 3px 1px 1px; }.mini-bars i:nth-child(1){height:35%}.mini-bars i:nth-child(2){height:48%}.mini-bars i:nth-child(3){height:43%}.mini-bars i:nth-child(4){height:70%}.mini-bars i:nth-child(5){height:92%;background:#fff}
.auth-form-panel { display: grid; place-items: center; padding: 35px; }.auth-card { width: min(390px, 100%); }.auth-card header { margin-bottom: 25px; }.auth-card h2 { margin: 8px 0 5px; font-size: 27px; letter-spacing: -.045em; }.auth-card header p { color: var(--color-text-secondary); font-size: 12px; }.auth-card .field { margin-bottom: 13px; }
.auth-mobile-brand { display: none; margin-bottom: 35px; }
.input-icon { position: relative; }.input-icon > i { position: absolute; top: 50%; left: 12px; color: var(--color-muted); transform: translateY(-50%); }.input-icon input { padding-right: 42px; padding-left: 38px; }.input-icon button { position: absolute; top: 50%; right: 4px; display: grid; width: 34px; height: 34px; place-items: center; color: var(--color-muted); background: transparent; border-radius: 8px; transform: translateY(-50%); }
.auth-options { display: flex; align-items: center; justify-content: space-between; margin: 4px 0 20px; color: var(--color-text-secondary); font-size: 10px; }.auth-options label { display: flex; align-items: center; gap: 6px; }.auth-options input { accent-color: var(--color-primary); }
.auth-note { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 18px; color: var(--color-muted); font-size: 9px; }.auth-note i { color: var(--color-success); }
.form-alert { display: flex; align-items: center; gap: 7px; margin-bottom: 14px; padding: 10px; color: var(--color-danger); background: var(--color-danger-bg); border-radius: 9px; font-size: 10px; }
.error-page { display: grid; min-height: 100vh; place-items: center; padding: 24px; background: radial-gradient(circle at 50% 10%, var(--color-primary-100), transparent 42%), var(--color-background); }.error-card { max-width: 500px; text-align: center; }.error-card .auth-brand { margin-bottom: 35px; }.error-code { display: block; color: var(--color-primary); font-size: clamp(70px, 14vw, 120px); font-weight: 700; letter-spacing: -.09em; line-height: .9; }.error-card h1 { margin: 18px 0 7px; font-size: 23px; }.error-card p { margin-bottom: 22px; color: var(--color-text-secondary); }.error-card code { color: var(--color-primary-dark); }
@media (max-width: 800px) { .auth-page { grid-template-columns: 1fr; }.auth-showcase { display: none; }.auth-form-panel { padding: 28px 22px; }.auth-mobile-brand { display: flex; }.auth-card h2 { font-size: 25px; } }

/* Escala de leitura confortável para autenticação. */
.showcase-copy p { font-size: var(--font-size-body); }
.showcase-metric small, .auth-note { font-size: var(--font-size-caption); }
.auth-card header p { font-size: var(--font-size-control); }
.auth-options, .form-alert { font-size: var(--font-size-small); }
