@media (max-width:600px){

  :root{
    --mobile-blue:#06477e;
    --mobile-blue-2:#075b98;
    --mobile-bg:#f3f6fb;
  }

  html,body{
    width:100%;
    margin:0;
    overflow-x:hidden;
    background:var(--mobile-bg);
  }

  body{
    padding-bottom:76px!important;
  }

  /* Remove menu lateral tradicional */
  .shell{
    display:block!important;
    min-height:100vh;
  }

  .shell>aside{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    width:100%!important;
    height:72px!important;
    z-index:100!important;
    background:#fff!important;
    border-top:1px solid #dfe5ec;
    box-shadow:0 -4px 20px #0b1f3712;
  }

  .shell>aside .brand,
  .shell>aside footer{
    display:none!important;
  }

  .shell>aside nav{
    height:72px!important;
    padding:4px 5px!important;
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    overflow:visible!important;
    gap:2px!important;
  }

  .shell>aside nav button{
    min-width:0!important;
    width:100%!important;
    height:64px!important;
    padding:32px 3px 5px!important;
    position:relative;
    border-radius:10px!important;
    color:#607086!important;
    font-size:10px!important;
    text-align:center!important;
    background:transparent!important;
    white-space:nowrap;
  }

  .shell>aside nav button.active{
    background:#eaf4ff!important;
    color:#075b98!important;
  }

  /* Cabeçalho */
  .shell>main{
    width:100%!important;
    margin:0!important;
  }

  .shell>main>header{
    height:70px!important;
    padding:0 16px!important;
    position:sticky!important;
    top:0!important;
    z-index:50!important;
    border:0!important;
    background:linear-gradient(135deg,var(--mobile-blue),var(--mobile-blue-2))!important;
    box-shadow:0 3px 12px #0b1f3720;
  }

  .shell>main>header::before{
    content:"☰";
    color:#fff;
    font-size:22px;
    width:34px;
    flex:0 0 34px;
  }

  .shell>main>header #global-search{
    height:40px!important;
    margin-left:4px;
    width:calc(100% - 88px)!important;
    background:#ffffff18!important;
    border:1px solid #ffffff28!important;
    color:#fff!important;
    border-radius:12px!important;
  }

  .shell>main>header #global-search::placeholder{
    color:#dce9f5;
  }

  .avatar{
    width:38px!important;
    height:38px!important;
    background:#fff!important;
    color:var(--mobile-blue)!important;
    border:2px solid #ffffff80;
  }

  .content{
    padding:16px 12px 24px!important;
    width:100%!important;
  }

  /* Títulos */
  .title{
    margin-bottom:14px!important;
  }

  .title-row{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
  }

  .title small{
    font-size:10px!important;
  }

  .title h1{
    margin:4px 0!important;
    font-size:21px!important;
  }

  .title p{
    margin:0!important;
    font-size:12px!important;
  }

  .title-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }

  .title-actions button{
    min-width:0!important;
    width:100%!important;
    min-height:44px!important;
  }

  /* Indicadores */
  .stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-bottom:14px!important;
  }

  .stats article{
    border:0!important;
    border-radius:16px!important;
    padding:15px!important;
    box-shadow:0 4px 15px #132c4810;
  }

  .stats span{
    font-size:11px!important;
  }

  .stats b{
    font-size:21px!important;
    margin-top:7px!important;
  }

  /* Atalhos */
  .mobile-shortcuts{
    margin:16px 0 18px;
  }

  .mobile-shortcuts-title{
    font-size:16px;
    font-weight:800;
    margin:0 0 10px;
  }

  .mobile-shortcuts-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }

  .mobile-shortcut{
    min-height:105px;
    padding:12px 7px;
    border:0;
    border-radius:16px;
    background:#fff;
    box-shadow:0 4px 15px #132c4812;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:9px;
    color:#34445a;
    text-align:center;
    font-size:11px;
    font-weight:650;
  }

  .mobile-shortcut-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:linear-gradient(135deg,#075b98,#0979b8);
    color:#fff;
    font-size:21px;
    box-shadow:0 5px 12px #075b9825;
  }

  /* Painéis */
  .panel{
    border:0!important;
    border-radius:16px!important;
    box-shadow:0 4px 15px #132c4810;
  }

  .panel-pad{
    padding:14px!important;
  }

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

  .param-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  input,select{
    min-height:44px;
  }

  /* Produtos e orçamento */
  .product-picker{
    border:0!important;
    border-radius:14px!important;
    max-height:none!important;
  }

  .product-picker article{
    background:#fff;
    margin-bottom:8px;
    border:1px solid #e8edf4!important;
    border-radius:12px;
    padding:12px 10px!important;
  }

  /* Tabelas */
  .table{
    overflow-x:auto;
    border-radius:14px!important;
  }

  .table table{
    min-width:700px;
  }

  th,td{
    padding:10px 8px!important;
  }

  /* Modais */
  dialog{
    width:calc(100% - 16px)!important;
    max-height:92vh!important;
    border-radius:18px!important;
  }

  .modal-form{
    padding:18px 14px!important;
  }

  .modal-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

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

  #toast{
    left:12px!important;
    right:12px!important;
    bottom:84px!important;
    text-align:center;
  }
}

@media(max-width:380px){
  .mobile-shortcuts-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .stats{
    grid-template-columns:1fr 1fr!important;
  }
}

