/* ========================================
   ACESSOS PRO - TEMA CUSTOMIZADO OTIMIZADO
   ======================================== */

/* variables from theme configuration */
:root {
    --am_logo_link: 1;
--am_bg: #f1f5f9;
--am_color: #f1f5f9;
--am_link_color: #6FA8FF;
--am_btn_color: #2C2C2C;
--am_text_color: #303030;
--am_logo_align: left;
--am_max_width: 1400;
--am_max_width_px: 1400px;
--am_logo_width: auto;
--am_logo_width_px: auto;
--am_font_size: 16;
--am_font_size_px: 16px;
--am_font_family: Inter;
--am_login_layout: layout.phtml;
--am_login_bg: none;
--am_login_bg_color: none;
--am_login_no_header: 1;
--am_login_legend_padding_top: calc(3em + 100px);
--am_login_header_display: none;
--am_login_type: am-page-login-no-label;
--am_menu_color: #2C2C2C;
--am_menu_dashboard: text;
--am_dashboard_layout: one-col;
--am_identity_align: left;
--am_identity_type: full_name;
--am_sm_size: 18;
--am_sm_size_px: 18px;
--am_sm_color: #f1f5f9;
--am_footer: Acessos Pro © Todos os direitos reservados;
--am_login_logo: 89;
--am_form_theme: vertical,nolabels,nolines,noborder;
--am_body_finish_out: <script> 
jQuery(document).ready(function() {
    // Security measures
    document.addEventListener('contextmenu', e => e.preventDefault());
    document.addEventListener('dragstart', e => {
        if (e.target.nodeName === 'IMG') e.preventDefault();
    });
    document.addEventListener('keydown', e => {
        if (e.key === 'F12' || 
            (e.ctrlKey && e.shiftKey && e.key === 'I') || 
            (e.ctrlKey && e.key === 'U')) {
            e.preventDefault();
        }
    });
});
</script>;
--am_body_finish_in: <script> 
jQuery(document).ready(function() {
    // Security measures
    document.addEventListener('contextmenu', e => e.preventDefault());
    document.addEventListener('dragstart', e => {
        if (e.target.nodeName === 'IMG') e.preventDefault();
    });
    document.addEventListener('keydown', e => {
        if (e.key === 'F12' || 
            (e.ctrlKey && e.shiftKey && e.key === 'I') || 
            (e.ctrlKey && e.key === 'U')) {
            e.preventDefault();
        }
    });
});
</script>;
--am_login_logo_path: 687034ecdd491.png;
--am_login_legend_bg: url('/data/public/687034ecdd491.png') #141414 center 1em no-repeat;
--am_link_color_a99: #6FA8FF99;
--am_checkmark_background_image: url('/application/default/themes/black/public/img/checkmark.svg');
--am_menu_dashboard_width: auto;

    
    /* Nova paleta de cores Acessos Pro */
    --ap-background: #121212;               /* Background das páginas */
    --ap-container: #1E1E1E;                /* Background de containers */
    --ap-accent: #A8A8A8;                   /* Elementos de destaque */
    
    /* Hierarquia de textos */
    --ap-text-primary: #F2F2F2;             /* Headlines, Títulos */
    --ap-text-secondary: #F2F2F2;           /* Subtítulos */
    --ap-text-tertiary: #CACACA;            /* Descrições e outros textos */
    
    /* Cores para botões e menus */
    --ap-button-bg: #2C2C2C;                /* Background dos botões */
    --ap-button-text: #F2F2F2;              /* Texto dos botões e menus */
    
    /* Hovers e interações */
    --ap-hover: #3D3D3D;                    /* Cor de hover geral */
    --ap-hover-fill: #3D3D3D;               /* Hover de preenchimento */
    --ap-active: rgba(168, 168, 168, 0.2);  /* Estado ativo */
    
    /* Links específicos */
    --ap-link: #F2F2F2;                     /* Cor para links */
    --ap-link-hover: #CACACA;               /* Hover para links */
    
    /* Containers e widgets */
    --widget-card: transparent;             /* Cards e widgets transparentes */
    --widget-border: #2C2C2C;               /* Borda de widgets */
    --widget-border-hover: rgba(44, 44, 44, 0.6);
    
    /* Inputs e formulários */
    --ap-input-bg: transparent;                 /* Background de inputs */
    --ap-input-text: #F2F2F2;               /* Texto de inputs */
    
    /* Cores de destaque */
    --ap-green: #3EDC81;                    /* Verde */
    --ap-orange: #FFB74D;                   /* Laranja */
    --ap-red: #FF4C4C;                      /* Vermelho */
    --ap-blue: #B2ECFF;                     /* Azul para links */
    --ap-yellow: #F1DD57;                   /* Amarelo */
    --ap-purple: #6B3DEF;
    
    /* Bordas e divisores */
    --ap-border: #3D3D3D;                   /* Bordas, divisores, linhas */
}
/* end: variables from theme configuration */

