/**
 * Estoque Cerberus Frontend v3.15.0
 * CSS global compartilhado entre todas as views.
 * Regras específicas foram movidas para assets/css/views/.
 */

.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:"🔍";
    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="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-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 */


/* 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-top: 20px !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 */


/* 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;
}


/* v3.9.1 - Isolamento dos formulários do modal */
#ec-front-modal .ec-front-modal-body > .ec-front-form{
    display:none !important;
}

#ec-front-modal .ec-front-modal-body > .ec-front-form.active{
    display:block !important;
}


/* v3.9.4 - Vendas removido da interface com segurança */
[data-target="vendas"],
[data-ec-open-modal="sale"],
[data-ec-open-form="sale"],
#ec-front-vendas,
.ec-front-form[data-ec-form="sale"],
.ec-front-form[data-form="sale"],
.ec-sales,
.ec-vendas{
    display:none !important;
}

/* v3.9.6 - Cadastro de produto reorganizado */
.ec-product-form-modern{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px 20px !important;
}
.ec-product-form-modern .ec-product-form-section-title{
    grid-column:1 / -1;
    margin:8px 0 0;
    padding:11px 14px;
    background:#111;
    border-left:4px solid var(--ec-accent,#fd342f);
    color:#fff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.06em;
}
.ec-product-form-modern label{
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    min-width:0;
}
.ec-product-form-modern label.full,
.ec-product-form-modern .full,
.ec-product-form-modern .ec-image-picker,
.ec-product-form-modern textarea,
.ec-product-form-modern .ec-form-actions{
    grid-column:1 / -1;
}
.ec-product-form-modern input,
.ec-product-form-modern select,
.ec-product-form-modern textarea{
    width:100% !important;
    box-sizing:border-box !important;
}
.ec-product-form-modern textarea{
    min-height:110px !important;
    resize:vertical;
}
.ec-table-organized{
    table-layout:auto !important;
}
.ec-table-organized thead th{
    white-space:nowrap !important;
    vertical-align:middle !important;
}
.ec-table-organized tbody td{
    vertical-align:middle !important;
    padding:12px 14px !important;
}
.ec-table-organized tbody tr:nth-child(even){
    background:rgba(0,0,0,.018);
}
.ec-table-organized .ec-table-number-column{
    width:110px;
    text-align:center !important;
}
.ec-table-organized .ec-table-actions-column{
    width:160px;
    text-align:right !important;
}
.ec-table-organized td:last-child{
    white-space:nowrap;
}
.ec-table-organized .ec-object-actions{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:8px !important;
}
@media(max-width:760px){
    .ec-product-form-modern{
        grid-template-columns:1fr !important;
    }
    .ec-product-form-modern .ec-product-form-section-title,
    .ec-product-form-modern label.full,
    .ec-product-form-modern .full,
    .ec-product-form-modern .ec-image-picker,
    .ec-product-form-modern textarea,
    .ec-product-form-modern .ec-form-actions{
        grid-column:1;
    }
    .ec-table-organized{
        min-width:760px;
    }
}


/* v3.9.7 - Layout final do modal Produto */
.ec-product-form-modern{
    display:grid !important;
    grid-template-columns:minmax(220px, 28%) minmax(0, 1fr) !important;
    gap:18px !important;
    align-items:start !important;
}

.ec-product-form-modern .ec-image-picker{
    grid-column:1 !important;
    grid-row:1 / span 8 !important;
    align-self:start !important;
}

.ec-product-form-modern > .ec-product-field,
.ec-product-form-modern > .ec-product-control-row,
.ec-product-form-modern > .ec-product-add-related,
.ec-product-form-modern > .ec-form-actions{
    grid-column:2 !important;
}

.ec-product-field-full{
    width:100% !important;
}

.ec-product-name-field input{
    width:100% !important;
}

.ec-category-field,
.ec-supplier-field{
    width:100% !important;
}

.ec-product-add-related{
    width:100% !important;
    height:40px !important;
    min-height:40px !important;
    margin-top:-8px !important;
    margin-bottom:2px !important;
    border:1px dashed #c9cfd6 !important;
    background:#fff !important;
    color:#1559c7 !important;
    font-weight:900 !important;
    cursor:pointer !important;
}

.ec-product-add-related:hover{
    border-color:var(--ec-accent,#fd342f) !important;
    color:var(--ec-accent,#fd342f) !important;
    background:rgba(253,52,47,.04) !important;
}

.ec-product-control-row{
    display:grid !important;
    grid-template-columns:24% 38% 38% !important;
    gap:16px !important;
    width:100% !important;
    align-items:end !important;
}

.ec-product-control-row .ec-product-field{
    min-width:0 !important;
}

.ec-product-control-row input,
.ec-product-control-row select{
    width:100% !important;
}

.ec-money-input{
    display:flex !important;
    width:100% !important;
    min-height:46px !important;
}

.ec-money-prefix{
    width:52px !important;
    min-width:52px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #d7dce1 !important;
    border-right:0 !important;
    background:#f6f7f7 !important;
    color:#222 !important;
    font-weight:900 !important;
}

.ec-money-input input{
    border-left:0 !important;
    border-radius:0 !important;
}

.ec-product-description-field{
    width:100% !important;
}

@media(max-width:900px){
    .ec-product-form-modern{
        grid-template-columns:1fr !important;
    }

    .ec-product-form-modern .ec-image-picker,
    .ec-product-form-modern > .ec-product-field,
    .ec-product-form-modern > .ec-product-control-row,
    .ec-product-form-modern > .ec-product-add-related,
    .ec-product-form-modern > .ec-form-actions{
        grid-column:1 !important;
        grid-row:auto !important;
    }
}

@media(max-width:680px){
    .ec-product-control-row{
        grid-template-columns:1fr !important;
    }
}


/* v3.9.8 - Layout fiel ao mockup aprovado */
.ec-product-form-final{
    width:100% !important;
}

.ec-product-modal-grid{
    display:grid !important;
    grid-template-columns:340px minmax(0,1fr) !important;
    gap:36px !important;
    align-items:start !important;
}

.ec-product-image-panel{
    min-width:0 !important;
}

.ec-product-image-panel .ec-image-picker{
    width:100% !important;
    padding:18px !important;
    border:1px solid #dfe3e7 !important;
    border-radius:14px !important;
    background:#f7f8f9 !important;
}

.ec-product-image-panel .ec-image-picker > label{
    display:block !important;
    margin-bottom:14px !important;
    font-size:16px !important;
    font-weight:900 !important;
}

.ec-product-image-panel .ec-image-preview{
    width:100% !important;
    min-height:300px !important;
    border:1px dashed #d7dce1 !important;
    border-radius:14px !important;
    background:#fff !important;
}

.ec-product-image-panel .ec-pick-image,
.ec-product-image-panel .ec-clear-image{
    width:100% !important;
    height:42px !important;
    min-height:42px !important;
    margin-top:12px !important;
}

.ec-product-fields-panel{
    display:flex !important;
    flex-direction:column !important;
    gap:22px !important;
    min-width:0 !important;
}

.ec-product-form-final .ec-product-field{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    margin:0 !important;
    min-width:0 !important;
    font-size:15px !important;
    font-weight:900 !important;
}

.ec-product-form-final .ec-product-field small{
    font-weight:500 !important;
    color:#666 !important;
}

.ec-product-form-final input,
.ec-product-form-final select,
.ec-product-form-final textarea{
    width:100% !important;
    box-sizing:border-box !important;
    min-height:46px !important;
}

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

.ec-product-control-row{
    display:grid !important;
    grid-template-columns:minmax(0,24fr) minmax(0,38fr) minmax(0,38fr) !important;
    gap:16px !important;
    align-items:end !important;
    width:100% !important;
}

.ec-money-input{
    display:flex !important;
    width:100% !important;
    min-height:46px !important;
}

.ec-money-prefix{
    width:52px !important;
    min-width:52px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #d7dce1 !important;
    border-right:0 !important;
    background:#f5f6f7 !important;
    color:#222 !important;
    font-weight:900 !important;
}

.ec-money-input input{
    min-width:0 !important;
    border-left:0 !important;
}

.ec-product-modal-actions{
    margin-top:28px !important;
    padding-top:18px !important;
    border-top:1px solid #e4e7ea !important;
}

@media(max-width:980px){
    .ec-product-modal-grid{
        grid-template-columns:280px minmax(0,1fr) !important;
        gap:24px !important;
    }

    .ec-product-image-panel .ec-image-preview{
        min-height:250px !important;
    }
}

@media(max-width:760px){
    .ec-product-modal-grid{
        grid-template-columns:1fr !important;
    }

    .ec-product-image-panel .ec-image-preview{
        min-height:220px !important;
    }

    .ec-product-control-row{
        grid-template-columns:1fr !important;
    }
}


/* v3.9.9 - Backdrop premium restaurado em todos os modais */
.ec-front-modal,
#ec-front-modal{
    position:fixed !important;
    inset:0 !important;
    z-index:999900 !important;
    display:none;
    align-items:center !important;
    justify-content:center !important;
    padding:24px !important;
    overflow:auto !important;
    background:rgba(10,12,15,.38) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
    transition:opacity .18s ease, visibility .18s ease !important;
}

.ec-front-modal.active,
#ec-front-modal.active,
.ec-front-modal[aria-hidden="false"],
#ec-front-modal[aria-hidden="false"]{
    display:flex !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
}

/*
 * Algumas versões possuem um backdrop interno separado.
 * Ele permanece transparente porque o próprio container já aplica blur,
 * evitando camadas vermelhas ou duplicadas.
 */
.ec-front-modal-backdrop,
#ec-front-modal .ec-front-modal-backdrop{
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    display:block !important;
    background:rgba(10,12,15,.08) !important;
    backdrop-filter:blur(2px) !important;
    -webkit-backdrop-filter:blur(2px) !important;
    opacity:1 !important;
    pointer-events:auto !important;
}