/* =========================================================
   IMPRESSAO + PRECO FINAL - ORGANIZACAO MOBILE
   ========================================================= */
@media(max-width:600px){

  /* Colunas de preço em 3 por linha */
  .mobile-price-columns{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:8px!important;
  }

  .mobile-price-columns .check{
    min-height:42px;
    padding:8px 6px;
    border:1px solid #e4eaf1;
    border-radius:10px;
    background:#f8fafc;
    justify-content:flex-start;
    font-size:11px;
    line-height:1.15;
  }

  .mobile-price-columns .check input{
    width:17px!important;
    height:17px!important;
    flex:0 0 17px;
    margin:0;
  }

  .mobile-product-search{
    margin-top:14px;
  }

  .mobile-product-search label{
    display:grid;
    gap:7px;
  }

  .mobile-product-search input{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
  }
}

@media(max-width:360px){
  .mobile-price-columns{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* =========================================================
   COLUNAS DE PRECO - IMPRESSAO / PRECO FINAL
   ========================================================= */
@media(max-width:600px){

  .print-config .mobile-price-columns{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin:8px 0 14px!important;
  }

  .print-config .mobile-price-columns label.check{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-width:0!important;
    width:100%!important;
    min-height:44px!important;
    padding:8px 7px!important;
    margin:0!important;
    background:#f7f9fc!important;
    border:1px solid #e1e7ef!important;
    border-radius:10px!important;
    font-size:11px!important;
    line-height:1.15!important;
  }

  .print-config .mobile-price-columns input[type="checkbox"]{
    width:17px!important;
    height:17px!important;
    min-width:17px!important;
    margin:0 6px 0 0!important;
    padding:0!important;
  }

  .print-config .mobile-product-search{
    display:block!important;
    width:100%!important;
    margin:0 0 16px!important;
  }

  .print-config .mobile-product-search label{
    display:grid!important;
    width:100%!important;
    gap:7px!important;
  }

  .print-config .mobile-product-search input{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    border-radius:10px!important;
  }
}

/* No desktop a pesquisa continua pelo campo superior existente */
@media(min-width:601px){
  .mobile-product-search{
    display:none!important;
  }
}

/* =========================================================
   IMPRESSAO / PRECO FINAL - LAYOUT DEFINITIVO MOBILE
   ========================================================= */
@media (max-width:600px){

  /* painel esquerdo/configuração ocupa toda largura */
  .print-config{
    display:block!important;
    width:100%!important;
  }

  .print-config > .panel,
  .print-config > section{
    width:100%!important;
    max-width:100%!important;
  }

  /*
   Colunas de preço:
   pega diretamente o bloco .checks que vem logo após o H3,
   mesmo que outros scripts tenham redefinido a tela.
  */
  .print-config h3 + .checks{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin:8px 0 14px!important;
  }

  .print-config h3 + .checks > label.check{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    margin:0!important;
    padding:7px 6px!important;
    border:1px solid #dfe6ee!important;
    border-radius:9px!important;
    background:#f7f9fc!important;
    font-size:11px!important;
    line-height:1.15!important;
  }

  .print-config h3 + .checks > label.check input[type="checkbox"]{
    width:17px!important;
    height:17px!important;
    min-width:17px!important;
    flex:0 0 17px!important;
    margin:0 5px 0 0!important;
    padding:0!important;
  }

  /* pesquisa local */
  .mobile-product-search{
    display:block!important;
    width:100%!important;
    margin:4px 0 16px!important;
  }

  .mobile-product-search label{
    width:100%!important;
    display:grid!important;
    gap:7px!important;
  }

  .mobile-product-search input{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:44px!important;
  }
}

@media(max-width:340px){
  .print-config h3 + .checks{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Grupo + pesquisa abaixo das colunas de preço */
@media(max-width:600px){

  .mobile-group-search-row{
    display:grid!important;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr)!important;
    gap:9px!important;
    width:100%!important;
    margin:2px 0 16px!important;
    align-items:end!important;
  }

  .mobile-group-search-row > label,
  .mobile-group-search-row .mobile-product-search,
  .mobile-group-search-row .mobile-product-search label{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .mobile-group-search-row select,
  .mobile-group-search-row input{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
  }

  .mobile-group-search-row .mobile-product-search{
    display:block!important;
  }
}

@media(max-width:350px){
  .mobile-group-search-row{
    grid-template-columns:1fr!important;
  }
}

/* ========================================================
   GRUPO + BUSCA PRODUTO DEFINITIVOS
   ======================================================== */
@media(max-width:600px){

  .mobile-group-search-row{
    display:grid!important;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr)!important;
    gap:9px!important;
    width:100%!important;
    margin:12px 0 16px!important;
    align-items:end!important;
    overflow:visible!important;
  }

  .mobile-group-search-row > label,
  .mobile-group-search-row .mobile-product-search,
  .mobile-group-search-row .mobile-product-search > label{
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    gap:7px!important;
    position:relative!important;
    pointer-events:auto!important;
  }

  .mobile-group-search-row select,
  .mobile-group-search-row input{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    position:relative!important;
    z-index:5!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }

  .mobile-group-search-row input[type="search"]{
    -webkit-appearance:none!important;
    appearance:none!important;
  }
}

@media(max-width:350px){
  .mobile-group-search-row{
    grid-template-columns:1fr!important;
  }
}