/* ========================================
   BASE STYLES
   ======================================== */

body, html {
    font-size: var(--am_font_size_px);
    background: var(--ap-background);
    color: var(--ap-text-tertiary);
}

html {
    background: var(--ap-background);
}

body.am-page-login {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--ap-background);
}

body.am-page-login .am-layout {
    flex: 1;
}

body.am-page-login .am-footer {
    height: auto;
}

.am-common {
    font-family: var(--am_font_family), sans-serif;
    color: var(--ap-text-tertiary);
}

.am-common legend {
    color: var(--ap-text-primary);
}

/* Títulos principais - removido !important para flexibilidade */
.am-common h1, .am-common h2, .am-common h3, .am-common h4, .am-common h5, .am-common h6 {
    color: var(--ap-text-primary);
}

/* ========================================
   LINKS - MAIS FLEXÍVEIS
   ======================================== */

/* Links padrão - sem !important para permitir sobrescrita */
.am-common a {
    color: var(--ap-blue);
    text-decoration: none;
    position: relative;
    transition: all 0.3s ease;
}

.am-common a:hover {
    color: var(--ap-link-hover);
}

/* Sublinhado gradual no hover - linha mais fina */
.am-common a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background: var(--ap-border);
    transition: width 0.3s ease;
}

.am-common a:hover::after {
    width: 100%;
}

/* ========================================
   LAYOUT STRUCTURE
   ======================================== */

.am-layout {
    min-height: initial;
    margin: 0;
    background: var(--ap-background);
}

.am-header {
    background: var(--ap-container);
    border-bottom: 1px solid var(--ap-border);
}

.am-header .am-header-content-wrapper {
    border: none;
    background: none;
}

.am-header-line {
    border: none;
    background: none;
}

/* ========================================
   HEADER MENU
   ======================================== */

.am-header-menu-wrapper a,
ul.am-header-menu-narrow a,
ul.am-header-menu a {
    color: var(--ap-blue);
    text-decoration: none;
    position: relative;
    transition: color 0.3s ease;
}

.am-header-menu-wrapper a:hover,
ul.am-header-menu-narrow a:hover,
ul.am-header-menu a:hover {
    color: var(--ap-link-hover);
}