/* Impede qualquer regra hover antiga de trocar o fundo para vermelho. */
.ec-front-modal:hover,
#ec-front-modal:hover,
.ec-front-modal-backdrop:hover,
#ec-front-modal .ec-front-modal-backdrop:hover{
    background-color:rgba(10,12,15,.38) !important;
}

.ec-front-modal-backdrop:hover,
#ec-front-modal .ec-front-modal-backdrop:hover{
    background-color:rgba(10,12,15,.08) !important;
}

.ec-front-modal-box,
.ec-front-modal-content{
    position:relative !important;
    z-index:2 !important;
    max-height:calc(100vh - 48px) !important;
    overflow:auto !important;
    box-shadow:0 28px 90px rgba(0,0,0,.38) !important;
}

html.ec-modal-page-open,
body.ec-modal-open{
    overflow:hidden !important;
}

/* Cabeçalho dinâmico do produto */
#ec-front-modal-title,
.ec-front-modal-title,
.ec-front-modal-header strong{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    max-width:calc(100% - 64px) !important;
}


/* v3.10.4 - Modais compactos e proporcionais */
.ec-modal-subtitle,
.ec-front-modal-subtitle,
.ec-form-subtitle{
    display:none !important;
}

/* Caixa principal: menor e centralizada */
#ec-front-modal .ec-front-modal-box,
#ec-front-modal .ec-front-modal-content,
.ec-front-modal .ec-front-modal-box,
.ec-front-modal .ec-front-modal-content{
    width:min(860px, calc(100vw - 48px)) !important;
    max-width:860px !important;
    max-height:calc(100vh - 64px) !important;
    border-radius:14px !important;
    overflow:auto !important;
}

/* Modais simples ficam ainda menores */
#ec-front-modal .ec-front-form[data-ec-form="category"],
#ec-front-modal .ec-front-form[data-form="category"],
#ec-front-modal .ec-front-form[data-ec-form="supplier"],
#ec-front-modal .ec-front-form[data-form="supplier"],
#ec-front-modal .ec-front-form[data-ec-form="location"],
#ec-front-modal .ec-front-form[data-form="location"],
#ec-front-modal .ec-front-form[data-ec-form="movement"],
#ec-front-modal .ec-front-form[data-form="movement"]{
    max-width:800px !important;
    width:100% !important;
    margin:0 auto !important;
}

/* Transferência precisa de mais espaço por possuir quatro colunas. */
#ec-front-modal .ec-front-form[data-ec-form="transfer"],
#ec-front-modal .ec-front-form[data-form="transfer"]{
    max-width:980px !important;
    width:100% !important;
    margin:0 auto !important;
}

/* Header compacto */
.ec-front-modal-header{
    min-height:54px !important;
    padding:0 20px !important;
}

#ec-front-modal-title,
.ec-front-modal-title,
.ec-front-modal-header strong{
    font-size:14px !important;
    line-height:1.25 !important;
}

/* Corpo e formulários com menos espaços vazios */
.ec-front-modal-body{
    padding:20px 24px !important;
}

.ec-front-form{
    gap:12px !important;
}

.ec-front-form label{
    gap:6px !important;
    margin-bottom:0 !important;
}

.ec-front-form input,
.ec-front-form select{
    min-height:40px !important;
    height:40px !important;
}

.ec-front-form textarea{
    min-height:82px !important;
    max-height:150px !important;
}

/* Produto: imagem menor e coluna mais equilibrada */
.ec-product-modal-grid{
    grid-template-columns:220px minmax(0, 1fr) !important;
    gap:22px !important;
}

.ec-product-image-panel .ec-image-picker,
.ec-product-form-final .ec-image-picker{
    padding:12px !important;
    border-radius:12px !important;
}

.ec-product-image-panel .ec-image-picker > label,
.ec-product-form-final .ec-image-picker > label{
    margin-bottom:9px !important;
    font-size:13px !important;
}

.ec-product-image-panel .ec-image-preview,
.ec-product-form-final .ec-image-preview{
    min-height:160px !important;
    height:160px !important;
    max-height:160px !important;
    border-radius:10px !important;
    overflow:hidden !important;
}

.ec-product-image-panel .ec-image-preview img,
.ec-product-form-final .ec-image-preview img{
    width:100% !important;
    height:100% !important;
    max-height:160px !important;
    object-fit:contain !important;
}

.ec-product-image-panel .ec-pick-image,
.ec-product-image-panel .ec-clear-image,
.ec-product-form-final .ec-pick-image,
.ec-product-form-final .ec-clear-image{
    height:36px !important;
    min-height:36px !important;
    margin-top:8px !important;
}

/* Campos do produto mais compactos */
.ec-product-fields-panel{
    gap:12px !important;
}

.ec-product-control-row{
    gap:10px !important;
}

.ec-product-form-final textarea{
    min-height:76px !important;
}

/* Rodapé e ações menores */
.ec-modal-actions,
.ec-product-modal-actions{
    margin-top:16px !important;
    padding-top:14px !important;
    gap:10px !important;
}

.ec-modal-actions button,
.ec-product-modal-actions button{
    min-width:130px !important;
    height:40px !important;
    min-height:40px !important;
}

/* Remove excesso de padding lateral criado em versões antigas */
.ec-front-modal-body .ec-front-form{
    padding-left:0 !important;
    padding-right:0 !important;
}

@media(max-width:760px){
    #ec-front-modal .ec-front-modal-box,
    #ec-front-modal .ec-front-modal-content,
    .ec-front-modal .ec-front-modal-box,
    .ec-front-modal .ec-front-modal-content{
        width:calc(100vw - 24px) !important;
        max-height:calc(100vh - 24px) !important;
    }

    .ec-front-modal-body{
        padding:16px !important;
    }

    .ec-product-modal-grid{
        grid-template-columns:1fr !important;
    }

    .ec-product-image-panel .ec-image-preview,
    .ec-product-form-final .ec-image-preview{
        min-height:140px !important;
        height:140px !important;
        max-height:140px !important;
    }

    .ec-modal-actions,
    .ec-product-modal-actions{
        flex-direction:column-reverse !important;
    }

    .ec-modal-actions button,
    .ec-product-modal-actions button{
        width:100% !important;
    }
}


/* v3.10.5 - Backdrop interno removido */
.ec-front-modal-backdrop{
    display:none !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

/* O container principal mantém o fundo escuro e o desfoque */
#ec-front-modal,
.ec-front-modal{
    background:rgba(10,12,15,.38) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
}


/* v3.10.6 */
.ec-front-modal::before,
.ec-front-modal::after,
.ec-front-modal-box::before,
.ec-front-modal-box::after{
    content:none !important;
    display:none !important;
}

.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:0 !important;
}


