*{box-sizing:border-box}body{margin:0;font:14px Arial;background:#f4f6f9;color:#222}#menu{position:fixed;width:245px;height:100vh;background:#1f2937;padding:18px;overflow:auto;color:white;transition:.2s}#menu h2{font-size:18px}#menu a{display:block;color:#e5e7eb;text-decoration:none;padding:9px;border-radius:5px}#menu a:hover{background:#374151}main{margin-left:245px;transition:.2s;padding:0 22px 30px}.menu-off #menu{left:-245px}.menu-off main{margin-left:0}header{height:58px;background:white;margin:0 -22px 22px;padding:12px 22px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 4px #ccc}.card{background:white;border-radius:8px;padding:18px;margin-bottom:18px;box-shadow:0 1px 5px #ddd}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px}.kpi strong{font-size:24px;display:block;margin-top:8px}.btn,button{background:#2563eb;color:#fff;border:0;border-radius:5px;padding:9px 13px;text-decoration:none;cursor:pointer}.danger{background:#dc2626}.success{background:#16a34a}.secondary{background:#64748b}.alert{padding:12px;margin-bottom:15px;border-radius:5px;background:#dbeafe}.alert.erro{background:#fee2e2}.alert.sucesso{background:#dcfce7}table{width:100%;border-collapse:collapse;background:white}th,td{padding:10px;border-bottom:1px solid #ddd;text-align:left}input,select,textarea{width:100%;padding:9px;border:1px solid #ccc;border-radius:5px}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px}.actions{display:flex;gap:6px;flex-wrap:wrap}.badge{padding:4px 7px;border-radius:10px;background:#e5e7eb}.low{background:#fef3c7}@media(max-width:800px){#menu{left:-245px}main{margin-left:0}.menu-off #menu{left:0}.menu-off main{margin-left:245px}}@media print{#menu,header,.no-print{display:none}main{margin:0;padding:0}}
.table-scroll{overflow-x:auto;margin-bottom:10px}.table-scroll table{min-width:760px}.table-scroll select{min-width:300px}

/* Menu lateral V6: ícones visuais antes dos textos */
#menu .menu-logo{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;background:#374151;border-radius:7px;margin-right:6px}
#menu .menu-nav{display:flex;flex-direction:column;gap:2px}
#menu .menu-nav a{display:flex;align-items:center;gap:11px;min-height:40px;padding:8px 10px}
#menu .menu-icon{width:25px;min-width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;filter:saturate(.9)}
#menu .menu-nav a:hover .menu-icon{transform:scale(1.08)}
#menu .menu-icon{transition:transform .12s ease}
#menu .menu-sair{margin-top:8px;border-top:1px solid #374151;padding-top:12px}

.orc-print{max-width:900px;margin:0 auto;background:#fff;padding:24px}
@media print{
 #menu,.menu-toggle,.no-print,header,nav{display:none!important}
 main,.content,.orc-print{margin:0!important;padding:0!important;max-width:none!important}
 body{background:#fff!important;font-size:11pt}
 table{width:100%;border-collapse:collapse}
 th,td{border:1px solid #bbb;padding:7px}
 .card{box-shadow:none!important;border:1px solid #ddd!important}
}

/* V11.3 - Tela de orçamento estável e responsiva */
.orc-page{max-width:1280px;margin:0 auto}
.orc-titlebar,.orc-section-head,.orc-savebar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.orc-titlebar{margin-bottom:16px}.orc-titlebar h1{margin-bottom:4px}.orc-titlebar p,.orc-section-head p{margin:0;color:#64748b}
.orc-section h2{margin-top:0}.orc-grid{display:grid;gap:14px}.orc-grid-3{grid-template-columns:2fr 1fr 1fr}.orc-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.orc-items{display:flex;flex-direction:column;gap:12px}
.orc-item-card{border:1px solid #dbe1e8;border-radius:8px;padding:14px;background:#f8fafc}
.orc-item-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.orc-item-grid{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(240px,2fr) 120px 150px 150px;gap:10px;align-items:end}
.orc-item-grid label{display:block;margin-bottom:5px;font-weight:600}
.orc-empty{padding:18px;text-align:center;color:#64748b;border:1px dashed #cbd5e1;border-radius:8px}
.orc-total-input{font-weight:700;font-size:17px;background:#ecfdf5}
.orc-savebar{position:sticky;bottom:0;background:#fff;border:1px solid #dbe1e8;border-radius:8px;padding:12px 16px;box-shadow:0 -2px 12px rgba(0,0,0,.08);z-index:5}
.orc-savebar>div{display:flex;gap:18px;align-items:center}.orc-savebar span{font-size:18px;font-weight:700}
@media(max-width:1100px){.orc-item-grid{grid-template-columns:1fr 1fr 110px 140px}.orc-item-grid>div:last-child{grid-column:4}.orc-desc-wrap{grid-column:2}}
@media(max-width:800px){
 .orc-titlebar,.orc-section-head{align-items:flex-start;flex-direction:column}
 .orc-grid-3,.orc-grid-4,.orc-item-grid{grid-template-columns:1fr}
 .orc-item-grid>div,.orc-item-grid>div:last-child,.orc-desc-wrap{grid-column:auto}
 .orc-savebar{flex-direction:column;align-items:stretch}
 .orc-savebar>div{justify-content:space-between}
 .orc-savebar button{width:100%}
}

/* V11.5 - Menu lateral agrupado */
.menu-nav{display:flex;flex-direction:column;gap:4px}
.menu-main-link,.menu-group summary{min-height:42px;box-sizing:border-box}
.menu-group{margin:0;border:0}
.menu-group summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:7px;cursor:pointer;list-style:none;color:inherit;font-weight:600;user-select:none}
.menu-group summary::-webkit-details-marker{display:none}
.menu-group summary:hover{background:rgba(255,255,255,.08)}
.menu-group-label{display:flex;align-items:center;gap:10px;min-width:0}
.menu-chevron{font-size:22px;line-height:16px;transition:transform .18s ease;opacity:.75}
.menu-group[open] .menu-chevron{transform:rotate(90deg)}
.submenu{display:flex;flex-direction:column;gap:2px;padding:3px 0 7px 18px;margin-left:18px;border-left:1px solid rgba(255,255,255,.15)}
.submenu a{font-size:.93em;padding:8px 10px;min-height:36px;border-radius:6px}
.submenu a.active{background:rgba(255,255,255,.12);font-weight:700}
.menu-off .menu-group summary .menu-group-label span:not(.menu-icon),.menu-off .menu-chevron{display:none}
.menu-off .menu-group summary{justify-content:center}
.menu-off .submenu{display:none}

/* V11.8 - Pesquisa e seleção dinâmica de produtos */
.produto-search-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,2fr) auto;gap:14px;align-items:end}
.produto-search-info{display:flex;align-items:center;gap:10px;min-height:42px}
.produto-table tbody tr{cursor:pointer;transition:background .12s ease,box-shadow .12s ease}
.produto-table tbody tr:hover{filter:brightness(.97)}
.produto-table tbody tr.produto-selecionado{outline:2px solid currentColor;outline-offset:-2px;font-weight:600}
.produto-actions .disabled{opacity:.45;pointer-events:none}
@media(max-width:800px){.produto-search-grid{grid-template-columns:1fr}.produto-search-info{justify-content:space-between}}

/* V12.0 - Impressão de orçamento em janela flutuante */
.orc-print-modal{display:none;position:fixed;inset:0;z-index:9999}
.orc-print-modal.open{display:block}
.orc-print-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.78);backdrop-filter:blur(2px)}
.orc-print-dialog{position:absolute;inset:3vh 4vw;background:#e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.4);display:flex;flex-direction:column}
.orc-print-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:#fff;border-bottom:1px solid #d1d5db}
.orc-print-toolbar>div{display:flex;gap:8px}
.orc-print-scroll{overflow:auto;flex:1;padding:24px}
.orc-print-paper{background:#fff;max-width:900px;min-height:600px;margin:0 auto;padding:30px;box-shadow:0 4px 20px rgba(0,0,0,.16)}
.orc-print-paper .orc-print{max-width:none;margin:0}
.orc-print-loading{text-align:center;padding:80px 20px;color:#64748b}
body.orc-modal-open{overflow:hidden}
@media(max-width:700px){
 .orc-print-dialog{inset:1vh 2vw}
 .orc-print-toolbar{align-items:flex-start;flex-direction:column}
 .orc-print-scroll{padding:8px}
 .orc-print-paper{padding:16px;min-width:680px}
}
@media print{
 body.orc-modal-open > *:not(.orc-print-modal){display:none!important}
 body.orc-modal-open .orc-print-modal{display:block!important;position:static!important}
 body.orc-modal-open .orc-print-backdrop,
 body.orc-modal-open .orc-print-toolbar{display:none!important}
 body.orc-modal-open .orc-print-dialog{position:static!important;display:block!important;background:#fff!important;box-shadow:none!important;border-radius:0!important}
 body.orc-modal-open .orc-print-scroll{overflow:visible!important;padding:0!important}
 body.orc-modal-open .orc-print-paper{max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;box-shadow:none!important}
}

/* V12.4 - Seletor flutuante de produtos */
.produto-picker{display:none;position:fixed;inset:0;z-index:10050}
.produto-picker.open{display:block}
.produto-picker-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(1.5px)}
.produto-picker-dialog{position:absolute;left:7vw;right:7vw;top:7vh;bottom:7vh;background:#fff;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.42);display:flex;flex-direction:column;overflow:hidden}
.produto-picker-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;border-bottom:1px solid #ddd}
.produto-picker-head strong{display:block;font-size:19px}.produto-picker-head small{display:block;color:#64748b;margin-top:3px}
.produto-picker-search{display:grid;grid-template-columns:1fr 2fr auto;gap:12px;align-items:end;padding:15px 18px;background:#f8fafc;border-bottom:1px solid #e5e7eb}
.pp-count{padding-bottom:10px;white-space:nowrap;color:#64748b}
.produto-picker-table{overflow:auto;flex:1}.produto-picker-table table{margin:0}
.produto-picker-row{cursor:pointer}.produto-picker-row:hover,.produto-picker-row:focus{background:#eef6ff;outline:none}
.produto-picker-field{cursor:pointer;background:#fff!important}
.produto-picker-field[readonly]{opacity:1;color:inherit}
body.produto-picker-open{overflow:hidden}
@media(max-width:700px){.produto-picker-dialog{left:2vw;right:2vw;top:2vh;bottom:2vh}.produto-picker-search{grid-template-columns:1fr}.pp-count{padding-bottom:0}}

/* V12.7 - Filtros e visualização flutuante de vendas */
.venda-filtros{display:grid;grid-template-columns:1fr 1.6fr 1fr 1fr auto;gap:12px;align-items:end}
.venda-filtro-actions{display:flex;gap:8px;align-items:center;padding-bottom:1px}
.venda-modal{display:none;position:fixed;inset:0;z-index:10060}
.venda-modal.open{display:block}
.venda-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(1.5px)}
.venda-modal-dialog{position:absolute;left:6vw;right:6vw;top:5vh;bottom:5vh;background:#fff;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.42);display:flex;flex-direction:column;overflow:hidden}
.venda-modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 18px;border-bottom:1px solid #ddd}
.venda-modal-head strong{font-size:19px}.venda-modal-content{padding:20px;overflow:auto;flex:1}.venda-modal-loading{text-align:center;padding:70px;color:#64748b}
.venda-detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:20px}.venda-detail-grid>div{border:1px solid #e5e7eb;border-radius:8px;padding:10px}.venda-detail-grid small,.venda-detail-grid strong{display:block}.venda-detail-grid small{color:#64748b;margin-bottom:4px}
.venda-totais{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;margin:15px 0 22px}.venda-totais span{display:flex;gap:7px}.venda-total-final{font-size:18px}
body.venda-modal-open{overflow:hidden}
@media(max-width:900px){.venda-filtros{grid-template-columns:1fr 1fr}.venda-detail-grid{grid-template-columns:1fr 1fr}.venda-filtro-actions{grid-column:1/-1}}
@media(max-width:600px){.venda-filtros,.venda-detail-grid{grid-template-columns:1fr}.venda-modal-dialog{left:2vw;right:2vw;top:2vh;bottom:2vh}}

/* V12.8 - confirmação de estoque e nota de venda */
.estoque-confirm-modal,.nota-modal{display:none;position:fixed;inset:0;z-index:10080}.estoque-confirm-modal.open,.nota-modal.open{display:block}
.estoque-confirm-backdrop,.nota-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(1.5px)}
.estoque-confirm-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,92vw);max-height:82vh;overflow:auto;background:#fff;border-radius:12px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.estoque-confirm-dialog h2{margin-top:0}.estoque-confirm-list{display:grid;gap:8px;margin:15px 0}.estoque-confirm-item{border:1px solid #e5e7eb;border-radius:8px;padding:10px}.estoque-confirm-item b,.estoque-confirm-item span{display:block}.estoque-confirm-item span{color:#64748b;margin-top:3px}.estoque-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.nota-modal-dialog{position:absolute;left:7vw;right:7vw;top:4vh;bottom:4vh;background:#e5e7eb;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.nota-modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border-bottom:1px solid #ddd;padding:12px 16px}.nota-modal-scroll{overflow:auto;flex:1;padding:22px}.nota-modal-paper{max-width:850px;min-height:500px;margin:auto;background:#fff;padding:28px;box-shadow:0 4px 18px rgba(0,0,0,.16)}
.nota-venda-cabecalho{text-align:center;border-bottom:2px solid #222;padding-bottom:10px;margin-bottom:12px}.nota-venda-cabecalho h2{margin:0 0 5px}.nota-venda-cabecalho strong,.nota-venda-cabecalho span{display:block}.nota-venda-info{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0}.nota-venda-totais{text-align:right;margin:15px 0}.nota-venda-totais span,.nota-venda-totais strong{display:block;margin:4px}.nota-venda-totais strong{font-size:20px}.nota-venda-rodape{text-align:center;margin-top:25px}
body.estoque-confirm-open,body.nota-modal-open{overflow:hidden}
@media(max-width:600px){.nota-modal-dialog{left:2vw;right:2vw;top:2vh;bottom:2vh}.nota-modal-scroll{padding:8px}.nota-modal-paper{padding:15px}.nota-modal-toolbar{align-items:flex-start;flex-direction:column}}

.estabelecimento-atual{display:inline-block;margin-left:10px;padding:4px 9px;border:1px solid #d1d5db;border-radius:999px;font-size:12px;font-weight:normal;background:#fff}
@media(max-width:600px){.estabelecimento-atual{display:block;margin:4px 0 0}}

/* V12.17 - produto livre na venda */
.venda-item-livre-box{margin-top:18px}
.venda-item-livre-box table input{min-width:110px}
.venda-item-livre-box .livre-nome{min-width:260px}
@media(max-width:700px){.venda-item-livre-box .livre-nome{min-width:190px}}

/* V12.18 - ações do histórico de caixas */
.caixa-acoes{display:flex;align-items:center;gap:10px;white-space:nowrap}
.caixa-print-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;font-size:21px;text-decoration:none;border:1px solid #d1d5db;border-radius:7px;background:#fff;line-height:1}
.caixa-print-icon:hover{background:#f3f4f6;transform:translateY(-1px)}

/* V12.19 - Nova Venda: contraste, hierarquia visual e áreas destacadas */
body:has(.nova-venda-page){background:#e4e7eb}
.nova-venda-page{padding:8px 4px 28px}
.nova-venda-page>h1{margin-bottom:18px}
.nova-venda-page .card{
  background:#fff;
  border:1px solid #cbd1d8;
  border-radius:12px;
  box-shadow:0 3px 12px rgba(15,23,42,.08);
  padding:18px;
  margin-bottom:16px
}
.nova-venda-page label{
  display:block;
  font-weight:700;
  color:#273142;
  margin-bottom:6px
}
.nova-venda-page input,
.nova-venda-page select,
.nova-venda-page textarea{
  background:#f9fafb;
  border:1px solid #aeb7c2;
  border-radius:8px;
  min-height:42px;
  transition:border-color .15s,box-shadow .15s,background .15s
}
.nova-venda-page input:focus,
.nova-venda-page select:focus,
.nova-venda-page textarea:focus{
  background:#fff;
  border-color:#52606d;
  box-shadow:0 0 0 3px rgba(82,96,109,.14);
  outline:none
}
.nova-venda-page #itens,
.nova-venda-page #itensLivres{
  background:#fff;
  border:1px solid #cbd1d8;
  border-radius:10px;
  overflow:hidden
}
.nova-venda-page #itens thead,
.nova-venda-page #itensLivres thead{background:#eef1f4}
.nova-venda-page #itens th,
.nova-venda-page #itensLivres th{
  color:#273142;
  font-weight:700;
  border-bottom:1px solid #cbd1d8
}
.nova-venda-page #itens tbody tr:nth-child(even),
.nova-venda-page #itensLivres tbody tr:nth-child(even){background:#fafbfc}
.nova-venda-page .venda-item-livre-box{
  border-left:5px solid #64748b;
  background:#f8fafc
}
.nova-venda-page .venda-item-livre-box h3{
  padding-bottom:9px;
  border-bottom:1px solid #d9dee5;
  color:#273142
}
.nova-venda-page button,
.nova-venda-page .btn{border-radius:8px}
.nova-venda-page .kpi{
  border-top:4px solid #64748b;
  background:#fff
}
@media(max-width:700px){
  body:has(.nova-venda-page){background:#e7eaee}
  .nova-venda-page{padding:4px 0 20px}
  .nova-venda-page .card{padding:14px}
}

/* V12.20 - destaque do bloco de produtos cadastrados */
.nova-venda-page .venda-item-cadastrado-box{
  margin-top:18px;
  border-left:5px solid #475569;
  background:#f8fafc
}
.nova-venda-page .venda-item-cadastrado-box h3{
  padding-bottom:9px;
  border-bottom:1px solid #d9dee5;
  color:#273142
}
.nova-venda-page .venda-item-cadastrado-box p small{color:#52606d}

/* V12.22 - correção definitiva do menu lateral em navegadores móveis */
.menu-mobile-backdrop{display:none}
@media(max-width:800px){
  #menu{
    left:-260px;
    top:0;
    bottom:0;
    width:245px;
    height:100dvh;
    max-height:100vh;
    z-index:12000;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    box-shadow:8px 0 28px rgba(0,0,0,.28);
    transition:left .22s ease;
  }
  main,
  .menu-off main{
    margin-left:0!important;
  }
  .menu-off #menu{
    left:-260px;
  }
  body.menu-mobile-open{
    overflow:hidden;
  }
  body.menu-mobile-open #menu{
    left:0!important;
  }
  body.menu-mobile-open .menu-mobile-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:11990;
    background:rgba(15,23,42,.55);
  }
  .menu-toggle-mobile{
    min-width:44px;
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    touch-action:manipulation;
  }
  #menu .menu-group summary,
  #menu .menu-nav a{
    min-height:44px;
    touch-action:manipulation;
  }
}

/* V12.23 - menu móvel refeito: botão, itens e subitens sempre visíveis */
@media(max-width:800px){
  #menu{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    left:-255px!important;
    width:245px!important;
    padding:18px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  body.menu-mobile-open #menu{
    left:0!important;
  }

  /* No celular não aplicar as regras de menu recolhido do desktop. */
  body.menu-off #menu{
    left:-255px!important;
  }
  body.menu-mobile-open.menu-off #menu{
    left:0!important;
  }
  body.menu-mobile-open #menu .menu-nav,
  body.menu-mobile-open #menu .menu-main-link,
  body.menu-mobile-open #menu .menu-group,
  body.menu-mobile-open #menu .menu-group summary,
  body.menu-mobile-open #menu .menu-group-label,
  body.menu-mobile-open #menu .menu-group-label span,
  body.menu-mobile-open #menu .menu-chevron{
    visibility:visible!important;
    opacity:1!important;
  }
  body.menu-mobile-open #menu .menu-nav{
    display:flex!important;
  }
  body.menu-mobile-open #menu .menu-main-link{
    display:flex!important;
  }
  body.menu-mobile-open #menu .menu-group{
    display:block!important;
  }
  body.menu-mobile-open #menu .menu-group summary{
    display:flex!important;
    justify-content:space-between!important;
  }
  body.menu-mobile-open #menu .menu-group summary .menu-group-label span:not(.menu-icon){
    display:inline!important;
  }
  body.menu-mobile-open #menu .menu-chevron{
    display:inline!important;
  }
  body.menu-mobile-open #menu .menu-group[open] .submenu{
    display:flex!important;
  }
  body.menu-mobile-open #menu .menu-group:not([open]) .submenu{
    display:none!important;
  }
  body.menu-mobile-open #menu .submenu a{
    display:flex!important;
  }
  .menu-mobile-backdrop{display:none!important}
  body.menu-mobile-open .menu-mobile-backdrop{
    display:block!important;
  }
  .menu-toggle-mobile{
    position:relative;
    z-index:12020;
  }
}

