/*
 * Vizen Login
 * Arquivo consolidado e corrigido.
 *
 * Objetivos:
 *  - login centralizado;
 *  - logotipo único no canto superior esquerdo;
 *  - fundo tecnológico escuro;
 *  - botão de mostrar/ocultar senha compatível com
 *    vizen-login-password-toggle.js;
 *  - preservação dos componentes legados de licença,
 *    mensagens, diálogos e loading.
 *
 * Caminho esperado do logotipo transparente:
 *   ../../img/VizenLogoT.png
 */

body#default.vizen-login {
    --vizen-login-logo: url("../../img/VizenH.png");

    --vizen-bg: #020706;
    --vizen-surface: rgba(7, 19, 16, 0.92);
    --vizen-surface-strong: rgba(5, 15, 13, 0.97);
    --vizen-field: rgba(8, 24, 20, 0.92);
    --vizen-field-hover: rgba(11, 31, 26, 0.96);

    --vizen-green: #00B86B;
    --vizen-green-light: #38D36F;
    --vizen-green-dark: #008D53;
    --vizen-green-soft: rgba(0, 184, 107, 0.16);

    --vizen-text: #F7FAF9;
    --vizen-text-muted: #91A39E;
    --vizen-text-label: #C7D4D0;
    --vizen-border: rgba(139, 190, 169, 0.22);
    --vizen-border-strong: rgba(56, 211, 111, 0.52);
    --vizen-danger: #FF6B70;

    min-height: 100vh;
    margin: 0;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    color: var(--vizen-text);
    background-color: var(--vizen-bg);
    background-image:
        radial-gradient(circle at 24% 34%, rgba(0, 184, 107, 0.14), transparent 32%),
        radial-gradient(circle at 80% 42%, rgba(0, 141, 83, 0.09), transparent 28%),
        radial-gradient(circle at 52% 112%, rgba(56, 211, 111, 0.07), transparent 38%),
        linear-gradient(135deg, #010403 0%, #06100D 48%, #020706 100%) !important;
    font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
    isolation: isolate;
}

/* Grade tecnológica */
body#default.vizen-login::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.72;
    background-image:
        linear-gradient(rgba(36, 102, 78, 0.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36, 102, 78, 0.10) 1px, transparent 1px),
        linear-gradient(116deg, transparent 0 59%, rgba(0, 184, 107, 0.05) 59.15%, transparent 59.7%),
        linear-gradient(116deg, transparent 0 68%, rgba(56, 211, 111, 0.035) 68.15%, transparent 68.7%);
    background-size:
        48px 48px,
        48px 48px,
        100% 100%,
        100% 100%;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.38));
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.38));
}

/* Trilhas digitais decorativas */
body#default.vizen-login::after {
    content: "";
    position: fixed;
    top: 8%;
    right: -4%;
    z-index: 0;
    width: min(48vw, 760px);
    height: min(70vh, 720px);
    pointer-events: none;
    opacity: 0.24;
    background:
        linear-gradient(135deg, transparent 0 27%, rgba(0, 184, 107, 0.45) 27.2% 27.5%, transparent 27.7% 100%),
        linear-gradient(135deg, transparent 0 38%, rgba(56, 211, 111, 0.34) 38.2% 38.5%, transparent 38.7% 100%),
        linear-gradient(135deg, transparent 0 49%, rgba(0, 184, 107, 0.28) 49.2% 49.5%, transparent 49.7% 100%),
        linear-gradient(45deg, transparent 0 71%, rgba(0, 184, 107, 0.36) 71.2% 71.5%, transparent 71.7% 100%);
    filter: blur(0.2px);
    transform: skewX(-7deg);
}

body#default.vizen-login form {
    position: relative;
    z-index: 2;
    min-height: 100vh;
}

/* Única aplicação do logotipo */
body#default.vizen-login form::before {
    content: "";
    position: fixed;
    top: 18px;
    left: 18px;
    z-index: 20;
    width: 190px;
    height: 72px;
    pointer-events: none;

    background-color: transparent !important;
    background-image: var(--vizen-login-logo) !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: contain !important;

    border: 0;
    border-radius: 0;
    box-shadow: none;
    mix-blend-mode: normal;
    filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.22));
}

/* Remove a marca textual antiga */
body#default.vizen-login form::after {
    content: none;
    display: none;
}