/* ==========================================================
   v3.11.0 — ARQUITETURA DE VIEWS E MODAIS ISOLADOS
   ==========================================================

   Views disponíveis:
   .ec-view--dashboard
   .ec-view--products
   .ec-view--categories
   .ec-view--suppliers
   .ec-view--locations
   .ec-view--stock
   .ec-view--movements
   .ec-view--purchases
   .ec-view--reports
   .ec-view--alerts
   .ec-view--appearance
   .ec-view--system

   Modais disponíveis:
   .ec-modal--product
   .ec-modal--category
   .ec-modal--supplier
   .ec-modal--location
   .ec-modal--stock-entry
   .ec-modal--stock-transfer
   .ec-modal--purchase
   .ec-modal--permission
   .ec-modal--settings
   .ec-modal--appearance

   Formulários disponíveis:
   .ec-modal-form--product
   .ec-modal-form--category
   .ec-modal-form--supplier
   .ec-modal-form--location
   .ec-modal-form--stock-entry
   .ec-modal-form--stock-transfer
   .ec-modal-form--purchase
   .ec-modal-form--permission
   .ec-modal-form--settings
   .ec-modal-form--appearance

   REGRA:
   Alterações futuras devem usar a classe específica da view/modal.
   Evitar regras genéricas como `.ec-front-modal input { ... }`
   quando a intenção for alterar somente um formulário.
   ========================================================== */

/* Base estrutural neutra. Não define largura específica por tipo. */
.ec-modal{
    --ec-modal-width:860px;
    --ec-modal-body-padding:20px 24px;
    --ec-modal-image-height:160px;
}

.ec-modal__dialog{
    width:min(var(--ec-modal-width), calc(100vw - 48px));
}

.ec-modal__body{
    padding:var(--ec-modal-body-padding);
}

/* Cada modal pode redefinir apenas suas próprias variáveis. */
.ec-modal--product{
    --ec-modal-width:860px;
    --ec-modal-image-height:160px;
}

.ec-modal--category{
    --ec-modal-width:520px;
}

.ec-modal--supplier{
    --ec-modal-width:620px;
}

.ec-modal--location{
    --ec-modal-width:560px;
}

.ec-modal--stock-entry{
    --ec-modal-width:620px;
}

.ec-modal--stock-transfer{
    --ec-modal-width:680px;
}

.ec-modal--purchase{
    --ec-modal-width:820px;
}

.ec-modal--permission{
    --ec-modal-width:620px;
}

.ec-modal--settings,
.ec-modal--appearance{
    --ec-modal-width:900px;
}

/* Escopo da imagem somente no modal de produto. */
.ec-modal--product .ec-image-preview{
    height:var(--ec-modal-image-height);
    max-height:var(--ec-modal-image-height);
}

/*
   Exemplos seguros para próximas alterações:

   .ec-modal--product .ec-product-cost-field { ... }
   .ec-modal--category .ec-modal__body { ... }
   .ec-view--stock .ec-front-card { ... }
   .ec-view--suppliers .ec-front-table { ... }
*/


/* v3.11.1 - Ajuste solicitado para formulários dos modais */
.ec-front-modal .ec-front-form:not(.ec-front-pretty-form),
.ec-front-modal-box .ec-front-form:not(.ec-front-pretty-form) {
    padding-top: 20px !important;
    padding-bottom: 0 !important;
}

.ec-front-modal .ec-front-form::before,
.ec-front-modal-box .ec-front-form::before {
    content: none !important;
    display: none !important;
}


/* v3.11.2 - Modais sem rolagem horizontal */
.ec-modal,
.ec-front-modal,
.ec-modal__dialog,
.ec-front-modal-box,
.ec-modal__body,
.ec-front-modal-body{
    overflow-x:hidden !important;
}

.ec-modal,
.ec-front-modal,
.ec-modal__dialog,
.ec-front-modal-box{
    overflow-y:auto !important;
}

.ec-modal__body,
.ec-front-modal-body{
    overflow-y:visible !important;
}

.ec-modal *,
.ec-front-modal *{
    box-sizing:border-box !important;
    max-width:100%;
}

/* Produto: garante que a grade nunca ultrapasse o modal */
.ec-modal--product .ec-product-modal-grid,
.ec-modal--product .ec-product-fields-panel,
.ec-modal--product .ec-product-control-row,
.ec-modal--product .ec-product-modal-actions{
    width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
}


/* v3.11.3 - Ajustes exclusivos do modal Cadastrar/Editar Produto */

/* Remove definitivamente qualquer barra horizontal do modal de produto. */
.ec-modal--product,
.ec-modal--product .ec-modal__dialog,
.ec-modal--product .ec-front-modal-box,
.ec-modal--product .ec-modal__body,
.ec-modal--product .ec-front-modal-body,
.ec-modal--product .ec-modal-form--product,
.ec-modal--product .ec-product-form-final,
.ec-modal--product .ec-product-modal-grid,
.ec-modal--product .ec-product-fields-panel,
.ec-modal--product .ec-product-control-row,
.ec-modal--product .ec-product-modal-actions{
    overflow-x:hidden !important;
}

.ec-modal--product .ec-modal__dialog,
.ec-modal--product .ec-front-modal-box{
    width:min(var(--ec-modal-width,860px), calc(100vw - 48px)) !important;
    max-width:calc(100vw - 48px) !important;
}

.ec-modal--product .ec-modal__body,
.ec-modal--product .ec-front-modal-body,
.ec-modal--product .ec-modal-form--product,
.ec-modal--product .ec-product-form-final{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}

