/* Desktop rules are deliberately unchanged. */
.cp-mobile-toggle{display:none!important}
@media screen and (max-width:767px){
  .cp-mobile-table-container{min-width:0!important;max-width:100%!important;overflow:visible!important}
  table.cp-mobile-table{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;border:0!important;background:transparent!important;table-layout:auto!important}
  .cp-mobile-table>thead{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
  .cp-mobile-table>tbody,.cp-mobile-table>tfoot{display:grid!important;gap:10px!important;width:100%!important}
  .cp-mobile-table>tbody>tr,.cp-mobile-table>tfoot>tr{display:flex!important;flex-direction:column!important;position:static!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;background:#fff!important;border:1px solid #dce5f3!important;border-radius:16px!important;padding:13px 14px!important;box-shadow:none!important;color:#132542}
  .cp-mobile-table>tbody>tr>td,.cp-mobile-table>tfoot>tr>td{display:flex!important;align-items:baseline;justify-content:space-between;gap:12px;position:static!important;box-sizing:border-box!important;width:auto!important;min-width:0!important;max-width:100%!important;height:auto!important;padding:5px 0!important;border:0!important;background:transparent!important;white-space:normal!important;overflow-wrap:anywhere!important;text-align:right!important;font-size:14px!important;flex-wrap:wrap;box-shadow:none!important}
  .cp-mobile-table>tbody>tr>td::before{content:attr(data-mobile-label);color:#50627d;font-size:13px;font-weight:400;text-align:left;margin-right:auto}
  .cp-mobile-table>tbody>tr>td.cp-mobile-title{order:-2;display:block!important;text-align:left!important;font-size:17px!important;font-weight:700!important;margin:0 0 8px!important}
  .cp-mobile-table>tbody>tr>td.cp-mobile-title::before{display:block;margin-bottom:4px;font-size:12px}
  .cp-mobile-table>tbody>tr>td.cp-mobile-actions{order:2;border-top:1px solid #e6edf8!important;margin-top:10px!important;padding-top:8px!important;justify-content:flex-end!important;align-items:center}
  .cp-mobile-table>tbody>tr:not(.cp-mobile-expanded)>td.cp-mobile-secondary{display:none!important}
  .cp-mobile-table .cp-mobile-toggle{display:block!important;min-height:44px!important;margin-top:7px!important;padding:8px 0!important;background:transparent!important;border:0!important;color:#2249a1!important;font:650 14px system-ui!important;cursor:pointer}
  .cp-mobile-table button:not(.cp-mobile-toggle),.cp-mobile-table .btn{min-height:44px;white-space:normal!important;max-width:100%;border-radius:10px}
  .cp-mobile-table td>div{min-width:0;max-width:100%;flex-wrap:wrap}
  .cp-mobile-table input:not([type=checkbox]):not([type=radio]),.cp-mobile-table select,.cp-mobile-table textarea{min-width:0!important;max-width:100%!important;box-sizing:border-box}
  .cp-mobile-table .cp-mobile-message>td{display:block!important;text-align:center!important;padding:12px 0!important}
  .cp-mobile-table .cp-mobile-message>td::before{display:none!important}
  .cp-mobile-toggle:focus-visible{outline:3px solid #5682fa!important;outline-offset:2px}
  .cp-cmv-subtabs,.subtabs{flex-wrap:wrap!important;white-space:normal!important;overflow:visible!important;max-width:100%;height:auto!important}
  .cp-cmv-subtabs a,.subtabs button{white-space:normal!important;min-height:44px!important;flex:1 1 120px;text-align:center}
}
@media print{.cp-mobile-toggle{display:none!important}}


/* Controle Pleno - layout mobile unificado: todas as SUBABAS, sem ícones.
   Navegação principal (topo e sidebar) e telas de desktop não são modificadas. */
@media screen and (max-width:767px) {
  :is(.cp-cmv-subtabs, .subtabs, .expense-tabs, .payment-tabs, .cp-ia-tabs, .tabs, .tab-bar:has(>button), .subnav:has(>button)) {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    flex-wrap:initial!important;
    align-items:stretch!important;
    position:relative!important;
    top:auto!important;
    margin:0 0 18px!important;
    padding:12px!important;
    border:1px solid #e0e8f5!important;
    border-radius:16px!important;
    background:#f7f9fe!important;
    box-shadow:0 3px 12px rgba(24,53,100,.035)!important;
    box-sizing:border-box!important;
  }
  :is(.cp-cmv-subtabs, .subtabs, .expense-tabs, .payment-tabs, .cp-ia-tabs, .tabs, .tab-bar:has(>button), .subnav:has(>button)) > :is(a,button) {
    display:flex!important;
    flex:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:44px!important;
    height:auto!important;
    margin:0!important;
    padding:11px 8px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    text-align:center!important;
    text-decoration:none!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    white-space:normal!important;
    font-size:12px!important;
    line-height:1.3!important;
    font-weight:700!important;
    color:#192b4e!important;
    background:#fff!important;
    border:1px solid #d4dff0!important;
    border-radius:12px!important;
    box-shadow:none!important;
  }
  :is(.cp-cmv-subtabs, .subtabs, .expense-tabs, .payment-tabs, .cp-ia-tabs, .tabs, .tab-bar:has(>button), .subnav:has(>button)) > :is(a,button):is(.active,[aria-current="page"],[aria-selected="true"]) {
    color:#fff!important;
    border-color:#2465e6!important;
    background:#1766e8!important;
    box-shadow:0 3px 9px rgba(25,91,209,.10)!important;
  }
  :is(.cp-cmv-subtabs, .subtabs, .expense-tabs, .payment-tabs, .cp-ia-tabs, .tabs, .tab-bar:has(>button), .subnav:has(>button)) > :is(a,button) :is(svg,.nav-icon,.icon,.tab-icon) {
    display:none!important;
  }
  :is(.cp-cmv-subtabs, .subtabs, .expense-tabs, .payment-tabs, .cp-ia-tabs, .tabs, .tab-bar:has(>button), .subnav:has(>button)) > :is(a,button):focus-visible {
    outline:3px solid #6c9aff!important;
    outline-offset:2px!important;
  }

  /* Os cartões reutilizam as ações originais; só o botão expansível muda de lugar. */
  .cp-mobile-table>tbody>tr,
  .cp-mobile-table>tfoot>tr{position:relative!important}
  .cp-mobile-table>tbody>tr>td.cp-mobile-actions,
  .cp-mobile-table>tfoot>tr>td.cp-mobile-actions {
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:stretch!important;
    text-align:initial!important;
    gap:10px!important;
    width:100%!important;
    border-top:1px solid #e5ecf7!important;
    margin-top:10px!important;
    padding-top:12px!important;
  }
  .cp-mobile-table>tbody>tr>td.cp-mobile-actions::before,
  .cp-mobile-table>tfoot>tr>td.cp-mobile-actions::before{display:none!important;content:none!important}
  .cp-mobile-table .cp-mobile-toggle {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    order:-1!important;
    flex:0 0 100%!important;
    width:100%!important;
    min-height:44px!important;
    padding:10px 12px!important;
    margin:0!important;
    text-align:center!important;
    color:#164aa8!important;
    font-size:13px!important;
    font-weight:750!important;
    background:#eaf0ff!important;
    border:1px solid #d7e3fa!important;
    border-radius:11px!important;
  }
  .cp-mobile-table .cp-mobile-toggle[aria-expanded="true"]{background:#dfe9ff!important}
  /* Quando o registro não tem ações, detalhes fica ao fim do cartão. */
  .cp-mobile-table>tbody>tr.cp-mobile-no-actions-details,
  .cp-mobile-table>tfoot>tr.cp-mobile-no-actions-details{padding-bottom:66px!important}
  .cp-mobile-table .cp-mobile-no-actions-details .cp-mobile-title>.cp-mobile-toggle{
    position:absolute!important;
    left:14px!important;
    right:14px!important;
    bottom:13px!important;
    width:calc(100% - 28px)!important;
  }
  .cp-mobile-table .cp-mobile-actions>.ad-table-actions,
  .cp-mobile-table .cp-mobile-actions>.ad-actions,
  .cp-mobile-table .cp-mobile-actions>.actions,
  .cp-mobile-table .cp-mobile-actions>.inline-actions {
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
    align-items:stretch!important;
  }
  .cp-mobile-table .cp-mobile-actions>.ad-table-actions:has(> :nth-child(5)),
  .cp-mobile-table .cp-mobile-actions>.ad-actions:has(> :nth-child(5)),
  .cp-mobile-table .cp-mobile-actions>.actions:has(> :nth-child(5)) {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .cp-mobile-table .cp-mobile-actions>.ad-table-actions>:is(a,button),
  .cp-mobile-table .cp-mobile-actions>.ad-actions>:is(a,button),
  .cp-mobile-table .cp-mobile-actions>.actions>:is(a,button),
  .cp-mobile-table .cp-mobile-actions>.inline-actions>:is(a,button) {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    width:100%!important;
    min-height:44px!important;
    padding:8px 3px!important;
    margin:0!important;
    font-size:clamp(10px,2.7vw,12px)!important;
    line-height:1.2!important;
    text-align:center!important;
    text-decoration:none!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    border-radius:10px!important;
  }
  .cp-mobile-table .cp-mobile-actions>button:not(.cp-mobile-toggle),
  .cp-mobile-table .cp-mobile-actions>a:not(.cp-mobile-toggle){
    flex:1 1 calc(50% - 8px)!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    padding:8px 6px!important;
    min-height:44px!important;
    white-space:normal!important;
    text-align:center!important;
  }
  /* Elementos secundários continuam recolhidos até o usuário expandir. */
  .cp-mobile-table>tbody>tr:not(.cp-mobile-expanded)>td.cp-mobile-secondary,
  .cp-mobile-table>tfoot>tr:not(.cp-mobile-expanded)>td.cp-mobile-secondary{display:none!important}
}
@media screen and (max-width:340px) {
  .cp-mobile-table .cp-mobile-actions>.ad-table-actions,
  .cp-mobile-table .cp-mobile-actions>.ad-actions,
  .cp-mobile-table .cp-mobile-actions>.actions,
  .cp-mobile-table .cp-mobile-actions>.inline-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* Controle Pleno - listagens compactas em dois cartoes no celular.
   Somente apresentacao: nenhuma linha, botao ou evento original e removido.
   Formularios, graficos, dialogs e menus nao entram na grade. */
@media screen and (max-width:767px) {
  /* Tabelas convertidas em cartoes (Painel, Avalia, CMV, Gastos e subabas). */
  table.cp-mobile-table > :is(tbody,tfoot) {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:9px!important;
    width:100%!important;
    min-width:0!important;
  }
  table.cp-mobile-table > tbody > tr:not(.cp-mobile-message) {
    display:flex!important;
    flex-direction:column!important;
    align-self:stretch!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    box-sizing:border-box!important;
    padding:11px 9px!important;
    border-radius:14px!important;
    gap:0!important;
    overflow:visible!important;
  }
  table.cp-mobile-table > tbody > tr > td:not(.cp-mobile-actions):not(.cp-mobile-title) {
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    gap:3px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding:5px 0!important;
    font-size:12px!important;
    line-height:1.35!important;
    text-align:left!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  table.cp-mobile-table > tbody > tr > td:not(.cp-mobile-actions)::before {
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    color:#697a94!important;
    text-align:left!important;
    font-size:10px!important;
    line-height:1.3!important;
    font-weight:500!important;
  }
  table.cp-mobile-table > tbody > tr > td.cp-mobile-title {
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin-bottom:6px!important;
    padding:2px 0 5px!important;
    font-size:13px!important;
    line-height:1.28!important;
    text-align:left!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  table.cp-mobile-table > tbody > tr > td.cp-mobile-title > :is(strong,b,a) {
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  table.cp-mobile-table > tbody > tr > td :is(a,span,strong,b,small,label,.pill,.badge) {
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
    white-space:normal;
  }
  /* Os controles originais continuam todos visiveis e clicaveis. */
  table.cp-mobile-table > tbody > tr > td.cp-mobile-actions {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    align-content:end!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-top:auto!important;
    padding-top:10px!important;
    border-top:1px solid #e5ecf7!important;
  }
  table.cp-mobile-table > tbody > tr > td.cp-mobile-actions > :is(.ad-table-actions,.ad-actions,.actions,.inline-actions,.row-actions) {
    display:grid!important;
    grid-column:1/-1!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:6px!important;
    justify-content:stretch!important;
    align-items:stretch!important;
  }
  table.cp-mobile-table > tbody > tr > td.cp-mobile-actions > :is(button,a):not(.cp-mobile-toggle) {
    display:flex!important;
    flex:none!important;
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    margin:0!important;
    padding:7px 3px!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:10px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  table.cp-mobile-table > tbody > tr > td.cp-mobile-actions :is(.ad-table-actions,.ad-actions,.actions,.inline-actions,.row-actions) > :is(button,a) {
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    max-width:100%!important;
    margin:0!important;
    padding:6px 3px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    font-size:10px!important;
    line-height:1.2!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  table.cp-mobile-table > tbody > tr > td.cp-mobile-actions .cp-mobile-toggle {
    grid-column:1/-1!important;
    order:-1!important;
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    margin:0 0 2px!important;
    padding:7px 5px!important;
    font-size:11px!important;
  }
  /* Quando nao existem acoes, o expansor fica no fim do cartao. */
  table.cp-mobile-table > tbody > tr.cp-mobile-no-actions-details {padding-bottom:65px!important}
  table.cp-mobile-table > tbody > tr.cp-mobile-no-actions-details .cp-mobile-toggle {
    left:9px!important;
    right:9px!important;
    bottom:10px!important;
    width:calc(100% - 18px)!important;
  }
  table.cp-mobile-table > tbody > tr.cp-mobile-message,
  table.cp-mobile-table > tfoot > tr {
    grid-column:1/-1!important;
    min-width:0!important;
    max-width:100%!important;
  }
  table.cp-mobile-table > tbody > tr.cp-mobile-message > td {max-width:100%!important}

  /* Grades de indicadores, fichas e cartoes de informacoes nativos.
     O painel Minha empresa (.cp-company-cards) permanece 1 por linha
     pelo CSS original de company-overview.css. */
  :is(.cards-grid,.recipe-grid,.cp-ref-gastos-kpis,.cp-day-kpi-grid) {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    min-width:0!important;
    max-width:100%!important;
    align-items:stretch!important;
  }
  :is(.cards-grid,.recipe-grid,.cp-ref-gastos-kpis,.cp-day-kpi-grid) > * {
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
  .cards-grid > .metric {padding:12px 10px!important}
  .cards-grid > .metric .metric-value {font-size:clamp(16px,5vw,24px)!important;letter-spacing:-.5px!important}
  .cards-grid > .metric .metric-top {margin-bottom:10px!important}
  .cards-grid > .metric .metric-foot {font-size:10px!important}
  .recipe-grid > .recipe-card {padding:12px 10px!important}
  .recipe-grid > .recipe-card :is(h3,footer,.details) {min-width:0!important;flex-wrap:wrap!important}
  .recipe-grid > .recipe-card footer > :is(a,button) {max-width:100%;white-space:normal!important}
  /* Cartoes de pagamento/historico: manter dados e acoes em cada registro. */
  .payment-list {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;min-width:0!important}
  .payment-list > :is(.payment-row,.history-row) {display:flex!important;flex-direction:column!important;gap:8px!important;padding:11px 9px!important;border:1px solid #dce5f3!important;border-radius:14px!important;min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important;align-items:stretch!important}
  .payment-list > :is(.payment-row,.history-row) > * {width:100%!important;min-width:0!important;max-width:100%!important;justify-self:stretch!important;overflow-wrap:anywhere!important}
  .payment-list > :is(.payment-row,.history-row) :is(.payment-actions,.history-actions) {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;margin-top:auto!important}
  .payment-list > :is(.payment-row,.history-row) :is(.payment-actions,.history-actions) > :is(button,a) {width:100%!important;min-width:0!important;white-space:normal!important;padding:7px 3px!important;font-size:10px!important}
}
@media screen and (max-width:767px) {
  /* Precedencia explicita: a grade nao revela detalhes ate abrir o botao. */
  table.cp-mobile-table > tbody > tr:not(.cp-mobile-expanded) > td.cp-mobile-secondary:not(.cp-mobile-actions):not(.cp-mobile-title) {
    display:none!important;
  }
}
@media screen and (max-width:767px) {
  /* Respeita visibilidade controlada pelos filtros e pelas permissoes. */
  :is(.cards-grid,.recipe-grid,.cp-company-cards,.cp-ref-gastos-kpis,.cp-day-kpi-grid,.payment-list):is(.hidden,[hidden]) {
    display:none!important;
  }
  table.cp-mobile-table > tbody > tr:is(.hidden,[hidden],[aria-hidden="true"],[style*="display:none"],[style*="display: none"]) {
    display:none!important;
  }
  .payment-list > :is(.payment-row,.history-row):is(.hidden,[hidden],[style*="display:none"],[style*="display: none"]) {
    display:none!important;
  }
}