/* Estrutura principal centralizada */
body#default.vizen-login #log_in {
    position: relative;
    z-index: 2;
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    width: 100% !important;
    height: auto !important;
    float: none !important;
    padding:
        clamp(118px, 13vh, 150px)
        clamp(20px, 4vw, 56px)
        clamp(36px, 6vh, 70px);
    box-sizing: border-box;
}

/* Garante que não haja logotipo ou assinatura duplicados */
body#default.vizen-login #log_in::before,
body#default.vizen-login #log_in::after {
    content: none;
    display: none;
}

/* Card principal */
body#default.vizen-login #log_in > div {
    position: relative;
    z-index: 3;
    box-sizing: border-box;
    width: min(520px, calc(100vw - 40px)) !important;
    min-width: 0;
    min-height: 510px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 132px 48px 42px !important;
    color: var(--vizen-text) !important;
    background-image:
        radial-gradient(circle at 14% 0%, rgba(56, 211, 111, 0.12), transparent 38%),
        linear-gradient(145deg, rgba(13, 33, 29, 0.90), rgba(5, 14, 12, 0.94)) !important;
    border: 1px solid var(--vizen-border-strong) !important;
    border-radius: 22px !important;
    border-style: solid !important;
    box-shadow:
        0 34px 96px rgba(0, 0, 0, 0.56),
        0 0 0 1px rgba(255, 255, 255, 0.025) inset,
        0 0 54px rgba(0, 184, 107, 0.09);
    -webkit-backdrop-filter: blur(18px) saturate(118%);
    backdrop-filter: blur(18px) saturate(118%);
    overflow: hidden;
}

body#default.vizen-login #log_in > div::before {
    content: "Acesse sua conta";
    position: absolute;
    top: 42px;
    left: 48px;
    right: 48px;
    z-index: 2;
    color: var(--vizen-text);
    font-size: 29px;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.035em;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

body#default.vizen-login #log_in > div::after {
    content: "Ambiente ERP Vizen";
    position: absolute;
    top: 86px;
    left: 48px;
    right: 48px;
    z-index: 2;
    color: var(--vizen-text-muted);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: -0.01em;
}

body#default.vizen-login #log_in > div > div {
    position: relative;
    display: grid !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 19px;
}

body#default.vizen-login #log_in > div > div::before {
    content: "";
    position: absolute;
    top: -132px;
    left: 0;
    right: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(0, 184, 107, 0.18) 12%,
        var(--vizen-green-light) 50%,
        rgba(0, 184, 107, 0.18) 88%,
        transparent 100%
    );
    box-shadow: 0 0 24px rgba(56, 211, 111, 0.28);
}

body#default.vizen-login #log_in > div > div > div {
    display: grid !important;
    float: none !important;
    width: 100% !important;
    height: auto !important;
    gap: 8px;
    text-align: left !important;
}

/* Mantém oculto o terceiro bloco legado */
body#default.vizen-login #log_in > div > div > div:nth-child(3) {
    display: none !important;
}

body#default.vizen-login #log_in label {
    display: block;
    color: var(--vizen-text-label);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

/* Campos de autenticação */
body#default.vizen-login #log_in input[type="text"],
body#default.vizen-login #log_in input[type="password"],
body#default.vizen-login #login,
body#default.vizen-login #senha {
    box-sizing: border-box;
    width: 100% !important;
    height: 56px !important;
    padding: 0 16px 0 50px !important;
    color: var(--vizen-text) !important;
    caret-color: var(--vizen-green-light);
    background-color: var(--vizen-field) !important;
    background-repeat: no-repeat !important;
    background-position: 17px center !important;
    background-size: 20px 20px !important;
    border: 1px solid var(--vizen-border) !important;
    border-radius: 12px !important;
    outline: none;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.025) inset,
        0 10px 25px rgba(0, 0, 0, 0.11);
    font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 15px;
    transition:
        border-color 160ms ease,
        box-shadow 160ms ease,
        background-color 160ms ease,
        transform 160ms ease;
}

/* Ícone do usuário, restrito ao campo de login */
body#default.vizen-login #login {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2300B86B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
}

/* Ícone de cadeado permanece mesmo quando o JS altera type=password para type=text */
body#default.vizen-login #senha {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2300B86B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") !important;
}

body#default.vizen-login #log_in input[type="text"]:hover,
body#default.vizen-login #log_in input[type="password"]:hover,
body#default.vizen-login #senha:hover {
    background-color: var(--vizen-field-hover) !important;
    border-color: rgba(139, 190, 169, 0.34) !important;
}