/* Campos com 90% da largura, centralizados no painel direito. */
.ec-modal--product .ec-product-fields-panel > .ec-product-field,
.ec-modal--product .ec-product-fields-panel > .ec-product-control-row,
.ec-modal--product .ec-product-fields-panel > .ec-product-description-field{
    width:90% !important;
    max-width:90% !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.ec-modal--product .ec-product-control-row{
    box-sizing:border-box !important;
}

.ec-modal--product .ec-product-control-row .ec-product-field{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}

.ec-modal--product input,
.ec-modal--product select,
.ec-modal--product textarea,
.ec-modal--product .ec-money-input{
    box-sizing:border-box !important;
    max-width:100% !important;
}

/* Botões do modal de produto sempre em uppercase. */
.ec-modal--product .ec-pick-image,
.ec-modal--product .ec-clear-image,
.ec-modal--product .ec-modal-cancel,
.ec-modal--product .ec-front-submit,
.ec-modal--product .ec-product-modal-actions button{
    text-transform:uppercase !important;
}

/* Rodapé respeita a largura interna e não gera overflow. */
.ec-modal--product .ec-product-modal-actions{
    width:100% !important;
    max-width:100% !important;
    padding-left:5% !important;
    padding-right:5% !important;
    box-sizing:border-box !important;
}

@media(max-width:760px){
    .ec-modal--product .ec-modal__dialog,
    .ec-modal--product .ec-front-modal-box{
        width:calc(100vw - 24px) !important;
        max-width:calc(100vw - 24px) !important;
    }

    .ec-modal--product .ec-product-fields-panel > .ec-product-field,
    .ec-modal--product .ec-product-fields-panel > .ec-product-control-row,
    .ec-modal--product .ec-product-fields-panel > .ec-product-description-field{
        width:100% !important;
        max-width:100% !important;
    }

    .ec-modal--product .ec-product-modal-actions{
        padding-left:0 !important;
        padding-right:0 !important;
    }
}


/* v3.11.4 - Ajustes do modal Produto */
.ec-modal--product .ec-product-modal-actions,
.ec-modal--product .ec-modal-actions{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    justify-content:center !important;
    align-items:center !important;
    display:flex !important;
    gap:14px !important;
}

.ec-modal--product .ec-product-form-final .ec-product-field{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    font-size:15px !important;
    font-weight:600 !important;
    gap:0 !important;
    margin:0 !important;
}


/* v3.11.5 */

/* Botões CANCELAR/SALVAR padronizados em todos os modais */
.ec-modal-actions button,
.ec-product-modal-actions button,
.ec-modal-cancel,
.ec-front-submit{
    width:170px !important;
    min-width:170px !important;
    height:44px !important;
}

/* Produto */
.ec-modal--product .ec-product-form-final .ec-product-field{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    font-size:12px !important;
    font-weight:800 !important;
    gap:0 !important;
    margin:0 !important;
}

/* Inputs globais do frontend */
.ec-front-form input,
.ec-front-form select{
    min-height:46px !important;
    height:46px !important;
}


/* v3.11.6 */
.ec-modal--product .ec-product-form-final .ec-product-field{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    font-size:12px !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    gap:0 !important;
    margin:0 !important;
}

.ec-modal-actions button,
.ec-product-modal-actions button,
.ec-modal-cancel,
.ec-front-submit{
    width:250px !important;
    min-width:250px !important;
    height:44px !important;
}


/* v3.11.7 - Correção exclusiva do layout do modal Produto */

/* O painel direito usa largura integral e não herda os 90% de forma quebrada. */
.ec-modal--product .ec-product-fields-panel{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:14px !important;
}

/* Campos principais com 90%, centralizados e consistentes. */
.ec-modal--product .ec-product-fields-panel > .ec-product-field{
    width:90% !important;
    max-width:90% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

/* Linha Unidade / Preço / Estoque: 90% e proporção estável. */
.ec-modal--product .ec-product-fields-panel > .ec-product-control-row{
    width:90% !important;
    max-width:90% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:grid !important;
    grid-template-columns:minmax(110px,24%) minmax(170px,38%) minmax(170px,38%) !important;
    gap:10px !important;
    align-items:end !important;
    overflow:visible !important;
    box-sizing:border-box !important;
}

/* Cada campo da linha ocupa corretamente sua célula. */
.ec-modal--product .ec-product-control-row .ec-product-field{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
}

/* Inputs e selects não extrapolam nem encolhem. */
.ec-modal--product .ec-product-control-row input,
.ec-modal--product .ec-product-control-row select,
.ec-modal--product .ec-product-control-row .ec-money-input{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}

/* Prefixo R$ integrado corretamente ao input. */
.ec-modal--product .ec-money-input{
    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) !important;
    align-items:stretch !important;
}

.ec-modal--product .ec-money-prefix{
    width:52px !important;
    min-width:52px !important;
    height:46px !important;
    box-sizing:border-box !important;
}

.ec-modal--product .ec-money-input input{
    width:100% !important;
    min-width:0 !important;
    height:46px !important;
    box-sizing:border-box !important;
}

/* Fornecedor e demais selects em largura estável. */
.ec-modal--product .ec-product-fields-panel > .ec-product-field select,
.ec-modal--product .ec-product-fields-panel > .ec-product-field input,
.ec-modal--product .ec-product-fields-panel > .ec-product-field textarea{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}

/* Descrição mantém 90% e alinhamento com os campos acima. */
.ec-modal--product .ec-product-description-field{
    width:90% !important;
    max-width:90% !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* Evita quebra causada pelo uppercase nos rótulos. */
.ec-modal--product .ec-product-control-row .ec-product-field{
    white-space:normal !important;
}

@media(max-width:820px){
    .ec-modal--product .ec-product-fields-panel > .ec-product-field,
    .ec-modal--product .ec-product-fields-panel > .ec-product-control-row,
    .ec-modal--product .ec-product-description-field{
        width:100% !important;
        max-width:100% !important;
    }

    .ec-modal--product .ec-product-fields-panel > .ec-product-control-row{
        grid-template-columns:1fr !important;
    }
}


/* v3.11.8 - Ajustes finais modal Produto */
.ec-modal--product .ec-money-input{
    display:flex !important;
    align-items:stretch !important;
    width:100% !important;
}

.ec-modal--product .ec-money-prefix{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 52px !important;
    width:52px !important;
    height:46px !important;
    line-height:46px !important;
    padding:0 !important;
    margin:0 !important;
    border-right:0 !important;
    box-sizing:border-box !important;
}

.ec-modal--product .ec-money-input input{
    flex:1 !important;
    height:46px !important;
    margin:0 !important;
    box-sizing:border-box !important;
}

/* DESCRIÇÃO (OPCIONAL) em linha */
.ec-modal--product .ec-product-description-field label,
.ec-modal--product .ec-description-label{
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
}

.ec-modal--product .ec-product-description-field label small,
.ec-modal--product .ec-product-description-field label .optional,
.ec-modal--product .ec-description-label small{
    display:inline !important;
    margin:0 !important;
    font-size:11px !important;
    font-weight:500 !important;
    text-transform:none !important;
    color:#777 !important;
}


/* v3.11.9 - Alinhamentos finais do modal Produto */

/* Todos os títulos dos três campos usam a mesma caixa e altura. */
.ec-modal--product .ec-product-control-row .ec-product-label-text{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:18px !important;
    line-height:18px !important;
    margin:0 0 4px 0 !important;
    padding:0 !important;
    white-space:nowrap !important;
    box-sizing:border-box !important;
}

/* Campo de preço: prefixo e input formam uma única linha perfeitamente alinhada. */
.ec-modal--product .ec-product-cost-field{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
}

.ec-modal--product .ec-product-cost-field .ec-money-input{
    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) !important;
    width:100% !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    align-items:stretch !important;
    box-sizing:border-box !important;
}

.ec-modal--product .ec-product-cost-field .ec-money-prefix{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:52px !important;
    min-width:52px !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #d9dee4 !important;
    border-right:0 !important;
    box-sizing:border-box !important;
    line-height:1 !important;
}

.ec-modal--product .ec-product-cost-field .ec-money-input input{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    border-left:1px solid #d9dee4 !important;
    box-sizing:border-box !important;
}

/* DESCRIÇÃO (OPCIONAL) obrigatoriamente na mesma linha. */
.ec-modal--product .ec-product-description-field .ec-description-label{
    display:flex !important;
    flex-direction:row !important;
    align-items:baseline !important;
    justify-content:flex-start !important;
    gap:5px !important;
    width:100% !important;
    min-height:18px !important;
    margin:0 0 4px 0 !important;
    padding:0 !important;
    line-height:18px !important;
    white-space:nowrap !important;
}

.ec-modal--product .ec-product-description-field .ec-description-label small{
    display:inline-block !important;
    margin:0 !important;
    padding:0 !important;
    font-size:10px !important;
    line-height:18px !important;
    font-weight:500 !important;
    text-transform:uppercase !important;
    color:#777 !important;
}

/* Centralização real do conjunto de botões em toda a largura do modal. */
.ec-modal--product .ec-product-modal-actions{
    grid-column:1 / -1 !important;
    display:flex !important;
    flex-direction:row !important;
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    margin:24px auto 0 auto !important;
    padding:16px 0 0 0 !important;
    gap:14px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
}

.ec-modal--product .ec-product-modal-actions .ec-modal-cancel,
.ec-modal--product .ec-product-modal-actions .ec-front-submit{
    flex:0 0 250px !important;
    width:250px !important;
    min-width:250px !important;
    max-width:250px !important;
    margin:0 !important;
}

@media(max-width:620px){
    .ec-modal--product .ec-product-modal-actions{
        flex-direction:column-reverse !important;
    }

    .ec-modal--product .ec-product-modal-actions .ec-modal-cancel,
    .ec-modal--product .ec-product-modal-actions .ec-front-submit{
        flex:0 0 auto !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
    }
}


/* v3.12.0 - Remove margem superior dos campos dos modais */
.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:0 !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;
}


/* v3.12.1 - Padronização global dos rodapés de ação dos modais */

/* Todos os containers de ações dos modais */
.ec-modal-actions,
.ec-product-modal-actions,
.ec-front-modal .ec-modal-actions,
.ec-front-modal-box .ec-modal-actions{
    display:flex !important;
    flex-direction:row !important;
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    margin:24px auto 0 !important;
    padding:16px 0 0 !important;
    gap:14px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
}

/* Todos os botões de ação CANCELAR / SALVAR */
.ec-modal-actions button,
.ec-product-modal-actions button,
.ec-modal-cancel,
.ec-front-submit{
    width:250px !important;
    min-width:250px !important;
    max-width:250px !important;
    height:44px !important;
    min-height:44px !important;
    margin:0 !important;
    text-transform:uppercase !important;
    font-weight:900 !important;
    flex:0 0 250px !important;
    box-sizing:border-box !important;
}

