/* Identificacao do ambiente: visivel somente no servidor local isolado. */
.local-only-chip,.finance-local-chip{display:none!important}
.alfa-local-isolated .local-only-chip,.alfa-local-isolated .finance-local-chip{display:inline-flex!important}

.user-permissions-panel{margin:0 22px 18px;padding:18px;border:1px solid #dce3ea;border-radius:10px;background:#f8fafc;max-height:46vh;overflow:auto}
.user-permissions-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.user-permissions-heading strong,.user-permissions-heading span{display:block}.user-permissions-heading strong{color:#0b2a50;font-size:15px}.user-permissions-heading span{color:#6c7b91;font-size:12px;line-height:1.45;margin-top:3px}
.user-permissions-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.user-permissions-groups fieldset{min-width:0;margin:0;padding:10px 12px 8px;border:1px solid #dce3ea;border-radius:8px;background:#fff}
.user-permissions-groups legend{padding:0 6px;color:#07345d;font-size:12px;font-weight:800}
.user-permissions-groups label{display:flex;align-items:flex-start;gap:8px;padding:6px 2px;color:#27364d;font-size:12px;line-height:1.35;cursor:pointer}
.user-permissions-groups input{margin-top:2px;accent-color:#07345d}.user-permissions-state{display:block;color:#64748b;margin-top:12px}.user-permission-create-note{margin:0 22px 18px;padding:12px 14px;border:1px solid #ead8ad;border-radius:8px;background:#fff8e8;color:#765718;font-size:12px;line-height:1.5}
@media(max-width:760px){.user-permissions-panel{margin:0 12px 14px;padding:14px;max-height:52vh}.user-permissions-heading{display:block}.user-permissions-heading button{margin-top:10px;width:100%}.user-permissions-groups{grid-template-columns:1fr}.user-permission-create-note{margin:0 12px 14px}}

/* Ajustes finais para celulares. Mantidos separados para nao alterar o layout desktop. */
@media (max-width:760px){
  html,body,.shell,.workspace,.main{max-width:100%}
  body{overflow-x:hidden}
  .demo-page,.dashboard-grid,.dashboard-grid>.panel,.panel-head,.dash-chart-holder{min-width:0;max-width:100%}
  .dashboard-grid>.panel{width:100%}
  #dashBarChart svg{display:block;width:100%;max-width:100%;height:auto}
  .dash-donut-layout{min-width:0;max-width:100%}
  .dash-filter-bar,.pipeline-tabs,.nav{scrollbar-width:thin;scroll-snap-type:x proximity}
  .dash-filter,.pipeline-tabs button,.nav button{scroll-snap-align:start}

  .movement-date-filter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%;max-width:100%;align-items:end;padding:10px;box-sizing:border-box}
  .movement-date-filter .movement-date-type{grid-column:1/-1}
  .movement-date-filter label,.movement-date-filter select,.movement-date-filter input{min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box}
  .movement-date-filter .movement-date-clear{grid-column:1;width:40px;min-width:40px;min-height:40px;justify-self:start}
  .movement-date-filter small{grid-column:2;align-self:center;justify-self:end;max-width:100%;text-align:right;overflow-wrap:anywhere}

  #usuarios>.card>table,#auditoria>.card>table,.card>table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  #usuarios>.card,#auditoria>.card{min-width:0;max-width:100%;overflow:hidden}
  #usuarios>.card>table,#auditoria>.card>table{padding-bottom:6px}

  .news-card-meta{flex-wrap:wrap}
  .news-form input[type="file"]{max-width:100%;font-size:11px}
  .news-detail{overflow-x:hidden}
  #localModeBadge{max-width:calc(100vw - 24px);font-size:10px;padding:7px 10px}

  /* Controles gerais: alvos confortaveis para toque e sem zoom involuntario no iOS. */
  input,select,textarea{font-size:16px!important}
  button,.button,.ghost-button,.import-button,.danger-button{min-height:42px}
  .link-btn{min-height:36px;padding:7px 8px}

  /* Resumos e selecao em lote dos modulos operacionais. */
  #empresasSummary,#cobrancaSummary,#comercialSummary,#kanbanSummary{grid-template-columns:repeat(2,minmax(0,1fr))}
  #empresasSummary>div,#cobrancaSummary>div,#comercialSummary>div,#kanbanSummary>div{min-width:0;margin:0;padding:12px}
  .bulk-bar.active{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}
  .bulk-bar .bulk-count,.bulk-bar .bulk-move{grid-column:1/-1}
  .bulk-bar button,.bulk-bar select{width:100%;min-width:0;white-space:normal}

  /* Empresas: cada linha vira um cartao, sem esconder telefone, e-mail ou acoes. */
  #empresas>.card{padding:0;background:transparent;border:0;box-shadow:none}
  #empresas>.card>div[style*="overflow"]{overflow:visible!important}
  #empresas table,#empresas tbody,#empresas tr,#empresas td{display:block;width:100%}
  #empresas thead{display:none}
  #empresas tbody{display:grid;gap:12px}
  #empresas tbody tr{box-sizing:border-box;min-width:0;padding:13px 14px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.06)}
  #empresas tbody td{display:grid;grid-template-columns:minmax(104px,38%) minmax(0,1fr);gap:9px;align-items:start;padding:7px 0!important;border:0;border-bottom:1px solid #edf0f3;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
  #empresas tbody td:last-child{border-bottom:0;padding-bottom:0!important}
  #empresas tbody td::before{color:#66778a;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
  #empresas tbody td:nth-child(1)::before{content:'Empresa'}
  #empresas tbody td:nth-child(2)::before{content:'CNPJ'}
  #empresas tbody td:nth-child(3)::before{content:'Telefone'}
  #empresas tbody td:nth-child(4)::before{content:'E-mail'}
  #empresas tbody td:nth-child(5)::before{content:'Aparece em'}
  #empresas tbody td:nth-child(6)::before{content:'Controladoria'}
  #empresas tbody td:nth-child(7)::before{content:'Cobrança em aberto'}
  #empresas tbody td:nth-child(8)::before{content:'Status comercial'}
  #empresas tbody td:nth-child(9)::before{content:'Ações'}
  #empresas tbody td[colspan]{display:block;text-align:center!important;padding:24px 14px!important}
  #empresas tbody td[colspan]::before{content:none}
  #empresas .cr-tipo-pill{display:inline-block;margin:0 4px 4px 0}

  /* Cobranca: envio combinado e escolha de modelos ocupam a largura util. */
  .wa-popover{max-height:calc(100dvh - 16px)!important;padding:14px}
  .wa-number-label input,.cob-msg-pop input,.cob-msg-pop select,.cob-msg-canais button{min-height:44px}
  .wa-templates button{min-height:44px;text-align:left;white-space:normal}

  /* Dashboard, Novidades, Financeiro e Ferramentas. */
  .dash-chart-holder,.panel.chart-panel{overflow-x:auto;overscroll-behavior-x:contain}
  .news-toolbar .search,.news-toolbar select,.news-toolbar button{width:100%;max-width:none}
  #financeiro .finance-open-button{min-height:48px}
  .tool-card,.finance-tool-card,.news-card{max-width:100%;min-width:0}
  .dossier-toolbar,.dossier-viewbar{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  .dossier-toolbar button,.dossier-toolbar label,.dossier-viewbar button{flex:0 0 auto}
  .dossier-stage-scroll{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .dossier-properties{padding:14px}
  .dossier-properties-panel{width:100%;max-width:100%}
  .dossier-file-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .dossier-file-actions button{width:100%;white-space:normal}
}

@media (max-width:380px){
  .movement-date-filter{grid-template-columns:1fr}
  .movement-date-filter .movement-date-type,.movement-date-filter .movement-date-clear,.movement-date-filter small{grid-column:1}
  .movement-date-filter small{justify-self:start;text-align:left}
  .panel.chart-panel{padding-left:10px;padding-right:10px}
  .news-card-body{padding-left:14px;padding-right:14px}
  #cobrancaSummary{grid-template-columns:1fr}
  .bulk-bar.active{grid-template-columns:1fr}
  .bulk-bar .bulk-count,.bulk-bar .bulk-move{grid-column:1}
  #empresas tbody td{grid-template-columns:1fr;gap:3px}
  .dossier-file-actions{grid-template-columns:1fr}
}

/* 1.4.63 — Revisão de tablet e celular. */
/* Barra de ações dos quadros (Controladoria, Cobrança, Comercial, Usuários): quebra linha em vez de empurrar
   os botões para fora da tela no tablet deitado e em notebooks. */
.kanban-actions{flex-wrap:wrap;min-width:0}
/* Só em telas largas: no celular a barra fica em coluna e a busca ocupa a largura toda. */
@media(min-width:761px){.kanban-actions>input{flex:1 1 220px;min-width:180px}}
/* width:100% (e não flex-basis) para funcionar tanto com a barra em linha quanto em coluna. */
@media(max-width:1500px){.kanban-toolbar{flex-wrap:wrap}.kanban-toolbar>.kanban-actions{flex:1 1 auto;width:100%;justify-content:flex-start}}
/* Telas de toque (celular e tablet): áreas de toque confortáveis, de pelo menos ~32 px. */
@media(pointer:coarse){
  .card-check,.cob-check,.com-check,.col-select-all,.cob-col-select-all,.com-col-select-all,.card-check-label input[type=checkbox]{width:20px!important;height:20px!important}
  .link-btn{display:inline-flex;align-items:center;min-height:32px;padding:4px 6px}
  .finance-back-button{min-height:36px;padding:6px 0}
  .see-all{display:inline-block;padding:8px 0}
  #dashboard .dov-link{min-height:32px;padding:6px 8px}
  .movement-date-clear{width:34px;height:34px}
  .movement-date-filter input,.movement-date-filter select{height:34px!important}
  .deal-card footer button[data-open],.deal-card footer button[data-open-cob],.deal-card footer button[data-comopen]{min-height:32px;padding:6px 8px}
  .nota-btn{min-height:34px;padding:6px 12px}
  .custom-field-row input{min-height:38px}
  .custom-field-row button{min-width:38px;min-height:38px}
  .modal-head>button{min-width:40px;min-height:40px}
  .deal-modal input[type=file]{min-height:40px}
  .deal-modal input:not([type=checkbox]):not([type=radio]):not([type=file]){min-height:36px}
}

/* 1.4.76 — Revisão responsiva (celular 375/414 px e tablet 768/1024 px). */
/* Tablet em pé: o nome do usuário no topo empurrava o avatar para fora da tela; o avatar continua abrindo o menu. */
@media(min-width:761px) and (max-width:980px){
  .topbar{gap:10px}
  .topbar-left{min-width:0}
  .topbar-left h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar-right{flex-shrink:0;gap:6px}
  .topbar-right .user-copy,.topbar-right .chevron{display:none}
}