body#default.vizen-login #log_in input[type="text"]:focus,
body#default.vizen-login #log_in input[type="password"]:focus,
body#default.vizen-login #senha:focus,
body#default.vizen-login #codigolicenca:focus {
    border-color: var(--vizen-green-light) !important;
    background-color: rgba(10, 28, 23, 0.98) !important;
    box-shadow:
        0 0 0 4px var(--vizen-green-soft),
        0 14px 30px rgba(0, 0, 0, 0.16);
    transform: translateY(-1px);
}

body#default.vizen-login #login::placeholder,
body#default.vizen-login #senha::placeholder,
body#default.vizen-login #codigolicenca::placeholder {
    color: #6F817B;
    opacity: 1;
}

body#default.vizen-login #log_in input:-webkit-autofill,
body#default.vizen-login #log_in input:-webkit-autofill:hover,
body#default.vizen-login #log_in input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--vizen-text) !important;
    -webkit-box-shadow: 0 0 0 1000px #0A1815 inset !important;
    transition: background-color 9999s ease-out 0s;
}

/* Container criado pelo JavaScript do botão de senha */
body#default.vizen-login .vizen-password-field {
    position: relative;
    display: block;
    width: 100%;
}

body#default.vizen-login .vizen-password-field #senha,
body#default.vizen-login .vizen-password-field input[data-vizen-password-input] {
    width: 100% !important;
    padding-right: 58px !important;
}

/* Botão mostrar/ocultar senha */
body#default.vizen-login .vizen-password-toggle,
body#default.vizen-login button.vizen-password-toggle,
body#default.vizen-login .vizen-password-toggle.ui-button {
    position: absolute;
    top: 50%;
    right: 10px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px !important;
    min-height: 38px !important;
    height: 38px;
    padding: 0 !important;
    color: #91A39E !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 9px;
    outline: none;
    box-shadow: none !important;
    font-size: 0 !important;
    cursor: pointer;
    transform: translateY(-50%);
    transition:
        color 160ms ease,
        background-color 160ms ease,
        box-shadow 160ms ease;
}

body#default.vizen-login .vizen-password-toggle:hover,
body#default.vizen-login button.vizen-password-toggle:hover {
    color: var(--vizen-green-light) !important;
    background-color: rgba(0, 184, 107, 0.10) !important;
}

body#default.vizen-login .vizen-password-toggle:focus-visible,
body#default.vizen-login button.vizen-password-toggle:focus-visible {
    color: var(--vizen-green-light) !important;
    background-color: rgba(0, 184, 107, 0.12) !important;
    box-shadow: 0 0 0 3px rgba(0, 184, 107, 0.20) !important;
}

body#default.vizen-login .vizen-password-toggle svg {
    display: block;
    width: 21px;
    height: 21px;
    pointer-events: none;
}

body#default.vizen-login .vizen-password-toggle .vizen-eye-open {
    display: block;
}

body#default.vizen-login .vizen-password-toggle .vizen-eye-closed {
    display: none;
}

body#default.vizen-login .vizen-password-toggle[aria-pressed="true"] .vizen-eye-open {
    display: none;
}

body#default.vizen-login .vizen-password-toggle[aria-pressed="true"] .vizen-eye-closed {
    display: block;
}

/* Botões principais */
body#default.vizen-login #logon,
body#default.vizen-login #logon.ui-button,
body#default.vizen-login #inserir_licenca,
body#default.vizen-login #inserir_licenca.ui-button,
body#default.vizen-login input[type="button"].ui-button {
    box-sizing: border-box;
    width: 100% !important;
    min-height: 56px !important;
    padding: 0 20px !important;
    color: #FFFFFF !important;
    background-image:
        linear-gradient(110deg, var(--vizen-green-dark), var(--vizen-green-light)) !important;
    border: 1px solid rgba(77, 233, 132, 0.55) !important;
    border-radius: 12px !important;
    box-shadow:
        0 16px 34px rgba(0, 184, 107, 0.24),
        0 1px 0 rgba(255, 255, 255, 0.18) inset;
    font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.18);
    cursor: pointer;
    transition:
        filter 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease,
        transform 160ms ease;
}

