
.ec-front-app{font-family:Inter,Arial,sans-serif;width:100%;min-height:100vh;height:100vh;background:#f4f5f7;color:#171717;overflow:hidden;display:flex;flex-direction:column}
.ec-front-app *{box-sizing:border-box}
.ec-front-header{height:72px;min-height:72px;background:var(--ec-black);color:#fff;display:grid;grid-template-columns:280px 1fr auto;align-items:center;gap:20px;padding:0 22px;border-bottom:4px solid var(--ec-orange)}
.ec-front-brand{display:flex;align-items:center;gap:12px}.ec-front-brand strong{display:block;font-size:17px}.ec-front-brand span{display:block;color:#b5b5b5;font-size:12px}.ec-front-logo{background:var(--ec-orange);color:#111;font-weight:900;padding:10px 12px;border-radius:12px}
.ec-front-search input{width:100%;border:1px solid #333;background:#202020;color:#fff;border-radius:999px;padding:12px 18px;outline:none}.ec-front-user{display:flex;gap:12px;align-items:center;font-size:13px}.ec-front-user a{color:var(--ec-orange);font-weight:700;text-decoration:none}
.ec-front-shell{display:flex;flex:1;min-height:0}.ec-front-sidebar{width:250px;min-width:250px;background:#181818;padding:18px 12px;display:flex;flex-direction:column;gap:7px;overflow:auto}.ec-front-nav{width:100%;text-align:left;background:transparent;color:#e5e5e5;border:0;border-radius:12px;padding:13px 14px;cursor:pointer;font-weight:700;font-size:14px}.ec-front-nav:hover,.ec-front-nav.active{background:var(--ec-orange);color:#111}
.ec-front-main{flex:1;min-width:0;min-height:0;padding:24px;overflow:auto}.ec-front-view{display:none}.ec-front-view.active{display:block}.ec-front-title{margin-bottom:16px}.ec-front-title h1{margin:0 0 5px;font-size:28px;color:#111}.ec-front-title p{margin:0;color:#666}
.ec-front-actionbar{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:18px}.ec-front-action{border:1px solid #e5e7eb;border-left:5px solid var(--ec-orange);background:#fff;color:#111;border-radius:14px;padding:14px;cursor:pointer;display:flex;align-items:center;gap:10px;text-align:left;box-shadow:0 4px 16px rgba(0,0,0,.04)}.ec-front-action:hover{background:#fff7ed}.ec-front-action span{font-size:20px}.ec-front-action strong{font-size:13px}
.ec-front-kpis{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin-bottom:20px}.ec-front-kpi{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;box-shadow:0 4px 18px rgba(0,0,0,.05);border-top:4px solid #242424}.ec-front-kpi span{display:block;color:#666;font-size:13px;margin-bottom:8px}.ec-front-kpi strong{font-size:22px}.ec-front-kpi.orange{border-top-color:var(--ec-orange)}.ec-front-kpi.warning{border-top-color:#f59e0b}.ec-front-kpi.danger{border-top-color:#dc2626}
.ec-front-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;box-shadow:0 4px 18px rgba(0,0,0,.05)}.ec-front-table-wrap{overflow:auto;max-height:calc(100vh - 290px)}.ec-front-table{width:100%;border-collapse:collapse;min-width:720px}.ec-front-table th{text-align:left;background:#151515;color:#fff;padding:12px;font-size:12px;text-transform:uppercase;position:sticky;top:0}.ec-front-table td{padding:12px;border-bottom:1px solid #eee;font-size:13px;vertical-align:top}.ec-front-table tr:hover td{background:#fff7ed}.ec-front-pill{display:inline-block;padding:4px 9px;background:#f3f4f6;border-radius:999px;font-size:12px;font-weight:800}.ec-front-pill.ok{background:#d1fae5;color:#065f46}.ec-front-pill.danger{background:#fee2e2;color:#991b1b}
.ec-front-list{display:grid;gap:10px;max-height:calc(100vh - 260px);overflow:auto}.ec-object-row{display:grid;grid-template-columns:74px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:10px;box-shadow:0 3px 12px rgba(0,0,0,.04)}.ec-object-row:hover{background:#fff7ed}.ec-object-img,.ec-object-icon{width:64px;height:64px;border-radius:12px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#777;font-size:11px;font-weight:800;text-align:center}.ec-object-img img{width:100%;height:100%;object-fit:cover}.ec-object-icon{font-size:28px}.ec-object-info strong{display:block;font-size:15px;margin-bottom:4px}.ec-object-info small{display:block;color:#666;font-size:12px;margin-top:2px}.ec-object-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}.ec-mini-btn{border:1px solid #c3c4c7;background:#fff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;cursor:pointer}.ec-mini-btn:hover{border-color:var(--ec-orange);background:#fff7ed}.ec-mini-btn.danger{border-color:#dc2626;color:#b91c1c}.ec-mini-btn.danger:hover{background:#fee2e2}
.ec-front-alert-list{display:grid;gap:10px;max-height:calc(100vh - 260px);overflow:auto}.ec-front-alert{border-left:4px solid #f59e0b;background:#fffbeb;padding:12px;border-radius:12px}.ec-front-alert.danger{border-left-color:#dc2626;background:#fef2f2}.ec-front-alert p{margin:4px 0;color:#444;font-size:13px}
.ec-front-modal{position:fixed;inset:0;z-index:100000;display:none}.ec-front-modal.active{display:block}.ec-front-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}.ec-front-modal-box{position:absolute;inset:32px;max-width:1060px;margin:auto;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.45);display:flex;flex-direction:column}.ec-front-modal-header{height:58px;background:#111;color:#fff;border-bottom:4px solid var(--ec-orange);display:flex;align-items:center;justify-content:space-between;padding:0 16px}.ec-front-modal-header button{width:38px;height:38px;border:0;border-radius:999px;background:var(--ec-orange);font-size:24px;font-weight:900;cursor:pointer}.ec-front-modal-body{padding:18px;overflow:auto}
.ec-front-form{display:none}.ec-front-form.active{display:block}.ec-front-form label{display:block;font-weight:700;margin:0 0 12px}.ec-front-form input,.ec-front-form select,.ec-front-form textarea{width:100%;margin-top:5px;border:1px solid #ddd;border-radius:10px;padding:10px}.ec-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ec-product-form-layout{display:grid;grid-template-columns:260px 1fr;gap:18px}.ec-image-picker{background:#f6f7f7;border:1px solid #ddd;border-radius:16px;padding:12px}.ec-image-preview{width:100%;aspect-ratio:1/1;background:#fff;border:2px dashed #c3c4c7;border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#777;font-weight:800;margin-bottom:10px}.ec-image-preview img{width:100%;height:100%;object-fit:cover}.ec-pick-image,.ec-clear-image,.ec-front-submit,.ec-add-item{background:var(--ec-orange);border:0;border-radius:10px;padding:11px 14px;font-weight:900;cursor:pointer;margin:3px 0}.ec-clear-image{background:#fff;border:1px solid #b91c1c;color:#b91c1c}
.ec-items-builder{background:#f6f7f7;border:1px solid #ddd;border-radius:14px;padding:14px;margin:12px 0}.ec-item-row{display:grid;grid-template-columns:2fr .7fr .8fr 1fr auto;gap:8px;margin-bottom:8px}.ec-remove-item{border:1px solid #b32d2e;color:#b32d2e;border-radius:10px;background:#fff}.ec-front-login{max-width:420px;margin:40px auto;background:#111;color:#fff;border-radius:18px;padding:24px;border-top:5px solid var(--ec-accent,#fd342f)}.ec-front-toast{position:fixed;right:22px;bottom:22px;background:#111;color:#fff;border-left:5px solid var(--ec-orange);border-radius:12px;padding:14px 18px;z-index:9999999;display:none}.ec-front-toast.active{display:block}.ec-front-toast.error{border-left-color:#dc2626}
@media(max-width:1100px){.ec-front-app{height:auto;min-height:100vh;overflow:visible}.ec-front-header{grid-template-columns:1fr;height:auto;padding:16px}.ec-front-shell{flex-direction:column}.ec-front-sidebar{width:100%;min-width:0;flex-direction:row;overflow-x:auto}.ec-front-nav{white-space:nowrap}.ec-front-main{overflow:visible}.ec-front-kpis,.ec-front-actionbar{grid-template-columns:1fr 1fr}.ec-form-grid,.ec-item-row,.ec-product-form-layout{grid-template-columns:1fr}.ec-front-modal-box{inset:10px}.ec-object-row{grid-template-columns:54px 1fr}.ec-object-actions{grid-column:1/-1;justify-content:flex-start}.ec-object-img,.ec-object-icon{width:48px;height:48px}}
@media(max-width:700px){.ec-front-kpis,.ec-front-actionbar{grid-template-columns:1fr}.ec-front-main{padding:14px}}



/* Correção v2.1.2:
   O overlay da mídia fica abaixo da janela, sem bloquear os cliques. */
.media-modal-backdrop {
    z-index: 9999980 !important;
}

.media-modal,
.media-modal.wp-core-ui {
    z-index: 9999990 !important;
}

.media-frame,
.media-frame * {
    box-sizing: content-box;
}


/* v2.2.0 - filtros nas listas */
.ec-front-filterbar{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:12px;
    margin:-4px 0 16px;
    box-shadow:0 4px 16px rgba(0,0,0,.04);
}
.ec-filter-input-wrap{
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:8px;
    align-items:center;
}
.ec-list-filter-input{
    width:100%;
    border:1px solid #ddd;
    border-radius:999px;
    padding:11px 15px;
    outline:none;
}
.ec-list-filter-input:focus{
    border-color:var(--ec-orange);
    box-shadow:0 0 0 3px rgba(255,106,0,.15);
}
.ec-list-filter-button,
.ec-list-filter-clear,
.ec-filter-chip{
    border:0;
    border-radius:999px;
    padding:10px 14px;
    font-weight:900;
    cursor:pointer;
}
.ec-list-filter-button{
    background:var(--ec-orange);
    color:#111;
}
.ec-list-filter-clear{
    background:#111;
    color:#fff;
}
.ec-filter-chips{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:10px;
}
.ec-filter-chip{
    background:#f3f4f6;
    color:#222;
    font-size:12px;
}
.ec-filter-chip:hover,
.ec-filter-chip.active{
    background:#111;
    color:#fff;
}
.ec-filter-result{
    margin-top:8px;
    color:#666;
    font-size:12px;
    font-weight:700;
}
.ec-filter-hidden{
    display:none !important;
}
@media(max-width:700px){
    .ec-filter-input-wrap{
        grid-template-columns:1fr;
    }
}


/* v2.2.1 - filtros em uma linha e visual quadrado */
.ec-front-filterbar{
    border-radius:0 !important;
    padding:10px !important;
}

.ec-filter-input-wrap{
    display:flex !important;
    align-items:center !important;
    gap:0 !important;
    width:100%;
}

.ec-list-filter-input{
    flex:1 1 auto;
    border-radius:0 !important;
    height:38px;
    border:1px solid #d1d5db !important;
    border-right:0 !important;
    padding:0 12px !important;
}

.ec-list-filter-button,
.ec-list-filter-clear,
.ec-filter-chip{
    border-radius:0 !important;
    height:38px;
    padding:0 14px !important;
    border:1px solid #111 !important;
    white-space:nowrap;
}

.ec-list-filter-button{
    order:20;
}

.ec-list-filter-clear{
    order:30;
}

.ec-filter-chips{
    display:flex !important;
    flex:0 0 auto;
    gap:0 !important;
    margin-top:0 !important;
    order:10;
}

.ec-filter-chip{
    background:#f3f4f6 !important;
    color:#111 !important;
    border-color:#d1d5db !important;
    border-right:0 !important;
}

.ec-filter-chip:hover,
.ec-filter-chip.active{
    background:#111 !important;
    color:#fff !important;
}

.ec-filter-result{
    margin-top:6px !important;
}

@media(max-width:900px){
    .ec-filter-input-wrap{
        display:grid !important;
        grid-template-columns:1fr auto auto !important;
        gap:6px !important;
    }

    .ec-filter-chips{
        grid-column:1/-1;
        order:unset;
        flex-wrap:wrap;
        gap:6px !important;
    }

    .ec-list-filter-input,
    .ec-list-filter-button,
    .ec-list-filter-clear,
    .ec-filter-chip{
        border:1px solid #d1d5db !important;
    }
}


/* v2.2.3 - barra de filtros definitiva em uma única row */
.ec-front-filterbar{
    border-radius:0 !important;
    padding:10px !important;
    overflow-x:auto;
}

.ec-filter-input-wrap{
    display:flex !important;
    align-items:stretch !important;
    gap:0 !important;
    width:100%;
    min-width:max-content;
}

.ec-filter-chips{
    display:flex !important;
    flex:0 0 auto !important;
    align-items:stretch !important;
    gap:0 !important;
    margin:0 !important;
    order:1 !important;
}

.ec-filter-chip{
    order:1 !important;
    border-radius:0 !important;
    height:38px;
    padding:0 14px !important;
    border:1px solid #d1d5db !important;
    border-right:0 !important;
    background:#f3f4f6 !important;
    color:#111 !important;
    white-space:nowrap !important;
}

.ec-filter-chip:hover,
.ec-filter-chip.active{
    background:#111 !important;
    color:#fff !important;
}

.ec-list-filter-input{
    order:2 !important;
    flex:1 1 320px !important;
    min-width:260px !important;
    height:38px;
    border-radius:0 !important;
    border:1px solid #d1d5db !important;
    border-right:0 !important;
    padding:0 12px !important;
}

.ec-list-filter-button{
    order:3 !important;
    height:38px;
    border-radius:0 !important;
    padding:0 18px !important;
    border:1px solid #111 !important;
    white-space:nowrap !important;
}

.ec-list-filter-clear{
    order:4 !important;
    height:38px;
    border-radius:0 !important;
    padding:0 18px !important;
    border:1px solid #111 !important;
    border-left:0 !important;
    white-space:nowrap !important;
}

@media(max-width:700px){
    .ec-front-filterbar{
        overflow-x:auto;
    }
    .ec-filter-input-wrap{
        display:flex !important;
        min-width:720px;
    }
}


/* v3.0.0 - estrutura visual, branding e aparência */
.ec-front-app{
    background: var(--ec-body) !important;
    color: var(--ec-text) !important;
}
.ec-front-header{
    background: var(--ec-black) !important;
}
.ec-front-sidebar{
    background: var(--ec-sidebar) !important;
}
.ec-front-card,
.ec-front-kpi,
.ec-front-filterbar,
.ec-object-row{
    background: var(--ec-card) !important;
}
.ec-front-action,
.ec-front-submit,
.ec-list-filter-button,
.ec-pick-image,
.ec-add-item{
    background: var(--ec-button-bg) !important;
    color: var(--ec-button-text) !important;
    border-color: var(--ec-button-bg) !important;
}
.ec-front-brand-logo-img{
    display:block;
    max-height:52px;
    width:auto;
    object-fit:contain;
}
.ec-front-brand-text strong{
    color:#fff;
}
.ec-front-brand-text span{
    color:#b5b5b5;
}
.ec-front-form.ec-appearance-form{
    display:block;
}
.ec-appearance-card{
    margin-bottom:16px;
}
.ec-appearance-brand-grid{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:18px;
    align-items:start;
}
.ec-color-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(160px,1fr));
    gap:14px;
}
.ec-color-grid label{
    font-weight:800;
}
.ec-color-grid input[type=color]{
    display:block;
    width:100%;
    height:44px;
    border:1px solid #d1d5db;
    margin-top:6px;
    padding:2px;
}
.ec-check{
    display:flex !important;
    align-items:center;
    gap:8px;
    margin-top:26px !important;
}
.ec-check input{
    width:auto !important;
}
.ec-appearance-actions{
    position:sticky;
    bottom:0;
    background:var(--ec-card);
    border:1px solid #e5e7eb;
    padding:12px;
    text-align:right;
    z-index:8;
}
@media(max-width:900px){
    .ec-appearance-brand-grid,
    .ec-color-grid{
        grid-template-columns:1fr;
    }
}


/* v3.1.0 - Integração nativa com Aparência v2 */
.ec-front-app{
    background: var(--ec-body) !important;
    color: var(--ec-text) !important;
    font-family: var(--ec-font-family) !important;
}
.ec-front-header{
    height: var(--ec-header-height) !important;
    min-height: var(--ec-header-height) !important;
    background: var(--ec-black) !important;
}
.ec-front-sidebar{
    width: var(--ec-sidebar-width) !important;
    min-width: var(--ec-sidebar-width) !important;
    background: var(--ec-sidebar) !important;
}
.ec-front-main{ padding: var(--ec-content-padding) !important; }
.ec-front-card,
.ec-front-kpi,
.ec-front-filterbar,
.ec-object-row{
    background: var(--ec-card) !important;
    border-color: var(--ec-border) !important;
    border-radius: var(--ec-card-radius) !important;
}
.ec-front-action,
.ec-front-submit,
.ec-list-filter-button,
.ec-pick-image,
.ec-add-item{
    background: var(--ec-button-bg) !important;
    color: var(--ec-button-text) !important;
    border-color: var(--ec-button-bg) !important;
    border-radius: var(--ec-button-radius) !important;
}
.ec-mini-btn,
.ec-list-filter-clear,
.ec-filter-chip{ border-radius: var(--ec-button-radius) !important; }
.ec-front-form input,
.ec-front-form select,
.ec-front-form textarea,
.ec-list-filter-input{
    border-radius: var(--ec-input-radius) !important;
    border-color: var(--ec-border) !important;
}
.ec-front-modal-box{ border-radius: var(--ec-modal-radius) !important; }
.ec-front-brand-logo-img{
    display:block;
    max-height:calc(var(--ec-header-height) - 18px);
    width:auto;
    object-fit:contain;
}
.ec-front-brand-text strong{ color:#fff; }
.ec-front-brand-text span{ color:#b5b5b5; }
.ec-appearance-form{ display:block !important; }
.ec-appearance-tabs{
    display:flex;
    gap:0;
    margin-bottom:16px;
    overflow:auto;
}
.ec-appearance-tabs button{
    border:1px solid var(--ec-border);
    background:var(--ec-card);
    color:var(--ec-text);
    padding:12px 16px;
    font-weight:900;
    cursor:pointer;
    border-radius:0;
}
.ec-appearance-tabs button.active{
    background:var(--ec-orange);
    color:#111;
    border-color:var(--ec-orange);
}
.ec-appearance-panel{ display:none; }
.ec-appearance-panel.active{ display:block; }
.ec-appearance-card{ margin-bottom:16px; }
.ec-appearance-brand-grid{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:18px;
    align-items:start;
}
.ec-color-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(140px,1fr));
    gap:14px;
}
.ec-color-grid label{font-weight:800}
.ec-color-grid input[type=color]{
    display:block;
    width:100%;
    height:44px;
    border:1px solid var(--ec-border);
    margin-top:6px;
    padding:2px;
}
.ec-check{
    display:flex !important;
    align-items:center;
    gap:8px;
    margin-top:26px !important;
}
.ec-check input{ width:auto !important; }
.ec-appearance-actions{
    position:sticky;
    bottom:0;
    background:var(--ec-card);
    border:1px solid var(--ec-border);
    padding:12px;
    text-align:right;
    z-index:8;
}
.ec-appearance-preview{
    display:grid;
    grid-template-columns:repeat(4,minmax(150px,1fr));
    gap:12px;
    align-items:center;
}
.ec-appearance-preview input{
    border:1px solid var(--ec-border);
    padding:10px 12px;
    border-radius:var(--ec-input-radius);
}
@media(max-width:900px){
    .ec-appearance-brand-grid,
    .ec-color-grid,
    .ec-appearance-preview{ grid-template-columns:1fr; }
}


/* v3.1.1 - miniaturas de produtos em todas as listas com produto */
.ec-product-cell{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:220px;
}
.ec-product-mini-thumb{
    width:46px;
    height:46px;
    min-width:46px;
    border-radius:8px;
    background:var(--ec-surface-alt, #f3f4f6);
    border:1px solid var(--ec-border, #e5e7eb);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    font-size:18px;
}
.ec-product-mini-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.ec-products-thumb-table td{
    vertical-align:middle;
}


/* v3.2.0 - Header horizontal sem menu lateral */
.ec-front-header-horizontal{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    gap:18px !important;
    align-items:center !important;
    padding:0 18px !important;
    height:var(--ec-header-height,72px) !important;
    min-height:var(--ec-header-height,72px) !important;
}
.ec-front-shell-no-sidebar{
    display:block !important;
    min-height:0;
    flex:1;
}
.ec-front-shell-no-sidebar .ec-front-main{
    width:100% !important;
    height:100%;
    overflow:auto;
}
.ec-front-sidebar{
    display:none !important;
}
.ec-front-topnav{
    display:flex;
    align-items:center;
    gap:4px;
    overflow-x:auto;
    overflow-y:hidden;
    min-width:0;
    scrollbar-width:thin;
}
.ec-front-topnav .ec-front-nav{
    width:auto !important;
    white-space:nowrap;
    text-align:center !important;
    padding:10px 12px !important;
    border-radius:0 !important;
    font-size:13px !important;
    color:#e5e5e5;
    background:transparent;
    flex:0 0 auto;
}
.ec-front-topnav .ec-front-nav:hover,
.ec-front-topnav .ec-front-nav.active{
    background:var(--ec-orange) !important;
    color:#111 !important;
}
.ec-front-header-actions{
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
    white-space:nowrap;
}
.ec-front-notification-btn{
    position:relative;
    width:40px;
    height:40px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.08);
    color:#fff;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    border-radius:0;
}
.ec-front-notification-btn span{
    position:absolute;
    top:-6px;
    right:-6px;
    min-width:18px;
    height:18px;
    padding:0 5px;
    background:var(--ec-orange);
    color:#111;
    border-radius:999px;
    font-size:11px;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
}
.ec-front-user-name{
    font-size:13px;
    font-weight:800;
    max-width:180px;
    overflow:hidden;
    text-overflow:ellipsis;
}
.ec-front-logout{
    color:var(--ec-orange) !important;
    text-decoration:none;
    font-weight:900;
    font-size:13px;
    border:1px solid var(--ec-orange);
    padding:8px 10px;
}
.ec-front-search,
.ec-front-user{
    display:none !important;
}
@media(max-width:1100px){
    .ec-front-header-horizontal{
        grid-template-columns:1fr !important;
        height:auto !important;
        padding:12px !important;
    }
    .ec-front-topnav{
        width:100%;
    }
    .ec-front-header-actions{
        width:100%;
        justify-content:flex-end;
    }
}


/* v3.2.1 - integração com Aparência v2.1 */
.ec-front-header-horizontal{
    padding-left:var(--ec-header-padding-x,18px) !important;
    padding-right:var(--ec-header-padding-x,18px) !important;
    padding-top:var(--ec-header-padding-y,0px) !important;
    padding-bottom:var(--ec-header-padding-y,0px) !important;
}
.ec-front-main{
    padding-left:var(--ec-content-padding-x,24px) !important;
    padding-right:var(--ec-content-padding-x,24px) !important;
    padding-top:var(--ec-content-padding-y,24px) !important;
    padding-bottom:var(--ec-content-padding-y,24px) !important;
}
.ec-front-main > .ec-front-view{
    width:100%;
    max-width:var(--ec-page-max-width,0px);
    margin-left:auto;
    margin-right:auto;
}


/* v3.2.2 - modo ERP limpo sem barra padrão do WordPress */
body.ec-frontend-app-page,
body.ec-no-wp-adminbar{
    margin-top:0 !important;
    padding-top:0 !important;
    overflow:hidden;
}
body.ec-frontend-app-page #wpadminbar,
body.ec-no-wp-adminbar #wpadminbar{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}
body.ec-frontend-app-page .ec-front-app,
body.ec-no-wp-adminbar .ec-front-app{
    height:100vh !important;
    min-height:100vh !important;
}
body.ec-frontend-app-page .ec-front-header-horizontal,
body.ec-no-wp-adminbar .ec-front-header-horizontal{
    top:0 !important;
}
html:has(.ec-front-app){
    margin-top:0 !important;
    padding-top:0 !important;
}


/* v3.2.3 - nome e slogan no footer */
.ec-front-header-horizontal .ec-front-brand-text{
    display:none !important;
}
.ec-front-brand{
    min-width:0;
}
.ec-front-footer{
    height:52px;
    min-height:52px;
    background:var(--ec-black, #111);
    color:#fff;
    border-top:3px solid var(--ec-orange, var(--ec-accent,#fd342f));
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    letter-spacing:.08em;
    line-height:1.15;
    padding:6px 16px;
}
.ec-front-footer strong{
    display:block;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
}
.ec-front-footer span{
    display:block;
    margin-top:3px;
    font-size:10px;
    font-weight:800;
    color:#cfcfcf;
    text-transform:uppercase;
}
.ec-front-app{
    display:flex !important;
    flex-direction:column !important;
}
.ec-front-shell-no-sidebar{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow:hidden;
}
.ec-front-shell-no-sidebar .ec-front-main{
    height:100% !important;
}
@media(max-width:700px){
    .ec-front-footer{
        height:auto;
        min-height:46px;
    }
    .ec-front-footer strong{
        font-size:11px;
    }
    .ec-front-footer span{
        font-size:9px;
    }
}


/* v3.2.4 - Relatórios no Frontend */
.ec-report-actions{
    display:flex;
    justify-content:flex-end;
    margin-bottom:14px;
}
.ec-report-kpis{
    margin-bottom:18px;
}
.ec-reports-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(320px,1fr));
    gap:16px;
}
.ec-reports-grid .ec-front-card h2{
    margin:0 0 12px;
    font-size:18px;
}
.ec-front-table-wrap.compact{
    max-height:360px;
}
.ec-front-list.compact{
    max-height:360px;
}
@media(max-width:1100px){
    .ec-reports-grid{
        grid-template-columns:1fr;
    }
}
@media print{
    .ec-front-header,
    .ec-front-footer,
    .ec-report-actions{
        display:none !important;
    }
    .ec-front-app{
        height:auto !important;
        min-height:auto !important;
        overflow:visible !important;
    }
    .ec-front-shell-no-sidebar,
    .ec-front-main{
        overflow:visible !important;
        height:auto !important;
    }
    .ec-front-view{
        display:block !important;
    }
    .ec-front-view:not(#ec-front-relatorios){
        display:none !important;
    }
}


/* v3.3.0 - Dashboard Premium */
.ec-dashboard-title{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
}
.ec-dashboard-date{
    background:var(--ec-card);
    border:1px solid var(--ec-border);
    padding:8px 12px;
    font-weight:900;
    color:var(--ec-muted);
}
.ec-dashboard-hero{
    background:linear-gradient(135deg, var(--ec-black), #252525);
    color:#fff;
    border-left:6px solid var(--ec-orange);
    padding:22px;
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    margin-bottom:16px;
}
.ec-dashboard-eyebrow{
    color:var(--ec-orange);
    font-size:11px;
    font-weight:900;
    letter-spacing:.14em;
}
.ec-dashboard-hero h2{
    margin:6px 0;
    font-size:25px;
    color:#fff;
}
.ec-dashboard-hero p{
    margin:0;
    color:#cfcfcf;
}
.ec-dashboard-hero-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.ec-dashboard-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(170px,1fr));
    gap:14px;
    margin-bottom:16px;
}
.ec-dashboard-kpi{
    background:var(--ec-card);
    border:1px solid var(--ec-border);
    border-top:4px solid #222;
    padding:18px;
    box-shadow:0 4px 18px rgba(0,0,0,.04);
}
.ec-dashboard-kpi.primary{border-top-color:var(--ec-orange)}
.ec-dashboard-kpi.danger{border-top-color:#dc2626}
.ec-dashboard-kpi span{
    display:block;
    color:var(--ec-muted);
    font-size:13px;
    font-weight:800;
    margin-bottom:7px;
}
.ec-dashboard-kpi strong{
    display:block;
    font-size:23px;
}
.ec-dashboard-kpi small{
    display:block;
    color:var(--ec-muted);
    margin-top:7px;
    font-size:11px;
}
.ec-dashboard-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(260px,1fr));
    gap:16px;
}
.ec-dashboard-panel{
    background:var(--ec-card);
    border:1px solid var(--ec-border);
    border-radius:var(--ec-card-radius);
    padding:16px;
    min-height:240px;
    box-shadow:0 4px 18px rgba(0,0,0,.04);
}
.ec-dashboard-panel.large{
    grid-column:span 2;
}
.ec-dashboard-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:12px;
}
.ec-dashboard-panel-head h3{
    margin:0;
    font-size:17px;
}
.ec-dashboard-list{
    display:grid;
    gap:9px;
    max-height:360px;
    overflow:auto;
}
.ec-dashboard-list.compact{
    max-height:260px;
}
.ec-dashboard-product{
    display:grid;
    grid-template-columns:46px 1fr auto;
    gap:10px;
    align-items:center;
    border:1px solid var(--ec-border);
    background:var(--ec-surface-alt, #f6f7f7);
    padding:8px;
}
.ec-dashboard-product.compact{
    grid-template-columns:46px 1fr;
}
.ec-dashboard-product strong,
.ec-dashboard-order strong{
    display:block;
    font-size:13px;
}
.ec-dashboard-product small,
.ec-dashboard-order small{
    display:block;
    color:var(--ec-muted);
    margin-top:3px;
    font-size:11px;
}
.ec-dashboard-bars{
    display:grid;
    gap:13px;
}
.ec-dashboard-bar-row > div:first-child{
    display:flex;
    justify-content:space-between;
    gap:10px;
    font-size:12px;
}
.ec-dashboard-bar-row span{
    color:var(--ec-muted);
    font-weight:800;
}
.ec-dashboard-bar{
    height:10px;
    background:var(--ec-surface-alt, #f6f7f7);
    border:1px solid var(--ec-border);
    margin-top:6px;
    overflow:hidden;
}
.ec-dashboard-bar i{
    display:block;
    height:100%;
    background:var(--ec-orange);
}
.ec-dashboard-timeline{
    display:grid;
    gap:10px;
}
.ec-dashboard-timeline-item{
    display:grid;
    grid-template-columns:14px 1fr;
    gap:9px;
    align-items:start;
}
.ec-dashboard-timeline-item > span{
    width:12px;
    height:12px;
    background:var(--ec-orange);
    margin-top:3px;
}
.ec-dashboard-timeline-item strong{
    display:block;
    font-size:13px;
}
.ec-dashboard-timeline-item small{
    display:block;
    color:var(--ec-muted);
}
.ec-dashboard-order{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border:1px solid var(--ec-border);
    background:var(--ec-surface-alt, #f6f7f7);
    padding:9px;
}
.ec-dashboard-order span{
    font-weight:900;
    color:var(--ec-orange);
}
.ec-dashboard-empty{
    padding:18px;
    background:var(--ec-surface-alt, #f6f7f7);
    border:1px dashed var(--ec-border);
    color:var(--ec-muted);
    font-weight:800;
    text-align:center;
}
@media(max-width:1300px){
    .ec-dashboard-grid{grid-template-columns:1fr 1fr}
    .ec-dashboard-panel.large{grid-column:span 2}
}
@media(max-width:900px){
    .ec-dashboard-title,
    .ec-dashboard-hero{
        flex-direction:column;
        align-items:flex-start;
    }
    .ec-dashboard-kpis,
    .ec-dashboard-grid{
        grid-template-columns:1fr;
    }
    .ec-dashboard-panel.large{
        grid-column:span 1;
    }
}


/* v3.3.1 - Nova identidade dos botões */
:root{
 --ec-btn-primary:var(--ec-accent,#fd342f);
 --ec-btn-primary-hover:var(--ec-accent-hover,#c6261d);
 --ec-btn-text:#ffffff;
}

.ec-front-submit,
.ec-front-action,
.ec-add-item,
.ec-pick-image,
.ec-list-filter-button,
.ec-front-logout,
.ec-mini-btn{
    background:var(--ec-btn-primary)!important;
    color:var(--ec-btn-text)!important;
    border:1px solid var(--ec-btn-primary)!important;
    transition:all .22s ease!important;
    box-shadow:0 4px 14px color-mix(in srgb, var(--ec-accent,#fd342f) 25%, transparent);
    font-weight:800;
}

.ec-front-submit:hover,
.ec-front-action:hover,
.ec-add-item:hover,
.ec-pick-image:hover,
.ec-list-filter-button:hover,
.ec-front-logout:hover,
.ec-mini-btn:hover{
    background:var(--ec-btn-primary-hover)!important;
    border-color:var(--ec-btn-primary-hover)!important;
    color:#fff!important;
    transform:translateY(-2px);
    box-shadow:0 10px 24px color-mix(in srgb, var(--ec-accent-hover,#c6261d) 35%, transparent);
}

.ec-front-submit:active,
.ec-front-action:active,
.ec-add-item:active,
.ec-pick-image:active,
.ec-list-filter-button:active,
.ec-front-logout:active,
.ec-mini-btn:active{
    transform:translateY(0) scale(.98);
    box-shadow:0 2px 8px rgba(198,38,29,.3);
}

.ec-front-nav.active{
    background:var(--ec-accent,#fd342f)!important;
    color:#fff!important;
}
.ec-front-nav:hover{
    background:var(--ec-accent-hover,#c6261d)!important;
    color:#fff!important;
}


/* v3.3.3 - Header: somente menu ativo colorido */
.ec-front-header,
.ec-front-header-horizontal{
    border-bottom-color:var(--ec-accent,#fd342f) !important;
}

.ec-front-footer{
    border-top-color:var(--ec-accent,#fd342f) !important;
}

/* Menu normal transparente */
.ec-front-topnav .ec-front-nav{
    background:transparent !important;
    color:#ffffff !important;
    border-color:transparent !important;
    box-shadow:none !important;
    transform:none !important;
}

/* Hover discreto, sem virar botão vermelho */
.ec-front-topnav .ec-front-nav:hover{
    background:color-mix(in srgb, var(--ec-accent,#fd342f) 12%, transparent) !important;
    color:#ffffff !important;
    border-color:transparent !important;
    box-shadow:none !important;
    transform:none !important;
}

/* Apenas a aba ativa fica vermelha */
.ec-front-topnav .ec-front-nav.active{
    background:var(--ec-accent,#fd342f) !important;
    color:#ffffff !important;
    border-color:var(--ec-accent,#fd342f) !important;
    box-shadow:0 6px 18px color-mix(in srgb, var(--ec-accent,#fd342f) 28%, transparent) !important;
}

/* Notificação discreta */
.ec-front-notification-btn{
    background:transparent !important;
    color:#ffffff !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:none !important;
    transform:none !important;
}

.ec-front-notification-btn:hover{
    background:rgba(255,255,255,.08) !important;
    border-color:rgba(255,255,255,.28) !important;
    color:#ffffff !important;
    box-shadow:none !important;
    transform:none !important;
}

.ec-front-notification-btn span{
    background:var(--ec-accent,#fd342f) !important;
    color:#ffffff !important;
}

/* Usuário apenas texto */
.ec-front-user-name{
    color:#ffffff !important;
    background:transparent !important;
}

/* Sair continua como botão de ação */
.ec-front-logout{
    background:var(--ec-accent,#fd342f) !important;
    color:#ffffff !important;
    border-color:var(--ec-accent,#fd342f) !important;
}

.ec-front-logout:hover{
    background:var(--ec-accent-hover,#c6261d) !important;
    color:#ffffff !important;
    border-color:var(--ec-accent-hover,#c6261d) !important;
}


/* v3.3.4 - Botões SALVAR em verde */
.ec-front-submit,
button[type="submit"],
input[type="submit"],
.ec-modal-footer .ec-front-submit,
.ec-front-modal .ec-front-submit{
    background:#3dc302 !important;
    border-color:#3dc302 !important;
    color:#ffffff !important;
    box-shadow:0 4px 12px rgba(61,195,2,.24) !important;
    transition:all .2s ease !important;
}

.ec-front-submit:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.ec-modal-footer .ec-front-submit:hover,
.ec-front-modal .ec-front-submit:hover{
    background:#33a203 !important;
    border-color:#33a203 !important;
    color:#ffffff !important;
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(51,162,3,.34) !important;
}

.ec-front-submit:active,
button[type="submit"]:active,
input[type="submit"]:active{
    transform:translateY(0) scale(.98);
}

/* v3.3.5 - botão buscar com ícone */
.ec-list-filter-button,
.ec-front-search-btn{
    font-size:0 !important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
}
.ec-list-filter-button::before,
.ec-front-search-btn::before{
    content:"\1F50D";
    font-size:18px;
    color:#fff;
    line-height:1;
}


/* v3.3.8 - Ícones SVG estilo Font Awesome sem depender de fonte/CDN */
.ec-front-nav::before,
.ec-list-filter-button::before,
.ec-object-actions .ec-mini-btn::before,
.ec-front-submit::before,
.ec-front-notification-btn::before,
.ec-front-logout::before,
.ec-front-action::before,
.ec-add-item::before,
.ec-pick-image::before{
    content:"";
    display:inline-block;
    width:1em;
    height:1em;
    margin-right:6px;
    vertical-align:-.125em;
    background:currentColor;
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-position:center;
    mask-position:center;
    -webkit-mask-size:contain;
    mask-size:contain;
}

.ec-front-nav[data-target="dashboard"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2013a8%208%200%201%201%2016%200%22/%3E%3Cpath%20d%3D%22M12%2013l4-4%22/%3E%3Cpath%20d%3D%22M5%2021h14%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2013a8%208%200%201%201%2016%200%22/%3E%3Cpath%20d%3D%22M12%2013l4-4%22/%3E%3Cpath%20d%3D%22M5%2021h14%22/%3E%3C/svg%3E");}
.ec-front-nav[data-target="produtos"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%208l-9-5-9%205%209%205%209-5z%22/%3E%3Cpath%20d%3D%22M3%208v8l9%205%209-5V8%22/%3E%3Cpath%20d%3D%22M12%2013v8%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%208l-9-5-9%205%209%205%209-5z%22/%3E%3Cpath%20d%3D%22M3%208v8l9%205%209-5V8%22/%3E%3Cpath%20d%3D%22M12%2013v8%22/%3E%3C/svg%3E");}
.ec-front-nav[data-target="locais"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2021V8l9-5%209%205v13%22/%3E%3Cpath%20d%3D%22M7%2021v-8h10v8%22/%3E%3Cpath%20d%3D%22M9%2013h6%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2021V8l9-5%209%205v13%22/%3E%3Cpath%20d%3D%22M7%2021v-8h10v8%22/%3E%3Cpath%20d%3D%22M9%2013h6%22/%3E%3C/svg%3E");}
.ec-front-nav[data-target="estoque"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207l8-4%208%204-8%204-8-4z%22/%3E%3Cpath%20d%3D%22M4%2012l8%204%208-4%22/%3E%3Cpath%20d%3D%22M4%2017l8%204%208-4%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207l8-4%208%204-8%204-8-4z%22/%3E%3Cpath%20d%3D%22M4%2012l8%204%208-4%22/%3E%3Cpath%20d%3D%22M4%2017l8%204%208-4%22/%3E%3C/svg%3E");}
.ec-front-nav[data-target="movimentacoes"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%207h14l-4-4%22/%3E%3Cpath%20d%3D%22M17%2021H3l4-4%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%207h14l-4-4%22/%3E%3Cpath%20d%3D%22M17%2021H3l4-4%22/%3E%3C/svg%3E");}
.ec-front-nav[data-target="vendas"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%208h16v10H4z%22/%3E%3Cpath%20d%3D%22M8%208V5h8v3%22/%3E%3Cpath%20d%3D%22M8%2013h8%22/%3E%3Cpath%20d%3D%22M7%2017h.01M11%2017h.01M15%2017h.01%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%208h16v10H4z%22/%3E%3Cpath%20d%3D%22M8%208V5h8v3%22/%3E%3Cpath%20d%3D%22M8%2013h8%22/%3E%3Cpath%20d%3D%22M7%2017h.01M11%2017h.01M15%2017h.01%22/%3E%3C/svg%3E");}
.ec-front-nav[data-target="compras"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%204h2l3%2012h10l3-8H7%22/%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2220%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2220%22%20r%3D%221%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%204h2l3%2012h10l3-8H7%22/%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2220%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2220%22%20r%3D%221%22/%3E%3C/svg%3E");}
.ec-front-nav[data-target="relatorios"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2019h16%22/%3E%3Cpath%20d%3D%22M7%2016V9%22/%3E%3Cpath%20d%3D%22M12%2016V5%22/%3E%3Cpath%20d%3D%22M17%2016v-7%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2019h16%22/%3E%3Cpath%20d%3D%22M7%2016V9%22/%3E%3Cpath%20d%3D%22M12%2016V5%22/%3E%3Cpath%20d%3D%22M17%2016v-7%22/%3E%3C/svg%3E");}
.ec-front-nav[data-target="alertas"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l10%2018H2L12%203z%22/%3E%3Cpath%20d%3D%22M12%209v5M12%2017h.01%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l10%2018H2L12%203z%22/%3E%3Cpath%20d%3D%22M12%209v5M12%2017h.01%22/%3E%3C/svg%3E");}
.ec-front-nav[data-target="aparencia"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203a9%209%200%200%200%200%2018h1.5a2%202%200%200%200%200-4H12a2%202%200%200%201%200-4h3a6%206%200%200%200-3-10z%22/%3E%3Ccircle%20cx%3D%227.5%22%20cy%3D%2210%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%227%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%2214%22%20cy%3D%227%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%2216.5%22%20cy%3D%2210%22%20r%3D%221%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203a9%209%200%200%200%200%2018h1.5a2%202%200%200%200%200-4H12a2%202%200%200%201%200-4h3a6%206%200%200%200-3-10z%22/%3E%3Ccircle%20cx%3D%227.5%22%20cy%3D%2210%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%227%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%2214%22%20cy%3D%227%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%2216.5%22%20cy%3D%2210%22%20r%3D%221%22/%3E%3C/svg%3E");}
.ec-front-nav[data-target="sistema"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%208a4%204%200%201%201%200%208%204%204%200%200%201%200-8z%22/%3E%3Cpath%20d%3D%22M4%2012h2M18%2012h2M12%204v2M12%2018v2M6.3%206.3l1.4%201.4M16.3%2016.3l1.4%201.4M17.7%206.3l-1.4%201.4M7.7%2016.3l-1.4%201.4%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%208a4%204%200%201%201%200%208%204%204%200%200%201%200-8z%22/%3E%3Cpath%20d%3D%22M4%2012h2M18%2012h2M12%204v2M12%2018v2M6.3%206.3l1.4%201.4M16.3%2016.3l1.4%201.4M17.7%206.3l-1.4%201.4M7.7%2016.3l-1.4%201.4%22/%3E%3C/svg%3E");}

.ec-list-filter-button::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2021l-4.35-4.35m1.1-5.4a6.5%206.5%200%201%201-13%200%206.5%206.5%200%200%201%2013%200z%22/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2021l-4.35-4.35m1.1-5.4a6.5%206.5%200%201%201-13%200%206.5%206.5%200%200%201%2013%200z%22/%3E%3C/svg%3E");
    margin-right:0;
    width:18px;
    height:18px;
}
.ec-list-filter-button{
    font-size:0 !important;
}
.ec-list-filter-button::after{
    content:none !important;
}

.ec-object-actions .ec-mini-btn:first-child::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020h9%22/%3E%3Cpath%20d%3D%22M16.5%203.5a2.1%202.1%200%200%201%203%203L7%2019l-4%201%201-4L16.5%203.5z%22/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020h9%22/%3E%3Cpath%20d%3D%22M16.5%203.5a2.1%202.1%200%200%201%203%203L7%2019l-4%201%201-4L16.5%203.5z%22/%3E%3C/svg%3E");
}
.ec-object-actions .ec-mini-btn.danger::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18%22/%3E%3Cpath%20d%3D%22M8%206V4h8v2%22/%3E%3Cpath%20d%3D%22M6%206l1%2015h10l1-15%22/%3E%3Cpath%20d%3D%22M10%2011v6M14%2011v6%22/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18%22/%3E%3Cpath%20d%3D%22M8%206V4h8v2%22/%3E%3Cpath%20d%3D%22M6%206l1%2015h10l1-15%22/%3E%3Cpath%20d%3D%22M10%2011v6M14%2011v6%22/%3E%3C/svg%3E");
}
.ec-front-submit::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%203h12l2%202v16H5z%22/%3E%3Cpath%20d%3D%22M8%203v6h8V3%22/%3E%3Cpath%20d%3D%22M8%2021v-7h8v7%22/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%203h12l2%202v16H5z%22/%3E%3Cpath%20d%3D%22M8%203v6h8V3%22/%3E%3Cpath%20d%3D%22M8%2021v-7h8v7%22/%3E%3C/svg%3E");
}
.ec-front-notification-btn::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M18%208a6%206%200%200%200-12%200c0%207-3%207-3%209h18c0-2-3-2-3-9%22/%3E%3Cpath%20d%3D%22M10%2021h4%22/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M18%208a6%206%200%200%200-12%200c0%207-3%207-3%209h18c0-2-3-2-3-9%22/%3E%3Cpath%20d%3D%22M10%2021h4%22/%3E%3C/svg%3E");
    margin-right:0;
    width:18px;
    height:18px;
}
.ec-front-logout::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%2017l5-5-5-5%22/%3E%3Cpath%20d%3D%22M15%2012H3%22/%3E%3Cpath%20d%3D%22M21%203v18h-7%22/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%2017l5-5-5-5%22/%3E%3Cpath%20d%3D%22M15%2012H3%22/%3E%3Cpath%20d%3D%22M21%203v18h-7%22/%3E%3C/svg%3E");
}
.ec-add-item::before,
.ec-front-action::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v14M5%2012h14%22/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v14M5%2012h14%22/%3E%3C/svg%3E");
}
.ec-pick-image::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%208l-9-5-9%205%209%205%209-5z%22/%3E%3Cpath%20d%3D%22M3%208v8l9%205%209-5V8%22/%3E%3Cpath%20d%3D%22M12%2013v8%22/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%208l-9-5-9%205%209%205%209-5z%22/%3E%3Cpath%20d%3D%22M3%208v8l9%205%209-5V8%22/%3E%3Cpath%20d%3D%22M12%2013v8%22/%3E%3C/svg%3E");
}

/* Esconde emojis antigos apenas nos botões em que o pseudo ícone substitui */
.ec-front-notification-btn{
    font-size:0 !important;
}
.ec-front-notification-btn span{
    font-size:11px !important;
}
.ec-front-logout{
    font-size:13px !important;
}
.ec-front-logout::before{
    font-size:13px;
}


/* v3.3.9 - Botões de imagem simétricos */
.ec-image-picker{
    display:flex;
    flex-direction:column;
    width:100%;
}

.ec-image-picker .ec-image-preview{
    width:100%;
}

.ec-image-picker .ec-pick-image,
.ec-image-picker .ec-clear-image{
    width:100% !important;
    min-height:38px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    text-align:center;
    margin:0 !important;
    padding:11px 12px !important;
    border-radius:var(--ec-button-radius,0) !important;
    font-weight:900;
}

/* Cria uma linha única para os botões mesmo quando eles estão soltos no card */
.ec-image-picker .ec-pick-image{
    margin-top:10px !important;
}

.ec-image-picker .ec-pick-image + .ec-clear-image{
    margin-top:8px !important;
}

/* Quando o navegador suporta grid moderno, deixa Inserir/Remover lado a lado e perfeitamente simétricos */
@supports (display: grid){
    .ec-image-picker{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    .ec-image-picker > label,
    .ec-image-picker > .ec-image-preview,
    .ec-image-picker > input[type="hidden"],
    .ec-image-picker > small,
    .ec-image-picker > .description{
        grid-column:1 / -1;
    }

    .ec-image-picker .ec-pick-image,
    .ec-image-picker .ec-clear-image{
        margin-top:0 !important;
        height:38px;
    }

    .ec-image-picker .ec-pick-image{
        grid-column:1;
    }

    .ec-image-picker .ec-clear-image{
        grid-column:2;
    }
}

/* Remover com visual de ação destrutiva, mas do mesmo tamanho */
.ec-image-picker .ec-clear-image{
    background:var(--ec-accent,#fd342f) !important;
    color:#fff !important;
    border-color:var(--ec-accent,#fd342f) !important;
    box-shadow:0 4px 12px rgba(253,52,47,.2) !important;
}

.ec-image-picker .ec-clear-image:hover{
    background:var(--ec-accent-hover,#c6261d) !important;
    border-color:var(--ec-accent-hover,#c6261d) !important;
    color:#fff !important;
}

@media(max-width:520px){
    .ec-image-picker{
        grid-template-columns:1fr !important;
    }
    .ec-image-picker .ec-pick-image,
    .ec-image-picker .ec-clear-image{
        grid-column:1 / -1 !important;
    }
}


/* v3.3.10 - Correção definitiva dos botões de imagem e verdes */
.ec-image-picker{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    gap:0 !important;
}

.ec-image-picker > label,
.ec-image-picker > .ec-image-preview,
.ec-image-picker > input[type="hidden"],
.ec-image-picker > small,
.ec-image-picker > .description{
    width:100% !important;
}

.ec-image-picker .ec-pick-image,
.ec-image-picker .ec-clear-image{
    width:100% !important;
    min-height:38px;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:11px 12px !important;
    border-radius:var(--ec-button-radius,0) !important;
    font-weight:900 !important;
    grid-column:1 / -1 !important;
}

/* INSERIR em cima */
.ec-image-picker .ec-pick-image{
    margin-top:10px !important;
    margin-bottom:8px !important;
    background:#3dc302 !important;
    color:#ffffff !important;
    border-color:#3dc302 !important;
    box-shadow:0 4px 12px rgba(61,195,2,.24) !important;
}

.ec-image-picker .ec-pick-image:hover{
    background:#33a203 !important;
    border-color:#33a203 !important;
    color:#ffffff !important;
    box-shadow:0 8px 18px rgba(51,162,3,.34) !important;
}

/* REMOVER embaixo */
.ec-image-picker .ec-clear-image{
    margin-top:0 !important;
    margin-bottom:0 !important;
    background:var(--ec-accent,#fd342f) !important;
    color:#ffffff !important;
    border-color:var(--ec-accent,#fd342f) !important;
    box-shadow:0 4px 12px color-mix(in srgb, var(--ec-accent,#fd342f) 22%, transparent) !important;
}

.ec-image-picker .ec-clear-image:hover{
    background:var(--ec-accent-hover,#c6261d) !important;
    border-color:var(--ec-accent-hover,#c6261d) !important;
    color:#ffffff !important;
    box-shadow:0 8px 18px color-mix(in srgb, var(--ec-accent-hover,#c6261d) 32%, transparent) !important;
}

/* Novos verdes globais */
.ec-front-submit,
button[type="submit"],
input[type="submit"],
.ec-modal-footer .ec-front-submit,
.ec-front-modal .ec-front-submit,
.ec-object-actions .ec-mini-btn:first-child{
    background:#3dc302 !important;
    border-color:#3dc302 !important;
    color:#ffffff !important;
}

.ec-front-submit:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.ec-modal-footer .ec-front-submit:hover,
.ec-front-modal .ec-front-submit:hover,
.ec-object-actions .ec-mini-btn:first-child:hover{
    background:#33a203 !important;
    border-color:#33a203 !important;
    color:#ffffff !important;
}


/* v3.3.11 - Cabeçalho e fechar dos popups */
.ec-front-modal-header{
    background:var(--ec-accent,#fd342f) !important;
    color:#fff !important;
    border-bottom:1px solid var(--ec-accent-hover,#c6261d) !important;
}

.ec-front-modal-header h1,
.ec-front-modal-header h2,
.ec-front-modal-header h3,
.ec-front-modal-header h4,
.ec-front-modal-header h5,
.ec-front-modal-header h6,
.ec-front-modal-header .title{
    color:#fff !important;
}

.ec-front-modal-close,
.ec-front-modal .ec-close,
.ec-front-modal button[aria-label="Close"],
.ec-front-modal button[aria-label="Fechar"],
.ec-front-modal .mfp-close,
.ec-front-modal .modal-close{
    background:var(--ec-accent,#fd342f) !important;
    color:#fff !important;
    border:1px solid var(--ec-accent,#fd342f) !important;
    transition:all .2s ease !important;
}

.ec-front-modal-close:hover,
.ec-front-modal .ec-close:hover,
.ec-front-modal button[aria-label="Close"]:hover,
.ec-front-modal button[aria-label="Fechar"]:hover,
.ec-front-modal .mfp-close:hover,
.ec-front-modal .modal-close:hover{
    background:var(--ec-accent-hover,#c6261d) !important;
    border-color:var(--ec-accent-hover,#c6261d) !important;
    color:#fff !important;
}

/* v3.3.12 */
.ec-front-modal-header{
    background:inherit !important;
    color:inherit !important;
    border-bottom:3px solid var(--ec-accent,#fd342f) !important;
}
.ec-front-modal-header h1,
.ec-front-modal-header h2,
.ec-front-modal-header h3,
.ec-front-modal-header h4,
.ec-front-modal-header h5,
.ec-front-modal-header h6,
.ec-front-modal-header .title{
    color:inherit !important;
}

/* Fechar segue padrão dos botões verdes do sistema */
.ec-front-modal-close,
.ec-front-modal .ec-close,
.ec-front-modal button[aria-label="Close"],
.ec-front-modal button[aria-label="Fechar"],
.ec-front-modal .mfp-close,
.ec-front-modal .modal-close{
    background:#3dc302 !important;
    border:1px solid #3dc302 !important;
    color:#fff !important;
    box-shadow:0 4px 12px rgba(61,195,2,.24) !important;
    transition:all .2s ease !important;
}
.ec-front-modal-close:hover,
.ec-front-modal .ec-close:hover,
.ec-front-modal button[aria-label="Close"]:hover,
.ec-front-modal button[aria-label="Fechar"]:hover,
.ec-front-modal .mfp-close:hover,
.ec-front-modal .modal-close:hover{
    background:#33a203 !important;
    border-color:#33a203 !important;
    color:#fff !important;
    transform:translateY(-2px);
}


/* v3.3.13 - Header dos modais */
.ec-front-modal-header{
    background:#000000 !important;
    color:#ffffff !important;
    border-bottom:3px solid var(--ec-accent,#fd342f) !important;
    text-transform:uppercase !important;
}

.ec-front-modal-header *,
.ec-front-modal-header h1,
.ec-front-modal-header h2,
.ec-front-modal-header h3,
.ec-front-modal-header h4,
.ec-front-modal-header h5,
.ec-front-modal-header h6,
.ec-front-modal-header .title{
    color:#ffffff !important;
    text-transform:uppercase !important;
}

/* Botão fechar do cabeçalho do modal */
.ec-front-modal-header .ec-front-modal-close,
.ec-front-modal-header .ec-close,
.ec-front-modal-header .modal-close,
.ec-front-modal-header .mfp-close{
    background:#3dc302 !important;
    border:1px solid #3dc302 !important;
    color:#ffffff !important;
}

.ec-front-modal-header .ec-front-modal-close:hover,
.ec-front-modal-header .ec-close:hover,
.ec-front-modal-header .modal-close:hover,
.ec-front-modal-header .mfp-close:hover{
    background:#33a203 !important;
    border-color:#33a203 !important;
    color:#ffffff !important;
}


/* v3.3.14 - Botão do título do modal */
.ec-front-modal-title > button,
.ec-front-modal-title button{
    background:var(--ec-accent,#fd342f) !important;
    border:1px solid var(--ec-accent,#fd342f) !important;
    color:#ffffff !important;
    box-shadow:0 4px 12px color-mix(in srgb, var(--ec-accent,#fd342f) 22%, transparent) !important;
    transition:all .2s ease !important;
}

.ec-front-modal-title > button:hover,
.ec-front-modal-title button:hover{
    background:var(--ec-accent-hover,#c6261d) !important;
    border-color:var(--ec-accent-hover,#c6261d) !important;
    color:#ffffff !important;
    box-shadow:0 8px 18px color-mix(in srgb, var(--ec-accent-hover,#c6261d) 32%, transparent) !important;
}


/* v3.3.15 - Botão X/Fechar real dos modais */
.ec-front-modal-title > button:last-child,
.ec-front-modal-title button[type="button"]:last-child,
.ec-front-modal-header > button:last-child,
.ec-front-modal-header button[type="button"]:last-child,
button.ec-front-modal-close,
.ec-front-modal-close,
.ec-modal-close,
.ec-front-modal [data-ec-close-modal],
.ec-front-modal [data-close-modal],
.ec-front-modal [data-close],
.ec-front-modal [aria-label="Fechar"],
.ec-front-modal [aria-label="Close"]{
    background:var(--ec-accent,#fd342f) !important;
    border:1px solid var(--ec-accent,#fd342f) !important;
    color:#ffffff !important;
    box-shadow:0 4px 12px color-mix(in srgb, var(--ec-accent,#fd342f) 22%, transparent) !important;
    transition:all .2s ease !important;
}

.ec-front-modal-title > button:last-child:hover,
.ec-front-modal-title button[type="button"]:last-child:hover,
.ec-front-modal-header > button:last-child:hover,
.ec-front-modal-header button[type="button"]:last-child:hover,
button.ec-front-modal-close:hover,
.ec-front-modal-close:hover,
.ec-modal-close:hover,
.ec-front-modal [data-ec-close-modal]:hover,
.ec-front-modal [data-close-modal]:hover,
.ec-front-modal [data-close]:hover,
.ec-front-modal [aria-label="Fechar"]:hover,
.ec-front-modal [aria-label="Close"]:hover{
    background:var(--ec-accent-hover,#c6261d) !important;
    border-color:var(--ec-accent-hover,#c6261d) !important;
    color:#ffffff !important;
    box-shadow:0 8px 18px color-mix(in srgb, var(--ec-accent-hover,#c6261d) 32%, transparent) !important;
}

/* Remove regra anterior ampla para botões do título, deixando apenas o X/último botão afetado */
.ec-front-modal-title > button:not(:last-child),
.ec-front-modal-title button:not(:last-child){
    background:inherit;
}

/* v3.3.16 - restaura backdrop original */
.ec-front-modal-backdrop{
    background:rgba(0,0,0,.55) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    opacity:1 !important;
}


/* v3.3.17 - restaura backdrop original */
.ec-front-modal-backdrop{
    background:rgba(0,0,0,.38) !important;
    background-color:rgba(0,0,0,.38) !important;
    background-image:none !important;
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
    opacity:1 !important;
}

/* Garante que nenhuma regra vermelha prevaleça */
.ec-front-modal-backdrop::before,
.ec-front-modal-backdrop::after{
    background:transparent !important;
    background-image:none !important;
}

/* Remove qualquer gradiente vermelho aplicado ao backdrop */
.ec-front-modal-backdrop[class],
.ec-front-modal-backdrop[style]{
    background:rgba(0,0,0,.38) !important;
    background-color:rgba(0,0,0,.38) !important;
}


/* v3.3.18 - trava definitiva do backdrop em todos os estados */
.ec-front-modal-backdrop,
.ec-front-modal-backdrop:hover,
.ec-front-modal-backdrop:focus,
.ec-front-modal-backdrop:active,
.ec-front-modal.active .ec-front-modal-backdrop,
.ec-front-modal:hover .ec-front-modal-backdrop,
.ec-front-modal:focus-within .ec-front-modal-backdrop,
.ec-front-modal:not(:hover) .ec-front-modal-backdrop{
    background:rgba(0,0,0,.38) !important;
    background-color:rgba(0,0,0,.38) !important;
    background-image:none !important;
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
    opacity:1 !important;
    filter:none !important;
}

/* impede pseudo-elementos/overlays vermelhos quando o mouse sai do modal */
.ec-front-modal-backdrop::before,
.ec-front-modal-backdrop::after,
.ec-front-modal-backdrop:hover::before,
.ec-front-modal-backdrop:hover::after,
.ec-front-modal:not(:hover) .ec-front-modal-backdrop::before,
.ec-front-modal:not(:hover) .ec-front-modal-backdrop::after{
    content:none !important;
    display:none !important;
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
}

/* se algum efeito de hover foi aplicado no container do modal, neutraliza só no backdrop */
.ec-front-modal:hover,
.ec-front-modal:not(:hover),
.ec-front-modal.active{
    background:transparent !important;
    background-image:none !important;
}

/* mantém o box do modal normal, sem afetar o conteúdo */
.ec-front-modal-box{
    background:var(--ec-card,#fff) !important;
}


/* v3.4.0 - Menu cascata Produtos */
.ec-front-nav-group{
    position:relative;
    display:inline-flex;
    align-items:center;
    flex:0 0 auto;
}
.ec-front-nav-group > .ec-front-nav{
    height:100%;
}
.ec-front-subnav{
    position:absolute;
    top:100%;
    left:0;
    min-width:180px;
    background:var(--ec-black,#111);
    border:1px solid rgba(255,255,255,.12);
    border-top:3px solid var(--ec-accent,#fd342f);
    box-shadow:0 14px 36px rgba(0,0,0,.25);
    display:none;
    z-index:40;
    padding:6px;
}
.ec-front-nav-group:hover .ec-front-subnav,
.ec-front-nav-group:focus-within .ec-front-subnav{
    display:grid;
    gap:4px;
}
.ec-front-subnav .ec-front-nav{
    width:100% !important;
    text-align:left !important;
    justify-content:flex-start !important;
}
.ec-front-nav-parent.active{
    background:var(--ec-accent,#fd342f) !important;
    color:#fff !important;
}
@media(max-width:900px){
    .ec-front-subnav{
        position:static;
        display:grid;
        width:100%;
        box-shadow:none;
    }
    .ec-front-nav-group{
        display:grid;
        width:100%;
    }
}


/* v3.4.1 - Correção submenu Produtos */
.ec-front-nav-group{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    overflow:visible !important;
    z-index:80 !important;
}

.ec-front-topnav{
    overflow-y:visible !important;
}

.ec-front-header,
.ec-front-header-horizontal{
    overflow:visible !important;
    z-index:90 !important;
}

.ec-front-subnav{
    position:absolute !important;
    top:calc(100% + 4px) !important;
    left:0 !important;
    min-width:210px !important;
    background:#111 !important;
    border:1px solid rgba(255,255,255,.14) !important;
    border-top:3px solid var(--ec-accent,#fd342f) !important;
    box-shadow:0 18px 42px rgba(0,0,0,.35) !important;
    padding:8px !important;
    display:none !important;
    z-index:9999 !important;
}

.ec-front-nav-group:hover > .ec-front-subnav,
.ec-front-nav-group:focus-within > .ec-front-subnav,
.ec-front-nav-group.is-open > .ec-front-subnav{
    display:grid !important;
    gap:6px !important;
}

.ec-front-subnav .ec-front-nav{
    display:flex !important;
    width:100% !important;
    justify-content:flex-start !important;
    text-align:left !important;
    background:transparent !important;
    color:#fff !important;
    border:1px solid transparent !important;
    padding:10px 12px !important;
}

.ec-front-subnav .ec-front-nav:hover,
.ec-front-subnav .ec-front-nav.active{
    background:var(--ec-accent,#fd342f) !important;
    color:#fff !important;
}

.ec-front-nav-parent{
    cursor:pointer !important;
}


/* v3.4.2 - Dropdown Produtos definitivo */
.ec-front-header,
.ec-front-header-horizontal,
.ec-front-topnav{
    overflow:visible !important;
}

.ec-products-dropdown-wrap{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    z-index:99999 !important;
}

.ec-products-dropdown-toggle{
    cursor:pointer !important;
    user-select:none !important;
}

.ec-products-dropdown-menu{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:0 !important;
    min-width:220px !important;
    background:#111 !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-top:3px solid var(--ec-accent,#fd342f) !important;
    box-shadow:0 18px 44px rgba(0,0,0,.42) !important;
    padding:8px !important;
    z-index:999999 !important;
    display:none !important;
}

.ec-products-dropdown-wrap.is-open .ec-products-dropdown-menu{
    display:grid !important;
    gap:6px !important;
}

.ec-products-dropdown-menu .ec-front-nav{
    width:100% !important;
    display:flex !important;
    justify-content:flex-start !important;
    text-align:left !important;
    background:transparent !important;
    color:#fff !important;
    border:1px solid transparent !important;
    padding:10px 12px !important;
    box-shadow:none !important;
    transform:none !important;
}

.ec-products-dropdown-menu .ec-front-nav:hover,
.ec-products-dropdown-menu .ec-front-nav.active{
    background:var(--ec-accent,#fd342f) !important;
    color:#fff !important;
    border-color:var(--ec-accent,#fd342f) !important;
}

/* garante que o conteúdo abaixo não cubra o menu */
.ec-front-shell,
.ec-front-main{
    position:relative;
    z-index:1;
}


/* v3.4.4 - garante exibição dos novos formulários no modal */
.ec-front-form[data-ec-form="category"],
.ec-front-form[data-ec-form="supplier"]{
    display:none;
}
.ec-front-form[data-ec-form="category"].active,
.ec-front-form[data-ec-form="supplier"].active{
    display:block !important;
}
.ec-front-modal.active,
.ec-front-modal.is-active,
.ec-front-modal.open{
    display:flex !important;
}


/* v3.4.6 - Layout premium dos modais Categoria/Fornecedor */
.ec-front-modal-box{
    max-width:860px !important;
    width:min(860px, calc(100vw - 40px)) !important;
    border-radius:18px !important;
    overflow:hidden !important;
    box-shadow:0 24px 80px rgba(0,0,0,.38) !important;
}

.ec-front-modal-header,
.ec-front-modal-title{
    background:#000 !important;
    color:#fff !important;
    border-bottom:3px solid var(--ec-accent,#fd342f) !important;
    min-height:62px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:0 22px !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
}

.ec-front-modal-title,
.ec-front-modal-title *{
    color:#fff !important;
    text-transform:uppercase !important;
}

.ec-front-modal-body,
.ec-front-modal-content{
    padding:34px 50px 0 !important;
    background:var(--ec-card,#fff) !important;
}

.ec-front-pretty-form{
    max-width:100% !important;
    margin:0 auto !important;
}

.ec-form-section{
    background:var(--ec-surface-alt,#f6f7f7);
    border:1px solid var(--ec-border,#e5e7eb);
    padding:24px;
    margin-bottom:22px;
}

.ec-form-section-title{
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--ec-accent,#fd342f);
    margin-bottom:18px;
    border-bottom:1px solid var(--ec-border,#e5e7eb);
    padding-bottom:10px;
}

.ec-front-pretty-form .ec-form-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px 22px !important;
}

.ec-front-pretty-form .ec-form-grid label{
    font-weight:800 !important;
    color:var(--ec-text,#171717) !important;
}

.ec-front-pretty-form .ec-form-grid label.full{
    grid-column:1 / -1 !important;
}

.ec-front-pretty-form input,
.ec-front-pretty-form select,
.ec-front-pretty-form textarea{
    margin-top:8px !important;
    min-height:46px !important;
    padding:12px 14px !important;
    border:1px solid var(--ec-border,#e5e7eb) !important;
    background:#fff !important;
    width:100% !important;
    box-sizing:border-box !important;
}

.ec-front-pretty-form textarea{
    min-height:110px !important;
    resize:vertical !important;
}

.ec-front-pretty-form input:focus,
.ec-front-pretty-form select:focus,
.ec-front-pretty-form textarea:focus{
    border-color:#3dc302 !important;
    box-shadow:0 0 0 3px rgba(61,195,2,.16) !important;
    outline:none !important;
}

.ec-modal-actions{
    margin:28px -50px 0 !important;
    padding:18px 50px !important;
    background:#f8f9fa !important;
    border-top:1px solid var(--ec-border,#e5e7eb) !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:12px !important;
}

.ec-modal-cancel{
    background:var(--ec-accent,#fd342f) !important;
    border:1px solid var(--ec-accent,#fd342f) !important;
    color:#fff !important;
    min-height:38px;
    padding:11px 16px !important;
    font-weight:900 !important;
    cursor:pointer !important;
    transition:all .2s ease !important;
}

.ec-modal-cancel:hover{
    background:var(--ec-accent-hover,#c6261d) !important;
    border-color:var(--ec-accent-hover,#c6261d) !important;
    color:#fff !important;
    transform:translateY(-2px) !important;
}

/* X real do modal */
.ec-front-modal-title > button:last-child,
.ec-front-modal-header > button:last-child,
.ec-front-modal-close,
.ec-modal-close,
.ec-close,
.modal-close{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:var(--ec-accent,#fd342f) !important;
    border:1px solid var(--ec-accent,#fd342f) !important;
    color:#fff !important;
    font-size:18px !important;
    line-height:1 !important;
    cursor:pointer !important;
    box-shadow:none !important;
}

.ec-front-modal-title > button:last-child:hover,
.ec-front-modal-header > button:last-child:hover,
.ec-front-modal-close:hover,
.ec-modal-close:hover,
.ec-close:hover,
.modal-close:hover{
    background:var(--ec-accent-hover,#c6261d) !important;
    border-color:var(--ec-accent-hover,#c6261d) !important;
    color:#fff !important;
    transform:none !important;
}

@media(max-width:760px){
    .ec-front-modal-body,
    .ec-front-modal-content{
        padding:24px 20px 0 !important;
    }
    .ec-front-pretty-form .ec-form-grid{
        grid-template-columns:1fr !important;
    }
    .ec-modal-actions{
        margin-left:-20px !important;
        margin-right:-20px !important;
        padding:16px 20px !important;
        flex-direction:column-reverse !important;
    }
    .ec-modal-actions button{
        width:100% !important;
    }
}


/* v3.4.7 - Modal Premium aplicado globalmente */

/* Estrutura geral */
.ec-front-modal-box{
    max-width:920px !important;
    width:min(920px, calc(100vw - 40px)) !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:var(--ec-card,#fff) !important;
    box-shadow:0 24px 80px rgba(0,0,0,.38) !important;
    border:1px solid rgba(0,0,0,.08) !important;
}

/* Header premium */
.ec-front-modal-header,
.ec-front-modal-title{
    background:#000 !important;
    color:#fff !important;
    border-bottom:3px solid var(--ec-accent,#fd342f) !important;
    min-height:62px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:0 22px !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
}

.ec-front-modal-header *,
.ec-front-modal-title *{
    color:#fff !important;
    text-transform:uppercase !important;
}

/* Corpo com respiro lateral */
.ec-front-modal-body,
.ec-front-modal-content{
    padding:34px 50px 0 !important;
    background:var(--ec-card,#fff) !important;
}

/* Todos os forms dentro de modal recebem acabamento */
.ec-front-modal .ec-front-form,
.ec-front-modal-box .ec-front-form{
    max-width:100% !important;
    margin:0 auto !important;
}

/* Grid dos campos */
.ec-front-modal .ec-form-grid,
.ec-front-modal-box .ec-form-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px 22px !important;
}

.ec-front-modal .ec-form-grid label,
.ec-front-modal-box .ec-form-grid label{
    font-weight:800 !important;
    color:var(--ec-text,#171717) !important;
}

.ec-front-modal .ec-form-grid label.full,
.ec-front-modal-box .ec-form-grid label.full,
.ec-front-modal .ec-form-grid .full,
.ec-front-modal-box .ec-form-grid .full{
    grid-column:1 / -1 !important;
}

/* Inputs premium */
.ec-front-modal input,
.ec-front-modal select,
.ec-front-modal textarea,
.ec-front-modal-box input,
.ec-front-modal-box select,
.ec-front-modal-box textarea{
    margin-top:8px !important;
    min-height:46px !important;
    padding:12px 14px !important;
    border:1px solid var(--ec-border,#e5e7eb) !important;
    background:#fff !important;
    width:100% !important;
    box-sizing:border-box !important;
    border-radius:var(--ec-input-radius,0) !important;
}

.ec-front-modal textarea,
.ec-front-modal-box textarea{
    min-height:110px !important;
    resize:vertical !important;
}

.ec-front-modal input:focus,
.ec-front-modal select:focus,
.ec-front-modal textarea:focus,
.ec-front-modal-box input:focus,
.ec-front-modal-box select:focus,
.ec-front-modal-box textarea:focus{
    border-color:#3dc302 !important;
    box-shadow:0 0 0 3px rgba(61,195,2,.16) !important;
    outline:none !important;
}

/* Separador visual automático no conteúdo */
.ec-front-modal .ec-front-form::before,
.ec-front-modal-box .ec-front-form::before{
    content:"DADOS DO CADASTRO";
    display:block;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--ec-accent,#fd342f);
    margin-bottom:18px;
    border-bottom:1px solid var(--ec-border,#e5e7eb);
    padding-bottom:10px;
}

/* Evita duplicar título nos forms que já têm seção */
.ec-front-pretty-form::before{
    display:none !important;
}

/* Rodapé de ações global */
.ec-front-modal .ec-front-form > .ec-front-submit:last-child,
.ec-front-modal-box .ec-front-form > .ec-front-submit:last-child{
    margin-top:28px !important;
}

.ec-front-modal .ec-front-form:not(.ec-front-pretty-form) > .ec-front-submit:last-child,
.ec-front-modal-box .ec-front-form:not(.ec-front-pretty-form) > .ec-front-submit:last-child{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    min-height:44px !important;
    width:auto !important;
    margin-left:auto !important;
}

/* Cria sensação de footer mesmo nos forms antigos */
.ec-front-modal .ec-front-form:not(.ec-front-pretty-form),
.ec-front-modal-box .ec-front-form:not(.ec-front-pretty-form){
    padding-bottom:22px !important;
}

/* Botão X/fechar padronizado */
.ec-front-modal-title > button:last-child,
.ec-front-modal-header > button:last-child,
.ec-front-modal-close,
.ec-modal-close,
.ec-close,
.modal-close,
.ec-front-modal [data-ec-close-modal],
.ec-front-modal [data-close-modal],
.ec-front-modal [data-close]{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:var(--ec-accent,#fd342f) !important;
    border:1px solid var(--ec-accent,#fd342f) !important;
    color:#fff !important;
    font-size:18px !important;
    line-height:1 !important;
    cursor:pointer !important;
    box-shadow:none !important;
    transition:all .2s ease !important;
}

.ec-front-modal-title > button:last-child:hover,
.ec-front-modal-header > button:last-child:hover,
.ec-front-modal-close:hover,
.ec-modal-close:hover,
.ec-close:hover,
.modal-close:hover,
.ec-front-modal [data-ec-close-modal]:hover,
.ec-front-modal [data-close-modal]:hover,
.ec-front-modal [data-close]:hover{
    background:var(--ec-accent-hover,#c6261d) !important;
    border-color:var(--ec-accent-hover,#c6261d) !important;
    color:#fff !important;
    transform:none !important;
}

/* Cards de imagem dentro de modal */
.ec-front-modal .ec-image-picker,
.ec-front-modal-box .ec-image-picker{
    background:var(--ec-surface-alt,#f6f7f7);
    border:1px solid var(--ec-border,#e5e7eb);
    padding:18px;
    box-sizing:border-box;
}

/* Selects e botões ficam mais consistentes */
.ec-front-modal button,
.ec-front-modal-box button{
    font-weight:900;
}

/* Variação para modais maiores, como Aparência */
.ec-front-form[data-ec-form="appearance"],
.ec-front-form[data-form="appearance"]{
    max-width:100% !important;
}

/* Responsivo */
@media(max-width:760px){
    .ec-front-modal-box{
        width:calc(100vw - 20px) !important;
        max-height:calc(100vh - 20px) !important;
    }

    .ec-front-modal-body,
    .ec-front-modal-content{
        padding:24px 20px 0 !important;
    }

    .ec-front-modal .ec-form-grid,
    .ec-front-modal-box .ec-form-grid{
        grid-template-columns:1fr !important;
    }

    .ec-front-modal-header,
    .ec-front-modal-title{
        min-height:56px !important;
        padding:0 14px !important;
    }
}

/* Animação suave */
.ec-front-modal.active .ec-front-modal-box,
.ec-front-modal.is-active .ec-front-modal-box,
.ec-front-modal.open .ec-front-modal-box{
    animation:ecModalIn .18s ease-out both;
}

@keyframes ecModalIn{
    from{opacity:0; transform:translateY(8px) scale(.98);}
    to{opacity:1; transform:translateY(0) scale(1);}
}


/* v3.4.8 - Dropdown Estoque */
.ec-stock-dropdown-wrap{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    z-index:99999 !important;
}
.ec-stock-dropdown-toggle{
    cursor:pointer !important;
    user-select:none !important;
}
.ec-stock-dropdown-menu{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:0 !important;
    min-width:220px !important;
    background:#111 !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-top:3px solid var(--ec-accent,#fd342f) !important;
    box-shadow:0 18px 44px rgba(0,0,0,.42) !important;
    padding:8px !important;
    z-index:999999 !important;
    display:none !important;
}
.ec-stock-dropdown-wrap.is-open .ec-stock-dropdown-menu{
    display:grid !important;
    gap:6px !important;
}
.ec-stock-dropdown-menu .ec-front-nav{
    width:100% !important;
    display:flex !important;
    justify-content:flex-start !important;
    text-align:left !important;
    background:transparent !important;
    color:#fff !important;
    border:1px solid transparent !important;
    padding:10px 12px !important;
    box-shadow:none !important;
    transform:none !important;
}
.ec-stock-dropdown-menu .ec-front-nav:hover,
.ec-stock-dropdown-menu .ec-front-nav.active{
    background:var(--ec-accent,#fd342f) !important;
    color:#fff !important;
    border-color:var(--ec-accent,#fd342f) !important;
}
.ec-front-header,
.ec-front-header-horizontal,
.ec-front-topnav{
    overflow:visible !important;
}


/* v3.4.10 - força remoção dos botões nas abas específicas */
#ec-front-estoque [data-ec-open-modal="location"],
#ec-front-estoque [data-ec-open-form="location"],
#ec-front-estoque button.ec-hide-stock-location,
#ec-front-movimentacoes [data-ec-open-modal="movement"],
#ec-front-movimentacoes [data-ec-open-form="movement"],
#ec-front-movimentacoes [data-ec-open-modal="transfer"],
#ec-front-movimentacoes [data-ec-open-form="transfer"],
#ec-front-movimentacoes button.ec-hide-movement-action{
    display:none !important;
}

/* v3.5.0 - Configurações no Frontend */
.ec-settings-form{
    display:block !important;
}
.ec-settings-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}
.ec-settings-form .ec-form-section{
    margin-bottom:0 !important;
}
.ec-settings-form .ec-form-section:nth-child(1),
.ec-settings-form .ec-form-section:nth-child(3){
    grid-column:span 1;
}
.ec-settings-form .ec-check{
    display:flex !important;
    align-items:center;
    gap:8px;
    background:#fff;
    border:1px solid var(--ec-border,#e5e7eb);
    padding:12px;
}
.ec-settings-form .ec-check input{
    width:auto !important;
    min-height:auto !important;
    margin:0 !important;
}
.ec-settings-actions{
    margin:18px 0 0 !important;
    padding:16px 0 0 !important;
    background:transparent !important;
    border-top:1px solid var(--ec-border,#e5e7eb) !important;
}
@media(max-width:1000px){
    .ec-settings-grid{
        grid-template-columns:1fr;
    }
}


/* v3.5.1 - Dropdown Sistema */
.ec-system-dropdown-wrap{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    z-index:99999 !important;
}
.ec-system-dropdown-toggle{
    cursor:pointer !important;
    user-select:none !important;
}
.ec-system-dropdown-menu{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:0 !important;
    min-width:220px !important;
    background:#111 !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-top:3px solid var(--ec-accent,#fd342f) !important;
    box-shadow:0 18px 44px rgba(0,0,0,.42) !important;
    padding:8px !important;
    z-index:999999 !important;
    display:none !important;
}
.ec-system-dropdown-wrap.is-open .ec-system-dropdown-menu{
    display:grid !important;
    gap:6px !important;
}
.ec-system-dropdown-menu .ec-front-nav{
    width:100% !important;
    display:flex !important;
    justify-content:flex-start !important;
    text-align:left !important;
    background:transparent !important;
    color:#fff !important;
    border:1px solid transparent !important;
    padding:10px 12px !important;
    box-shadow:none !important;
    transform:none !important;
}
.ec-system-dropdown-menu .ec-front-nav:hover,
.ec-system-dropdown-menu .ec-front-nav.active{
    background:var(--ec-accent,#fd342f) !important;
    color:#fff !important;
    border-color:var(--ec-accent,#fd342f) !important;
}
.ec-front-header,
.ec-front-header-horizontal,
.ec-front-topnav{
    overflow:visible !important;
}


/* v3.6.0 - Appearance Studio */
.ec-appearance-studio{
    display:block !important;
}
.ec-studio-hero{
    background:linear-gradient(135deg,#050505,#222);
    border-left:6px solid var(--ec-accent,#fd342f);
    color:#fff;
    padding:24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:18px;
}
.ec-studio-hero span{
    color:var(--ec-accent,#fd342f);
    font-size:11px;
    font-weight:900;
    letter-spacing:.16em;
}
.ec-studio-hero h2{
    margin:6px 0;
    color:#fff;
    font-size:26px;
}
.ec-studio-hero p{
    margin:0;
    color:#ccc;
}
.ec-studio-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(320px,1fr));
    gap:18px;
}
.ec-studio-card{
    background:var(--ec-card,#fff);
    border:1px solid var(--ec-border,#e5e7eb);
    border-radius:var(--ec-card-radius,14px);
    padding:24px;
    box-shadow:0 5px 22px rgba(0,0,0,.05);
}
.ec-studio-card-head{
    border-bottom:1px solid var(--ec-border,#e5e7eb);
    padding-bottom:12px;
    margin-bottom:18px;
}
.ec-studio-card-head strong{
    display:block;
    color:var(--ec-accent,#fd342f);
    font-size:13px;
    font-weight:900;
    letter-spacing:.1em;
}
.ec-studio-card-head span{
    display:block;
    margin-top:3px;
    color:var(--ec-muted,#666);
    font-size:12px;
    font-weight:800;
}
.ec-studio-branding,
.ec-studio-preview-card{
    min-height:330px;
}
.ec-studio-logo-layout{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:22px;
}
.ec-studio-color-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.ec-studio-color-field span{
    display:block;
    font-weight:900;
    margin-bottom:7px;
}
.ec-studio-color-pair{
    display:grid;
    grid-template-columns:52px 1fr;
    gap:8px;
    align-items:center;
}
.ec-studio-color-pair input[type=color]{
    width:52px !important;
    height:38px;
    padding:2px !important;
    margin:0 !important;
}
.ec-studio-color-pair input[type=text]{
    margin:0 !important;
    font-family:Consolas,monospace;
    text-transform:lowercase;
}
.ec-studio-preview{
    border:1px solid var(--ec-border,#e5e7eb);
    overflow:hidden;
    background:#f7f7f7;
}
.ec-studio-preview-header{
    background:#111;
    color:#fff;
    border-bottom:3px solid var(--ec-accent,#fd342f);
    padding:14px;
    display:flex;
    justify-content:space-between;
    gap:12px;
}
.ec-studio-preview-logo{
    font-weight:900;
}
.ec-studio-preview-menu{
    display:flex;
    gap:6px;
}
.ec-studio-preview-menu span{
    padding:6px 9px;
    font-size:11px;
    font-weight:900;
}
.ec-studio-preview-menu span.active{
    background:var(--ec-accent,#fd342f);
}
.ec-studio-preview-body{
    padding:22px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.ec-studio-preview-button{
    background:#3dc302;
    color:#fff;
    font-weight:900;
    padding:10px;
    text-align:center;
}
.ec-studio-preview-button.danger{
    background:var(--ec-accent,#fd342f);
}
.ec-studio-preview-field{
    grid-column:1/-1;
    height:44px;
    background:#fff;
    border:1px solid var(--ec-border,#e5e7eb);
}
.ec-studio-preview-footer{
    background:#111;
    color:#fff;
    text-align:center;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    padding:10px;
}
.ec-studio-icon-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}
.ec-studio-icon-grid div{
    background:var(--ec-surface-alt,#f6f7f7);
    border:1px solid var(--ec-border,#e5e7eb);
    padding:14px;
    text-align:center;
}
.ec-studio-icon-grid b{
    display:block;
    color:var(--ec-accent,#fd342f);
    font-size:24px;
    margin-bottom:8px;
}
.ec-studio-icon-grid span{
    font-weight:900;
    font-size:12px;
}
.ec-studio-note{
    color:var(--ec-muted,#666);
    font-size:12px;
    font-weight:700;
    margin:14px 0 0;
}
.ec-studio-sticky-actions{
    position:sticky;
    bottom:0;
    background:var(--ec-card,#fff);
    border:1px solid var(--ec-border,#e5e7eb);
    margin-top:18px;
    padding:14px;
    display:flex;
    justify-content:flex-end;
    z-index:20;
}
@media(max-width:1100px){
    .ec-studio-grid,
    .ec-studio-logo-layout{
        grid-template-columns:1fr;
    }
}
@media(max-width:700px){
    .ec-studio-hero{
        flex-direction:column;
        align-items:flex-start;
    }
    .ec-studio-color-grid,
    .ec-studio-icon-grid{
        grid-template-columns:1fr;
    }
}


/* v3.6.1 - Destaque destravado e ícones configuráveis */
.ec-front-nav.active,
.ec-front-topnav .ec-front-nav.active,
.ec-products-dropdown-menu .ec-front-nav.active,
.ec-stock-dropdown-menu .ec-front-nav.active,
.ec-system-dropdown-menu .ec-front-nav.active{
    background:var(--ec-accent,var(--ec-accent,#fd342f)) !important;
    border-color:var(--ec-accent,var(--ec-accent,#fd342f)) !important;
    color:#fff !important;
}
.ec-front-nav:hover,
.ec-front-topnav .ec-front-nav:hover{
    background:color-mix(in srgb, var(--ec-accent,var(--ec-accent,#fd342f)) 18%, transparent) !important;
}
.ec-front-footer,
.ec-front-header,
.ec-front-header-horizontal,
.ec-front-modal-header,
.ec-front-modal-title,
.ec-studio-preview-header{
    border-color:var(--ec-accent,var(--ec-accent,#fd342f)) !important;
}
.ec-studio-card-head strong,
.ec-form-section-title,
.ec-studio-hero span,
.ec-studio-icon-grid b{
    color:var(--ec-accent,var(--ec-accent,#fd342f)) !important;
}
.ec-studio-preview-menu span.active,
.ec-studio-preview-button.danger,
.ec-front-logout,
.ec-front-modal-title > button:last-child,
.ec-front-modal-header > button:last-child,
.ec-front-modal-close,
.ec-modal-close,
.ec-close,
.modal-close{
    background:var(--ec-accent,var(--ec-accent,#fd342f)) !important;
    border-color:var(--ec-accent,var(--ec-accent,#fd342f)) !important;
}
.ec-front-logout:hover,
.ec-front-modal-title > button:last-child:hover,
.ec-front-modal-header > button:last-child:hover,
.ec-front-modal-close:hover,
.ec-modal-close:hover,
.ec-close:hover,
.modal-close:hover{
    background:var(--ec-accent-hover,var(--ec-accent-hover,#c6261d)) !important;
    border-color:var(--ec-accent-hover,var(--ec-accent-hover,#c6261d)) !important;
}
.ec-icon-config-grid input{
    font-family:Consolas, Monaco, monospace;
    font-size:13px;
}


/* v3.6.3 - DESTAQUE totalmente dinâmico */
.ec-front-app{
    --ec-danger-main: var(--ec-accent,#fd342f);
    --ec-danger-hover: var(--ec-accent-hover,#c6261d);
}

/* Elementos que seguem a cor DESTAQUE */
.ec-front-nav.active,
.ec-front-topnav .ec-front-nav.active,
.ec-products-dropdown-menu .ec-front-nav.active,
.ec-stock-dropdown-menu .ec-front-nav.active,
.ec-system-dropdown-menu .ec-front-nav.active,
.ec-products-dropdown-menu .ec-front-nav:hover,
.ec-stock-dropdown-menu .ec-front-nav:hover,
.ec-system-dropdown-menu .ec-front-nav:hover,
.ec-studio-preview-menu span.active{
    background:var(--ec-accent,#fd342f) !important;
    border-color:var(--ec-accent,#fd342f) !important;
    color:#fff !important;
}

.ec-front-topnav .ec-front-nav:hover,
.ec-front-nav:hover{
    background:color-mix(in srgb, var(--ec-accent,#fd342f) 12%, transparent) !important;
}

.ec-front-header,
.ec-front-header-horizontal,
.ec-front-footer,
.ec-front-modal-header,
.ec-front-modal-title,
.ec-studio-preview-header,
.ec-products-dropdown-menu,
.ec-stock-dropdown-menu,
.ec-system-dropdown-menu{
    border-color:var(--ec-accent,#fd342f) !important;
}

.ec-studio-card-head strong,
.ec-form-section-title,
.ec-studio-hero span,
.ec-studio-icon-grid b,
.ec-studio-note strong{
    color:var(--ec-accent,#fd342f) !important;
}

/* Botões e ações vermelhas seguem destaque */
.ec-front-logout,
.ec-front-modal-title > button:last-child,
.ec-front-modal-header > button:last-child,
.ec-front-modal-close,
.ec-modal-close,
.ec-close,
.modal-close,
.ec-modal-cancel,
.ec-image-picker .ec-clear-image,
.ec-object-actions .ec-mini-btn.danger,
.ec-studio-preview-button.danger{
    background:var(--ec-accent,#fd342f) !important;
    border-color:var(--ec-accent,#fd342f) !important;
    color:#fff !important;
}

.ec-front-logout:hover,
.ec-front-modal-title > button:last-child:hover,
.ec-front-modal-header > button:last-child:hover,
.ec-front-modal-close:hover,
.ec-modal-close:hover,
.ec-close:hover,
.modal-close:hover,
.ec-modal-cancel:hover,
.ec-image-picker .ec-clear-image:hover,
.ec-object-actions .ec-mini-btn.danger:hover{
    background:var(--ec-accent-hover,#c6261d) !important;
    border-color:var(--ec-accent-hover,#c6261d) !important;
    color:#fff !important;
}

/* Sombras/realces também seguem destaque */
.ec-front-topnav .ec-front-nav.active{
    box-shadow:0 6px 18px color-mix(in srgb, var(--ec-accent,#fd342f) 28%, transparent) !important;
}

.ec-front-notification-btn span{
    background:var(--ec-accent,#fd342f) !important;
    color:#fff !important;
}


/* v3.6.4 - Destaque variável final */
.ec-front-app{
    --ec-danger-main: var(--ec-accent);
    --ec-danger-hover: var(--ec-accent-hover);
}

.ec-front-nav.active,
.ec-front-topnav .ec-front-nav.active,
.ec-products-dropdown-menu .ec-front-nav.active,
.ec-stock-dropdown-menu .ec-front-nav.active,
.ec-system-dropdown-menu .ec-front-nav.active,
.ec-products-dropdown-menu .ec-front-nav:hover,
.ec-stock-dropdown-menu .ec-front-nav:hover,
.ec-system-dropdown-menu .ec-front-nav:hover,
.ec-studio-preview-menu span.active,
.ec-front-notification-btn span{
    background:var(--ec-accent) !important;
    border-color:var(--ec-accent) !important;
    color:#fff !important;
}

.ec-front-header,
.ec-front-header-horizontal,
.ec-front-footer,
.ec-front-modal-header,
.ec-front-modal-title,
.ec-studio-preview-header,
.ec-products-dropdown-menu,
.ec-stock-dropdown-menu,
.ec-system-dropdown-menu{
    border-color:var(--ec-accent) !important;
}

.ec-studio-card-head strong,
.ec-form-section-title,
.ec-studio-hero span,
.ec-studio-icon-grid b{
    color:var(--ec-accent) !important;
}

.ec-front-logout,
.ec-front-modal-title > button:last-child,
.ec-front-modal-header > button:last-child,
.ec-front-modal-close,
.ec-modal-close,
.ec-close,
.modal-close,
.ec-modal-cancel,
.ec-image-picker .ec-clear-image,
.ec-object-actions .ec-mini-btn.danger,
.ec-studio-preview-button.danger{
    background:var(--ec-accent) !important;
    border-color:var(--ec-accent) !important;
    color:#fff !important;
}

.ec-front-logout:hover,
.ec-front-modal-title > button:last-child:hover,
.ec-front-modal-header > button:last-child:hover,
.ec-front-modal-close:hover,
.ec-modal-close:hover,
.ec-close:hover,
.modal-close:hover,
.ec-modal-cancel:hover,
.ec-image-picker .ec-clear-image:hover,
.ec-object-actions .ec-mini-btn.danger:hover{
    background:var(--ec-accent-hover) !important;
    border-color:var(--ec-accent-hover) !important;
    color:#fff !important;
}


/* v3.7.0 - Refinamento geral de UI */

/* Botões principais padronizados sem ícones */
.ec-clean-action-btn::before,
.ec-front-submit.ec-clean-action-btn::before,
.ec-front-action.ec-clean-action-btn::before,
.ec-add-item.ec-clean-action-btn::before{
    display:none !important;
    content:none !important;
}

.ec-clean-action-btn{
    min-height:38px;
    padding:11px 16px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    font-weight:900 !important;
    letter-spacing:.01em !important;
    line-height:1 !important;
    white-space:nowrap !important;
}

/* Barra de ações das telas */
.ec-front-title + .ec-front-submit,
.ec-front-title + .ec-front-action,
.ec-front-title + button,
.ec-front-view > .ec-front-submit,
.ec-front-view > .ec-front-action{
    margin:0 8px 16px 0 !important;
}

.ec-front-view > .ec-front-submit,
.ec-front-view > .ec-front-action,
.ec-front-view > button[data-ec-open-modal],
.ec-front-view > button[data-ec-open-form]{
    vertical-align:middle !important;
}

/* Filtros mais compactos e alinhados */
.ec-front-filter-row,
.ec-list-filters,
.ec-front-filters,
.ec-filter-row-modern{
    display:flex !important;
    align-items:end !important;
    gap:8px !important;
    flex-wrap:wrap !important;
    margin:12px 0 16px !important;
    padding:12px !important;
    background:var(--ec-card,#fff) !important;
    border:1px solid var(--ec-border,#e5e7eb) !important;
}

.ec-front-filter-row label,
.ec-list-filters label,
.ec-front-filters label,
.ec-filter-row-modern label{
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
    font-size:12px !important;
    font-weight:900 !important;
    color:var(--ec-muted,#666) !important;
}

.ec-front-filter-row input,
.ec-front-filter-row select,
.ec-list-filters input,
.ec-list-filters select,
.ec-front-filters input,
.ec-front-filters select,
.ec-filter-row-modern input,
.ec-filter-row-modern select{
    height:38px !important;
    min-height:38px !important;
    padding:8px 10px !important;
    border-radius:0 !important;
}

.ec-list-filter-button{
    height:38px !important;
    min-width:44px !important;
    padding:0 12px !important;
}

/* Tabelas profissionais */
.ec-front-table-wrap{
    border:1px solid var(--ec-border,#e5e7eb) !important;
    background:var(--ec-card,#fff) !important;
    overflow:auto !important;
}

.ec-table-modern,
.ec-front-table{
    border-collapse:separate !important;
    border-spacing:0 !important;
    width:100% !important;
}

.ec-table-modern thead th,
.ec-front-table thead th{
    position:sticky !important;
    top:0 !important;
    z-index:2 !important;
    background:#111 !important;
    color:#fff !important;
    font-size:12px !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
    border-bottom:3px solid var(--ec-accent,#fd342f) !important;
}

.ec-table-modern tbody tr,
.ec-front-table tbody tr{
    transition:background .16s ease, transform .16s ease !important;
}

.ec-table-modern tbody tr:hover,
.ec-front-table tbody tr:hover{
    background:color-mix(in srgb, var(--ec-accent,#fd342f) 6%, #fff) !important;
}

/* Campos de imagem padronizados */
.ec-image-picker{
    border:1px solid var(--ec-border,#e5e7eb) !important;
    background:var(--ec-surface-alt,#f6f7f7) !important;
    padding:16px !important;
}

.ec-image-preview{
    border:1px dashed var(--ec-border,#e5e7eb) !important;
    background:#fff !important;
    min-height:120px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
}

.ec-image-preview img{
    max-width:100% !important;
    max-height:180px !important;
    object-fit:contain !important;
}

/* Animações suaves */
.ec-front-nav,
.ec-front-submit,
.ec-front-action,
.ec-mini-btn,
.ec-front-card,
.ec-object-row,
.ec-front-modal-box,
.ec-products-dropdown-menu,
.ec-stock-dropdown-menu,
.ec-system-dropdown-menu{
    transition:background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease, opacity .18s ease !important;
}

/* Cards/listas mais elegantes */
.ec-object-row{
    border:1px solid var(--ec-border,#e5e7eb) !important;
    background:var(--ec-card,#fff) !important;
}

.ec-object-row:hover{
    transform:translateY(-1px) !important;
    box-shadow:0 8px 24px rgba(0,0,0,.06) !important;
}

/* Textos e ações consistentes */
.ec-front-title h1{
    letter-spacing:-.02em !important;
}

.ec-front-title p{
    color:var(--ec-muted,#666) !important;
    font-weight:700 !important;
}

/* Responsivo das barras de ação */
@media(max-width:720px){
    .ec-clean-action-btn,
    .ec-front-view > .ec-front-submit,
    .ec-front-view > .ec-front-action,
    .ec-front-view > button[data-ec-open-modal],
    .ec-front-view > button[data-ec-open-form]{
        width:100% !important;
        margin-right:0 !important;
    }

    .ec-front-filter-row,
    .ec-list-filters,
    .ec-front-filters,
    .ec-filter-row-modern{
        display:grid !important;
        grid-template-columns:1fr !important;
    }
}


/* v3.7.1 - Integração com Aparência v2.4.0: Menu configurável */
.ec-front-topnav .ec-front-nav,
.ec-front-nav,
.ec-products-dropdown-toggle,
.ec-stock-dropdown-toggle,
.ec-system-dropdown-toggle{
    min-height:38px;
    height:38px;
    padding:var(--ec-menu-padding-y,10px) var(--ec-menu-padding-x,14px) !important;
    border-radius:var(--ec-menu-radius,0px) !important;
    font-size:var(--ec-menu-font-size,14px) !important;
    font-weight:var(--ec-menu-font-weight,800) !important;
    color:var(--ec-menu-text-color,#fff) !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:0 !important;
}

.ec-front-topnav .ec-front-nav.active,
.ec-front-nav.active,
.ec-front-nav:hover{
    color:var(--ec-menu-text-active-color,#fff) !important;
}

/* Ícones Font Awesome, SVG inline e pseudo ícones do menu */
.ec-front-nav i,
.ec-front-nav .fa,
.ec-front-nav .fa-solid,
.ec-front-nav .fas,
.ec-front-nav .ec-svg-icon,
.ec-front-nav::before{
    width:var(--ec-menu-icon-size,18px) !important;
    height:var(--ec-menu-icon-size,18px) !important;
    min-width:var(--ec-menu-icon-size,18px) !important;
    font-size:var(--ec-menu-icon-size,18px) !important;
    margin-right:var(--ec-menu-icon-gap,8px) !important;
    color:var(--ec-menu-icon-color,#fff) !important;
}

.ec-front-nav.active i,
.ec-front-nav.active .fa,
.ec-front-nav.active .fa-solid,
.ec-front-nav.active .fas,
.ec-front-nav.active .ec-svg-icon,
.ec-front-nav.active::before,
.ec-front-nav:hover i,
.ec-front-nav:hover .fa,
.ec-front-nav:hover .fa-solid,
.ec-front-nav:hover .fas,
.ec-front-nav:hover .ec-svg-icon,
.ec-front-nav:hover::before{
    color:var(--ec-menu-icon-active-color,#fff) !important;
}

/* Dropdowns seguem o mesmo padrão */
.ec-products-dropdown-menu .ec-front-nav,
.ec-stock-dropdown-menu .ec-front-nav,
.ec-system-dropdown-menu .ec-front-nav{
    min-height:38px;
    height:auto !important;
    padding:var(--ec-menu-padding-y,10px) var(--ec-menu-padding-x,14px) !important;
    border-radius:var(--ec-menu-radius,0px) !important;
    font-size:var(--ec-menu-font-size,14px) !important;
    font-weight:var(--ec-menu-font-weight,800) !important;
}

/* Botões limpos da v3.7.0 não recebem pseudo ícone */
.ec-clean-action-btn::before{
    display:none !important;
    content:none !important;
}


/* v3.7.2 - Menu compacto fixado em 38px */
.ec-front-topnav .ec-front-nav,
.ec-front-nav,
.ec-products-dropdown-toggle,
.ec-stock-dropdown-toggle,
.ec-system-dropdown-toggle{
    height:38px !important;
    min-height:38px !important;
    padding:0 var(--ec-menu-padding-x,14px) !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
}

/* Submenus também em 38px */
.ec-products-dropdown-menu .ec-front-nav,
.ec-stock-dropdown-menu .ec-front-nav,
.ec-system-dropdown-menu .ec-front-nav{
    height:38px !important;
    min-height:38px !important;
    padding:0 var(--ec-menu-padding-x,14px) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    line-height:1 !important;
}

/* Remove qualquer altura antiga de 42px aplicada por versão anterior */
.ec-front-nav[style],
.ec-products-dropdown-toggle[style],
.ec-stock-dropdown-toggle[style],
.ec-system-dropdown-toggle[style]{
    min-height:38px !important;
    height:38px !important;
}


/* v3.7.3 - remove altura antiga de 42px dos menus */
.ec-front-topnav .ec-front-nav,
.ec-front-nav,
.ec-products-dropdown-toggle,
.ec-stock-dropdown-toggle,
.ec-system-dropdown-toggle,
.ec-products-dropdown-menu .ec-front-nav,
.ec-stock-dropdown-menu .ec-front-nav,
.ec-system-dropdown-menu .ec-front-nav{
    height:38px !important;
    min-height:38px !important;
}


/* v3.7.5 - Ícones configuráveis do menu via Font Awesome */
.ec-front-nav::before{
    display:none !important;
    content:none !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
}

.ec-front-nav > i,
.ec-products-dropdown-toggle > i,
.ec-stock-dropdown-toggle > i,
.ec-system-dropdown-toggle > i{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:var(--ec-menu-icon-size,18px) !important;
    height:var(--ec-menu-icon-size,18px) !important;
    min-width:var(--ec-menu-icon-size,18px) !important;
    font-size:var(--ec-menu-icon-size,18px) !important;
    margin-right:var(--ec-menu-icon-gap,8px) !important;
    color:var(--ec-menu-icon-color,#fff) !important;
    line-height:1 !important;
}

.ec-front-nav.active > i,
.ec-front-nav:hover > i,
.ec-products-dropdown-toggle:hover > i,
.ec-stock-dropdown-toggle:hover > i,
.ec-system-dropdown-toggle:hover > i{
    color:var(--ec-menu-icon-active-color,#fff) !important;
}

.ec-icon-config-grid input{
    font-family:Consolas, Monaco, monospace !important;
}

/* v3.7.6 - Login premium */
.ec-login-stage{position:fixed;inset:0;min-height:100vh;overflow:auto;background:#101010;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}
.ec-login-background{position:absolute;inset:0;background:var(--ec-body,#f3f4f6);color:#171717;overflow:hidden;transform:scale(1.02)}
.ec-login-demo-header{height:72px;background:#111;color:#fff;border-bottom:3px solid var(--ec-accent,#fd342f);padding:0 34px;display:flex;align-items:center;justify-content:space-between}
.ec-login-demo-brand{font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.ec-login-demo-menu{display:flex;gap:8px}.ec-login-demo-menu span{padding:10px 14px;font-size:13px;font-weight:800}.ec-login-demo-menu span.active{background:var(--ec-accent,#fd342f);color:#fff}
.ec-login-demo-main{padding:34px}.ec-login-demo-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ec-login-demo-kpis div,.ec-login-demo-chart,.ec-login-demo-list{background:#fff;border:1px solid #e5e7eb;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.ec-login-demo-kpis div{padding:24px}.ec-login-demo-kpis strong{display:block;font-size:26px;margin-bottom:8px}
.ec-login-demo-kpis span,.ec-login-demo-chart>span,.ec-login-demo-list>span{color:#666;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.ec-login-demo-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:18px}.ec-login-demo-chart,.ec-login-demo-list{min-height:310px;padding:24px}
.ec-login-bars{height:230px;display:flex;align-items:flex-end;gap:16px;margin-top:24px;border-bottom:1px solid #ddd}.ec-login-bars i{flex:1;background:var(--ec-accent,#fd342f);opacity:.85}
.ec-login-demo-list p{margin:16px 0 0;padding:14px;background:#f6f7f7;border-left:3px solid var(--ec-accent,#fd342f);font-weight:700}
.ec-login-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.38);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.ec-login-modal{position:relative;z-index:2;width:min(460px,100%);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.45);animation:ecLoginModalIn .22s ease-out both}
.ec-login-modal-header{min-height:64px;padding:0 24px;display:flex;align-items:center;background:#000;border-bottom:3px solid var(--ec-accent,#fd342f)}
.ec-login-modal-header h1{margin:0;color:#fff;font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.ec-login-modal-body{padding:34px 44px 28px;text-align:center}.ec-login-logo{width:96px;height:96px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center}
.ec-login-logo img{max-width:100%;max-height:100%;object-fit:contain}.ec-login-logo-fallback{border-radius:50%;background:#111;color:#fff;border:4px solid var(--ec-accent,#fd342f);font-size:38px;font-weight:900}
.ec-login-modal-body h2{margin:0 0 8px;color:#171717;font-size:24px}.ec-login-modal-body>p{margin:0 0 24px;color:#666;font-weight:700}
#ec-login-form{text-align:left}#ec-login-form p{margin:0 0 18px}#ec-login-form label{display:block;margin-bottom:7px;color:#171717;font-weight:900}
#ec-login-form input[type=text],#ec-login-form input[type=password]{width:100%;height:46px;box-sizing:border-box;border:1px solid #d7dce1;background:#fff;padding:0 14px;outline:none}
#ec-login-form input[type=text]:focus,#ec-login-form input[type=password]:focus{border-color:#3dc302;box-shadow:0 0 0 3px rgba(61,195,2,.16)}
#ec-login-form .login-remember label{display:flex;align-items:center;gap:8px;margin:0;color:#555;font-weight:700}#ec-login-form .login-remember input{margin:0}
#ec-login-submit{width:100%;height:46px;border:1px solid #3dc302;background:#3dc302;color:#fff;font-weight:900;cursor:pointer;transition:.18s}
#ec-login-submit:hover{background:#33a203;border-color:#33a203;transform:translateY(-1px)}
.ec-login-toggle-password{width:100%;margin-top:-4px;border:0;background:transparent;color:var(--ec-accent,#fd342f);font-size:12px;font-weight:900;cursor:pointer}
.ec-login-modal-footer{min-height:48px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f6f7f7;border-top:1px solid #e5e7eb;color:#555;font-size:10px;font-weight:900;letter-spacing:.08em}
.ec-login-modal-footer span{color:#888}
@keyframes ecLoginModalIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:800px){.ec-login-demo-menu{display:none}.ec-login-demo-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-login-demo-grid{grid-template-columns:1fr}.ec-login-stage{padding:12px}.ec-login-modal-body{padding:28px 22px 24px}}


/* v3.7.7 - Correção de carregamento e isolamento visual do login */
.ec-login-stage.ec-front-app{
    font-family:var(--ec-font-family,Inter,Arial,sans-serif) !important;
}

.ec-login-stage,
.ec-login-stage *{
    box-sizing:border-box;
}

.ec-login-stage button,
.ec-login-stage input{
    font-family:inherit;
}

body:has(.ec-login-stage){
    margin:0 !important;
    overflow:hidden !important;
}

body:has(.ec-login-stage) #wpadminbar{
    display:none !important;
}

html:has(.ec-login-stage){
    margin-top:0 !important;
}


/* v3.7.8 - Olho dentro do campo senha */
.ec-password-field{
    position:relative;
    display:block;
    width:100%;
}

.ec-password-field #ec-user-pass{
    padding-right:48px !important;
}

.ec-password-eye{
    position:absolute;
    top:50%;
    right:6px;
    transform:translateY(-50%);
    width:38px;
    height:34px;
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:#555 !important;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:none !important;
}

.ec-password-eye:hover{
    color:var(--ec-accent,#fd342f) !important;
    background:transparent !important;
    transform:translateY(-50%) !important;
}

.ec-password-eye i{
    margin:0 !important;
    font-size:16px !important;
}


/* v3.7.9 - Logotipo exclusivo do login no Appearance Studio */
.ec-studio-login-logo-card .ec-login-logo-picker{
    max-width:420px;
    margin:0 auto;
}

.ec-studio-login-logo-card .ec-image-preview{
    min-height:160px !important;
}

.ec-studio-login-logo-card .ec-image-preview img{
    max-height:145px !important;
}

/* v3.8.0 - Login sem cabeçalho e logo redimensionável */
.ec-login-modal{
    padding-top:0 !important;
}

.ec-login-modal-header{
    display:none !important;
}

.ec-login-modal-body{
    padding-top:38px !important;
}

.ec-login-logo{
    height:auto !important;
    min-height:70px;
}

.ec-login-logo img{
    width:100%;
    height:auto;
    max-height:none !important;
    object-fit:contain;
}

.ec-login-logo-width-control{
    display:block;
    margin:14px 0 6px;
    font-weight:900;
}

.ec-login-logo-width-control input{
    width:100%;
    margin-top:7px;
    min-height:42px;
}


/* v3.8.1 - Login uppercase e preview do logo */
.ec-login-modal-body h2{
    text-transform:uppercase !important;
}

#ec-login-submit{
    text-transform:uppercase !important;
}

.ec-login-logo-picker .ec-image-preview img{
    display:block !important;
    max-width:100% !important;
    max-height:145px !important;
    object-fit:contain !important;
}


/* v3.8.2 - Botões exclusivos do logotipo do login */
#ec-login-logo-insert,
#ec-login-logo-remove{
    width:100% !important;
    height:42px !important;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:0 !important;
    font-weight:900 !important;
    cursor:pointer !important;
}

#ec-login-logo-insert{
    margin-top:10px !important;
    margin-bottom:8px !important;
    background:#3dc302 !important;
    color:#fff !important;
}

#ec-login-logo-insert:hover{
    background:#33a203 !important;
}

#ec-login-logo-remove{
    background:var(--ec-accent,#fd342f) !important;
    color:#fff !important;
}

#ec-login-logo-remove:hover{
    background:var(--ec-accent-hover,#c6261d) !important;
}

#ec-login-logo-preview img{
    display:block !important;
    max-width:100% !important;
    max-height:145px !important;
    object-fit:contain !important;
}


/* v3.8.3 - Preview persistente do logotipo de login */
#ec-login-logo-preview img{
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:180px !important;
    object-fit:contain !important;
}


/* v3.8.4 - Frontend sem footer */
.ec-front-footer,
footer.ec-front-footer,
.ec-login-modal-footer{
    display:none !important;
}

.ec-front-app,
.ec-front-shell,
.ec-front-main{
    min-height:100vh !important;
}

.ec-front-main{
    padding-bottom:var(--ec-content-padding-y,24px) !important;
}


/* v3.8.5 - Helpers de formatação */
.ec-money,
.ec-price,
.ec-value{
    font-variant-numeric:tabular-nums;
}

.ec-quantity,
.ec-qty,
.ec-stock-quantity{
    font-variant-numeric:tabular-nums;
}