/* Dropdown com nova cor de container */
ul.am-header-menu li ul {
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

ul.am-header-menu li ul::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

ul.am-header-menu ul a {
    color: var(--ap-button-text);
}

ul.am-header-menu-narrow ul a {
    color: var(--ap-button-text);
}

/* ========================================
   FOOTER
   ======================================== */

.am-footer .am-footer-content-wrapper {
    background: var(--ap-container);
    color: var(--ap-text-tertiary);
    height: auto;
    border-top: 1px solid var(--ap-border);
}

.am-footer-content-content {
    padding: 1em 0;
}

.am-footer-text {
    text-align: center;
}

.am-footer .am-footer-content .am-footer-sm a {
    color: var(--ap-button-text);
    font-size: var(--am_sm_size_px);
    text-decoration: none;
    position: relative;
}

/* ========================================
   BODY AND MAIN CONTENT
   ======================================== */

.am-body {
    background: var(--ap-background);
}

.am-body .am-body-content-wrapper {
    border: none;
    box-shadow: none;
    border-radius: 0;
    background: var(--ap-background);
}

.am-body-content {
    min-height: 300px;
}

.am-main {
    max-width: var(--am_max_width_px);
}

/* ========================================
   HEADER CONTENT
   ======================================== */

.am-header-content-wrapper {
    padding: 0;
}

.am-header-content-content {
    display: none;
}

.am-header .am-header-content .am-header-content-logo {
    float: none;
    margin: 0;
}

.am-header .am-header-content {
    text-align: var(--am_logo_align);
}

.am-header-content img {
    width: var(--am_logo_width);
}

/* ========================================
   FOOTER ACTIONS
   ======================================== */

.am-footer-actions {
    display: none;
}

.am-footer .am-footer-content-wrapper {
    color: var(--ap-text-tertiary);
    font-size: .8rem;
}

/* ========================================
   INFO BOXES
   ======================================== */

.am-info {
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 20px;
    color: var(--ap-text-primary);
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-info::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

/* ========================================
   USER IDENTITY
   ======================================== */

.am-user-identity-block {
    float: var(--am_identity_align);
}

/* ========================================
   LOGIN PAGE STYLES
   ======================================== */

.am-page-login .am-header {
    display: var(--am_login_header_display);
}

.am-page-login .am-auth-form legend {
    background: var(--am_login_legend_bg);
    background-color: var(--ap-container);
    padding-top: 6.5em;
    padding-bottom: 1em;
}

.am-page-login .am-auth-form div.am-row {
    background: var(--ap-container);
    backdrop-filter: blur(20px);
}

.am-auth-form form {
    border: none;
    overflow: hidden;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border-radius: 20px;
    position: relative;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-auth-form form::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

.am-auth-form form legend {
    border: none;
    background: var(--ap-accent);
    background-color: var(--ap-hover);
    color: var(--ap-button-text);
    padding: 1em 1em 1.5em;
    border-radius: 20px 20px 0 0;
    position: relative;
    z-index: 1;
}

.am-auth-form div.am-row div.element,
.am-auth-form div.am-row div.am-element-title {
    padding-right: 2em;
    padding-left: 2em;
    position: relative;
    z-index: 1;
}

/* ========================================
   LOGIN FORM INPUTS - SEM BORDAS DE FOCO
   ======================================== */

/* Inputs de login sem ícones */
.am-auth-form input[name=login],
.am-auth-form input[name=amember_login],
.am-auth-form div.am-row div.element input[type="email"],
.am-auth-form div.am-row div.element input[type="text"] {
    background-image: none;
    background-repeat: no-repeat;
    background-position: 18px center;
}

.am-auth-form input[name=amember_pass],
.am-auth-form div.am-row div.element input[type="password"] {
    background-image: none;
    background-repeat: no-repeat;
    background-position: 18px center;
}

/* Inputs com cores personalizadas */
.am-auth-form div.am-row div.element input[type="text"],
.am-auth-form div.am-row div.element input[type="password"],
.am-auth-form div.am-row div.element input[type="email"] {
    width: 100%;
    padding: 12px 16px 12px 50px;
    color: var(--ap-input-text);
    border: 2px solid var(--ap-border);
    background-color: var(--ap-input-bg);
    border-radius: 8px;
    transition: all 0.3s ease;
    position: relative;
    z-index: 1;
    font-family: var(--am_font_family), sans-serif;
    box-sizing: border-box;
}

/* Placeholders */
.am-auth-form div.am-row div.element input[type="text"]::placeholder,
.am-auth-form div.am-row div.element input[type="password"]::placeholder,
.am-auth-form div.am-row div.element input[type="email"]::placeholder {
    color: var(--ap-input-text);
    background-color: var(--ap-input-bg);
    opacity: 0.7;
}

/* REMOVIDO: Foco dos inputs - sem bordas de foco */
.am-auth-form div.am-row div.element input[type="text"]:focus,
.am-auth-form div.am-row div.element input[type="password"]:focus,
.am-auth-form div.am-row div.element input[type="email"]:focus {
    background-color: var(--ap-input-bg);
    outline: none;
    box-shadow: none;
    border-color: var(--ap-border);
}

/* Aumentar a largura dos formulários de login */
.am-auth-form form {
    min-width: 400px;
    max-width: 450px;
}

/* Responsivo para telas menores */
@media (max-width: 500px) {
    .am-auth-form form {
        min-width: 100%;
        max-width: 100%;
    }
    
    .am-auth-form input[name=login],
    .am-auth-form input[name=amember_login],
    .am-auth-form input[name=amember_pass],
    .am-auth-form div.am-row div.element input[type="text"],
    .am-auth-form div.am-row div.element input[type="password"],
    .am-auth-form div.am-row div.element input[type="email"] {
        background-position: 15px center;
        padding: 12px 16px 12px 45px;
    }
}

@media all and (min-width:500px) {
    .am-auth-form div.am-row div.am-element-title {
        padding-right: .5em;
    }
    .am-auth-form div.am-row div.am-element {
        padding-left: .5em;
    }
}

/* ========================================
   POPUP STYLES
   ======================================== */

.am-popup {
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-popup::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

.am-popup .am-popup-header {
    background: var(--ap-hover);
    color: var(--ap-button-text);
    position: relative;
    z-index: 1;
}

.am-popup .am-popup-close-icon:after {
    color: var(--ap-text-primary);
}

/* ========================================
   FACEBOOK LOGIN
   ======================================== */

.am-fb-login-button-wrapper.am-fb-login-form-after:before,
.am-fb-login-button-wrapper.am-fb-login-form-before:after {
    background: var(--am_color);
}

/* ========================================
   SIGNUP LINK
   ======================================== */

.am-signup-link {
    color: var(--ap-link);
}

.am-signup-link a {
    color: var(--ap-link);
    text-decoration: none;
    position: relative;
}

/* ========================================
   LOGIN LAYOUT WITH SIDEBAR
   ======================================== */

.am-login-layout-with-sidebar {
    max-width: 800px;
    margin: 2em auto 0;
}

.am-login-layout-with-sidebar .am-login-form-wrapper,
.am-login-layout-with-sidebar .am-sendpass-form-wrapper {
    margin-top: 0;
}

.am-signup-link {
    max-width: 450px;
    margin: 1em auto 0;
}

@media all and (min-width: 800px) {
    .am-login-layout-with-sidebar .am-login-layout-with-sidebar_form {
        float: left;
        width: 65%;
    }
    .am-login-layout-with-sidebar .am-login-layout-with-sidebar_sidebar {
        display: block;
        width: 35%;
        float: right;
        padding-left: 20px;
        box-sizing: border-box;
    }
    .am-login-layout-with-sidebar .am-auth-form {
        margin: 0;
    }
    .am-login-layout-with-sidebar .am-signup-link {
        margin: 1em 0 0;
    }
}

/* Sidebar */
.am-login-layout-with-sidebar .am-login-layout-with-sidebar_sidebar {
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 20px;
    padding: 1em 2em;
    max-width: 450px;
    box-sizing: border-box;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3);
    color: var(--ap-text-tertiary);
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-login-layout-with-sidebar .am-login-layout-with-sidebar_sidebar::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

.am-login-layout-with-sidebar_clear {
    clear: both;
}

@media all and (max-width: 799px) {
    .am-login-layout-with-sidebar .am-login-layout-with-sidebar_sidebar {
        margin: 2em auto 0;
    }
}

/* ========================================
   TABS
   ======================================== */

ul.am-tabs li.active,
ul.am-tabs li.normal:hover {
    background: var(--ap-hover);
}

ul.am-tabs li.active > a,
ul.am-tabs li.normal > a:hover {
    border-color: var(--ap-hover);
    color: var(--ap-button-text);
}

/* Tabs dropdown */
ul.am-tabs .has-children ul {
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

ul.am-tabs .has-children ul::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

/* Tabs */
ul.am-tabs {
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

ul.am-tabs::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

ul.am-tabs > li {
    background: transparent;
    position: relative;
    z-index: 1;
}

ul.am-tabs a {
    border-right: 1px solid var(--ap-border);
    color: var(--ap-button-text);
    transition: all 0.3s ease;
}

ul.am-tabs a:hover {
    background: var(--ap-hover);
}

/* ========================================
   ACCOUNT TOOLBAR
   ======================================== */

@media all and (max-width:500px) {
    .am-account-toolbar .am-account-toolbar-items {
        background: var(--ap-container);
        backdrop-filter: blur(20px);
        border: none;
        border-radius: 20px;
        position: relative;
        overflow: hidden;
    }
    
    .am-account-toolbar .am-account-toolbar-items::before {
        content: "";
        position: absolute;
        inset: 0;
        background: var(--ap-container);
        z-index: -1;
    }
}

/* ========================================
   ACTIVE INVOICE
   ======================================== */

.am-active-invoice {
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-active-invoice::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

/* ========================================
   LOGIN NO LABEL
   ======================================== */

.am-page-login-no-label .am-auth-form,
.am-page-login-no-label .am-signup-link {
    max-width: 350px;
}

.am-page-login-no-label .am-auth-form div.am-row div.am-element-title {
    display: none;
}

.am-page-login-no-label .am-auth-form div.am-row div.am-element {
    margin: 0;
    padding: .6em 2em;
}

.am-page-login-no-label .am-auth-form div.am-row div.am-element input[type=submit],
.am-page-login-no-label .am-auth-form div.am-row div.am-element input[type=submit]:active,
.am-page-login-no-label .am-auth-form div.am-row div.am-element input[type=submit]:hover,
.am-page-login-no-label .am-auth-form div.am-row div.am-element input[type=submit]:disabled {
    width: 100%;
}

.am-page-login-no-label .am-auth-form .am-form-login-switch-wrapper {
    text-align: center;
    display: block;
    padding: 1.2em 2em .6em;
}

.am-page-login-no-label .am-auth-form .am-form-login-switch-wrapper .am-form-login-switch {
    margin: 0;
}

@media all and (max-width: 799px) {
    .am-page-login-no-label .am-login-layout-with-sidebar .am-login-layout-with-sidebar_sidebar {
        max-width: 350px;
        margin: 2em auto 0;
    }
}

/* ========================================
   CREDITS
   ======================================== */

.am-credits {
    color: var(--ap-text-primary);
}

/* ========================================
   FORMS - CONTAINERS TRANSPARENTES COM BORDA
   ======================================== */

.am-form form {
    background: transparent;
    border: 1px solid var(--widget-border);
    border-radius: 20px;
    box-shadow: none;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Form sidebar */
.am-form-container .am-form-sidebar-sidebar {
    background: transparent;
    border: 1px solid var(--widget-border);
    box-shadow: none;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-form fieldset legend {
    background: none;
    border-bottom: 1px solid var(--ap-border);
    color: var(--ap-text-primary);
}

/* ========================================
   INPUTS, BUTTONS E FORM ELEMENTS
   ======================================== */

/* Inputs básicos */
.am-body-content input,
.am-body-content textarea,
.am-body-content select,
.am-popup input,
.am-popup textarea,
.am-popup select {
    font-family: var(--am_font_family), sans-serif;
    color: var(--ap-input-text);
    background: var(--ap-input-bg);
}

/* BOTÕES - Texto sempre #F2F2F2 */
.am-body-content a.button,
.am-body-content button,
.am-body-content input[type="button"],
.am-body-content input[type="submit"],
.am-popup a.button,
.am-popup button,
.am-popup input[type="button"],
.am-popup input[type="submit"] {
    color: var(--ap-button-text);
    background: var(--ap-button-bg);
    border-radius: 25px;
    border: 2px solid var(--ap-button-bg);
    padding: 12px 24px;
    font-weight: 500;
    transition: all 0.3s ease;
    cursor: pointer;
}

.am-body-content a.button:hover,
.am-body-content button:hover,
.am-body-content input[type="button"]:hover,
.am-body-content input[type="submit"]:hover,
.am-popup a.button:hover,
.am-popup button:hover,
.am-popup input[type="button"]:hover,
.am-popup input[type="submit"]:hover {
    background: var(--ap-hover);
    border: 1px solid var(--ap-border);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(61, 61, 61, 0.3);
}

/* Botões de sucesso/verde */
.am-body-content a.button.success,
.am-body-content button.success,
.am-body-content input[type="button"].success,
.am-body-content input[type="submit"].success {
    background: var(--ap-green);
    border-color: var(--ap-green);
}

/* Botões de alerta/laranja */
.am-body-content a.button.warning,
.am-body-content button.warning,
.am-body-content input[type="button"].warning,
.am-body-content input[type="submit"].warning {
    background: var(--ap-orange);
    border-color: var(--ap-orange);
}

/* Botões de erro/vermelho */
.am-body-content a.button.error,
.am-body-content button.error,
.am-body-content input[type="button"].error,
.am-body-content input[type="submit"].error {
    background: var(--ap-red);
    border-color: var(--ap-red);
}

/* Upload control */
.upload-control .upload-control-upload.upload-control-upload-single {
    border-radius: 25px;
    color: var(--ap-button-text);
    background: var(--ap-button-bg);
    border: 2px solid var(--ap-button-bg);
    text-shadow: none;
    transition: all 0.3s ease;
}

.upload-control .upload-control-upload.upload-control-upload-single:hover {
    background: var(--ap-button-bg);
    border: 1px solid var(--ap-border);
    transform: translateY(-2px);
}

/* Input file */
.input-file,
.input-file.hover {
    background: var(--ap-input-bg);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.input-file::before,
.input-file.hover::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-input-bg);
    z-index: -1;
}

.input-file .input-file-button,
.input-file.hover .input-file-button {
    border-radius: 0 8px 8px 0;
    color: var(--ap-button-text);
    background: var(--ap-button-bg);
    border: none;
    text-shadow: none;
    position: relative;
    z-index: 1;
}

/* CTA Signup */
.am-cta-signup {
    font-size: 1.2rem;
    padding: 0.5em 2.5em;
}

/* Password indicator */
.am-pass-indicator-bar {
    background: var(--ap-text-tertiary);
}

/* ========================================
   CUSTOM FORM ELEMENTS
   ======================================== */

/* Radio buttons customizados */
.am-form input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0 .2em 0 0;
    width: 1em;
    height: 1em;
    border: 2px solid var(--ap-border);
    background-color: var(--ap-input-bg);
    outline: 0;
    font-size: inherit;
    vertical-align: middle;
    cursor: pointer;
    border-radius: 50%;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.am-form input[type=radio]:checked {
    border-color: var(--ap-accent);
    border-width: .3em;
    background-color: var(--ap-container);
}

.am-form input[type=radio]:hover {
    border-color: var(--ap-accent);
}

/* Checkboxes customizados */
.am-form input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0 .2em 0 0;
    width: 1em;
    height: 1em;
    border: 2px solid var(--ap-border);
    background-color: var(--ap-input-bg);
    outline: 0;
    font-size: inherit;
    vertical-align: middle;
    cursor: pointer;
    border-radius: 4px;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.am-form input[type=checkbox]:checked {
    background-color: var(--ap-accent);
    border-color: var(--ap-accent);
    background-image: var(--am_checkmark_background_image);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.am-form input[type=checkbox]:hover {
    border-color: var(--ap-accent);
}

/* ========================================
   TEXT INPUTS - SEM BORDAS DE FOCO
   ======================================== */

.am-body-content select,
.am-body-content textarea,
.am-body-content input[type="text"],
.am-body-content input[type="password"],
.am-popup select,
.am-popup textarea,
.am-popup input[type="text"],
.am-popup input[type="password"] {
    color: var(--ap-input-text);
    border: 2px solid var(--ap-border);
    background-color: var(--ap-input-bg);
    border-radius: 8px;
    padding: 12px 16px;
    transition: all 0.3s ease;
}

.am-body-content select {
    height: auto;
}

.am-popup select {
    height: auto;
}

/* Placeholders */
.am-body-content textarea::placeholder,
.am-body-content input[type="text"]::placeholder,
.am-body-content input[type="password"]::placeholder,
.am-popup textarea::placeholder,
.am-popup input[type="text"]::placeholder,
.am-popup input[type="password"]::placeholder {
    opacity: .5;
    color: var(--ap-input-text);
    background-color: var(--ap-input-bg);
}

/* REMOVIDO: Foco dos inputs - sem bordas de foco */
.am-body-content textarea:focus,
.am-body-content input[type="text"]:focus,
.am-body-content input[type="password"]:focus,
.am-body-content select:focus,
.am-popup textarea:focus,
.am-popup input[type="text"]:focus,
.am-popup input[type="password"]:focus,
.am-popup select:focus {
    background-color: var(--ap-input-bg);
    outline: none;
    box-shadow: none;
    border-color: var(--ap-border);
}

/* ========================================
   POPUP FORMS
   ======================================== */

.am-popup {
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border-radius: 20px;
}

.am-popup .am-form form {
    background: none;
}

/* ========================================
   BLOCKS E WIDGETS - TRANSPARENTES COM BORDA
   ======================================== */

.am-block {
    background: var(--widget-card);
    border: 1px solid var(--widget-border);
    box-shadow: none;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ========================================
   LAYOUT TWO COLUMNS
   ======================================== */

.am-layout-two-coll .am-layout-two-coll-top,
.am-layout-two-coll .am-layout-two-coll-bottom {
    display: none;
}

.am-layout-two-coll {
    background: none;
    box-shadow: none;
    border: none;
    overflow: hidden;
    margin-top: 2em;
}

.am-layout-two-coll .am-coll-left .am-coll-content,
.am-layout-two-coll .am-coll-right .am-coll-content {
    margin: 0;
}

@media all and (min-width:750px) {
    .am-layout-two-coll .am-coll-left .am-coll-content {
        margin: 0 1em 0 0;
    }

    .am-layout-two-coll .am-coll-right .am-coll-content {
        margin: 0 0 0 1em;
    }
}

/* ========================================
   GRID CONTAINERS - TRANSPARENTES COM BORDA
   ======================================== */

.am-grid-container {
    box-shadow: none;
    background: var(--widget-card);
    border: 1px solid var(--widget-border);
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-grid th,
.am-grid th:last-child {
    background: var(--ap-container);
    border: none;
    color: var(--ap-text-primary);
    position: relative;
    z-index: 1;
}

.am-grid th,
.am-grid th a {
    color: var(--ap-text-primary);
}

.am-grid th a.sorted-asc,
.am-grid th a.sorted-desc {
    color: var(--ap-accent);
}

.am-grid tr.am-grid-row > td {
    background: var(--ap-background);
    border-bottom: 1px solid var(--ap-border);
    color: var(--ap-text-tertiary);
    position: relative;
    z-index: 1;
}

.am-grid tr.am-grid-row.odd td {
    background-color: var(--ap-container);
}

.am-grid tr.am-grid-row:hover td {
    background-color: var(--ap-hover-fill);
    color: var(--ap-text-primary);
}

/* ========================================
   FILTER WRAP - TRANSPARENTE COM BORDA
   ======================================== */

.am-filter-wrap {
    background: var(--widget-card);
    border: 1px solid var(--widget-border);
    color: var(--ap-text-primary);
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-filter-wrap form.filter input,
.am-filter-wrap form.filter select,
.am-filter-wrap form.filter .select2-container--default .select2-selection--single {
    background-color: var(--ap-input-bg);
    color: var(--ap-input-text);
    border: 1px solid var(--ap-border);
    position: relative;
    z-index: 1;
}

.am-filter-wrap .filter-button input.gridFilterButton {
    border: none;
}

.am-filter-wrap form.filter input[type="text"] {
    background-color: var(--ap-input-bg);
}

.am-filter-wrap .filter-button input[type="submit"]:hover,
.am-filter-wrap .filter-button input[type="submit"]:active {
    background-color: var(--ap-accent);
}

/* ========================================
   INPUT FILTER WRAPPER
   ======================================== */

.am-input-filter-wrapper {
    background: var(--ap-input-bg);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-input-filter-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-input-bg);
    z-index: -1;
}

.am-input-filter-wrapper.am-input-filter-wrapper_focus {
    background: var(--ap-input-bg);
    box-shadow: none;
}

.am-input-filter-wrapper .am-input-filter-inner-wrapper {
    background-color: var(--ap-input-bg);
    position: relative;
    z-index: 1;
    color: var(--ap-input-text);
}

.am-input-filter-wrapper input[type=text].am-input-filter:focus {
    box-shadow: none;
    background-color: var(--ap-input-bg);
    color: var(--ap-input-text);
    outline: none;
}

/* ========================================
   NAVIGATION
   ======================================== */

.am-tabs-narrow-dashboard::before,
.am-tabs-narrow-switch::before,
.am-lang-choice .am-lang-val-code {
    color: var(--ap-text-tertiary);
}

/* ========================================
   MESSAGES
   ======================================== */

/* Mensagens de erro */
div.am-errors ul, ul.am-error, ul.am-errors {
    background: rgba(255, 76, 76, 0.1);
    border: 1px solid rgba(255, 76, 76, 0.3);
    border-radius: 8px;
    color: var(--ap-red);
}

/* Mensagens de sucesso */
div.am-success ul, ul.am-success, .am-success {
    background: rgba(62, 220, 129, 0.1);
    border: 1px solid rgba(62, 220, 129, 0.3);
    border-radius: 8px;
    color: var(--ap-green);
}

/* Mensagens de aviso */
div.am-warning ul, ul.am-warning, .am-warning {
    background: rgba(255, 183, 77, 0.1);
    border: 1px solid rgba(255, 183, 77, 0.3);
    border-radius: 8px;
    color: var(--ap-orange);
}

/* ========================================
   RECEIPT
   ======================================== */

.am-receipt {
    box-shadow: none;
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-receipt::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

.am-receipt td {
    background: none;
    border: none;
    color: var(--ap-text-tertiary);
    position: relative;
    z-index: 1;
}

.am-receipt td.am-receipt-total {
    background: var(--ap-hover-fill);
    font-weight: 600;
    color: var(--ap-text-primary);
}

.am-invoice-summary .am-invoice-summary-item {
    border-bottom: 1px solid var(--ap-border);
}

/* ========================================
   DISABLED BUTTONS
   ======================================== */

.am-body-content input[type="button"]:disabled,
.am-body-content input[type="submit"]:disabled,
.am-body-content button:disabled,
.am-body-content button:disabled:hover,
.am-popup input[type="button"]:disabled,
.am-popup input[type="submit"]:disabled,
.am-popup button:disabled,
.am-popup button:disabled:hover {
    border: 2px solid var(--ap-border);
    color: var(--ap-text-tertiary);
    background: var(--ap-background);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* ========================================
   FLASH CONTENT
   ======================================== */

.am-flash-content-lock {
    background-color: var(--ap-accent);
    color: white;
    border: none;
    border-radius: 8px;
}

.am-flash-mask {
    background: rgba(18, 18, 18, 0.8);
}

/* ========================================
   STRIPE ELEMENTS
   ======================================== */

.am-form .StripeElement {
    box-sizing: border-box;
    padding: 12px 16px;
    border: 2px solid var(--ap-border);
    border-radius: 8px;
    background-color: var(--ap-input-bg);
    color: var(--ap-input-text);
}

.am-form .StripeElement--focus {
    background-color: var(--ap-input-bg);
    border-color: var(--ap-border);
    box-shadow: none;
    outline: none;
}

/* ========================================
   INVOICE SUMMARY
   ======================================== */

.am-invoice-summary .am-invoice-summary-item-num {
    color: var(--ap-text-tertiary);
}

.am-invoice-summary {
    box-shadow: none;
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-invoice-summary::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

.am-common hr,
.am-invoice-summary tr.am-invoice-summary-delimeter hr {
    background: var(--ap-border);
    border: none;
    height: 1px;
}

/* ========================================
   BLOCK NO DATA - TRANSPARENTE COM BORDA
   ======================================== */

.am-block-nodata {
    background: var(--widget-card);
    border: 1px solid var(--widget-border);
    color: var(--ap-text-tertiary);
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ========================================
   HELPDESK
   ======================================== */

.am-helpdesk-message.am-helpdesk-message-outbound {
    background: var(--ap-hover-fill);
    border-radius: 20px;
}

.am-helpdesk-message {
    box-shadow: none;
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-helpdesk-message::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

.am-helpdesk-message:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.am-helpdesk-ticket-actions-container {
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-helpdesk-ticket-actions-container::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

.am-helpdesk-ticket-actions-container:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.am-helpdesk-reply-panel {
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-helpdesk-reply-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

.am-helpdesk-reply-panel:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.am-helpdesk-ticket-action.am-helpdesk-action-active {
    background-color: var(--ap-accent);
    color: white;
}

.am-helpdesk-reply-panel-content .am-form div.am-row.am-no-label .am-element textarea:focus {
    background: var(--ap-input-bg);
    border-color: var(--ap-border);
    box-shadow: none;
    outline: none;
}

.am-helpdesk-message.am-helpdesk-message-inbound {
    background: var(--ap-container);
    backdrop-filter: blur(20px);
}

.am-helpdesk-message-action.am-helpdesk-action-active {
    background: var(--ap-accent);
    color: white;
}

/* ========================================
   AFFILIATE
   ======================================== */

.am-aff-banner-preview {
    box-shadow: none;
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.am-aff-banner-preview::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

.am-copy-to-clipboard-highlight {
    background: var(--ap-hover-fill);
    border-radius: 4px;
}

.am-aff-banner-preview-info textarea,
.am-aff-banner-preview-info textarea:focus {
    border-radius: 8px;
    box-shadow: none;
    background: var(--ap-input-bg);
    color: var(--ap-input-text);
    border: 2px solid var(--ap-border);
    position: relative;
    z-index: 1;
    outline: none;
}

/* ========================================
   SHOPPING CART
   ======================================== */

.am-cart .am-cart-product .am-cart-product-content-details .am-cart-product-content-desc .am-cart-product-content-desc-img-wrapper {
    background: var(--ap-background);
    border-radius: 8px;
}

.am-cart .am-cart-product .am-cart-product-content-terms {
    font-weight: normal;
    color: var(--ap-text-tertiary);
}

.am-cart .am-cart-product.am-cart-product-brief,
.am-cart .am-cart-product.am-cart-product-brief:hover {
    box-shadow: none;
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 20px;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
}

.am-cart .am-cart-product.am-cart-product-brief::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

.am-cart .am-cart-product.am-cart-product-brief:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.am-cart .am-cart-product .am-cart-product-content-add-container {
    background: var(--ap-background);
    border-radius: 8px;
}

.am-cart .am-cart-product .am-cart-product-content-buttons input,
.am-cart .am-cart-product .am-cart-product-content-buttons input:hover,
.am-cart .am-cart-product .am-cart-product-content-buttons input:active {
    font-size: 1rem;
    border-radius: 25px;
    padding: 0.4em 0.5em;
}

#cart-basket {
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

#cart-basket::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

#cart-basket:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.am-basket .am-basket-img {
    border: 1px solid var(--ap-border);
    border-radius: 8px;
}

.am-basket-preview-item {
    color: var(--ap-text-tertiary);
    position: relative;
    z-index: 1;
}

.am-common .am-basket-preview-item-remove a {
    color: var(--ap-accent);
}

.am-basket .am-basket-row-head {
    border-bottom: 2px solid var(--ap-border);
    background: var(--ap-hover-fill);
    position: relative;
    z-index: 1;
}

.am-basket .am-basket-row {
    border-bottom: 1px solid var(--ap-border);
    position: relative;
    z-index: 1;
}

.am-cart-qty-el {
    border: 1px solid var(--ap-accent);
    border-radius: 8px;
}

.am-body-content .am-cart-qty-el input[type="text"].am-cart-qty-el-val:focus {
    outline: none;
    box-shadow: none;
    border-color: var(--ap-border);
}

.am-cart-checkout .am-cart-checkout-paysys {
    border-top: 1px solid var(--ap-border);
}

.am-cart-checkout .am-cart-checkout-paysys .am-cart-checkout-paysys-item {
    border-bottom: 1px solid var(--ap-border);
    transition: all 0.3s ease;
}

.am-cart-checkout .am-cart-checkout-c {
    border-bottom: 1px solid var(--ap-border);
}

.am-cart-checkout .am-cart-checkout-paysys div.active {
    background-color: var(--ap-hover-fill);
    border-left: 1px solid var(--ap-accent);
    border-right: 1px solid var(--ap-accent);
}

.am-cart-checkout .am-cart-checkout-paysys div:hover {
    background-color: var(--ap-hover-fill);
}

/* ========================================
   SELF SERVICE
   ======================================== */

.am-ss-product {
    box-shadow: none;
    background: var(--ap-container);
    backdrop-filter: blur(20px);
    border: none;
    border-radius: 20px;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
}

.am-ss-product::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ap-container);
    z-index: -1;
}

.am-ss-product-add-container {
    background: var(--ap-background);
    border-radius: 8px;
    position: relative;
    z-index: 1;
}

#EmailCode {
    color: var(--ap-text-primary);
}

/* ========================================
   SCROLLBARS
   ======================================== */

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--ap-background);
}

::-webkit-scrollbar-thumb {
    background: var(--ap-accent);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(111, 168, 255, 0.8);
}

/* ========================================
   TRANSITIONS
   ======================================== */

* {
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

/* ========================================
   ACCESSIBILITY
   ======================================== */

/* Foco visível removido para inputs, mantido para outros elementos */
button:focus,
select:focus,
textarea:focus {
    outline: none;
}

/* ========================================
   Z-INDEX MANAGEMENT
   ======================================== */

.am-block > *,
.am-form form > *,
.am-popup > *,
.am-grid-container > *,
.am-filter-wrap > *,
.am-receipt > *,
.am-invoice-summary > *,
.am-helpdesk-message > *,
.am-helpdesk-ticket-actions-container > *,
.am-helpdesk-reply-panel > *,
.am-aff-banner-preview > *,
#cart-basket > *,
.am-ss-product > *,
.am-active-invoice > *,
.am-block-nodata > *,
.am-input-filter-wrapper > *,
.am-form-container .am-form-sidebar-sidebar > *,
.am-login-layout-with-sidebar .am-login-layout-with-sidebar_sidebar > * {
    position: relative;
    z-index: 1;
}

/* ========================================
   RESPONSIVE DESIGN
   ======================================== */

@media (max-width: 768px) {
    .am-grid-container {
        border-radius: 12px;
    }
    
    .am-block {
        border-radius: 12px;
        margin-bottom: 1rem;
    }
    
    .am-form form {
        border-radius: 12px;
        padding: 1rem;
    }
}

@media (max-width: 480px) {
    .am-grid-container,
    .am-block,
    .am-form form {
        border-radius: 8px;
    }
}