/* ======================================================================
   G-Organix / G-Organix - Responsividade estrutural
   Camada visual global. Não altera regra de negócio, rotas, permissões ou SQL.
   ====================================================================== */

:root{
    --mobile-sidebar-width:280px;
    --mobile-safe-padding:14px;
}

html,body{max-width:100%;overflow-x:hidden;}
img,svg,video,canvas{max-width:100%;height:auto;}
input,select,textarea,button{max-width:100%;}
.app-main{max-width:100vw;}
.panel,.card,.table-wrap,.form-panel,.dashboard-card,.kpi-card{min-width:0;}

/* Botão mobile criado por gorganix_responsive.js */
.gorganix-mobile-menu-btn{
    display:none;
    width:40px;
    height:40px;
    min-width:40px;
    border-radius:13px;
    border:1px solid #dbe7f5;
    background:linear-gradient(135deg,#ffffff,#eef6ff);
    color:#0f3f98;
    box-shadow:0 10px 24px rgba(15,23,42,.08);
    cursor:pointer;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:0;
}
.gorganix-mobile-menu-btn span{
    display:block;
    width:17px;
    height:2px;
    border-radius:99px;
    background:currentColor;
    box-shadow:0 6px 0 currentColor,0 -6px 0 currentColor;
}
.gorganix-mobile-overlay{
    display:none;
    position:fixed;
    inset:0;
    z-index:998;
    background:rgba(15,23,42,.42);
    backdrop-filter:blur(2px);
}
body.sidebar-mobile-open .gorganix-mobile-overlay{display:block;}
body.sidebar-mobile-open{overflow:hidden;}

/* Estrutura fluida para grids comuns */
@media(max-width:1180px){
    .kpi-grid,.metric-mini,.dashboard-grid,.cards-grid,.stats-grid,
    .estoque-kpis,.estoque-info-grid,.info-grid,.detail-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .filters{grid-template-columns:1fr 1fr!important;}
}

@media(max-width:1024px){
    .page-header,
    .table-header,
    .detail-topbar,
    .form-top-actions{
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:12px!important;
    }
    .page-header .actions-row,
    .table-header .actions-row,
    .detail-topbar .actions-row,
    .form-top-actions .actions-row{
        width:100%;
        justify-content:flex-start;
    }
}

/* Tablet/celular: sidebar vira gaveta, conteúdo ocupa tela inteira */
@media(max-width:900px){
    :root{--topbar-height:68px;}

    .gorganix-mobile-menu-btn{display:inline-flex;}

    .sidebar,
    .gorganix-sidebar,
    body.sidebar-collapsed .sidebar{
        position:fixed!important;
        left:0!important;
        top:0!important;
        bottom:0!important;
        width:var(--mobile-sidebar-width)!important;
        max-width:86vw!important;
        height:100vh!important;
        z-index:999!important;
        transform:translateX(-105%)!important;
        transition:transform .22s ease!important;
        padding-left:12px!important;
        padding-right:12px!important;
    }

    body.sidebar-mobile-open .sidebar,
    body.sidebar-mobile-open .gorganix-sidebar{
        transform:translateX(0)!important;
    }

    body.sidebar-collapsed .brand-logo,
    body.sidebar-collapsed .brand-text,
    body.sidebar-collapsed .nav-label,
    body.sidebar-collapsed .nav-section-title,
    body.sidebar-collapsed .nav-tree-arrow,
    body.sidebar-collapsed .nav-tree-children{
        display:revert!important;
    }

    .topbar,
    body.sidebar-collapsed .topbar{
        left:0!important;
        width:100%!important;
        min-height:var(--topbar-height)!important;
        height:auto!important;
        padding:10px var(--mobile-safe-padding)!important;
        gap:10px!important;
    }

    .app-main,
    body.sidebar-collapsed .app-main{
        margin-left:0!important;
        width:100%!important;
        max-width:100vw!important;
        padding:calc(var(--topbar-height) + 18px) var(--mobile-safe-padding) 22px!important;
    }

    .topbar-title{min-width:0!important;}
    .topbar-page-block strong{
        max-width:46vw;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        display:block;
        font-size:15px!important;
    }
    .topbar-chip-row{gap:6px!important;max-width:100%;overflow:hidden;}
    .topbar-chip{font-size:11px!important;padding:6px 8px!important;max-width:54vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .topbar-date,.topbar-time{display:none!important;}
    .topbar-right{gap:8px!important;display:flex!important;align-items:center!important;}
    .user-info,.user-caret{display:none!important;}
    .user-menu-button,.notification-button{width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;}
    .notification-dropdown,.user-dropdown{right:0!important;max-width:calc(100vw - 24px)!important;}

    .panel,.card,.form-panel{padding:15px!important;border-radius:18px!important;}
    .page-header{margin-bottom:14px!important;}
    .page-header h1{font-size:22px!important;line-height:1.15!important;}
    .page-header p{font-size:13px!important;}

    .grid-form,
    .form-grid,
    .form-row,
    .filters,
    .estoque-module-form,
    .produto-view-grid,
    .produto-fotos,
    .produto-fotos-topo-grid,
    #multi_net_lista,
    #multi_disk_lista{
        grid-template-columns:1fr!important;
    }

    .grid-form .col-2,.grid-form .col-3,.grid-form .col-4,.grid-form .col-5,.grid-form .col-6,
    .grid-form .col-8,.grid-form .col-12,.grid-form .full,
    .col-2,.col-3,.col-4,.col-5,.col-6,.col-8,.col-12{
        grid-column:1/-1!important;
    }

    .form-actions,
    .actions-row,
    .btn-group,
    .table-tools,
    .clientes-table-tools,
    .search-actions{
        width:100%;
        display:flex!important;
        flex-wrap:wrap!important;
        gap:9px!important;
        justify-content:flex-start!important;
    }

    .table-tools .left,.table-tools .right,
    .clientes-table-tools .left,.clientes-table-tools .right{
        width:100%!important;
        display:flex!important;
        flex-wrap:wrap!important;
        gap:9px!important;
    }

    .filters input,.filters select,
    .table-tools input,.search-box{
        width:100%!important;
    }
}

/* Tabelas profissionais no celular: viram cards somente quando há cabeçalho */
@media(max-width:760px){
    .kpi-grid,.metric-mini,.dashboard-grid,.cards-grid,.stats-grid,
    .estoque-kpis,.estoque-info-grid,.info-grid,.detail-grid,
    .report-summary-grid{
        grid-template-columns:1fr!important;
    }

    .btn-primary,.btn-secondary,.btn-light,.btn-danger,
    .filters button,.grid-form button,
    .table-tools .btn-primary,.table-tools .btn-light,
    .form-actions > a,.form-actions > button{
        width:100%;
        min-height:42px;
    }

    .btn-acao,.row-actions .btn-acao,.acoes-lista .btn-acao,
    .btn-icon,.action-icon{
        width:36px!important;
        height:36px!important;
        min-width:36px!important;
        padding:0!important;
    }

    .acoes-lista,.row-actions,td.actions,td.acoes{
        display:flex!important;
        flex-wrap:wrap!important;
        gap:7px!important;
    }

    .table-wrap.gorganix-table-wrap-mobile{
        overflow:visible!important;
        border:0!important;
        background:transparent!important;
    }

    table.gorganix-table-mobile,
    table.gorganix-table-mobile thead,
    table.gorganix-table-mobile tbody,
    table.gorganix-table-mobile th,
    table.gorganix-table-mobile td,
    table.gorganix-table-mobile tr{
        display:block!important;
        width:100%!important;
    }

    table.gorganix-table-mobile thead{display:none!important;}

    table.gorganix-table-mobile tbody{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:12px!important;
    }

    table.gorganix-table-mobile tr{
        background:#fff!important;
        border:1px solid #dbe7f5!important;
        border-radius:16px!important;
        box-shadow:0 10px 26px rgba(15,23,42,.07)!important;
        padding:10px 12px!important;
        overflow:hidden!important;
    }

    table.gorganix-table-mobile td{
        border:0!important;
        border-bottom:1px solid #eef2f7!important;
        padding:9px 0!important;
        white-space:normal!important;
        display:grid!important;
        grid-template-columns:minmax(104px,38%) minmax(0,1fr)!important;
        gap:10px!important;
        align-items:start!important;
        font-size:13px!important;
        word-break:break-word!important;
    }

    table.gorganix-table-mobile td:last-child{border-bottom:0!important;}

    table.gorganix-table-mobile td::before{
        content:attr(data-label);
        color:#64748b;
        font-size:10px;
        font-weight:900;
        text-transform:uppercase;
        letter-spacing:.055em;
        line-height:1.25;
    }

    table.gorganix-table-mobile td[data-label="Ações"],
    table.gorganix-table-mobile td[data-label="Ação"],
    table.gorganix-table-mobile td.actions,
    table.gorganix-table-mobile td.acoes{
        display:flex!important;
        flex-direction:column!important;
        align-items:flex-start!important;
        gap:8px!important;
    }

    table.gorganix-table-mobile td[data-label="Ações"]::before,
    table.gorganix-table-mobile td[data-label="Ação"]::before,
    table.gorganix-table-mobile td.actions::before,
    table.gorganix-table-mobile td.acoes::before{
        margin-bottom:2px;
    }

    table.gorganix-table-mobile td[data-label="Ações"] .row-actions,
    table.gorganix-table-mobile td[data-label="Ação"] .row-actions,
    table.gorganix-table-mobile td[data-label="Ações"] .acoes-lista,
    table.gorganix-table-mobile td[data-label="Ação"] .acoes-lista{
        width:100%;
        flex-direction:row!important;
    }
}

@media(max-width:520px){
    :root{--mobile-safe-padding:10px;--topbar-height:64px;}
    body{font-size:13px;}
    .topbar-company{display:none!important;}
    .topbar-page-block strong{max-width:58vw;font-size:14px!important;}
    .panel,.card,.form-panel{padding:12px!important;border-radius:16px!important;}
    .page-header h1{font-size:20px!important;}
    .table-header h2,.panel h2{font-size:16px!important;}
    .grid-form input,.grid-form select,.grid-form textarea,
    input,select,textarea{
        min-height:40px;
        font-size:13px;
    }
    table.gorganix-table-mobile td{
        grid-template-columns:1fr!important;
        gap:4px!important;
    }
    table.gorganix-table-mobile td::before{font-size:9.5px;}
    .notification-dropdown,.user-dropdown{position:fixed!important;right:10px!important;left:10px!important;top:62px!important;width:auto!important;}
}

@media print{
    .gorganix-mobile-menu-btn,.gorganix-mobile-overlay{display:none!important;}
}

/* ======================================================================
   Correção responsiva - nomes dos subitens do menu
   Mantém o menu recolhido no desktop, mas força texto visível na gaveta mobile.
   ====================================================================== */
@media(max-width:900px){
    body.sidebar-mobile-open.sidebar-collapsed .sidebar,
    body.sidebar-mobile-open.sidebar-collapsed .gorganix-sidebar,
    body.sidebar-mobile-open .sidebar,
    body.sidebar-mobile-open .gorganix-sidebar{
        width:var(--mobile-sidebar-width)!important;
        max-width:86vw!important;
    }

    body.sidebar-mobile-open .sidebar .brand-text,
    body.sidebar-mobile-open .sidebar .nav-label,
    body.sidebar-mobile-open .sidebar .nav-tree-label,
    body.sidebar-mobile-open .sidebar .nav-section-title,
    body.sidebar-mobile-open .sidebar .nav-tree-arrow,
    body.sidebar-mobile-open .sidebar .nav-tree-children,
    body.sidebar-mobile-open.sidebar-collapsed .sidebar .brand-text,
    body.sidebar-mobile-open.sidebar-collapsed .sidebar .nav-label,
    body.sidebar-mobile-open.sidebar-collapsed .sidebar .nav-tree-label,
    body.sidebar-mobile-open.sidebar-collapsed .sidebar .nav-section-title,
    body.sidebar-mobile-open.sidebar-collapsed .sidebar .nav-tree-arrow{
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
    }

    body.sidebar-mobile-open .sidebar .nav-tree.open .nav-tree-children,
    body.sidebar-mobile-open.sidebar-collapsed .sidebar .nav-tree.open .nav-tree-children{
        display:block!important;
    }

    body.sidebar-mobile-open .sidebar .sidebar-nav > a,
    body.sidebar-mobile-open .sidebar .sidebar-nav .nav-tree-main,
    body.sidebar-mobile-open .sidebar .sidebar-nav .nav-subitem,
    body.sidebar-mobile-open.sidebar-collapsed .sidebar .sidebar-nav > a,
    body.sidebar-mobile-open.sidebar-collapsed .sidebar .sidebar-nav .nav-tree-main,
    body.sidebar-mobile-open.sidebar-collapsed .sidebar .sidebar-nav .nav-subitem{
        justify-content:flex-start!important;
        text-align:left!important;
        width:100%!important;
        overflow:visible!important;
    }

    body.sidebar-mobile-open .sidebar .sidebar-nav .nav-subitem,
    body.sidebar-mobile-open.sidebar-collapsed .sidebar .sidebar-nav .nav-subitem{
        display:flex!important;
        align-items:center!important;
        gap:10px!important;
        padding:7px 10px!important;
    }

    body.sidebar-mobile-open .sidebar .sidebar-nav .nav-subitem .nav-label,
    body.sidebar-mobile-open.sidebar-collapsed .sidebar .sidebar-nav .nav-subitem .nav-label{
        display:inline-block!important;
        color:inherit!important;
        white-space:normal!important;
        overflow:visible!important;
        text-overflow:clip!important;
        max-width:none!important;
        min-width:0!important;
        line-height:1.2!important;
    }

    body.sidebar-mobile-open .sidebar .sidebar-nav .nav-tree-children,
    body.sidebar-mobile-open.sidebar-collapsed .sidebar .sidebar-nav .nav-tree-children{
        margin:3px 0 5px 24px!important;
        padding:5px 0 5px 10px!important;
    }
}

/* ======================================================================
   Acabamento premium global - buscas, filtros, toolbars e listagens
   Camada visual: não altera PHP, rotas, permissões, SQL ou regras.
   ====================================================================== */
:root{
    --gorganix-premium-bg:#f6f9fc;
    --gorganix-premium-card:#ffffff;
    --gorganix-premium-line:#e6eef7;
    --gorganix-premium-soft:#f8fbff;
    --gorganix-premium-text:#0f172a;
    --gorganix-premium-muted:#64748b;
    --gorganix-premium-blue:#0f5fd7;
    --gorganix-premium-blue-dark:#0b46a0;
    --gorganix-premium-shadow:0 14px 36px rgba(15,23,42,.075);
    --gorganix-premium-shadow-soft:0 8px 22px rgba(15,23,42,.055);
}

body{
    background:var(--gorganix-premium-bg);
}

.app-main > .panel,
.app-main > .card,
.panel,
.card,
.form-panel,
.table-wrap{
    border-color:var(--gorganix-premium-line)!important;
}

/* Cabeçalhos mais limpos, com hierarquia visual */
.page-header,
.table-header,
.detail-topbar{
    background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
    border:1px solid var(--gorganix-premium-line);
    border-radius:20px;
    padding:16px 18px;
    box-shadow:var(--gorganix-premium-shadow-soft);
}
.page-header h1,
.table-header h2,
.panel h2{
    letter-spacing:-.025em;
    color:var(--gorganix-premium-text);
}
.page-header p,
.table-header p,
.panel .muted,
.mini-muted{
    color:var(--gorganix-premium-muted)!important;
}

/* Barra de busca/filtros premium e compacta */
.table-tools,
.clientes-table-tools,
.empresas-table-tools,
.usuarios-table-tools,
.estoque-list-toolbar,
.movimento-table-tools,
.at-tools-filters,
.filters{
    background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%)!important;
    border:1px solid var(--gorganix-premium-line)!important;
    border-radius:18px!important;
    padding:12px!important;
    box-shadow:var(--gorganix-premium-shadow-soft)!important;
    margin:12px 0 16px!important;
    gap:10px!important;
    align-items:center!important;
}