body#default.vizen-login #logon:hover,
body#default.vizen-login #logon.ui-button:hover,
body#default.vizen-login #inserir_licenca:hover,
body#default.vizen-login #inserir_licenca.ui-button:hover,
body#default.vizen-login input[type="button"].ui-button:hover {
    filter: brightness(1.08) saturate(1.05);
    border-color: rgba(129, 255, 168, 0.78) !important;
    box-shadow:
        0 19px 38px rgba(0, 184, 107, 0.31),
        0 0 24px rgba(56, 211, 111, 0.13);
    transform: translateY(-1px);
}

body#default.vizen-login #logon:focus-visible,
body#default.vizen-login #inserir_licenca:focus-visible,
body#default.vizen-login input[type="button"].ui-button:focus-visible {
    outline: 3px solid rgba(126, 255, 170, 0.38);
    outline-offset: 3px;
}

body#default.vizen-login #logon:active,
body#default.vizen-login #inserir_licenca:active,
body#default.vizen-login input[type="button"].ui-button:active {
    transform: translateY(1px);
    filter: brightness(0.96);
}

/* Mensagens de erro */
body#default.vizen-login #errormsg {
    display: block;
    min-height: 20px;
    color: var(--vizen-danger) !important;
    font-size: 13px;
    font-weight: 700 !important;
    line-height: 1.4;
    text-align: left;
}

body#default.vizen-login #error_tools {
    width: min(1040px, calc(100vw - 32px)) !important;
}

body#default.vizen-login #lblError {
    min-height: 42px !important;
    height: auto !important;
    padding: 12px 18px !important;
    color: var(--vizen-text) !important;
    background: rgba(42, 11, 14, 0.95) !important;
    border: 1px solid rgba(255, 107, 112, 0.38) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.34);
    font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
    line-height: 1.4;
}

body#default.vizen-login #lblErroMsg {
    font-size: 14px;
    font-weight: 800;
}

/* Área de licença */
body#default.vizen-login #codigoclick {
    position: relative;
    z-index: 4;
    width: min(520px, calc(100vw - 48px)) !important;
    margin-top: -210px !important;
    padding: 15px 18px;
    color: var(--vizen-text);
    background: rgba(7, 18, 16, 0.94) !important;
    border: 1px solid var(--vizen-border);
    border-radius: 13px;
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.32);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

body#default.vizen-login #msglicensa {
    color: var(--vizen-green-light) !important;
    font-size: 13px;
    font-weight: 800 !important;
}

body#default.vizen-login #insere_codigo {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    width: 100% !important;
    height: auto !important;
    float: none !important;
    padding:
        clamp(118px, 13vh, 150px)
        clamp(20px, 4vw, 56px)
        clamp(36px, 6vh, 70px);
    box-sizing: border-box;
}

body#default.vizen-login #insere_codigo > div {
    box-sizing: border-box;
    width: min(480px, 100%) !important;
    min-height: 260px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 38px !important;
    color: var(--vizen-text) !important;
    background:
        linear-gradient(145deg, rgba(13, 33, 29, 0.94), rgba(5, 14, 12, 0.95)) !important;
    border: 1px solid var(--vizen-border-strong);
    border-radius: 20px !important;
    box-shadow: 0 28px 78px rgba(0, 0, 0, 0.48);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

body#default.vizen-login #insere_codigo > div > br {
    display: none;
}

body#default.vizen-login #insere_codigo > div > div,
body#default.vizen-login #insere_codigo > div > div > div {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    color: var(--vizen-text);
    font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif !important;
    font-size: 14px !important;
}

body#default.vizen-login #codigolicenca {
    box-sizing: border-box;
    width: 100% !important;
    height: 52px !important;
    margin-top: 10px;
    padding: 0 15px !important;
    color: var(--vizen-text);
    caret-color: var(--vizen-green-light);
    background: var(--vizen-field);
    border: 1px solid var(--vizen-border);
    border-radius: 11px !important;
    outline: none;
    font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 14px;
}

/* Diálogos jQuery UI */
body#default.vizen-login #dialog-mensagem {
    color: var(--vizen-text);
    font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
}

body#default.vizen-login .ui-dialog {
    color: var(--vizen-text);
    background: #07110F;
    border: 1px solid var(--vizen-border);
    border-radius: 16px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.55);
    font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
    overflow: hidden;
}

body#default.vizen-login .ui-dialog .ui-dialog-titlebar {
    color: var(--vizen-text);
    background: #0A1815;
    border: 0;
    border-bottom: 1px solid var(--vizen-border);
    border-radius: 16px 16px 0 0;
}

