/* Auth pages - estilos compartilhados */

/* Backgrounds */
.gaxweb-background {
    background-color: #F4F6F8 !important;
    background-image: url('/assets/images/login_02.jpg');
    background-repeat: no-repeat;
    background-size: cover;
}

.bg-dots-darker {
    background-image: url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 30 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.22676 0C1.91374 0 2.45351 0.539773 2.45351 1.22676C2.45351 1.91374 1.91374 2.45351 1.22676 2.45351C0.539773 2.45351 0 1.91374 0 1.22676C0 0.539773 0.539773 0 1.22676 0Z' fill='rgba(0,0,0,0.07)'/%3E%3C/svg%3E")
}

/* Fundo BRANCO nas telas de autenticação, para as bordas e o espaçamento do cartão
   ficarem visíveis (era o hexágono `bk_01c.jpg` sobre #F4F6F8).

   Vale para as 5 telas que carregam este arquivo: login, register, forgot-password,
   change-password e device. O `.bg-gaxweb` do `custom.css` é OUTRO — as telas de
   autenticação não carregam aquele arquivo, então isto aqui não afeta o painel.

   Para voltar ao anterior, é só restaurar as duas linhas comentadas abaixo. */
.bg-gaxweb {
    background-color: #FFFFFF !important;
    background-image: none;
    /* background-color: #F4F6F8 !important;
       background-image: url('/assets/images/bk_01c.jpg'); */
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.bg-transparent {
    background: transparent;
    opacity: 0.90;
}

.bg-register {
    background-color: #F4F6F8 !important;
    background-image: url('/assets/images/register.jpg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

/* Labels */
.title-label > .webix_el_box {
    font-size: 16px;
}

/* Form cards (login antigo) */
.form-shadow {
    box-shadow: 6px 6px 12px rgba(0,0,0,0.25);
    border-radius: 8px;
    background-color: white;
}
.form-shadow:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,0.3);
}
.form-card {
    padding: 18px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 6px 6px 16px rgba(0,0,0,0.12);
}

/* reCAPTCHA */
.recaptcha-placeholder {
    display: flex;
    justify-content: center;
    margin: 8px 0;
}
.recaptcha-placeholder.webix_invalid {
    border: 1px solid #e33 !important;
    border-radius: 4px;
    background-color: #fff5f5;
}

/* reCAPTCHA z-index (garante visibilidade acima do Webix) */
.grecaptcha-badge,
.grecaptcha-logo,
.grecaptcha-badge iframe,
.grecaptcha-logo iframe,
div[style*="z-index: 100000"],
iframe[src*="recaptcha"],
div.grecaptcha-badge {
    z-index: 9999999 !important;
}

/* Overlay spinner (device, forgot-password, register) */
.webix-overlaybox .webix-ov-spinner {
    border-radius: 50%;
    border: 4px solid rgba(0,0,0,0.12);
    border-top-color: rgba(0,0,0,0.7);
    animation: webix-ov-spin 0.95s linear infinite;
}
@keyframes webix-ov-spin {
    from { transform: rotate(0) }
    to { transform: rotate(360deg) }
}
.webix-overlaybox .webix-ov-msg {
    font-size: 13px;
    color: #222;
}