.table-tools.table-tools-top{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0 0 10px!important;
}

.table-tools form,
.table-tools .left,
.table-tools .right,
.clientes-table-tools form,
.empresas-search-form,
.usuarios-search-form,
.setores-search-bar,
.at-filters-form,
.estoque-search-form,
.movimento-search-form,
.search-inline,
.filters{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    width:100%;
}

.table-tools .left,
.clientes-table-tools .left,
.usuarios-table-tools .left{
    flex:1 1 520px!important;
}
.table-tools .right,
.clientes-table-tools .right,
.usuarios-table-tools .right{
    flex:0 0 auto!important;
    justify-content:flex-end!important;
}

.search-box,
.table-tools input[type="search"],
.table-tools input[type="text"],
.table-tools input:not([type]),
.filters input,
.filters select,
.filter-select,
select.filter-select,
.estoque-search-box,
.at-search-box,
.empresas-search-form .search-box,
.usuarios-search-form .search-box{
    height:40px!important;
    min-height:40px!important;
    border-radius:13px!important;
    border:1px solid #d8e4f2!important;
    background:#ffffff!important;
    color:var(--gorganix-premium-text)!important;
    padding:0 13px!important;
    font-size:13px!important;
    line-height:40px!important;
    box-shadow:inset 0 1px 0 rgba(15,23,42,.025)!important;
    outline:none!important;
}
.search-box:focus,
.table-tools input:focus,
.filters input:focus,
.filters select:focus,
.filter-select:focus{
    border-color:#8bb8ff!important;
    box-shadow:0 0 0 4px rgba(15,95,215,.10)!important;
}

