.login-container { width: 100%; max-width: 420px; margin: 4rem auto; }
.login-card { background-color: var(--bg-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); padding: var(--spacing-xl); border: 1px solid var(--border-color); }
.login-header { text-align: center; margin-bottom: var(--spacing-xl); }
.login-icon { width: 64px; height: 64px; background-color: var(--color-primary-100); color: var(--color-primary-600); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto var(--spacing-md); box-shadow: inset 0 0 0 4px var(--color-primary-50); }
.login-icon span { font-size: 2rem; }
.login-header h1 { font-size: 1.5rem; font-weight: 700; color: var(--text-strong); margin-bottom: 0.25rem; }
.login-header p { color: var(--text-muted); font-size: 0.875rem; }
.form-group { margin-bottom: var(--spacing-md); }
.form-group label { display: block; font-size: 0.875rem; font-weight: 500; color: var(--text-strong); margin-bottom: 0.25rem; }
.input-icon-wrapper { position: relative; }
.input-icon-wrapper .material-symbols-outlined { position: absolute; left: 0.75rem; top: 50%; transform: translateY(-50%); color: var(--text-muted); font-size: 1.25rem; pointer-events: none; }
.form-control { width: 100%; padding: 0.625rem 0.75rem 0.625rem 2.5rem; font-size: 0.875rem; line-height: 1.5; color: var(--text-base); background-color: var(--bg-surface); background-clip: padding-box; border: 1px solid var(--border-color); border-radius: var(--radius-md); transition: border-color var(--transition-speed), box-shadow var(--transition-speed); font-family: inherit; }
.form-control:focus { outline: none; border-color: var(--color-primary-500); box-shadow: 0 0 0 3px var(--color-primary-100); }
.btn-block { display: flex; width: 100%; }
.btn-lg { padding: 0.75rem 1.5rem; font-size: 1rem; }
.btn-login { margin-top: var(--spacing-lg); justify-content: space-between; font-weight: 600; font-size: 1rem; }
.login-footer { margin-top: var(--spacing-xl); text-align: center; border-top: 1px solid var(--border-color); padding-top: var(--spacing-md); }
.link-voltar { display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.875rem; font-weight: 500; color: var(--text-muted); }
.link-voltar:hover { color: var(--color-primary-600); }
.login-credits { text-align: center; margin-top: var(--spacing-lg); color: var(--text-muted); font-size: 0.75rem; }
.login-credits p { margin: 0; }
