/* Telas de login. Usa os tokens de celk-theme.css (carregar o tema antes deste arquivo). */
.login-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.5rem 1rem;
    background-color: var(--celk-neutral-50);
}

.login-brand {
    text-align: center;
    margin-bottom: 1.25rem;
}

.login-brand-icon {
    width: 56px;
    height: 56px;
    margin-bottom: 0.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.5rem;
    color: #fff;
    background-image: linear-gradient(135deg, var(--celk-primary-500) 0%, var(--celk-primary-700) 100%);
    box-shadow: 0 4px 12px rgba(0, 42, 63, 0.25);
}

.login-brand h1 {
    margin: 0;
}

.login-card {
    width: 100%;
    max-width: 400px;
    border-top: 4px solid var(--celk-primary-500);
    box-shadow: 0 8px 24px rgba(34, 34, 34, 0.08);
}

.login-card .card-body {
    padding: 1.75rem;
}

.login-title {
    font-size: 1.125rem;
    margin-bottom: 0.25rem;
}

.login-code {
    font-family: 'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: 0.25rem;
    text-align: center;
    text-transform: uppercase;
    color: var(--celk-primary-700);
}

.login-code::placeholder {
    letter-spacing: 0.25rem;
    font-weight: 400;
}

.login-email {
    font-weight: 500;
    color: var(--celk-neutral-900);
    word-break: break-all;
}

.login-footer {
    margin-top: 1.25rem;
    text-align: center;
    color: var(--celk-neutral-400);
    font-size: 0.75rem;
}