.search-box,
.estoque-search-box,
.at-search-box{
    flex:1 1 320px!important;
    min-width:240px!important;
}

.table-tools select,
.filters select,
.filter-select{
    flex:0 1 210px!important;
    min-width:170px!important;
}

/* Botões menores, consistentes e com aparência profissional */
.btn-primary,
.btn-secondary,
.btn-light,
.btn-danger,
.btn-search,
.btn-search-table,
button.btn-primary,
button.btn-secondary,
a.btn-primary,
a.btn-secondary,
a.btn-light,
.filters button,
.form-actions button,
.form-actions a{
    min-height:40px!important;
    height:40px;
    border-radius:13px!important;
    padding:0 15px!important;
    font-size:13px!important;
    font-weight:800!important;
    letter-spacing:-.01em;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    white-space:nowrap!important;
    text-decoration:none!important;
}
.btn-primary,
button.btn-primary,
a.btn-primary,
.filters button,
.btn-search-table{
    background:linear-gradient(135deg,var(--gorganix-premium-blue),var(--gorganix-premium-blue-dark))!important;
    border:1px solid rgba(15,95,215,.34)!important;
    color:#fff!important;
    box-shadow:0 10px 20px rgba(15,95,215,.20)!important;
}
.btn-light,
a.btn-light{
    background:#fff!important;
    border:1px solid #dce7f4!important;
    color:#334155!important;
    box-shadow:0 8px 16px rgba(15,23,42,.055)!important;
}
.btn-secondary,
a.btn-secondary,
button.btn-secondary{
    background:linear-gradient(135deg,#0f172a,#334155)!important;
    color:#fff!important;
    border:1px solid rgba(15,23,42,.22)!important;
    box-shadow:0 10px 20px rgba(15,23,42,.14)!important;
}
.btn-danger,
button.btn-danger,
a.btn-danger{
    background:linear-gradient(135deg,#dc2626,#991b1b)!important;
    color:#fff!important;
    border:1px solid rgba(220,38,38,.25)!important;
}
.btn-primary:hover,
.btn-secondary:hover,
.btn-light:hover,
.btn-danger:hover{
    transform:translateY(-1px);
    filter:saturate(1.03);
}

/* Ações em listas: compacto, alinhado, sem cara de improviso */
.actions-row,
.form-actions,
.search-actions,
.empresas-search-actions,
.usuarios-search-actions,
.row-actions,
.acoes-lista,
td.actions,
td.acoes{
    gap:8px!important;
    align-items:center!important;
}
.btn-acao,
.row-actions .btn-acao,
.acoes-lista .btn-acao,
.btn-icon,
.action-icon{
    border-radius:12px!important;
    box-shadow:0 7px 15px rgba(15,23,42,.08)!important;
}

/* Tabelas mais elegantes no desktop */
.table-wrap{
    background:#fff!important;
    border:1px solid var(--gorganix-premium-line)!important;
    border-radius:18px!important;
    box-shadow:var(--gorganix-premium-shadow-soft)!important;
    overflow:auto;
}
.table-wrap table{
    border-collapse:separate!important;
    border-spacing:0!important;
    width:100%;
}
.table-wrap thead th,
table thead th{
    background:linear-gradient(180deg,#f8fbff,#eef5ff)!important;
    color:#334155!important;
    font-size:11px!important;
    text-transform:uppercase!important;
    letter-spacing:.055em!important;
    font-weight:900!important;
    border-bottom:1px solid #dbe7f5!important;
    padding:10px 12px!important;
    white-space:nowrap!important;
}
.table-wrap tbody td,
table tbody td{
    font-size:13px!important;
    color:#1e293b;
    border-bottom:1px solid #eef2f7!important;
    padding:10px 12px!important;
    vertical-align:middle!important;
}
.table-wrap tbody tr:hover td{
    background:#f8fbff!important;
}
.table-wrap tbody tr:last-child td{
    border-bottom:0!important;
}

/* Formulários: mais compactos e alinhados */
.grid-form,
.form-grid,
.form-row{
    gap:12px!important;
}
.grid-form label,
.form-grid label,
.form-row label{
    font-size:12px!important;
    font-weight:800!important;
    color:#475569!important;
}
.grid-form input,
.grid-form select,
.grid-form textarea,
.form-grid input,
.form-grid select,
.form-grid textarea{
    border-radius:13px!important;
    border:1px solid #d8e4f2!important;
    background:#fff!important;
    font-size:13px!important;
    min-height:40px!important;
    padding:9px 12px!important;
}
.grid-form textarea,
.form-grid textarea{
    min-height:88px!important;
}

/* Mobile/tablet: busca deixa de ficar gigante e confusa */
@media(max-width:900px){
    .page-header,
    .table-header,
    .detail-topbar{
        padding:14px!important;
        border-radius:18px!important;
    }
    .table-tools,
    .clientes-table-tools,
    .empresas-table-tools,
    .usuarios-table-tools,
    .estoque-list-toolbar,
    .movimento-table-tools,
    .at-tools-filters,
    .filters{
        padding:11px!important;
        border-radius:17px!important;
        margin:10px 0 14px!important;
    }
    .table-tools form,
    .table-tools .left,
    .table-tools .right,
    .clientes-table-tools form,
    .empresas-search-form,
    .usuarios-search-form,
    .setores-search-bar,
    .at-filters-form,
    .estoque-search-form,
    .movimento-search-form,
    .search-inline,
    .filters{
        gap:8px!important;
    }
    .search-box,
    .estoque-search-box,
    .at-search-box,
    .table-tools input,
    .filters input,
    .filters select,
    .filter-select{
        flex:1 1 100%!important;
        min-width:0!important;
        width:100%!important;
        height:39px!important;
        min-height:39px!important;
        font-size:13px!important;
    }
    .table-tools select,
    .filters select,
    .filter-select{
        flex:1 1 calc(50% - 8px)!important;
        width:auto!important;
    }
    .btn-primary,
    .btn-secondary,
    .btn-light,
    .btn-danger,
    .btn-search,
    .btn-search-table,
    .filters button,
    .form-actions button,
    .form-actions a{
        height:39px!important;
        min-height:39px!important;
        padding:0 13px!important;
        font-size:12.5px!important;
        flex:0 0 auto;
    }
    .empresas-search-actions,
    .usuarios-search-actions,
    .search-actions,
    .form-actions,
    .actions-row{
        width:100%;
        display:flex!important;
        flex-wrap:wrap!important;
        justify-content:flex-start!important;
    }
}

@media(max-width:640px){
    .page-header h1{font-size:19px!important;}
    .page-header p{font-size:12.5px!important;}
    .table-tools select,
    .filters select,
    .filter-select{
        flex:1 1 100%!important;
        width:100%!important;
    }
    .btn-primary,
    .btn-secondary,
    .btn-light,
    .btn-danger,
    .btn-search,
    .btn-search-table,
    .filters button,
    .form-actions button,
    .form-actions a{
        width:auto!important;
        min-width:112px;
    }
    .form-actions > button,
    .form-actions > a,
    .filters button{
        flex:1 1 calc(50% - 8px)!important;
    }
    .table-tools .btn-primary,
    .table-tools .btn-light,
    .table-tools .btn-secondary,
    .table-tools .btn-danger,
    .table-tools button,
    .table-tools a{
        flex:1 1 calc(50% - 8px)!important;
    }
    table.gorganix-table-mobile tr{
        border-radius:15px!important;
        box-shadow:0 9px 22px rgba(15,23,42,.065)!important;
    }
}

@media(max-width:420px){
    .btn-primary,
    .btn-secondary,
    .btn-light,
    .btn-danger,
    .btn-search,
    .btn-search-table,
    .filters button,
    .form-actions button,
    .form-actions a,
    .table-tools button,
    .table-tools a{
        flex:1 1 100%!important;
        width:100%!important;
    }
}

/* ======================================================================
   Dashboard - Gestão / Atalhos em 2 colunas SOMENTE NO CELULAR
   Regra amarrada na classe específica do HTML para não alterar PC/tablet.
   ====================================================================== */
@media screen and (max-width: 767px){
    .shortcuts-panel .shortcut-list.dashboard-atalhos-mobile-grid{
        display:grid!important;
        grid-template-columns:repeat(2, minmax(0, 1fr))!important;
        gap:9px!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
    }

    .shortcuts-panel .shortcut-list.dashboard-atalhos-mobile-grid > a{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:8px!important;
        padding:11px 10px!important;
        border-radius:14px!important;
        font-size:12.5px!important;
        line-height:1.15!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    .shortcuts-panel .shortcut-list.dashboard-atalhos-mobile-grid > a .shortcut-icon{
        width:18px!important;
        height:18px!important;
        flex:0 0 18px!important;
    }
}

/* ======================================================================
   Login desktop - blindagem visual
   Mantém o login do PC exatamente no padrão original, inclusive fundo azul
   com linhas. A camada responsiva global não deve interferir na tela de login.
   ====================================================================== */
body.gorganix-login-page{
    background:#07111f!important;
    overflow:hidden!important;
    font-family:'Manrope','Segoe UI',Arial,sans-serif!important;
}

@media screen and (min-width:901px){
    body.gorganix-login-page .login-shell{
        position:relative!important;
        display:grid!important;
        grid-template-columns:1.12fr .88fr!important;
        width:100%!important;
        min-height:100vh!important;
        height:100vh!important;
        overflow:hidden!important;
        background:
            radial-gradient(circle at 14% 18%, rgba(56, 189, 248, .35), transparent 25%),
            radial-gradient(circle at 84% 20%, rgba(124, 58, 237, .22), transparent 28%),
            linear-gradient(135deg, #050b18, #08172e 48%, #0b2a52)!important;
    }

    body.gorganix-login-page .login-shell::after{
        content:''!important;
        position:absolute!important;
        inset:0!important;
        pointer-events:none!important;
        background-image:
            linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px)!important;
        background-size:42px 42px!important;
        -webkit-mask-image:linear-gradient(90deg, rgba(0, 0, 0, .8), rgba(0, 0, 0, .25))!important;
        mask-image:linear-gradient(90deg, rgba(0, 0, 0, .8), rgba(0, 0, 0, .25))!important;
    }

    body.gorganix-login-page .login-visual{
        position:relative!important;
        display:flex!important;
        align-items:center!important;
        overflow:hidden!important;
        padding:76px 84px!important;
        color:#fff!important;
        background:transparent!important;
    }

    body.gorganix-login-page .login-form-area{
        position:relative!important;
        z-index:2!important;
        display:grid!important;
        place-items:center!important;
        min-height:100vh!important;
        padding:44px!important;
        background:transparent!important;
    }

    body.gorganix-login-page .login-card{
        width:min(410px,100%)!important;
        padding:34px 36px 32px!important;
        border:1px solid rgba(226, 235, 247, .92)!important;
        border-radius:28px!important;
        background:linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(248, 251, 255, .92))!important;
        box-shadow:
            0 34px 80px rgba(2, 18, 43, .32),
            0 14px 28px rgba(15, 23, 42, .08),
            inset 0 1px 0 rgba(255, 255, 255, .88)!important;
        backdrop-filter:blur(24px)!important;
    }

    body.gorganix-login-page .brand-large img{
        display:block!important;
        width:min(330px,120%)!important;
        max-height:110px!important;
        object-fit:contain!important;
        filter:drop-shadow(0 22px 46px rgba(14, 165, 233, .20))!important;
    }

    body.gorganix-login-page .login-visual h1{
        max-width:none!important;
        margin:0!important;
        color:#fff!important;
        font-size:28px!important;
        font-weight:600!important;
        line-height:1.16!important;
        letter-spacing:-.025em!important;
        white-space:nowrap!important;
    }
}

/* ======================================================================
   Dashboard mobile - gráficos primeiro, cards estáticos abaixo
   Somente celular. PC e tablet permanecem com a ordem original.
   ====================================================================== */
@media screen and (max-width: 767px) {
    .dashboard-main {
        display: flex !important;
        flex-direction: column !important;
    }

    .dashboard-main > .dashboard-triple-charts {
        order: 10 !important;
    }

    .dashboard-main > .metric-grid {
        order: 20 !important;
    }

    .dashboard-main > .dashboard-grid {
        order: 30 !important;
    }
}
