/* Login — erro e loading */
.login-error {
    color: #dc3545;
    background: #fdecea;
    border: 1px solid #f5c2c7;
    border-radius: 5px;
    padding: 12px 14px;
    margin-bottom: 16px;
    font-size: 14px;
    font-weight: 600;
}

.hide-login-error {
    display: none;
}

#login-submit-wrap {
    position: relative;
}

.login-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 55px;
    background: #0066cc;
    border-radius: 5px;
}

.hide-login-loading {
    display: none;
}

.login-loading-spinner {
    width: 28px;
    height: 28px;
    border: 3px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: login-spin 0.8s linear infinite;
}

@keyframes login-spin {
    to { transform: rotate(360deg); }
}

/* Campos Email / Kata Sandi — dimensões originais Triv (referência) */
.triv-section-login .triv-left-col .triv-form-login {
    width: 100%;
}

.triv-section-login .triv-input,
.triv-section-login .form-control.triv-input {
    height: 55px;
    padding: 18px 20px;
    font-size: 15px;
    border-radius: 5px;
}

.triv-section-login .input-group .triv-input-group-append {
    min-height: 55px;
    padding: 0 18px;
    display: flex;
    align-items: center;
}

.triv-section-login .triv-input-group-append img {
    max-height: 16px;
}

/* Two Factor Authentication — fallback quando CSS remoto da Triv não carregar */
.otp-sent-email.hide-otp-sent-email {
    display: none;
}

#partitioned {
    letter-spacing: 8px;
    text-align: center;
}

.otp-title p span {
    font-weight: 600;
    word-break: break-all;
}

/* Botão Verifikasi — cinza até 6 dígitos, azul quando ativo */
.btn-verifikasi-disabled {
    background-color: #c8cdd3 !important;
    border-color: #c8cdd3 !important;
    color: #fff !important;
    cursor: not-allowed;
    opacity: 1;
}

.btn-verifikasi-active {
    background-color: #0066cc !important;
    border-color: #0066cc !important;
    color: #fff !important;
    cursor: pointer;
}

.otp-error {
    color: #dc3545;
    font-size: 14px;
    margin-bottom: 12px;
    font-weight: 600;
}

.hide-otp-error,
.hide-otp-reenvia {
    display: none;
}

.otp-reenvia {
    margin-bottom: 12px;
}

.otp-reenvia a {
    color: #0066cc;
    font-weight: 600;
    text-decoration: underline;
}