/* Evita que rodapés antigos gerem fundo, borda ou alinhamento lateral */
.ec-modal__footer,
.ec-front-modal-footer,
.ec-front-form-actions,
.ec-form-actions{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

/* Responsividade */
@media(max-width:620px){
    .ec-modal-actions,
    .ec-product-modal-actions,
    .ec-front-modal .ec-modal-actions,
    .ec-front-modal-box .ec-modal-actions{
        flex-direction:column-reverse !important;
        gap:10px !important;
    }

    .ec-modal-actions button,
    .ec-product-modal-actions button,
    .ec-modal-cancel,
    .ec-front-submit{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        flex:0 0 auto !important;
    }
}


/* v3.12.2 - Label da imagem do produto */
.ec-modal--product .ec-product-image-panel>label,
.ec-modal--product .ec-image-picker>label{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
    text-align:center !important;
    text-transform:uppercase !important;
    font-size:12px !important;
    font-weight:800 !important;
    margin-bottom:10px !important;
}


/* v3.12.3 - Corrige o piscar preto em todos os selects dos modais */
.ec-front-modal select,
.ec-front-modal-box select,
.ec-modal select,
.ec-modal__dialog select{
    background:#fff !important;
    background-color:#fff !important;
    color:#111 !important;
    border:1px solid var(--ec-border,#e5e7eb) !important;
    box-shadow:none !important;
    outline:none !important;
    color-scheme:light !important;
    -webkit-appearance:auto !important;
    appearance:auto !important;
    transition:border-color .15s ease, box-shadow .15s ease !important;
}

.ec-front-modal select:hover,
.ec-front-modal-box select:hover,
.ec-modal select:hover,
.ec-modal__dialog select:hover{
    background:#fff !important;
    background-color:#fff !important;
    color:#111 !important;
}

.ec-front-modal select:focus,
.ec-front-modal-box select:focus,
.ec-modal select:focus,
.ec-modal__dialog select:focus,
.ec-front-modal select:active,
.ec-front-modal-box select:active,
.ec-modal select:active,
.ec-modal__dialog select:active,
.ec-front-modal select:focus-visible,
.ec-front-modal-box select:focus-visible,
.ec-modal select:focus-visible,
.ec-modal__dialog select:focus-visible{
    background:#fff !important;
    background-color:#fff !important;
    color:#111 !important;
    border-color:var(--ec-accent,#fd342f) !important;
    box-shadow:0 0 0 3px rgba(253,52,47,.10) !important;
    outline:none !important;
}

/* Mantém as opções legíveis no menu nativo do navegador. */
.ec-front-modal select option,
.ec-front-modal-box select option,
.ec-modal select option,
.ec-modal__dialog select option{
    background:#fff !important;
    color:#111 !important;
}


/* v3.13.0 - Categorias hierárquicas */
.ec-view--categories .ec-object-row{
    position:relative;
}

.ec-view--categories .ec-category-depth-1 .ec-object-info,
.ec-view--categories .ec-category-depth-2 .ec-object-info,
.ec-view--categories .ec-category-depth-3 .ec-object-info{
    border-left:2px solid rgba(253,52,47,.18);
}


/* v3.13.3 - Feedback das ações da view Categorias */
.ec-category-action-message{
    position:fixed;
    top:22px;
    left:50%;
    z-index:10000050;
    transform:translateX(-50%);
    min-width:280px;
    max-width:calc(100vw - 40px);
    padding:13px 18px;
    color:#fff;
    font-weight:800;
    text-align:center;
    box-shadow:0 12px 35px rgba(0,0,0,.22);
}

.ec-category-action-message.is-success{
    background:#2fbd00;
}

.ec-category-action-message.is-error{
    background:#fd342f;
}

.ec-view--categories .ec-object-row{
    transition:opacity .2s ease, transform .2s ease;
}


/* v3.13.4 - Lista hierárquica de Categorias */
.ec-view--categories .ec-category-row{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:58px !important;
    padding:12px 16px !important;
    background:#fff !important;
    border:1px solid var(--ec-border,#e5e7eb) !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
}

.ec-view--categories .ec-category-name-wrap{
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
    flex:1 1 auto !important;
}

.ec-view--categories .ec-category-name{
    margin:0 !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:1.25 !important;
    text-transform:uppercase !important;
}

.ec-view--categories .ec-category-row[data-depth="1"]{
    margin-left:28px !important;
    width:calc(100% - 28px) !important;
    background:#f6f7f8 !important;
}

.ec-view--categories .ec-category-row[data-depth="2"]{
    margin-left:56px !important;
    width:calc(100% - 56px) !important;
    background:#f1f3f4 !important;
}

.ec-view--categories .ec-category-row[data-depth="3"],
.ec-view--categories .ec-category-row[data-depth="4"],
.ec-view--categories .ec-category-row[data-depth="5"]{
    margin-left:84px !important;
    width:calc(100% - 84px) !important;
    background:#eceff1 !important;
}

.ec-view--categories .ec-category-row[data-depth]:not([data-depth="0"]){
    border-left:4px solid rgba(253,52,47,.38) !important;
}

.ec-view--categories .ec-category-row .ec-object-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    flex:0 0 auto !important;
}

.ec-view--categories .ec-category-row .ec-object-info small{
    display:none !important;
}

@media(max-width:700px){
    .ec-view--categories .ec-category-row[data-depth="1"]{
        margin-left:14px !important;
        width:calc(100% - 14px) !important;
    }

    .ec-view--categories .ec-category-row[data-depth="2"]{
        margin-left:28px !important;
        width:calc(100% - 28px) !important;
    }

    .ec-view--categories .ec-category-row[data-depth="3"],
    .ec-view--categories .ec-category-row[data-depth="4"],
    .ec-view--categories .ec-category-row[data-depth="5"]{
        margin-left:42px !important;
        width:calc(100% - 42px) !important;
    }
}


/* v3.13.5 - Agrupamento visual das categorias */
.ec-view--categories .ec-category-row{
    margin-bottom:0 !important;
}

/* Categoria principal */
.ec-view--categories .ec-category-row[data-depth="0"]{
    background:#ffffff !important;
    border-color:#dfe3e7 !important;
    border-radius:10px !important;
    position:relative !important;
    z-index:2 !important;
}

/* Início de grupo com filhos */
.ec-view--categories .ec-category-group-start{
    margin-top:14px !important;
    margin-bottom:0 !important;
    border-radius:10px 10px 0 0 !important;
    box-shadow:0 2px 7px rgba(0,0,0,.04) !important;
}

/* Categorias filhas agrupadas abaixo da principal */
.ec-view--categories .ec-category-group-child{
    margin-top:0 !important;
    margin-left:30px !important;
    width:calc(100% - 30px) !important;
    background:#f2f4f5 !important;
    border-top:0 !important;
    border-left:3px solid rgba(253,52,47,.30) !important;
    border-radius:0 !important;
}

/* Níveis mais profundos */
.ec-view--categories .ec-category-row[data-depth="2"]{
    margin-left:55px !important;
    width:calc(100% - 55px) !important;
    background:#eceff1 !important;
}

.ec-view--categories .ec-category-row[data-depth="3"],
.ec-view--categories .ec-category-row[data-depth="4"],
.ec-view--categories .ec-category-row[data-depth="5"]{
    margin-left:80px !important;
    width:calc(100% - 80px) !important;
    background:#e6eaed !important;
}

/* Último filho fecha visualmente o grupo */
.ec-view--categories .ec-category-group-end{
    margin-bottom:14px !important;
    border-radius:0 0 10px 10px !important;
}

/* Espaço interno no nome das filhas */
.ec-view--categories .ec-category-group-child .ec-category-name-wrap{
    padding-left:14px !important;
}

/* Modal Categoria */
.ec-modal--category .ec-form-section-title{
    display:none !important;
}

.ec-modal--category .ec-category-label,
.ec-modal--category label{
    text-transform:uppercase !important;
    font-size:12px !important;
    font-weight:800 !important;
}

.ec-modal--category .ec-category-label input,
.ec-modal--category .ec-category-label select,
.ec-modal--category .ec-category-label textarea,
.ec-modal--category label input,
.ec-modal--category label select,
.ec-modal--category label textarea{
    text-transform:none !important;
}

@media(max-width:700px){
    .ec-view--categories .ec-category-group-child{
        margin-left:14px !important;
        width:calc(100% - 14px) !important;
    }

    .ec-view--categories .ec-category-row[data-depth="2"]{
        margin-left:28px !important;
        width:calc(100% - 28px) !important;
    }

    .ec-view--categories .ec-category-row[data-depth="3"],
    .ec-view--categories .ec-category-row[data-depth="4"],
    .ec-view--categories .ec-category-row[data-depth="5"]{
        margin-left:42px !important;
        width:calc(100% - 42px) !important;
    }
}


/* v3.13.6 - Agrupamento hierárquico real da view Categorias */
.ec-view--categories .ec-front-list{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
}

.ec-view--categories .ec-category-row{
    margin:0 !important;
    width:100% !important;
    border-radius:0 !important;
}

/* Categoria principal */
.ec-view--categories .ec-category-row[data-depth="0"]{
    margin-top:14px !important;
    background:#fff !important;
    border:1px solid #dfe3e7 !important;
    border-radius:10px !important;
    box-shadow:0 2px 7px rgba(0,0,0,.035) !important;
}

/* Principal que possui filhos abre o grupo */
.ec-view--categories .ec-category-row[data-depth="0"].ec-category-has-children{
    border-radius:10px 10px 0 0 !important;
    margin-bottom:0 !important;
}

/* Subcategorias imediatamente abaixo da principal */
.ec-view--categories .ec-category-row.ec-category-child{
    margin-top:0 !important;
    margin-left:30px !important;
    width:calc(100% - 30px) !important;
    background:#f1f3f5 !important;
    border-top:0 !important;
    border-left:4px solid rgba(253,52,47,.32) !important;
    border-radius:0 !important;
}

/* Segundo nível */
.ec-view--categories .ec-category-row[data-depth="2"]{
    margin-left:55px !important;
    width:calc(100% - 55px) !important;
    background:#e9edf0 !important;
}

/* Terceiro nível ou mais */
.ec-view--categories .ec-category-row[data-depth="3"],
.ec-view--categories .ec-category-row[data-depth="4"],
.ec-view--categories .ec-category-row[data-depth="5"]{
    margin-left:80px !important;
    width:calc(100% - 80px) !important;
    background:#e2e7ea !important;
}

/* Fecha o grupo no último filho */
.ec-view--categories .ec-category-row.ec-category-last-child{
    margin-bottom:14px !important;
    border-radius:0 0 10px 10px !important;
}

/* Recuo interno adicional no nome das filhas */
.ec-view--categories .ec-category-row.ec-category-child .ec-category-name-wrap{
    padding-left:14px !important;
}

/* Modal Categoria */
.ec-modal--category .ec-form-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:14px !important;
}

.ec-modal--category .ec-category-field-name{
    grid-column:1 / -1 !important;
    width:100% !important;
}

.ec-modal--category .ec-category-field-parent{
    grid-column:1 !important;
}

.ec-modal--category .ec-category-field-status{
    grid-column:2 !important;
}

.ec-modal--category .ec-category-field-description{
    grid-column:1 / -1 !important;
}

.ec-modal--category .ec-product-form-section-title,
.ec-modal--category .ec-form-section-title{
    display:none !important;
}

.ec-modal--category .ec-category-label{
    text-transform:uppercase !important;
    font-size:12px !important;
    font-weight:800 !important;
}

.ec-modal--category .ec-category-label input,
.ec-modal--category .ec-category-label select,
.ec-modal--category .ec-category-label textarea{
    text-transform:none !important;
}

@media(max-width:700px){
    .ec-view--categories .ec-category-row.ec-category-child{
        margin-left:14px !important;
        width:calc(100% - 14px) !important;
    }

    .ec-view--categories .ec-category-row[data-depth="2"]{
        margin-left:28px !important;
        width:calc(100% - 28px) !important;
    }

    .ec-view--categories .ec-category-row[data-depth="3"],
    .ec-view--categories .ec-category-row[data-depth="4"],
    .ec-view--categories .ec-category-row[data-depth="5"]{
        margin-left:42px !important;
        width:calc(100% - 42px) !important;
    }

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

    .ec-modal--category .ec-category-field-name,
    .ec-modal--category .ec-category-field-parent,
    .ec-modal--category .ec-category-field-status,
    .ec-modal--category .ec-category-field-description{
        grid-column:1 !important;
    }
}


/* v3.13.7 - Padrão global de botões */
.ec-front-view button,
.ec-front-modal button,
.ec-front-modal-box button,
.ec-front-btn,
.ec-mini-btn,
.ec-front-submit,
.ec-modal-cancel,
.ec-object-actions button,
.ec-modal-actions button{
    text-transform: uppercase !important;
}


/* v3.13.8 Depositos */
.ec-deposito-modal label,
.ec-modal-deposito label{
 text-transform:uppercase!important;
}
.ec-deposito-modal .ec-modal-actions,
.ec-modal-deposito .ec-modal-actions{
 text-align:center!important;
}
.ec-deposito-modal .ec-modal-actions .ec-front-btn,
.ec-modal-deposito .ec-modal-actions .ec-front-btn{
 display:inline-block!important;
 float:none!important;
 margin:0 auto!important;
}


/* v3.13.9 - Depósitos: labels uppercase e ação centralizada */
.ec-modal-form--location label > span,
.ec-form--location label > span{
    display:block;
    text-transform:uppercase !important;
}

.ec-modal-form--location .ec-location-modal-actions,
.ec-form--location .ec-location-modal-actions{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
    background:transparent !important;
}

.ec-modal-form--location .ec-location-modal-actions .ec-front-submit,
.ec-form--location .ec-location-modal-actions .ec-front-submit{
    display:inline-flex !important;
    justify-content:center !important;
    align-items:center !important;
    float:none !important;
    margin:0 auto !important;
    text-transform:uppercase !important;
}


/* v3.14.0 - Padrão global dos labels em todos os modais do frontend */
.ec-front-modal label,
.ec-front-modal label > span,
.ec-front-modal .ec-field-label,
.ec-front-modal .ec-form-label,
.ec-front-modal .ec-form-group > label,
.ec-front-modal .ec-form-grid > label,
.ec-front-modal .ec-form-grid label,
.ec-front-modal .ec-modal-form label,
.ec-front-modal .ec-front-form label,
.ec-front-modal-box label,
.ec-front-modal-box label > span,
.ec-front-modal-box .ec-field-label,
.ec-front-modal-box .ec-form-label,
.ec-front-modal-box .ec-form-group > label,
.ec-front-modal-box .ec-form-grid > label,
.ec-front-modal-box .ec-form-grid label,
.ec-front-modal-box .ec-modal-form label,
.ec-front-modal-box .ec-front-form label {
    font-size: 12px !important;
    font-weight: 800 !important;
}


/* v3.14.1 - Layout dos modais de depósitos */
.ec-modal-form--location .ec-location-form-layout,
.ec-form--location .ec-location-form-layout{
    display:grid !important;
    grid-template-columns:repeat(12,minmax(0,1fr)) !important;
    gap:18px !important;
    width:100% !important;
}

.ec-modal-form--location .ec-location-field,
.ec-form--location .ec-location-field{
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    margin:0 !important;
}

.ec-modal-form--location .ec-location-field-name{grid-column:span 8 !important;}
.ec-modal-form--location .ec-location-field-code{grid-column:span 4 !important;}
.ec-modal-form--location .ec-location-field-responsible{grid-column:span 6 !important;}
.ec-modal-form--location .ec-location-field-type{grid-column:span 6 !important;}
.ec-modal-form--location .ec-location-field-city{grid-column:span 7 !important;}
.ec-modal-form--location .ec-location-field-state{grid-column:span 5 !important;}
.ec-modal-form--location .ec-location-field-address{grid-column:1 / -1 !important;}

.ec-modal-form--location input,
.ec-modal-form--location select{
    width:100% !important;
}

@media (max-width:760px){
    .ec-modal-form--location .ec-location-field{
        grid-column:1 / -1 !important;
    }
}

/* Botão MAPA na lista de depósitos */
.ec-view--locations .ec-map-btn{
    text-transform:uppercase !important;
}

/* Modal do Google Maps */
.ec-map-modal{
    position:fixed;
    inset:0;
    z-index:9999995;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(0,0,0,.62);
    backdrop-filter:blur(6px);
}

.ec-map-modal.active{
    display:flex;
}

.ec-map-modal-dialog{
    width:min(760px,96vw);
    overflow:hidden;
    border-radius:12px;
    background:#fff;
    box-shadow:0 24px 70px rgba(0,0,0,.35);
}

.ec-map-modal-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:58px;
    padding:0 20px;
    background:#111;
    color:#fff;
}

.ec-map-modal-header strong{
    font-size:16px;
    font-weight:800;
    text-transform:uppercase;
}

.ec-map-modal-header button{
    width:36px;
    height:36px;
    border:0;
    border-radius:6px;
    background:var(--ec-accent,#fd342f);
    color:#fff;
    font-size:25px;
    line-height:1;
    cursor:pointer;
}

.ec-map-modal-body{
    padding:20px;
}

.ec-map-location-summary{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-bottom:14px;
}

.ec-map-location-summary strong{
    font-size:14px;
    font-weight:800;
    text-transform:uppercase;
}

.ec-map-location-summary span{
    font-size:13px;
    color:#666;
}

.ec-google-map-frame{
    width:100%;
    height:390px;
    overflow:hidden;
    border:1px solid #ddd;
    border-radius:10px;
    background:#f2f2f2;
}

.ec-google-map-frame iframe{
    display:block;
    width:100%;
    height:100%;
    border:0;
}


/* v3.14.2 - Botões da view Depósitos */
.ec-view--locations .ec-edit-location-btn{
    background:#3dc302 !important;
    border-color:#3dc302 !important;
    color:#ffffff !important;
}

.ec-view--locations .ec-edit-location-btn:hover{
    background:#33a203 !important;
    border-color:#33a203 !important;
    color:#ffffff !important;
}

.ec-view--locations .ec-map-btn{
    background:var(--ec-map-button-bg,#0060ff) !important;
    border-color:var(--ec-map-button-bg,#0060ff) !important;
    color:#ffffff !important;
}

.ec-view--locations .ec-map-btn:hover{
    background:var(--ec-map-button-hover,#0151d5) !important;
    border-color:var(--ec-map-button-hover,#0151d5) !important;
    color:#ffffff !important;
}


/* Hotfix MAPA */
.ec-view--locations .ec-map-btn{
    background:var(--ec-map-button-bg,#0060ff)!important;
    border-color:var(--ec-map-button-bg,#0060ff)!important;
    color:#fff!important;
}
.ec-view--locations .ec-map-btn:hover{
    background:var(--ec-map-button-hover,#0151d5)!important;
    border-color:var(--ec-map-button-hover,#0151d5)!important;
}
.ec-view--locations .ec-edit-btn,
.ec-view--locations .ec-edit-location-btn{
    background:#3dc302!important;
    border-color:#3dc302!important;
}
.ec-view--locations .ec-edit-btn:hover,
.ec-view--locations .ec-edit-location-btn:hover{
    background:#33a203!important;
    border-color:#33a203!important;
}


/* v3.14.2b - Corrige conflito do primeiro botão da lista de depósitos */
.ec-view--locations .ec-object-actions .ec-mini-btn.ec-map-btn:first-child,
.ec-view--locations .ec-object-actions button.ec-mini-btn.ec-map-btn:first-child,
.ec-front-app .ec-view--locations .ec-object-actions .ec-mini-btn.ec-map-btn:first-child {
    background: var(--ec-map-button-bg, #0060ff) !important;
    border-color: var(--ec-map-button-bg, #0060ff) !important;
    color: #ffffff !important;
}

.ec-view--locations .ec-object-actions .ec-mini-btn.ec-map-btn:first-child:hover,
.ec-view--locations .ec-object-actions button.ec-mini-btn.ec-map-btn:first-child:hover,
.ec-front-app .ec-view--locations .ec-object-actions .ec-mini-btn.ec-map-btn:first-child:hover {
    background: var(--ec-map-button-hover, #0151d5) !important;
    border-color: var(--ec-map-button-hover, #0151d5) !important;
    color: #ffffff !important;
}

/* O botão EDITAR mantém a identidade verde, independentemente da posição */
.ec-view--locations .ec-object-actions .ec-mini-btn.ec-edit-btn,
.ec-view--locations .ec-object-actions .ec-mini-btn.ec-edit-location-btn {
    background: #3dc302 !important;
    border-color: #3dc302 !important;
    color: #ffffff !important;
}

.ec-view--locations .ec-object-actions .ec-mini-btn.ec-edit-btn:hover,
.ec-view--locations .ec-object-actions .ec-mini-btn.ec-edit-location-btn:hover {
    background: #33a203 !important;
    border-color: #33a203 !important;
    color: #ffffff !important;
}


/* v3.14.3b - Ícones corretos dos botões MAPA e EDITAR em Depósitos */

/* Remove o ícone genérico aplicado ao primeiro botão */
.ec-view--locations .ec-object-actions .ec-map-btn::before,
.ec-view--locations .ec-object-actions .ec-edit-location-btn::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em !important;
    height: 1em !important;
    margin-right: 6px !important;
    vertical-align: -.125em !important;
    background: currentColor !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
}

/* Ícone MAPA */
.ec-view--locations .ec-object-actions .ec-map-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%22M9%2018l-6%203V6l6-3%206%203%206-3v15l-6%203-6-3z%22/%3E%3Cpath%20d%3D%22M9%203v15M15%206v15%22/%3E%3C/svg%3E") !important;
    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%22M9%2018l-6%203V6l6-3%206%203%206-3v15l-6%203-6-3z%22/%3E%3Cpath%20d%3D%22M9%203v15M15%206v15%22/%3E%3C/svg%3E") !important;
}

/* Ícone EDITAR */
.ec-view--locations .ec-object-actions .ec-edit-location-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%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") !important;
    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") !important;
}


/* v3.14.4 - Modal Novo/Editar Fornecedor */





/* v3.17.7 - Rolagem vertical segura da área principal */
@media (min-width:1101px){
    .ec-front-app{
        height:100vh !important;
        min-height:100vh !important;
        overflow:hidden !important;
    }
    .ec-front-shell,
    .ec-front-shell-no-sidebar{
        flex:1 1 auto !important;
        min-height:0 !important;
        height:auto !important;
        overflow:hidden !important;
    }
    .ec-front-main,
    .ec-front-shell-no-sidebar .ec-front-main{
        flex:1 1 auto !important;
        min-height:0 !important;
        height:auto !important;
        max-height:none !important;
        overflow-x:hidden !important;
        overflow-y:auto !important;
        padding-bottom:40px !important;
        overscroll-behavior:contain;
        scrollbar-gutter:stable;
    }
}

/* Garante que apenas a view ativa seja exibida. */
.ec-front-main > .ec-front-view:not(.active){display:none !important;}
.ec-front-main > .ec-front-view.active{display:block !important;}

.ec-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    flex-wrap:wrap;
    margin:18px 0 4px;
}
.ec-pagination button{
    min-width:38px;
    height:38px;
    border:1px solid var(--ec-border,#d9dde3);
    background:#fff;
    color:var(--ec-text,#171717);
    border-radius:var(--ec-button-radius,8px);
    font-weight:800;
    cursor:pointer;
}
.ec-pagination button:hover:not(:disabled),
.ec-pagination button.is-active{
    background:var(--ec-accent,#fd342f);
    border-color:var(--ec-accent,#fd342f);
    color:#fff;
}
.ec-pagination button:disabled{opacity:.45;cursor:not-allowed}
.ec-pagination-info{font-size:12px;font-weight:700;color:var(--ec-muted,#666);margin-right:6px}
.ec-page-hidden{display:none !important}

/* v3.17.8 - correção definitiva da rolagem das views extensas */
@media (min-width:1101px){
    body.ec-frontend-app-page,
    body.ec-no-wp-adminbar{
        overflow:hidden !important;
    }

    .ec-front-app{
        height:100vh !important;
        height:100dvh !important;
        min-height:0 !important;
        overflow:hidden !important;
    }

    .ec-front-shell.ec-front-shell-no-sidebar{
        position:relative !important;
        display:block !important;
        flex:1 1 auto !important;
        width:100% !important;
        min-height:0 !important;
        height:calc(100vh - var(--ec-header-height,72px)) !important;
        height:calc(100dvh - var(--ec-header-height,72px)) !important;
        overflow:hidden !important;
    }

    .ec-front-shell.ec-front-shell-no-sidebar > .ec-front-main{
        position:absolute !important;
        inset:0 !important;
        width:auto !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        box-sizing:border-box !important;
        overflow-x:hidden !important;
        overflow-y:scroll !important;
        padding-bottom:48px !important;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior-y:contain;
        scrollbar-gutter:stable;
    }

    /* A rolagem pertence à área principal; listas e tabelas não cortam conteúdo. */
    .ec-front-main .ec-front-list,
    .ec-front-main .ec-front-alert-list,
    .ec-front-main .ec-front-table-wrap,
    .ec-front-main .ec-suppliers-table-wrap,
    .ec-front-main .ec-table-scroll{
        max-height:none !important;
        height:auto !important;
        overflow-y:visible !important;
    }
}

/* v3.22.7 - mais espaço horizontal nos modais de adicionar e transferir estoque */
.ec-modal--stock-entry{
    --ec-modal-width:660px;
}
.ec-modal--stock-transfer{
    --ec-modal-width:720px;
}


/* v3.22.8 - modal Transferir mais largo, exclusivamente */
.ec-modal--stock-transfer{--ec-modal-width:800px;}


/* v3.22.9 - largura real dos modais de estoque */
.ec-modal--stock-entry{
    --ec-modal-width:1200px;
}
.ec-modal--stock-transfer{
    --ec-modal-width:1280px;
}
.ec-modal--stock-entry .ec-modal__dialog,
.ec-modal--stock-entry .ec-front-modal-box{
    width:min(1200px, calc(100vw - 48px)) !important;
    max-width:calc(100vw - 48px) !important;
}
.ec-modal--stock-transfer .ec-modal__dialog,
.ec-modal--stock-transfer .ec-front-modal-box{
    width:min(1280px, calc(100vw - 48px)) !important;
    max-width:calc(100vw - 48px) !important;
}


/* v3.22.10 - largura real e distribuição das listas de estoque */
#ec-front-modal:has(.ec-front-form[data-ec-form="movement"].active) .ec-front-modal-box,
#ec-front-modal:has(.ec-front-form[data-form="movement"].active) .ec-front-modal-box,
#ec-front-modal:has(.ec-front-form[data-ec-form="movement"].active) .ec-front-modal-content,
#ec-front-modal:has(.ec-front-form[data-form="movement"].active) .ec-front-modal-content{
    width:min(900px,calc(100vw - 48px))!important;
    max-width:900px!important;
}
#ec-front-modal:has(.ec-front-form[data-ec-form="transfer"].active) .ec-front-modal-box,
#ec-front-modal:has(.ec-front-form[data-form="transfer"].active) .ec-front-modal-box,
#ec-front-modal:has(.ec-front-form[data-ec-form="transfer"].active) .ec-front-modal-content,
#ec-front-modal:has(.ec-front-form[data-form="transfer"].active) .ec-front-modal-content{
    width:min(1080px,calc(100vw - 48px))!important;
    max-width:1080px!important;
}


/* v3.22.13 - central profissional de permissões */
#ec-front-modal:has(.ec-users-permissions-form.active) .ec-front-modal-box,
#ec-front-modal:has(.ec-users-permissions-form.active) .ec-front-modal-content{width:min(980px,calc(100vw - 40px))!important;max-width:980px!important}
.ec-users-permissions-form{max-width:none!important}
.ec-permissions-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.ec-permissions-toolbar button{height:38px;padding:0 14px;border:1px solid #dfe3e8;border-radius:7px;background:#fff;color:#222;font-weight:800;font-size:12px;cursor:pointer}
.ec-permissions-toolbar button:hover{border-color:var(--ec-accent,#fd342f);color:var(--ec-accent,#fd342f)}
.ec-permissions-toolbar i{margin-right:7px}
.ec-permission-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ec-permission-card{border:1px solid #e1e4e8;border-radius:9px;background:#fff;overflow:hidden}
.ec-permission-card:first-of-type{margin-bottom:12px}
.ec-permission-card-head{display:grid;grid-template-columns:1fr auto 18px;align-items:center;gap:10px;width:100%;min-height:48px;padding:0 15px;border:0;background:#f7f8fa;color:#181818;text-align:left;font-weight:900;cursor:pointer}
.ec-permission-card-head span i{width:22px;color:var(--ec-accent,#fd342f)}
.ec-permission-card-head strong{padding:4px 8px;border-radius:999px;background:#e9edf2;font-size:11px}
.ec-permission-card-head>.fa-chevron-down{transition:transform .2s ease}
.ec-permission-card.is-open .ec-permission-card-head>.fa-chevron-down{transform:rotate(180deg)}
.ec-permission-card-body{display:none;padding:12px 14px 14px}
.ec-permission-card.is-open .ec-permission-card-body{display:block}
.ec-permission-card .ec-users-permissions-grid,.ec-permission-card .ec-users-menu-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ec-permission-card label{display:flex;align-items:center;gap:9px;min-height:36px;padding:8px 10px;border:1px solid #e6e8eb;border-radius:7px;background:#fff;font-size:12px;font-weight:700}
.ec-permission-card label:has(input:checked){border-color:rgba(253,52,47,.45);background:rgba(253,52,47,.05)}
.ec-permission-card input[type=checkbox]{width:17px;height:17px;accent-color:var(--ec-accent,#fd342f)}
@media(max-width:760px){.ec-permission-cards{grid-template-columns:1fr}.ec-permission-card .ec-users-permissions-grid,.ec-permission-card .ec-users-menu-access-grid{grid-template-columns:1fr}.ec-permissions-toolbar button{flex:1 1 100%}}

/* v3.22.14 - exibir permissões somente após liberar o menu correspondente */
.ec-users-permissions-form .ec-permission-card--dependent{display:none!important;opacity:0;transform:translateY(-4px)}
.ec-users-permissions-form .ec-permission-card--dependent.is-menu-enabled{display:block!important;opacity:1;transform:none;animation:ecPermissionReveal .18s ease-out}
.ec-users-permissions-form .ec-permission-card--dependent.is-menu-disabled{pointer-events:none}
@keyframes ecPermissionReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}


/* v3.22.15 - exclusão protegida de transferências */
.ec-transfer-delete{width:38px;height:38px;min-width:38px;padding:0!important;border:0;background:#fd342f;color:#fff;font-weight:900;font-size:17px;line-height:38px;text-align:center;cursor:pointer}
.ec-transfer-delete:hover{background:#c6261d}
.ec-transfer-delete-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.58);backdrop-filter:blur(5px)}
.ec-transfer-delete-modal.is-open{display:flex}
.ec-transfer-delete-dialog{width:min(480px,calc(100vw - 32px));background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.ec-transfer-delete-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:#111;color:#fff}
.ec-transfer-delete-header strong{font-size:14px;letter-spacing:.04em}
.ec-transfer-delete-close{border:0;background:#fd342f;color:#fff;cursor:pointer;font-weight:800}
.ec-transfer-delete-header .ec-transfer-delete-close{width:34px;height:34px;font-size:22px;line-height:1}
.ec-transfer-delete-body{padding:22px}
.ec-transfer-delete-body p{margin:0 0 18px;color:#444;line-height:1.5}
.ec-transfer-delete-body label{display:grid;gap:8px;font-size:12px;font-weight:800;color:#222}
.ec-transfer-delete-password{width:100%;box-sizing:border-box;height:44px;padding:0 12px;border:1px solid #d8d8d8}
.ec-transfer-delete-error{margin-top:12px;padding:10px 12px;background:#fff0ef;color:#b42318;font-weight:700;font-size:13px}
.ec-transfer-delete-footer{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 22px}
.ec-transfer-delete-footer button{min-height:40px;padding:0 18px;border:0;font-weight:800;cursor:pointer}
.ec-transfer-delete-confirm{background:#fd342f;color:#fff}
.ec-transfer-delete-confirm:hover{background:#c6261d}
.ec-transfer-delete-confirm:disabled{opacity:.6;cursor:wait}


/* v3.22.20 - exibição padronizada em maiúsculas nos campos editáveis */
form[data-ec-uppercase-scope] input:not([type="hidden"]):not([type="number"]):not([type="date"]):not([type="datetime-local"]):not([type="time"]):not([type="month"]):not([type="week"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="email"]),
form[data-ec-uppercase-scope] textarea {
  text-transform: uppercase;
}