/* V12.24 - controle do menu sem dependência de JavaScript */
.menu-controller{
  position:fixed;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.menu-toggle-mobile{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:38px;
  padding:8px 12px;
  border-radius:5px;
  background:#2563eb;
  color:#fff;
  cursor:pointer;
  user-select:none;
  font-size:22px;
  line-height:1;
  position:relative;
  z-index:12020;
}
.menu-controller:checked ~ #menu{
  left:-245px!important;
}
.menu-controller:checked ~ main{
  margin-left:0!important;
}

/* Desktop: desmarcado = menu aberto; marcado = menu oculto */
@media(min-width:801px){
  .menu-mobile-backdrop{display:none!important}
}

/* Celular: desmarcado = menu oculto; marcado = menu aberto */
@media(max-width:800px){
  #menu{
    left:-255px!important;
    z-index:12000!important;
  }
  main{
    margin-left:0!important;
  }
  .menu-controller:checked ~ #menu{
    left:0!important;
  }
  .menu-controller:checked ~ main{
    margin-left:0!important;
  }
  .menu-controller:checked ~ .menu-mobile-backdrop{
    display:block!important;
    position:fixed;
    inset:0;
    z-index:11990;
    background:rgba(15,23,42,.55);
  }

  /* Neutraliza completamente regras antigas de menu-off no celular. */
  .menu-off #menu,
  body.menu-mobile-open #menu,
  body.menu-mobile-open.menu-off #menu{
    left:-255px!important;
  }
  .menu-controller:checked ~ #menu .menu-group summary .menu-group-label span:not(.menu-icon),
  .menu-controller:checked ~ #menu .menu-chevron{
    display:inline!important;
  }
  .menu-controller:checked ~ #menu .menu-group[open] .submenu{
    display:flex!important;
  }
  .menu-controller:checked ~ #menu .menu-group:not([open]) .submenu{
    display:none!important;
  }
}

/* V12.25 - submenu Administrador exclusivo do login admin */
.menu-subgroup{margin:2px 0;border:0}
.menu-subgroup>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:8px 10px;border-radius:6px;cursor:pointer;list-style:none;color:inherit;font-weight:600;user-select:none}
.menu-subgroup>summary::-webkit-details-marker{display:none}
.menu-subgroup>summary:hover{background:rgba(255,255,255,.08)}
.menu-subgroup[open]>summary .menu-chevron{transform:rotate(90deg)}
.submenu-nivel2{margin-left:28px;padding-left:12px;border-left:1px solid rgba(255,255,255,.18)}
@media(max-width:800px){
 #menu .admin-submenu>summary{display:flex!important}
 #menu .admin-submenu>summary .menu-group-label span:not(.menu-icon),#menu .admin-submenu>summary .menu-chevron{display:inline!important}
 #menu .admin-submenu[open]>.submenu-nivel2{display:flex!important}
 #menu .admin-submenu:not([open])>.submenu-nivel2{display:none!important}
}