body#default.vizen-login .ui-dialog .ui-dialog-content,
body#default.vizen-login .ui-dialog .ui-dialog-buttonpane {
    color: var(--vizen-text);
    background: #07110F;
    border-color: var(--vizen-border);
}

body#default.vizen-login .ui-dialog .ui-button {
    color: #FFFFFF;
    background: linear-gradient(110deg, var(--vizen-green-dark), var(--vizen-green-light));
    border: 1px solid rgba(77, 233, 132, 0.50);
    border-radius: 9px;
    font-weight: 800;
}

/* Loading */
body#default.vizen-login #loading {
    z-index: 99999 !important;
    background-color: rgba(0, 5, 4, 0.72) !important;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

body#default.vizen-login #loading > div {
    width: 180px !important;
    color: #FFFFFF !important;
    font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 14px !important;
    font-weight: 800;
    text-align: center;
}

/* Notebooks com pouca altura */
@media (max-height: 760px) and (min-width: 641px) {
    body#default.vizen-login form::before {
        top: 14px;
        width: 180px;
        height: 62px;
    }

    body#default.vizen-login #log_in {
        align-items: flex-start;
        padding-top: 92px;
        padding-bottom: 30px;
    }

    body#default.vizen-login #log_in > div {
        min-height: 470px !important;
        padding-top: 120px !important;
        padding-bottom: 34px !important;
    }

    body#default.vizen-login #log_in > div::before {
        top: 34px;
    }

    body#default.vizen-login #log_in > div::after {
        top: 76px;
    }
}

/* Tablet */
@media (max-width: 900px) {
    body#default.vizen-login form::before {
        top: 16px;
        left: 18px;
        width: 180px;
        height: 68px;
    }

    body#default.vizen-login #log_in,
    body#default.vizen-login #insere_codigo {
        justify-content: center;
        padding: 104px 20px 38px;
    }

    body#default.vizen-login #log_in > div {
        width: min(500px, 100%) !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    body#default.vizen-login {
        background-image:
            radial-gradient(circle at 50% 8%, rgba(0, 184, 107, 0.15), transparent 34%),
            linear-gradient(150deg, #010403 0%, #06110E 52%, #020706 100%) !important;
    }

    body#default.vizen-login::after {
        display: none;
    }

    body#default.vizen-login form::before {
        top: 12px;
        left: 14px;
        width: 164px;
        height: 62px;
    }

    body#default.vizen-login #log_in,
    body#default.vizen-login #insere_codigo {
        align-items: flex-start;
        justify-content: center;
        padding: 88px 14px 24px;
    }

    body#default.vizen-login #log_in > div {
        width: 100% !important;
        min-height: 0 !important;
        padding: 118px 22px 28px !important;
        border-radius: 18px !important;
    }

    body#default.vizen-login #log_in > div::before {
        top: 34px;
        left: 22px;
        right: 22px;
        font-size: 25px;
    }

    body#default.vizen-login #log_in > div::after {
        top: 72px;
        left: 22px;
        right: 22px;
        font-size: 14px;
    }

    body#default.vizen-login #log_in > div > div::before {
        top: -118px;
    }

    body#default.vizen-login #log_in input[type="text"],
    body#default.vizen-login #log_in input[type="password"],
    body#default.vizen-login #login,
    body#default.vizen-login #senha {
        height: 52px !important;
    }

    body#default.vizen-login .vizen-password-toggle,
    body#default.vizen-login button.vizen-password-toggle,
    body#default.vizen-login .vizen-password-toggle.ui-button {
        right: 8px;
        width: 36px !important;
        min-height: 36px !important;
        height: 36px;
    }

    body#default.vizen-login .vizen-password-field #senha,
    body#default.vizen-login .vizen-password-field input[data-vizen-password-input] {
        padding-right: 54px !important;
    }

    body#default.vizen-login #logon,
    body#default.vizen-login #logon.ui-button,
    body#default.vizen-login #inserir_licenca,
    body#default.vizen-login #inserir_licenca.ui-button,
    body#default.vizen-login input[type="button"].ui-button {
        min-height: 52px !important;
    }

    body#default.vizen-login #insere_codigo > div {
        padding: 28px 22px !important;
        border-radius: 18px !important;
    }

    body#default.vizen-login #codigoclick {
        width: calc(100vw - 28px) !important;
    }
}

/* Acessibilidade */
@media (prefers-reduced-motion: reduce) {
    body#default.vizen-login *,
    body#default.vizen-login *::before,
    body#default.vizen-login *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
