*{box-sizing:border-box}body{font-family:Arial,Helvetica,sans-serif;margin:0;background:#f3f6fb;color:#071833}.top{height:58px;background:white;border-bottom:1px solid #dbe3ef;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:10}.brand{font-size:24px;font-weight:800;color:#0b5ed7}.brand span{color:#071833}.layout{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 58px)}.side{background:white;border-right:1px solid #dbe3ef;padding:18px}.side button,.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d5e0ef;background:white;color:#075bea;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer;text-decoration:none}.side button{width:100%;justify-content:flex-start;margin:6px 0}.side button.active{background:#eaf2ff}.main{padding:28px}.card{background:white;border:1px solid #dde6f1;border-radius:20px;padding:22px;box-shadow:0 12px 32px rgba(2,32,71,.06);margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.stat{min-height:120px}.stat b{font-size:32px;display:block;margin-top:16px}.muted{color:#5c6b82}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}label{font-weight:700;font-size:14px}input,select,textarea{width:100%;border:1px solid #d5e0ef;border-radius:12px;padding:13px 14px;font-size:16px;background:white}textarea{min-height:80px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}button.primary,.btn.primary{background:#075bea;color:white;border-color:#075bea}.danger{color:#b42318;border-color:#f3c9c4}.success{background:#e9fbf0;border-color:#b9edca;color:#065f30;padding:14px;border-radius:14px}.error{background:#fff0f0;border-color:#facaca;color:#9d1414;padding:14px;border-radius:14px}.table{width:100%;border-collapse:collapse;background:white;border-radius:14px;overflow:hidden}.table th,.table td{border-bottom:1px solid #e7edf5;padding:12px;text-align:left}.login{max-width:460px;margin:7vh auto}.hidden{display:none!important}.qr{max-width:320px;width:100%;border:1px solid #dbe3ef;border-radius:14px;padding:10px;background:white}.invoice-public{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px}.invoice-card{max-width:560px;text-align:center}.invoice-card textarea{font-size:11px}.paid-big{font-size:34px;font-weight:900;color:#047857;background:#e6fbf1;border:1px solid #b7efce;border-radius:16px;padding:24px;margin:20px 0}@media(max-width:850px){.layout{grid-template-columns:1fr}.side{display:flex;overflow:auto}.side button{min-width:180px}.main{padding:16px}}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.hidden{display:none!important}.mini{box-shadow:none;border:1px solid #e5e7eb;margin:10px 0}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#0ea5e9);padding:24px}.hero-card{max-width:760px;background:#fff;border-radius:24px;padding:42px;box-shadow:0 25px 80px #0004;text-align:center}.hero h1{font-size:42px;line-height:1.1;margin:0 0 16px}.hero p{font-size:18px;color:#475569}.error-text{color:#b91c1c}.table td{vertical-align:top}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}textarea{min-height:88px}

.phone-wrap{display:flex;align-items:center;border:1px solid #d5e0ef;border-radius:12px;background:#fff;overflow:hidden;width:100%}
.phone-flag{display:inline-flex;align-items:center;gap:4px;align-self:stretch;padding:0 12px;background:#f1f5f9;border-right:1px solid #d5e0ef;font-weight:800;color:#0f172a;white-space:nowrap}
.phone-wrap input.phone-br{border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;flex:1;min-width:0;background:#fff}
.phone-wrap:focus-within{border-color:#075bea;box-shadow:0 0 0 3px rgba(7,91,234,.10)}



.hidden-field{display:none!important;visibility:hidden!important;position:absolute!important;left:-9999px!important;width:0!important;height:0!important;opacity:0!important;pointer-events:none!important}
.phone-flag .flag-icon{font-size:18px;line-height:1}

/* LANDING PAGE V9 */
.landing{min-height:100vh;background:#08172f;color:#fff;position:relative;overflow:hidden}
.landing-bg{position:absolute;inset:-30%;background:radial-gradient(circle at 20% 20%,rgba(14,165,233,.38),transparent 28%),radial-gradient(circle at 80% 10%,rgba(37,99,235,.34),transparent 26%),linear-gradient(135deg,#061126 0%,#0f5d87 100%);filter:saturate(1.1)}
.landing-top,.landing-hero,.landing-section,.landing-features{position:relative;z-index:1}
.landing-top{display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:0 auto;padding:28px 22px}
.landing-logo{font-size:24px;font-weight:900;letter-spacing:-.02em}.landing-logo span{color:#38bdf8}
.landing-top nav{display:flex;gap:10px}.ghost,.secondary{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:14px;padding:12px 18px;font-weight:800;cursor:pointer}.secondary{background:#fff;color:#0b1733}.big{font-size:17px;padding:16px 22px;border-radius:16px}.wide{width:100%;justify-content:center;margin-top:10px}
.landing-hero{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;padding:42px 22px 58px}
.eyebrow{display:inline-flex;background:rgba(56,189,248,.13);border:1px solid rgba(125,211,252,.28);padding:10px 14px;border-radius:999px;color:#bae6fd;font-weight:800;margin-bottom:18px}
.landing-copy h1{font-size:60px;line-height:1.02;margin:0 0 20px;letter-spacing:-.05em;max-width:780px}.landing-copy p{font-size:21px;line-height:1.5;color:#d7e8f7;max-width:760px}.landing-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.landing-checks{display:flex;gap:10px;flex-wrap:wrap;color:#c6f6d5}.landing-checks span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);padding:10px 12px;border-radius:999px;font-weight:700}
.landing-preview{background:rgba(255,255,255,.94);color:#08172f;border-radius:34px;padding:28px;box-shadow:0 28px 90px rgba(0,0,0,.30);transform:rotate(1deg);border:1px solid rgba(255,255,255,.35)}
.preview-card{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:22px;padding:20px;display:grid;gap:8px}.preview-card span{font-weight:900;color:#075985}.preview-card b{font-size:40px}.preview-card small{color:#047857;font-weight:800}.preview-line{height:16px;background:#e2e8f0;border-radius:999px;margin:22px 0}.preview-line.short{width:62%;margin-top:0}.preview-qr{width:150px;height:150px;display:flex;align-items:center;justify-content:center;background:#fff;border:10px solid #0f172a;border-radius:18px;font-size:74px;margin:0 auto 16px}.landing-preview p{text-align:center;color:#475569;font-weight:700}
.landing-section{max-width:1180px;margin:0 auto;padding:22px 22px 54px;text-align:center}.landing-section h2{font-size:38px;margin:0 0 8px}.center{text-align:center}.landing-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:22px}.landing-plan{background:#fff;color:#0b1733;border-radius:26px;padding:26px;text-align:left;border:1px solid rgba(255,255,255,.45);box-shadow:0 20px 70px rgba(0,0,0,.22)}.landing-plan.featured{outline:3px solid #38bdf8}.plan-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:13px;font-weight:900}.landing-plan h3{font-size:24px;margin:16px 0 10px}.plan-price{font-size:36px;font-weight:900;letter-spacing:-.03em}.plan-price span{font-size:15px;color:#64748b;margin-left:4px}.landing-plan p{color:#475569;min-height:48px;line-height:1.45}.landing-features{max-width:1180px;margin:0 auto;padding:0 22px 70px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.landing-features div{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:24px}.landing-features b{color:#38bdf8}.landing-features h3{font-size:22px;margin:10px 0}.landing-features p{color:#d7e8f7;line-height:1.45}
@media(max-width:900px){.landing-hero{grid-template-columns:1fr}.landing-copy h1{font-size:40px}.landing-preview{transform:none}.landing-features{grid-template-columns:1fr}.landing-top{align-items:flex-start;gap:16px;flex-direction:column}.landing-top nav{width:100%}.landing-top nav button{flex:1}.big{width:100%}}


/* FATURA ESTILO BOLETO/ASAAS - V8 */
.invoice-public-sheet{align-items:flex-start;background:#f8fafc;padding:28px 12px}
.invoice-sheet{width:100%;max-width:980px;background:#fff;border:1px solid #dbe3ef;border-radius:16px;padding:26px;box-shadow:0 18px 60px rgba(2,32,71,.08);color:#1f2937}
.invoice-greeting h2{margin:0;color:#1d4ed8}.invoice-greeting p{margin:4px 0 22px;font-size:18px;font-weight:700;color:#334155}
.invoice-issuer{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;margin-bottom:28px}.invoice-issuer h1{font-size:20px;margin:0 0 10px;color:#1f2937}.invoice-issuer p{margin:4px 0;font-weight:700;color:#374151}
.invoice-logo{width:150px;height:115px;object-fit:contain;border-radius:4px;background:#f1f5f9;border:1px solid #dbe3ef}.invoice-logo-placeholder{display:flex;align-items:center;justify-content:center;background:#0ea5e9;color:#fff;font-size:34px;font-weight:900}
.invoice-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.invoice-cards div{border:1px solid #dbe3ef;border-radius:8px;background:#f8fafc;padding:18px 20px;min-height:118px;overflow:hidden}.invoice-cards span{display:block;font-weight:900;font-size:14px;color:#475569;margin-bottom:12px}.invoice-cards b{display:block;color:#1d4ed8;font-size:18px;line-height:1.25;overflow-wrap:anywhere;word-break:normal}
.invoice-pay{display:grid;grid-template-columns:1fr 240px;gap:24px;align-items:start}.invoice-pay textarea{font-size:12px;min-height:100px}.invoice-pay .qr{max-width:230px}
.invoice-table{width:100%;border-collapse:collapse;margin-top:26px;font-size:14px}.invoice-table th,.invoice-table td{border:1px solid #111827;padding:8px;text-align:left;vertical-align:top}.invoice-table th{background:#f8fafc;width:18%}.invoice-actions{margin-top:18px}.config-logo-preview{max-width:180px;max-height:120px;object-fit:contain;border:1px solid #dbe3ef;border-radius:10px;padding:8px;background:#fff}
@media(max-width:760px){.invoice-issuer{grid-template-columns:1fr}.invoice-cards{grid-template-columns:1fr}.invoice-pay{grid-template-columns:1fr}.invoice-logo{width:140px;height:105px}.invoice-sheet{padding:18px}}


/* AJUSTES PROFISSIONAIS V10 */
button,.btn,a.btn{font-family:inherit;appearance:none;border:1px solid #cfe0f5;background:#ffffff;color:#0b5ed7;border-radius:12px;padding:11px 16px;font-weight:800;cursor:pointer;text-decoration:none;transition:.18s ease;box-shadow:0 4px 12px rgba(2,32,71,.05)}
button:hover,.btn:hover,a.btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(2,32,71,.10);border-color:#9ec5fe}
button.primary,.btn.primary,a.btn.primary{background:linear-gradient(135deg,#075bea,#0ea5e9);color:#fff;border-color:#075bea;box-shadow:0 10px 24px rgba(7,91,234,.22)}
button.danger,.btn.danger{background:#fff5f5;color:#b42318;border-color:#fecaca}
.table td button{padding:8px 12px;border-radius:10px;margin:2px 3px 2px 0;font-size:14px}.table td button:first-child{background:#eff6ff;color:#075bea}.table td button:last-child{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
.head-row .primary{border-radius:14px;padding:12px 18px}.form-grid button{min-height:48px}.actions button{min-height:44px}
.phone-flag{gap:8px;padding:0 14px}.phone-flag b{display:none}.phone-flag .flag-icon{font-size:20px}.phone-flag .ddi{font-weight:900;color:#0f172a}
.full-span{grid-column:1/-1}.logo-upload-block{border:1px dashed #bdd4f2;border-radius:18px;background:#f8fbff;padding:16px}.logo-upload-row{display:grid;grid-template-columns:190px 1fr;gap:18px;align-items:center}.logo-preview-box{min-height:128px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #dbe3ef;border-radius:14px;padding:10px}.logo-empty{color:#64748b;font-weight:800;text-align:center}.logo-upload-actions{display:grid;gap:10px}.logo-upload-actions input[type=file]{padding:10px;background:#fff}.small{font-size:13px;margin:0}
@media(max-width:760px){.logo-upload-row{grid-template-columns:1fr}.table{font-size:14px}.table th,.table td{padding:9px}.head-row{align-items:stretch;flex-direction:column}.head-row .primary{width:100%}}

/* v13 - Configurações alinhadas e telefone profissional */
.labeled-form{align-items:start;gap:16px}
.labeled-form .logo-upload{grid-column:1/-1;margin-bottom:2px}
.labeled-form .field{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#071a3a}
.labeled-form .field span{font-size:14px;line-height:1.25}
.labeled-form .field input,.labeled-form .field textarea,.labeled-form .field select{width:100%;box-sizing:border-box}
.labeled-form .field textarea{min-height:96px;resize:vertical}
.labeled-form .form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;margin-top:4px}
.labeled-form .form-actions .primary{min-width:260px;border-radius:14px;padding:16px 22px;font-weight:900}
.config-card{overflow:visible}
.phone-flag .flag-icon{display:none!important}
.phone-flag{gap:8px;min-width:112px;justify-content:center;padding:0 12px;box-sizing:border-box}
.flag-br-visual{width:24px;height:16px;border-radius:3px;background:linear-gradient(135deg,#009b3a 0 100%);position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);flex:0 0 auto}
.flag-br-visual:before{content:"";position:absolute;left:6px;top:3px;width:12px;height:10px;background:#ffdf00;transform:rotate(45deg);border-radius:1px}
.flag-br-visual:after{content:"";position:absolute;left:8px;top:3px;width:8px;height:8px;border-radius:50%;background:#002776}
.phone-flag .country-code{font-weight:900;letter-spacing:.02em}
@media(max-width:760px){.labeled-form .form-actions{justify-content:stretch}.labeled-form .form-actions .primary{width:100%;min-width:0}.phone-flag{min-width:104px}}

.invoice-charge-notice{
  margin:18px 0;
  padding:14px 16px;
  border:1px solid #bfdbfe;
  border-radius:14px;
  background:#eff6ff;
  color:#0f172a;
  font-size:14px;
  line-height:1.45;
}
.invoice-charge-notice b{color:#1d4ed8}


/* v15 - busca, paginação e formulário de faturas organizado */
.list-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0}
.list-tools input[type=search]{max-width:420px;background:#fff}
.pagination-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 6px}
.pagination{display:flex;gap:8px;flex-wrap:wrap}
.pagination button{padding:9px 13px;border-radius:10px}
.pagination button.active{background:linear-gradient(135deg,#075bea,#0ea5e9);color:#fff;border-color:#075bea}
.pagination button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.pagination-info{color:#5c6b82;font-size:14px;font-weight:700}
.invoice-builder{padding:24px}
.invoice-form-stack{display:grid;gap:18px}
.section-card{border:1px solid #e3ebf5;border-radius:18px;background:#fbfdff;padding:18px}
.section-title{font-size:18px;font-weight:900;color:#0b1733;margin-bottom:14px}
.compact-grid{grid-template-columns:repeat(2,minmax(240px,1fr));align-items:start}
.compact-grid .full-span{grid-column:1/-1}
.invoice-form-actions{justify-content:flex-start;margin-top:0}
.form-note{margin:4px 0 0}
#invoiceDescription{min-height:92px}
@media(max-width:850px){.compact-grid{grid-template-columns:1fr}.list-tools input[type=search]{max-width:none;width:100%}.pagination-wrap{align-items:flex-start}}


/* v16 - dashboard por data e paginação nos demais menus */
.dashboard-date-card .head-row{align-items:flex-start}.date-filter{min-width:220px}.date-filter span{display:block;margin-bottom:7px}.stat.compact{min-height:100px}.stat.compact b{font-size:24px;word-break:break-word}.dashboard-date-card h3{margin-top:18px}
@media(max-width:850px){.date-filter{width:100%}}


/* v17 - reforço de layout, busca e calendário */
.list-tools{display:flex!important;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0!important}
.list-tools input[type=search]{max-width:460px;background:#fff}
.pagination-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 6px}
.pagination{display:flex;gap:8px;flex-wrap:wrap}.pagination button.active{background:linear-gradient(135deg,#075bea,#0ea5e9);color:#fff;border-color:#075bea}
.invoice-builder{padding:24px}.invoice-form-stack{display:grid;gap:18px}.section-card{border:1px solid #e3ebf5;border-radius:18px;background:#fbfdff;padding:18px}.section-title{font-size:18px;font-weight:900;color:#0b1733;margin-bottom:14px}.compact-grid{grid-template-columns:repeat(2,minmax(240px,1fr));align-items:start}.compact-grid .full-span{grid-column:1/-1}.invoice-form-actions{justify-content:flex-start;margin-top:0}.form-note{margin:4px 0 0}.dashboard-date-card{margin-top:22px}.dashboard-date-card .head-row{align-items:flex-start}.date-filter{min-width:220px}.date-filter span{display:block;margin-bottom:7px}.stat.compact{min-height:100px}.stat.compact b{font-size:24px;word-break:break-word}.dashboard-date-card h3{margin-top:18px}
@media(max-width:850px){.compact-grid{grid-template-columns:1fr}.list-tools input[type=search]{max-width:none;width:100%}.date-filter{width:100%}}


/* v18 - integração por cliente */
#waout,#emout{margin-top:12px}.grid .card form label{margin-top:8px;display:block}


/* v19 - QR Code fecha automaticamente ao conectar */
.qr{display:block;margin-top:12px}

/* v20 */
#invoiceAmountDisplay{font-weight:800;color:#075bea;background:#f8fbff}


/* v21 - evita texto truncado nos cards da fatura */
.invoice-cards .after-due-card{font-size:17px;line-height:1.22;max-width:100%}
.invoice-charge-notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;padding:18px 20px;margin:16px 0;color:#0f172a;line-height:1.45;clear:both}
.invoice-card,.invoice-sheet{overflow:visible}
@media(max-width:760px){.invoice-cards .after-due-card{font-size:16px}}

/* v22 - fila, recorrência e barra de mensagem */
.msg-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.msg-toolbar button{padding:8px 11px;border-radius:10px;font-size:13px;background:#f8fbff}
.invoice-form-stack .field small{display:block;margin-top:6px;font-size:12px;font-weight:600}
.invoice-form-stack textarea#invoiceCustomMessage{min-height:112px}
#sendMsg{min-height:130px}


/* v23 - cards, toolbar de mensagem e ajustes de data/agendamento */
.invoice-cards div{min-height:150px;padding:22px 24px;overflow:visible}
.invoice-cards .after-due-card{font-size:16px!important;line-height:1.18!important;display:block;overflow-wrap:break-word;word-break:normal}
.invoice-charge-notice{margin-top:12px;clear:both}
.rich-editor{border:1px solid #d5e0ef;border-radius:14px;background:#fff;overflow:hidden}
.rich-editor textarea{border:0!important;border-radius:0!important;box-shadow:none!important;min-height:132px;resize:vertical;font-family:inherit}
.rich-toolbar{display:flex;align-items:center;gap:0;flex-wrap:wrap;border-bottom:1px solid #e2e8f0;background:linear-gradient(#f8fafc,#eef3f9);padding:6px;position:relative}
.rich-toolbar button{min-height:30px;padding:5px 9px;border-radius:6px;border:1px solid transparent;background:transparent;color:#334155;box-shadow:none;font-size:14px;font-weight:800}
.rich-toolbar button:hover{background:#e2e8f0;transform:none;box-shadow:none;border-color:#cbd5e1}
.emoji-picker{position:absolute;left:8px;top:42px;z-index:20;display:grid;grid-template-columns:repeat(6,36px);gap:4px;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:8px;box-shadow:0 14px 34px rgba(15,23,42,.18);max-height:210px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.emoji-picker button{font-size:20px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:4px;min-height:34px}
.section-card .field small{display:block;margin-top:6px;line-height:1.35}

/* v24 - menu permissões e colaboradores */
.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:10px}
.perm-check{display:flex!important;align-items:center;gap:10px;border:1px solid #dbe6f4;background:#fff;border-radius:14px;padding:12px 14px;font-weight:800;color:#0b1733;cursor:pointer}
.perm-check input{width:auto;margin:0;transform:scale(1.05)}
.perm-check:has(input:checked){background:#eff6ff;border-color:#93c5fd;color:#075bea}
.perm-form .full-span{grid-column:1/-1}
.perm-form .actions{justify-content:flex-start}
@media(max-width:760px){.perm-grid{grid-template-columns:1fr}}


/* v25 - opção de multa/juros por fatura */
.invoice-charge-notice{line-height:1.45}


/* v26 - Menu API e planos por Pix */
.api-public-card{background:#fff;color:#0b1733;border-radius:24px;padding:24px;margin:18px auto;max-width:760px;text-align:left;box-shadow:0 18px 60px rgba(0,0,0,.18)}
.api-public-card code{display:block;background:#eef6ff;border:1px solid #cfe0f5;border-radius:12px;padding:12px;margin:10px 0;overflow:auto;color:#0b1733}
#apiToken,#apiClientId{font-family:monospace}


/* v27 - menu Planos profissional */
.plans-card{padding:28px}
.plans-form{display:grid;gap:18px}
.trial-field{max-width:360px}
.plan-rows{display:grid;gap:18px}
.plan-editor{box-shadow:0 8px 26px rgba(2,32,71,.05);border:1px solid #dbe6f3;padding:20px;border-radius:20px;background:#fff;margin:0}
.plan-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;border-bottom:1px solid #edf2f7;padding-bottom:12px}
.plan-editor-head h2{font-size:20px;margin:0;color:#071833}
.plan-active{display:inline-flex!important;align-items:center;gap:8px;font-weight:800;background:#eef6ff;border:1px solid #cfe0f5;border-radius:999px;padding:9px 12px;white-space:nowrap}
.plan-active input{width:auto;margin:0}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;align-items:start}
.plan-grid .field,.trial-field{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#071833}
.plan-grid .field span,.trial-field span{font-size:14px;line-height:1.25}
.plan-grid .full-span{grid-column:1/-1}
.plan-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid #edf2f7}
.remove-plan.danger{background:#fff5f5;color:#b42318;border-color:#fecaca}
@media(max-width:1050px){.plan-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media(max-width:760px){.plan-grid{grid-template-columns:1fr}.plan-editor-head{align-items:flex-start;flex-direction:column}.plan-active{width:100%;justify-content:center}}


/* v28 - API landing e planos sem percentual por boleto */
.api-marketing{padding-top:34px}
.api-eyebrow{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border-radius:999px;background:rgba(56,189,248,.14);border:1px solid rgba(125,211,252,.28);color:#bae6fd;font-weight:900;margin-bottom:14px}
.api-marketing h2{font-size:46px;line-height:1.08;margin-bottom:14px}
.api-lead{max-width:920px;margin:0 auto 24px!important;color:#d8e9f8!important;font-size:20px;line-height:1.45}
.api-public-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;max-width:1120px;margin:24px auto 0;text-align:left}
.api-public-card ul{margin:14px 0 20px;padding-left:22px;line-height:1.7;color:#22334d}
.api-main-card{border-top:5px solid #0ea5e9}
.api-price-card{border-top:5px solid #22c55e}
.api-price-highlight{font-size:30px;font-weight:950;color:#075bea;margin:16px 0 10px;letter-spacing:-.03em}
.api-price-card code{display:block;margin-top:14px;white-space:normal;word-break:break-word}
.plan-grid{grid-template-columns:repeat(2,minmax(260px,1fr))!important}
.plan-editor .full-span{grid-column:1/-1}
@media(max-width:900px){.api-public-grid{grid-template-columns:1fr}.api-marketing h2{font-size:34px}.api-lead{font-size:17px}.plan-grid{grid-template-columns:1fr!important}}


/* v29 - landing API, contato, newsletter e leads */
.api-showcase .api-price-highlight{font-size:38px;line-height:1.05;color:#075bea;font-weight:900;margin:16px 0}.api-showcase .api-price-highlight span{display:block;font-size:16px;color:#334155;margin-top:6px}.api-main-card ul{margin:14px 0 18px;padding-left:20px;line-height:1.7}.api-public-card code{display:block;word-break:break-all;white-space:normal}.contact-section{background:rgba(255,255,255,.08);border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);border-radius:30px;margin:20px auto}.contact-form,.newsletter form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;max-width:920px;margin:18px auto}.contact-form textarea{grid-column:1/-1;min-height:110px}.contact-form button,.newsletter button{min-height:50px}.landing-footer{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:26px 22px 34px;color:#e5f4ff}.newsletter{background:#fff;color:#071833;border-radius:28px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.25)}.newsletter h2{margin:0 0 8px;font-size:30px;color:#075bea}.copyright{text-align:center;margin:22px 0 0;color:#cfe8f8;font-weight:700}.wa-float{position:fixed;right:22px;bottom:22px;z-index:1000}.wa-float button{background:#22c55e;color:white;border-color:#16a34a;border-radius:999px;padding:16px 20px;box-shadow:0 18px 45px rgba(34,197,94,.35)}.lead-popup{position:fixed;right:22px;bottom:86px;z-index:1001;background:white;color:#071833;border:1px solid #dbe3ef;border-radius:20px;padding:16px;box-shadow:0 24px 80px rgba(0,0,0,.25);width:min(360px,calc(100vw - 32px))}.lead-popup-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.lead-popup-head button{border-radius:999px;padding:6px 10px}.lead-popup form{display:grid;gap:10px}.lead-popup.hidden{display:none!important}@media(max-width:760px){.wa-float{right:14px;bottom:14px}.lead-popup{right:14px;bottom:78px}.newsletter h2{font-size:24px}}


/* v30 - landing API sem endpoint e telefone maior */
.api-credentials-note{margin-top:14px!important;background:#eaf2ff;border:1px solid #bfdbfe;border-radius:14px;padding:13px 14px;color:#0b3b87!important;font-weight:900;line-height:1.35}
.contact-form,.newsletter form{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(340px,1.25fr)!important;align-items:stretch}
.contact-form .phone-wrap,.newsletter .phone-wrap{min-width:340px;min-height:52px}
.contact-form .phone-wrap input.phone-br,.newsletter .phone-wrap input.phone-br{min-width:190px}
.lead-popup .phone-wrap input.phone-br{min-width:170px}
@media(max-width:900px){.contact-form,.newsletter form{grid-template-columns:1fr!important}.contact-form .phone-wrap,.newsletter .phone-wrap{min-width:0}.contact-form .phone-wrap input.phone-br,.newsletter .phone-wrap input.phone-br{min-width:0}}


/* v31 - landing com páginas separadas */
.landing-top nav .ghost.active{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.42);color:#fff}
.route-page{min-height:520px;display:flex;flex-direction:column;justify-content:center}
.route-title{font-size:48px;line-height:1.05;margin:0 0 16px;text-align:center;color:#fff;letter-spacing:-.035em}
.api-showcase.route-page .api-public-card{min-height:260px}
.contact-section.route-page{padding-top:60px;padding-bottom:60px}
@media(max-width:760px){.route-title{font-size:34px}.landing-top nav{flex-wrap:wrap}}

/* v32 - API invertida, menu mobile fixo e campanhas no menu Leads */
.api-showcase .api-public-grid{grid-template-columns:.9fr 1.1fr}
.table-wrap{width:100%;overflow:auto;border-radius:14px}
.lead-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px}
.lead-tabs button{border:1px solid #d5e0ef;background:#fff;color:#075bea;border-radius:999px;padding:11px 15px;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(2,32,71,.05)}
.lead-tabs button.active{background:#075bea;color:#fff;border-color:#075bea}
.lead-tabs button span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;background:rgba(7,91,234,.12);margin-left:6px;padding:0 7px;font-size:12px}
.lead-tabs button.active span{background:rgba(255,255,255,.22);color:#fff}
.lead-total{background:#eef6ff;color:#075bea;border:1px solid #cfe0f5;border-radius:999px;padding:9px 12px;font-weight:900;white-space:nowrap}
.lead-campaign-grid{align-items:start}
.lead-campaign-grid .full-span{grid-column:1/-1}
.lead-campaign-grid textarea{min-height:170px}
.small{font-size:12px;line-height:1.45}
@media(max-width:760px){
  .landing{overflow:visible}
  .landing-top{position:sticky;top:0;z-index:60;background:rgba(8,23,47,.96);backdrop-filter:blur(10px);box-shadow:0 14px 30px rgba(0,0,0,.18);padding:14px 16px 12px;margin:0;max-width:none;width:100%}
  .landing-top nav{width:100%;display:flex;flex-wrap:nowrap!important;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .landing-top nav button{flex:0 0 auto!important;white-space:nowrap;padding:11px 16px}
  .landing-logo{font-size:21px}
  .landing-hero{padding-top:26px}
  .api-showcase .api-public-grid{grid-template-columns:1fr}
  .lead-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}
  .lead-tabs button{white-space:nowrap;flex:0 0 auto}
}


/* v33 - landing sem menu API e telas Entrar/Teste grátis com layout da landing */
.landing-top nav .primary.active{box-shadow:0 0 0 2px rgba(255,255,255,.28),0 10px 24px rgba(7,91,234,.22)}
.auth-landing{min-height:100vh;display:block}
.auth-shell{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:36px 22px 78px;display:flex;justify-content:center;align-items:flex-start}
.landing .auth-card{width:min(520px,100%);max-width:520px;margin:0;background:#fff;color:#071833;border:1px solid rgba(255,255,255,.45);border-radius:30px;padding:30px;box-shadow:0 26px 90px rgba(0,0,0,.26)}
.landing .auth-card h1{margin:0 0 8px;font-size:34px;letter-spacing:-.035em;color:#071833;text-align:center}
.landing .auth-card .muted{text-align:center;margin:0 0 22px;color:#475569;line-height:1.45}
.landing .auth-card form{display:grid;gap:10px}
.landing .auth-card .actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:12px}
.landing .auth-card .actions button{width:100%;justify-content:center}
@media(max-width:760px){.auth-shell{padding:24px 16px 60px}.landing .auth-card{border-radius:24px;padding:22px}.landing .auth-card h1{font-size:28px}.landing .auth-card .actions{grid-template-columns:1fr}.landing-top nav .primary{min-width:max-content}}


/* v34 - topo fixo, copyright automático nas telas auth e intervalos nas campanhas */
.landing{overflow:visible!important}
.landing-top{position:sticky!important;top:0;z-index:80;background:rgba(8,23,47,.96);backdrop-filter:blur(10px);box-shadow:0 14px 30px rgba(0,0,0,.18);max-width:none!important;width:100%;margin:0!important;padding:14px 22px 12px!important}
.landing-top nav{align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.auth-footer{padding-top:0!important;text-align:center}
.campaign-warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:12px 14px;font-weight:800;line-height:1.4}
.lead-campaign-grid .rich-editor{width:100%}
.lead-campaign-grid .rich-editor textarea{min-height:190px}
.lead-campaign-grid small{display:block;margin-top:6px}
@media(max-width:760px){
  .landing-top{padding:14px 16px 12px!important}
  .landing-top nav{width:100%;display:flex;flex-wrap:nowrap!important;gap:8px}
}

/* v35 - módulos WhatsApp, Push, Aplicativo Web e PWA por cliente */
.whatsapp-public-page{padding-top:64px!important;padding-bottom:64px!important}
.whatsapp-public-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px;max-width:1120px;margin:28px auto;text-align:left}
.center-actions{justify-content:center}.module-tabs,.service-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px}.module-tabs button,.service-tabs button{border:1px solid #d5e0ef;background:#fff;color:#075bea;border-radius:999px;padding:12px 16px;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(2,32,71,.05)}.module-tabs button.active,.service-tabs button.active{background:#075bea;color:#fff;border-color:#075bea}.module-grid .full-span,.form-grid .full-span{grid-column:1/-1}.rich-toolbar{display:flex;gap:6px;flex-wrap:wrap;background:#f8fafc;border:1px solid #d5e0ef;border-bottom:0;border-radius:14px 14px 0 0;padding:8px}.rich-toolbar button{border-radius:10px;padding:8px 10px}.rich-editor textarea{border-radius:0 0 14px 14px;min-height:150px}.copy-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.floating-preview-card{text-align:center}.preview-wa-button{background:#22c55e;color:#fff;border-color:#16a34a;border-radius:999px;padding:15px 22px;font-weight:900}.rating-preview{font-size:42px;color:#f59e0b;letter-spacing:4px}.feature-list{line-height:1.9;color:#334155}.pwa-module-panel{background:#f8fafc;border:1px solid #dbe3ef;border-radius:22px;padding:16px}.pwa-chat-shell{display:grid;grid-template-columns:300px 1fr;min-height:520px;border:1px solid #dbe3ef;border-radius:20px;overflow:hidden;background:#fff}.pwa-chat-side{border-right:1px solid #dbe3ef;background:#f8fafc;padding:14px;display:flex;flex-direction:column;gap:10px}.pwa-chat-side h3{margin:0}.pwa-contact{display:grid;gap:4px;text-align:left;border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:12px;color:#071833}.pwa-contact.active{border-color:#075bea;background:#eef6ff}.pwa-contact small{color:#64748b}.pwa-contact span{font-size:12px;color:#475569}.pwa-chat-main{display:grid;grid-template-rows:auto 1fr auto;min-height:520px}.pwa-chat-head{display:flex;flex-direction:column;gap:3px;padding:14px 18px;border-bottom:1px solid #dbe3ef;background:#fff}.pwa-chat-head small{color:#64748b}.pwa-messages{padding:24px;background:#0b1b24;background-image:radial-gradient(circle at 20px 20px,rgba(255,255,255,.06) 0 18px,transparent 19px);display:flex;flex-direction:column;gap:12px}.bubble{max-width:70%;padding:12px 14px;border-radius:16px;font-weight:700}.bubble.in{background:#fff;color:#071833;align-self:flex-start}.bubble.out{background:#d9fdd3;color:#071833;align-self:flex-end}.pwa-composer{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;background:#fff;border-top:1px solid #dbe3ef}.pwa-composer button{border-radius:999px;background:#075bea;color:#fff}.public-pwa{min-height:100vh;background:#eef4fb}.pwa-public-top{height:62px;background:#fff;border-bottom:1px solid #dbe3ef;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:20}.pwa-public-main{padding:24px;max-width:1280px;margin:0 auto}.pwa-public-main .card h1{margin-top:0}.side button.active{background:#075bea;color:#fff;border-color:#075bea}
@media(max-width:900px){.whatsapp-public-grid{grid-template-columns:1fr}.copy-row{grid-template-columns:1fr}.pwa-chat-shell{grid-template-columns:1fr}.pwa-chat-side{border-right:0;border-bottom:1px solid #dbe3ef}.pwa-chat-main{min-height:460px}.service-tabs,.module-tabs{flex-wrap:nowrap;overflow-x:auto}.service-tabs button,.module-tabs button{white-space:nowrap}.side{position:sticky;top:58px;z-index:9}.layout{align-items:start}}


/* v36 - ajuste de responsividade geral, topo fixo e remoção de estouro horizontal/vertical */
html,body,#app{width:100%;max-width:100%;min-height:100%;overflow-x:hidden!important}
body{overscroll-behavior-x:none}
.landing,.auth-landing,.public-pwa{width:100%;max-width:100%;min-height:100dvh;overflow-x:hidden!important;padding-top:82px}
.landing-bg{position:fixed!important;inset:0!important;pointer-events:none;z-index:0}
.landing-top{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;max-width:100%!important;margin:0!important;box-sizing:border-box;display:flex!important;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;overflow:hidden}
.landing-top nav{max-width:calc(100vw - 330px);display:flex;flex-wrap:nowrap!important;gap:10px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.landing-top nav button{flex:0 0 auto;white-space:nowrap}
.landing-hero,.landing-section,.landing-features,.landing-footer{width:100%;max-width:1180px;box-sizing:border-box}
.landing-hero{min-height:calc(100dvh - 82px)}
.landing-preview,.landing-plan,.api-public-card,.newsletter,.lead-popup,.auth-card,.card{max-width:100%;box-sizing:border-box}
.newsletter form,.contact-form{width:100%}
.newsletter input,.contact-form input,.newsletter textarea,.contact-form textarea,.newsletter .phone-wrap,.contact-form .phone-wrap{min-width:0!important;max-width:100%}
.module-tabs,.service-tabs,.lead-tabs{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap,.table{max-width:100%}
@media(max-width:900px){
  .landing,.auth-landing{padding-top:128px}
  .landing-top{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:10px;min-height:118px;max-height:128px;padding:14px 16px 12px!important}
  .landing-top nav{width:100%!important;max-width:100%!important;gap:8px;padding-bottom:5px}
  .landing-top nav button{padding:11px 15px!important;min-width:max-content}
  .landing-logo{font-size:22px;white-space:nowrap;line-height:1.15}
  .landing-hero{grid-template-columns:1fr!important;min-height:auto;padding:30px 16px 46px!important;gap:22px}
  .landing-copy h1{font-size:40px;max-width:100%}
  .landing-copy p{font-size:19px;max-width:100%}
  .landing-actions{width:100%}
  .landing-actions .big{width:100%}
  .landing-section{padding:30px 16px 48px!important}
  .landing-features{padding:0 16px 48px!important;grid-template-columns:1fr!important}
  .landing-footer{padding:20px 16px 36px!important}
  .route-page{min-height:auto!important;justify-content:flex-start!important}
  .whatsapp-public-grid,.api-public-grid{grid-template-columns:1fr!important;width:100%}
  .lead-popup{right:14px!important;left:14px!important;width:auto!important}
}
@media(max-width:520px){
  .landing,.auth-landing{padding-top:134px}
  .landing-top{min-height:124px;max-height:134px}
  .landing-logo{font-size:20px}
  .landing-top nav button{padding:10px 13px!important;font-size:14px}
  .landing-copy h1,.route-title{font-size:34px!important;line-height:1.08}
  .landing-copy p{font-size:18px}
  .landing-checks span{width:100%;border-radius:18px}
  .preview-card b{font-size:32px}
  .preview-qr{width:132px;height:132px;font-size:60px}
  .newsletter{border-radius:22px;padding:22px}
  .copyright{font-size:14px;line-height:1.35}
}

/* v37 - menu mobile por ícone e chamados */
.landing-menu-toggle{display:none;align-items:center;justify-content:center;width:56px;height:48px;border-radius:18px;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;box-shadow:none;padding:0;flex:0 0 auto}
.landing-menu-toggle:hover{transform:none;box-shadow:none}
.ticket-grid{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:18px;align-items:start}
.tickets-list{display:grid;gap:14px;margin-top:14px}
.ticket-card{border:1px solid #dbe3ef;border-radius:22px;background:#fff;padding:16px;box-shadow:0 10px 26px rgba(15,23,42,.05)}
.ticket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.ticket-head h3{margin:4px 0;color:#0f172a;font-size:18px}.ticket-head small{color:#64748b;font-weight:700}.ticket-head b{color:#075bea;font-size:13px}
.ticket-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 11px;font-weight:900;font-size:12px;white-space:nowrap;background:#fef3c7;color:#92400e}
.ticket-status.em_andamento{background:#dbeafe;color:#1d4ed8}.ticket-status.respondido{background:#e0e7ff;color:#3730a3}.ticket-status.resolvido{background:#dcfce7;color:#166534}
.ticket-chat{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:12px;max-height:360px;overflow:auto;margin:10px 0 14px}
.ticket-bubble{max-width:86%;padding:11px 13px;border-radius:18px;margin-bottom:10px;line-height:1.45;white-space:pre-wrap}
.ticket-bubble p{margin:5px 0}.ticket-bubble small{display:block;margin-top:5px;font-size:11px;opacity:.78}.ticket-bubble.cliente{margin-left:auto;background:#2563eb;color:#fff;border-bottom-right-radius:8px}.ticket-bubble.admin{margin-right:auto;background:#e0edff;color:#0f172a;border:1px solid #c7dbff;border-bottom-left-radius:8px}
.ticket-reply{display:grid;gap:10px}.ticket-reply textarea{min-height:82px}.ticket-reply-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ticket-reply-row input[type=file]{flex:1 1 220px}.ticket-reply-row select{max-width:180px}.ticket-attachment{margin-top:8px;display:grid;gap:7px}.ticket-attachment img{max-width:180px;max-height:140px;border-radius:12px;border:1px solid #dbe3ef;background:#fff}.ticket-attachment .btn{display:inline-flex;width:max-content;max-width:100%;overflow-wrap:anywhere}
@media(max-width:900px){
  .landing,.auth-landing{padding-top:76px!important}
  .landing-top{position:fixed!important;top:0!important;left:0!important;right:0!important;min-height:76px!important;max-height:76px!important;height:76px!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;padding:12px 18px!important;overflow:visible!important}
  .landing-logo{font-size:22px!important;white-space:nowrap;max-width:calc(100vw - 92px);overflow:hidden;text-overflow:ellipsis}
  .landing-menu-toggle{display:inline-flex!important}
  .landing-top nav.landing-menu{display:none!important;position:absolute;top:100%;left:12px;right:12px;width:auto!important;max-width:none!important;background:#fff;border:1px solid #dbe3ef;border-radius:22px;padding:12px;box-shadow:0 22px 60px rgba(0,0,0,.25);overflow:visible!important;z-index:200;gap:8px;flex-direction:column!important}
  .landing-top.nav-open nav.landing-menu{display:flex!important}
  .landing-top nav.landing-menu button{width:100%;min-width:0!important;justify-content:center;color:#0b1733!important;background:#f8fbff!important;border-color:#dbe3ef!important;border-radius:16px!important;padding:14px 16px!important;font-size:16px!important;white-space:normal!important}
  .landing-top nav.landing-menu button.primary{background:linear-gradient(135deg,#075bea,#0ea5e9)!important;color:#fff!important;border-color:#075bea!important}
  .landing-hero{padding-top:28px!important}
  .ticket-grid{grid-template-columns:1fr}.ticket-head{flex-direction:column}.ticket-reply-row{display:grid;grid-template-columns:1fr}.ticket-reply-row select{max-width:none;width:100%}
}


/* v38 - menu Aplicativo Web na landing page */
.appweb-public-page{padding-top:64px!important;padding-bottom:64px!important}
.appweb-public-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:18px;max-width:1120px;margin:28px auto;text-align:left}
.appweb-highlight-card{outline:3px solid #38bdf8;background:linear-gradient(135deg,#ffffff,#eaf6ff)!important}
.appweb-public-grid .api-public-card b{display:block;font-size:20px;color:#075bea;margin-bottom:10px}
.appweb-public-grid .api-public-card p{line-height:1.55;color:#334155;margin:0}
@media(max-width:900px){.appweb-public-grid{grid-template-columns:1fr!important;width:100%}.landing-top nav.landing-menu button{font-size:15px!important}}


/* v39 - PWA real estilo plugin + login automático */
.m3d-pwa-login{min-height:100dvh;background:linear-gradient(135deg,#071833,#075985);display:grid;place-items:center;padding:24px;color:#0b1733}.m3d-pwa-login-card{width:min(460px,100%);background:#fff;border-radius:28px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.m3d-pwa-login-card h1{margin:0;color:#075bea}.m3d-pwa-login-card h2{margin:8px 0 10px}.m3d-pwa-login-card form{display:grid;gap:10px;margin:16px 0}.m3d-pwa-login-card .dark{color:#0b1733;background:#f8fbff;border-color:#dbe3ef;margin-top:10px;width:100%}
.m3d-pwa-app{height:100dvh;width:100vw;overflow:hidden;background:#eef4fb;display:grid;grid-template-columns:320px 1fr;color:#071833}.m3d-pwa-sidebar{background:#fff;border-right:1px solid #dbe3ef;display:flex;flex-direction:column;gap:10px;padding:14px;min-width:0;overflow:auto}.m3d-pwa-side-title{font-size:22px;font-weight:950}.m3d-pwa-exit{position:absolute;left:270px;top:12px;background:transparent;border:0;color:#075bea;box-shadow:none;padding:4px;font-size:13px}.m3d-pwa-online{display:flex;align-items:center;gap:8px;background:#dfffea;border:1px solid #86efac;border-radius:999px;padding:9px 12px;font-size:13px}.m3d-pwa-online small{color:#166534;font-weight:800}.avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background:#e2e8f0;color:#334155;font-weight:900;flex:0 0 auto}.m3d-pwa-actions{display:grid;gap:8px;border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7;padding:12px 0}.m3d-pwa-actions textarea{min-height:58px}.m3d-pwa-actions button,.m3d-pwa-conv-head button,.m3d-chat-head button{padding:9px 12px;border-radius:12px;font-size:13px}.m3d-pwa-actions .danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.m3d-pwa-conv-head{display:flex;align-items:center;justify-content:space-between}.m3d-pwa-conv-head h3{margin:0;font-size:20px}.m3d-pwa-search{display:grid;grid-template-columns:1fr auto;gap:7px}.m3d-pwa-search input{min-height:40px;border-radius:12px}.m3d-pwa-conv-list{display:grid;gap:6px}.m3d-pwa-conv{position:relative;display:grid;cursor:pointer;grid-template-columns:42px 1fr auto;gap:2px 8px;text-align:left;border:1px solid #f1d9c4;background:#fff7ed;border-left:3px solid #fb923c;border-radius:0;padding:8px;color:#071833;box-shadow:none}.m3d-pwa-conv.active{background:#eef6ff;border-color:#93c5fd;border-left-color:#075bea}.m3d-pwa-conv b{grid-column:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m3d-pwa-conv small{grid-column:2;color:#475569}.m3d-pwa-conv span:not(.avatar){grid-column:2 / 4;color:#64748b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m3d-pwa-conv em{grid-column:3;grid-row:2;align-self:start;justify-self:end;margin-top:2px;background:#ef4444;color:#fff;border-radius:999px;min-width:20px;height:20px;font-style:normal;font-size:12px;text-align:center;line-height:20px}.m3d-pwa-mini-x{position:absolute;right:7px;top:7px;border:0;background:transparent;color:#e11d48;box-shadow:none;padding:0;width:24px;height:24px;display:grid;place-items:center;font-size:18px;line-height:1;cursor:pointer}.m3d-pwa-main{min-width:0;display:grid;grid-template-rows:auto 1fr;background:#eef4fb}.m3d-pwa-header{height:68px;background:#fff;border-bottom:1px solid #dbe3ef;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px}.m3d-pwa-brand{text-align:right}.m3d-pwa-brand b{display:block;font-size:15px}.m3d-pwa-brand small{font-size:12px;font-weight:800}.m3d-pwa-top-tabs{display:flex;align-items:center;gap:10px;background:#fff7ed;border-bottom:1px solid #f1d9c4;padding:12px 14px;overflow-x:auto}.m3d-pwa-top-tabs button{border:1px solid #d97706;color:#92400e;background:#fff;border-radius:14px;padding:12px 18px;font-weight:900;white-space:nowrap}.m3d-pwa-top-tabs button.active{background:#2563eb;color:#fff;border-color:#2563eb}.m3d-pwa-sub-tabs{display:flex;gap:10px;background:#fff7ed;border-bottom:1px solid #f1d9c4;padding:11px 14px;overflow-x:auto}.m3d-pwa-sub-tabs button{border:1px solid #d97706;background:#fff;color:#92400e;border-radius:14px;padding:10px 16px;font-weight:900;white-space:nowrap}.m3d-pwa-sub-tabs button.active{background:#9a4b10;color:#fff}.m3d-pwa-content{overflow:hidden;min-height:0;display:grid;grid-template-rows:auto 1fr}.m3d-chat-wrap{display:grid;grid-template-rows:auto 1fr auto;min-height:0;background:#101d22}.m3d-chat-head{background:#f8fbff;border-bottom:1px solid #dbe3ef;padding:12px 18px;display:flex;align-items:center;gap:12px;justify-content:space-between}.m3d-chat-head small{color:#64748b}.m3d-chat-messages{overflow:auto;padding:28px;background:#0f1b20;background-image:radial-gradient(circle at 45px 45px,rgba(255,255,255,.055) 0 21px,transparent 22px),radial-gradient(circle at 120px 120px,rgba(255,255,255,.04) 0 15px,transparent 16px);display:flex;flex-direction:column;gap:10px}.m3d-bubble{max-width:min(72%,680px);padding:10px 13px;border-radius:16px;line-height:1.35}.m3d-bubble p{margin:0;white-space:pre-wrap}.m3d-bubble small{display:block;margin-top:4px;font-size:11px;opacity:.75}.m3d-bubble.in{align-self:flex-start;background:#fff;color:#071833}.m3d-bubble.out{align-self:flex-end;background:#d9fdd3;color:#071833}.m3d-bubble.sys{align-self:center;background:rgba(255,255,255,.12);color:#fff;text-align:center}.m3d-composer{display:grid;grid-template-columns:auto 1fr auto;gap:10px;background:#fff;padding:14px 16px;border-top:1px solid #dbe3ef}.m3d-composer input{border-radius:999px}.m3d-composer button{border-radius:999px}.m3d-composer .send{background:#075bea;color:#fff}.m3d-pwa-empty{display:grid;place-items:center;background:#0f1b20;color:#fff;font-size:18px}.m3d-panel-card{margin:22px;background:#fff;border:1px solid #dbe3ef;border-radius:22px;padding:22px;box-shadow:0 18px 45px rgba(15,23,42,.06)}.m3d-client-list{display:grid;gap:8px;margin-top:14px}.m3d-client-list button{display:grid;text-align:left;gap:3px;background:#f8fbff;border:1px solid #dbe3ef;border-radius:16px;padding:12px;color:#071833}.m3d-client-list small,.m3d-client-list span{color:#64748b}.m3d-dica-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.m3d-dica-grid>div{border:1px solid #dbe3ef;border-radius:16px;background:#f8fbff;padding:14px}.m3d-pwa-loading{display:grid;place-items:center;min-height:400px;font-size:20px;font-weight:900}
@media(max-width:900px){.m3d-pwa-app{grid-template-columns:1fr;height:100dvh}.m3d-pwa-sidebar{position:relative;height:auto;max-height:38dvh;border-right:0;border-bottom:1px solid #dbe3ef}.m3d-pwa-exit{right:14px;left:auto}.m3d-pwa-main{min-height:62dvh}.m3d-pwa-header{height:56px}.m3d-pwa-brand small{display:none}.m3d-pwa-top-tabs,.m3d-pwa-sub-tabs{padding:8px 10px}.m3d-pwa-top-tabs button,.m3d-pwa-sub-tabs button{padding:9px 12px;font-size:13px}.m3d-chat-head{align-items:flex-start;flex-direction:column}.m3d-bubble{max-width:88%}.m3d-composer{grid-template-columns:auto 1fr auto;padding:10px}.m3d-panel-card{margin:12px;padding:16px}.m3d-pwa-actions{display:none}}


.m3d-pwa-brand-left{display:grid;gap:2px}.m3d-pwa-brand-left b{font-size:16px}.m3d-pwa-brand-left small{color:#64748b;font-weight:800}.m3d-pwa-header-actions{display:flex;align-items:center;gap:10px;min-width:0}.m3d-wa-status{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid #dbe3ef;background:#f8fbff;color:#334155;font-weight:900;padding:10px 14px;white-space:nowrap;box-shadow:none}.m3d-wa-status span{width:12px;height:12px;border-radius:999px;background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.14)}.m3d-wa-status.online{background:#ecfdf5;color:#166534;border-color:#86efac}.m3d-wa-status.online span{background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.16)}.m3d-wa-status.offline{background:#fef2f2;color:#991b1b;border-color:#fecaca}.m3d-wa-status.offline span{background:#ef4444;box-shadow:0 0 0 5px rgba(239,68,68,.13)}.m3d-pwa-install{border-radius:999px;background:#075bea;color:#fff;border-color:#075bea;font-weight:900;white-space:nowrap}.m3d-groups-wrap{display:grid;grid-template-columns:280px 1fr;min-height:0}.m3d-group-side{background:#fff;border-right:1px solid #dbe3ef;padding:14px;overflow:auto;display:flex;flex-direction:column;gap:8px}.m3d-group-side h2{margin:0 0 6px}.m3d-group-side>button{display:grid;text-align:left;gap:3px;background:#f8fbff;border:1px solid #dbe3ef;border-radius:14px;color:#071833;padding:10px;box-shadow:none}.m3d-group-side>button.active{background:#eef6ff;border-color:#075bea}.m3d-group-side small{color:#64748b}.m3d-group-create{display:grid;grid-template-columns:1fr auto;gap:6px}.m3d-group-create input{min-height:38px;border-radius:12px}.m3d-group-create button{padding:9px 10px;border-radius:12px}.m3d-team-wrap{min-height:0}.m3d-leads-pwa-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:14px}.m3d-leads-pwa-list button{display:grid;text-align:left;gap:4px;background:#f8fbff;border:1px solid #dbe3ef;border-radius:16px;color:#071833;padding:12px}.m3d-leads-pwa-list small,.m3d-leads-pwa-list span{color:#64748b}.m3d-composer input:disabled,.m3d-composer button:disabled{opacity:.55;cursor:not-allowed}.m3d-pwa-content > .m3d-pwa-sub-tabs{grid-row:1}.m3d-pwa-content > .m3d-chat-wrap,.m3d-pwa-content > .m3d-groups-wrap,.m3d-pwa-content > .m3d-panel-card{grid-row:2}
@media(max-width:900px){.m3d-pwa-content{grid-template-rows:auto minmax(0,1fr)}.m3d-pwa-header{height:auto;min-height:64px;padding:10px;align-items:flex-start}.m3d-pwa-header-actions{flex-wrap:wrap;justify-content:flex-end}.m3d-wa-status{font-size:12px;padding:8px 10px}.m3d-pwa-install{padding:8px 10px;font-size:12px}.m3d-groups-wrap{grid-template-columns:1fr;grid-template-rows:auto 1fr}.m3d-group-side{max-height:190px;border-right:0;border-bottom:1px solid #dbe3ef}.m3d-pwa-sidebar{max-height:36dvh}.m3d-pwa-main{min-height:64dvh}.m3d-chat-wrap{min-height:0}.m3d-chat-messages{padding:14px}.m3d-composer{position:sticky;bottom:0;z-index:5}.m3d-pwa-brand-left small{display:none}}


/* v41 - ajustes cirúrgicos PWA/Leads CNPJ */
.m3d-pwa-content{grid-template-rows:auto minmax(0,1fr);}
.m3d-pwa-content > .m3d-chat-wrap,
.m3d-pwa-content > .m3d-groups-wrap{width:100%;height:100%;align-self:stretch;justify-self:stretch;min-width:0;}
.m3d-groups-wrap{grid-template-columns:minmax(260px,320px) minmax(0,1fr);}
.m3d-groups-wrap .m3d-chat-wrap{min-width:0;height:100%;}
.pwa-client-form{display:grid;grid-template-columns:1fr;gap:8px;max-width:760px;}
.pwa-client-form label{font-weight:900;color:#071833;}
.pwa-client-form input,.pwa-client-form select{min-height:44px;border-radius:14px;border:1px solid #cfe0f5;padding:0 12px;font-size:15px;}
.pwa-client-two{display:grid;grid-template-columns:240px 1fr;gap:10px;}
.pwa-client-two>div{display:grid;gap:6px;}
.full-span{grid-column:1/-1;}
.cnpj-note{background:#e9f4ff;border:1px solid #bcd8ff;color:#075bea;border-radius:12px;padding:10px 12px;font-weight:900;}
.m3d-cnpj-panel{overflow:auto;}
.m3d-cnpj-grid{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:14px;align-items:start;}
.m3d-cnpj-search-card,.m3d-cnpj-result-card{background:#fff;border:1px solid #dbe3ef;border-radius:18px;padding:16px;display:grid;gap:8px;}
.m3d-cnpj-search-card input{min-height:42px;border-radius:12px;border:1px solid #cfe0f5;padding:0 12px;}
.m3d-cnpj-search-card .check{display:flex;align-items:center;gap:8px;background:#f8fbff;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;font-weight:800;}
.m3d-cnpj-table-wrap{overflow:auto;max-height:58vh;border:1px solid #e2e8f0;border-radius:14px;}
.m3d-cnpj-table{min-width:920px;margin:0;}
.m3d-cnpj-table td small{display:block;color:#64748b;font-weight:700;margin-top:3px;}
.cnpj-pill{display:inline-flex;border-radius:999px;background:#e2e8f0;color:#334155;padding:4px 8px;font-weight:900;font-size:12px;}
.cnpj-pill.consent{background:#fff7ed;color:#92400e;}
.cnpj-empty{background:#f8fbff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;}
@media(max-width:900px){
  .m3d-groups-wrap{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);}
  .m3d-cnpj-grid,.pwa-client-two{grid-template-columns:1fr;}
  .m3d-cnpj-table-wrap{max-height:50vh;}
}


/* V42 - Correção cirúrgica PWA: Grupos em 2 colunas reais e rolagem nas abas Lista/Leads CNPJ */
.m3d-pwa-content{overflow:hidden;min-height:0;}
.m3d-pwa-content > .m3d-groups-wrap{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);grid-template-rows:1fr;width:100%;height:100%;min-width:0;min-height:0;align-self:stretch;justify-self:stretch;overflow:hidden;}
.m3d-pwa-content > .m3d-groups-wrap > .m3d-group-side{grid-column:1;grid-row:1;min-height:0;overflow:auto;}
.m3d-pwa-content > .m3d-groups-wrap > .m3d-chat-wrap{grid-column:2;grid-row:1;min-width:0;min-height:0;height:100%;width:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;}
.m3d-pwa-content > .m3d-groups-wrap > .m3d-chat-wrap .m3d-chat-messages{min-height:0;overflow:auto;}
.m3d-pwa-content > .m3d-panel-card.m3d-pwa-clients-admin,
.m3d-pwa-content > .m3d-panel-card.m3d-cnpj-panel{align-self:stretch;justify-self:stretch;height:auto;max-height:calc(100% - 44px);min-height:0;overflow:auto;}
.m3d-pwa-clients-admin .m3d-client-list{padding-bottom:28px;}
.m3d-cnpj-panel .m3d-cnpj-grid{min-height:0;}
@media(max-width:900px){
  .m3d-pwa-content > .m3d-groups-wrap{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);overflow:hidden;}
  .m3d-pwa-content > .m3d-groups-wrap > .m3d-group-side{grid-column:1;grid-row:1;max-height:210px;border-right:0;border-bottom:1px solid #dbe3ef;}
  .m3d-pwa-content > .m3d-groups-wrap > .m3d-chat-wrap{grid-column:1;grid-row:2;min-height:360px;}
  .m3d-pwa-content > .m3d-panel-card.m3d-pwa-clients-admin,
  .m3d-pwa-content > .m3d-panel-card.m3d-cnpj-panel{max-height:calc(100dvh - 235px);margin:10px;overflow:auto;}
}


/* v43 - ajustes cirúrgicos PWA: grupos sem ações e rolagem fora dos cards */
.m3d-pwa-content.m3d-pwa-content-clients,
.m3d-pwa-content.m3d-pwa-content-cnpj{
  display:block;
  overflow-y:auto;
  overflow-x:hidden;
  min-height:0;
  padding-bottom:28px;
}
.m3d-pwa-content.m3d-pwa-content-clients > .m3d-pwa-sub-tabs,
.m3d-pwa-content.m3d-pwa-content-cnpj > .m3d-pwa-sub-tabs{
  position:sticky;
  top:0;
  z-index:10;
}
.m3d-pwa-content.m3d-pwa-content-clients > .m3d-panel-card.m3d-pwa-clients-admin,
.m3d-pwa-content.m3d-pwa-content-cnpj > .m3d-panel-card.m3d-cnpj-panel{
  height:auto;
  max-height:none;
  min-height:auto;
  overflow:visible;
  align-self:auto;
  justify-self:auto;
}
.m3d-pwa-content.m3d-pwa-content-cnpj .m3d-cnpj-table-wrap{
  max-height:none;
}
@media(max-width:900px){
  .m3d-pwa-content.m3d-pwa-content-clients > .m3d-panel-card.m3d-pwa-clients-admin,
  .m3d-pwa-content.m3d-pwa-content-cnpj > .m3d-panel-card.m3d-cnpj-panel{
    max-height:none;
    overflow:visible;
  }
}


/* v44 - correção definitiva: classe da aba é atualizada via JS; ações somem fora do Chat e a rolagem fica fora do card */
.m3d-pwa-content.m3d-pwa-content-groups ~ .m3d-pwa-actions,
body:not(.x) .m3d-pwa-app .m3d-pwa-sidebar .m3d-pwa-actions[style*="none"]{display:none!important;}
.m3d-pwa-content.m3d-pwa-content-clients,
.m3d-pwa-content.m3d-pwa-content-cnpj{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:block!important;
  min-height:0!important;
  height:100%!important;
  padding-bottom:36px!important;
}
.m3d-pwa-content.m3d-pwa-content-clients > .m3d-panel-card.m3d-pwa-clients-admin,
.m3d-pwa-content.m3d-pwa-content-cnpj > .m3d-panel-card.m3d-cnpj-panel{
  overflow:visible!important;
  max-height:none!important;
  height:auto!important;
  min-height:auto!important;
}
.m3d-pwa-content.m3d-pwa-content-cnpj .m3d-cnpj-table-wrap{max-height:none!important;}
.m3d-pwa-content.m3d-pwa-content-groups{
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
.m3d-pwa-content.m3d-pwa-content-groups > .m3d-groups-wrap{
  height:100%!important;
  min-height:0!important;
}


/* v46 - PWA sem coluna Conversas em Grupos/Lista/Leads CNPJ e rolagem real da página */
.m3d-pwa-app.m3d-pwa-no-sidebar{
  grid-template-columns:1fr!important;
}
.m3d-pwa-app.m3d-pwa-no-sidebar .m3d-pwa-sidebar{
  display:none!important;
}
.m3d-pwa-app.m3d-pwa-no-sidebar .m3d-pwa-main{
  grid-column:1/-1!important;
  width:100%!important;
  min-width:0!important;
}
.m3d-pwa-app.m3d-pwa-no-sidebar .m3d-pwa-content{
  width:100%!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll{
  height:auto!important;
  min-height:100dvh!important;
  overflow:visible!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-main{
  display:block!important;
  min-height:100dvh!important;
  overflow:visible!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-header{
  position:sticky!important;
  top:0!important;
  z-index:40!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content.m3d-pwa-content-clients,
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content.m3d-pwa-content-cnpj{
  display:block!important;
  height:auto!important;
  min-height:calc(100dvh - 68px)!important;
  overflow:visible!important;
  padding-bottom:90px!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content.m3d-pwa-content-clients > .m3d-pwa-sub-tabs,
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content.m3d-pwa-content-cnpj > .m3d-pwa-sub-tabs{
  position:sticky!important;
  top:68px!important;
  z-index:35!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content.m3d-pwa-content-clients > .m3d-panel-card.m3d-pwa-clients-admin,
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content.m3d-pwa-content-cnpj > .m3d-panel-card.m3d-cnpj-panel{
  height:auto!important;
  min-height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  margin-bottom:80px!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-cnpj-panel,
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-cnpj-grid,
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-cnpj-result-card,
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-cnpj-search-card{
  overflow:visible!important;
  max-height:none!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-cnpj-table-wrap{
  max-height:none!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
}
body.m3d-pwa-page-scroll,
body.m3d-pwa-page-scroll #app{
  min-height:100dvh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
body.m3d-pwa-no-sidebar:not(.m3d-pwa-page-scroll) .m3d-pwa-app{
  overflow:hidden!important;
}
@media(max-width:900px){
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-header{top:0!important;}
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content.m3d-pwa-content-clients > .m3d-pwa-sub-tabs,
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content.m3d-pwa-content-cnpj > .m3d-pwa-sub-tabs{top:64px!important;}
  .m3d-pwa-app.m3d-pwa-no-sidebar .m3d-pwa-content.m3d-pwa-content-groups > .m3d-groups-wrap{grid-template-columns:1fr!important;}
}


/* v46 - ajuste fino PWA: Chat com a Equipe mantém coluna Conversas; Grupos/Lista/Leads sem coluna; checkboxes Leads CNPJ compactos */
.m3d-pwa-app.m3d-pwa-no-sidebar{
  grid-template-columns:1fr!important;
}
.m3d-pwa-app.m3d-pwa-no-sidebar .m3d-pwa-sidebar{
  display:none!important;
}
.m3d-pwa-app:not(.m3d-pwa-no-sidebar) .m3d-pwa-sidebar{
  display:flex!important;
}
.m3d-pwa-app:not(.m3d-pwa-no-sidebar) .m3d-pwa-main{
  grid-column:auto!important;
}
.m3d-pwa-content-team{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}
.m3d-pwa-content-team > .m3d-chat-wrap{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
}
.m3d-pwa-content-team .m3d-chat-messages{
  min-height:0!important;
  overflow:auto!important;
}
.m3d-pwa-content-team .m3d-pwa-actions{
  display:none!important;
}
.m3d-cnpj-search-card label.check{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  min-height:42px!important;
  padding:8px 12px!important;
  font-size:14px!important;
  line-height:1.2!important;
}
.m3d-cnpj-search-card label.check input[type=checkbox]{
  appearance:auto!important;
  -webkit-appearance:auto!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  margin:0!important;
  padding:0!important;
  flex:0 0 18px!important;
}
.m3d-cnpj-search-card label.check span,
.m3d-cnpj-search-card label.check{
  white-space:normal!important;
}
.m3d-cnpj-search-card button{
  min-height:42px!important;
  padding:10px 14px!important;
  font-size:15px!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content.m3d-pwa-content-clients,
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content.m3d-pwa-content-cnpj{
  overflow:visible!important;
}
body.m3d-pwa-page-scroll{
  overflow-y:auto!important;
}

/* V48 - Integrações do cliente com cards largos e teste da API */
.integracoes-cliente-grid{display:grid;grid-template-columns:repeat(2,minmax(420px,1fr));gap:18px;align-items:start;width:100%}
.integracoes-cliente-grid .card{width:100%;margin-bottom:0}
.integracoes-cliente-grid .full-span{grid-column:1/-1}
.integration-card{min-height:100%;display:flex;flex-direction:column}
.integration-card .actions{margin-top:auto}
.api-integration-card .actions{align-items:center}
#apiTestOut{margin-top:10px}
@media(max-width:980px){.integracoes-cliente-grid{grid-template-columns:1fr}.integracoes-cliente-grid .full-span{grid-column:auto}}

/* V49 - WhatsApp multi-contas por cliente, instância por ID e rotação */
.integracoes-cliente-grid.wide-integrations{grid-template-columns:1.2fr 1fr!important;gap:18px;align-items:start;width:100%}
.wa-multi-card{grid-column:1/-1!important}
.wa-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.wa-rule-box{border:1px solid #fed7aa;background:#fff7ed;border-radius:16px;padding:14px 16px;margin:10px 0 14px;color:#7c2d12;display:flex;flex-direction:column;gap:4px;font-weight:700}
.wa-accounts-grid{display:flex;gap:14px;align-items:stretch;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin}
.wa-account-card{width:188px;min-width:188px;border:2px solid #2563eb;border-radius:16px;background:#fff;padding:10px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;box-shadow:0 10px 22px rgba(15,23,42,.06);cursor:pointer}
.wa-account-card.selected{border-color:#f97316;background:#fff7ed}
.wa-drag{width:100%;border:1px dashed #2563eb;border-radius:10px;background:#eff6ff;color:#0056d6;font-size:13px;font-weight:900;line-height:1.05;padding:7px 4px;text-transform:uppercase}
.wa-pos{display:flex;align-items:center;gap:5px;width:100%;justify-content:center;font-size:10px;font-weight:800;color:#475569}
.wa-pos button{width:32px;height:28px;border-radius:9px;padding:0}
.wa-pos select{width:48px;height:30px;border-radius:9px;padding:0 4px;text-align:center}
.wa-instance-name{width:100%;font-size:11px;line-height:1.25;background:#f8fafc;border:1px solid #dbeafe;border-radius:10px;padding:6px;color:#334155;word-break:break-word}
.danger-link{background:transparent!important;border:0!important;color:#dc2626!important;box-shadow:none!important;padding:2px!important;min-height:auto!important;font-weight:900}
.wa-number{width:100%;border:1px dashed #94a3b8;border-radius:10px;padding:7px 4px;font-weight:900;font-size:12px;color:#334155;min-height:32px;display:flex;align-items:center;justify-content:center;word-break:break-word}
.wa-check-row{width:100%;min-height:46px;border:1px solid #fed7aa;border-radius:12px;padding:6px 8px;font-size:12px;line-height:1.05;font-weight:900;text-align:center;color:#ea580c;display:flex;align-items:center;justify-content:space-between;gap:6px;background:#fff7ed;text-transform:uppercase}
.wa-check-row.campaign-wa{color:#075bea;background:#eff6ff;border-color:#bfdbfe}
.wa-check-row input{width:18px;height:18px;min-width:18px;accent-color:#2563eb}
.wa-card-actions{display:grid;grid-template-columns:1fr;gap:6px;width:100%}
.wa-card-actions button{width:100%;min-height:34px;padding:7px 8px;font-size:12px;border-radius:10px}
.wa-card-actions .mini{background:#22c55e!important;border-color:#22c55e!important}
.wa-multi-card #waout{margin-top:12px;max-width:680px}
.wa-multi-card .qr{width:360px;max-width:100%;height:auto;margin-top:10px;border:1px solid #dbeafe;border-radius:16px;padding:12px;background:#fff}
.email-wide-card,.api-integration-card{width:100%}
@media(max-width:980px){.integracoes-cliente-grid.wide-integrations{grid-template-columns:1fr!important}.wa-card-head{display:block}.wa-card-head .primary{margin-top:10px;width:100%}.wa-accounts-grid{display:grid;grid-template-columns:1fr}.wa-account-card{width:100%;min-width:0}.wa-multi-card .qr{width:100%}}
/* v50 - reorganização WhatsApp, E-mail em Massa e Integrações */
.whatsapp-connection-card{width:100%;max-width:none}
.api-only-integrations{grid-template-columns:1fr!important;max-width:none;width:100%}
.api-only-integrations .api-integration-card{max-width:none;width:100%}
.email-mass-grid{grid-template-columns:1fr!important}
.email-config-card{max-width:760px;width:100%}
.email-footer-preview{background:#f8fafc;border:1px solid #d5e0ef;border-radius:14px;padding:16px;color:#475569}
.module-tabs button{white-space:nowrap}
@media(max-width:900px){.email-config-card{max-width:none}.api-copy-grid{grid-template-columns:1fr}.module-tabs{padding-bottom:4px}}

/* v51 - Correções reais do WhatsApp multi-contas */
.wa-qr-panel{margin:10px 0 14px;max-width:520px}
.wa-qr-wrap{width:100%;max-width:390px;overflow:hidden;border:1px solid #dbeafe;border-radius:16px;background:#fff;margin-top:10px;padding:10px}
.wa-qr-wrap .qr,.wa-multi-card .wa-qr-wrap .qr{display:block;width:100%!important;max-width:360px!important;height:auto!important;margin:0 auto!important;border:0!important;padding:0!important}
.wa-rotation-box{border:1px solid #fed7aa;background:#fffaf4;border-radius:16px;padding:14px 16px;margin:10px 0 16px;display:grid;gap:10px;color:#0f172a}
.wa-rotation-box textarea{min-height:86px;font-family:Arial,Helvetica,sans-serif;line-height:1.35}
.wa-rotate-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#7c2d12}
.wa-rotate-line input{width:92px;text-align:center;font-weight:900;border-color:#fb923c}
.wa-account-card{position:relative;overflow:hidden}
.wa-account-card.dragging{opacity:.6;transform:scale(.98)}
.wa-remove{position:absolute;right:6px;top:6px;width:24px;height:24px;min-height:24px;padding:0!important;border-radius:999px!important;background:#fee2e2!important;color:#b91c1c!important;border:1px solid #fecaca!important;font-weight:900;z-index:2}
.wa-number{max-height:56px;overflow:auto;line-height:1.2;overflow-wrap:anywhere;word-break:break-word;background:#f8fafc}
.wa-number.empty{color:#64748b;font-size:11px}
.wa-drag{cursor:grab;user-select:none;padding-right:26px}
.wa-drag:active{cursor:grabbing}
.wa-card-actions button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:980px){.wa-qr-panel{max-width:none}.wa-rotate-line input{width:72px}.wa-qr-wrap{max-width:100%}}


/* v52 - status WhatsApp no topo e sincronização visual do número principal */
.head-row .m3d-wa-status{border-radius:999px;padding:12px 18px;font-size:15px;box-shadow:0 10px 22px rgba(15,23,42,.06)}
.head-row .m3d-wa-status.online{background:#ecfdf5!important;color:#166534!important;border-color:#86efac!important}
.head-row .m3d-wa-status.offline{background:#fef2f2!important;color:#991b1b!important;border-color:#fecaca!important}
.wa-number.number-missing{color:#92400e;background:#fffbeb;border-color:#fbbf24;font-size:11px}

/* v53 - Agente de Campanha / construtor de fluxo */
.wa-agent-builder{max-width:none!important;width:100%;overflow:visible!important}
.wa-flow-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:18px 0;padding:14px;border:1px solid #dbeafe;border-radius:16px;background:#f8fbff}
.blue-note{color:#1d4ed8;font-weight:700;margin:.35rem 0 0;font-size:.92rem}
.wa-flow-blocks{display:grid;gap:18px;margin:16px 0}
.wa-flow-card{border:1px solid #cbd5e1;background:#f8fafc;border-radius:16px;padding:16px;box-shadow:0 8px 18px rgba(15,23,42,.04)}
.wa-flow-card.dragging{opacity:.55;border-color:#2563eb}
.wa-flow-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;padding:14px 16px;border-radius:12px}
.wa-flow-left{display:flex;align-items:center;gap:12px;min-width:0}
.wa-flow-left strong{font-size:18px;white-space:normal}
.wa-flow-drag{cursor:move!important;border-color:#bfdbfe!important;color:#2563eb!important;background:#eff6ff!important;font-size:18px!important;font-weight:900!important;min-width:40px!important}
.wa-flow-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.wa-flow-actions button{min-width:auto!important;padding:10px 14px!important}
.wa-flow-body{display:grid;gap:14px;margin-top:16px}
.wa-flow-body label,.wa-flow-option label,.wa-hours-card label{font-weight:700;color:#0f172a;display:grid;gap:6px}
.wa-flow-body input,.wa-flow-body textarea,.wa-flow-body select,.wa-flow-option input,.wa-flow-option textarea,.wa-flow-option select{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:12px 14px;font:inherit;background:#fff;color:#061633;box-sizing:border-box}
.wa-action-box{background:#f8fafc;border:1px solid #dbe4ee;border-radius:14px;padding:16px;display:grid;gap:12px}
.wa-action-box h4{margin:0;color:#0f172a}
.two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.wa-flow-options{display:grid;gap:14px;margin-top:4px}
.wa-flow-option{background:#fff;border:1px solid #dbeafe;border-radius:14px;padding:16px;display:grid;gap:12px}
.wa-flow-option-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.wa-flow-preview{display:grid;gap:8px;margin-top:6px}
.wa-flow-preview>div{background:#eaf3ff;border:1px solid #bfdbfe;border-radius:12px;padding:14px;line-height:1.55;color:#0f172a}
.info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:12px;color:#1e3a8a;font-weight:700}
.wa-hours-card{margin-top:18px;background:#fff;border:1px solid #dbe4ee;border-radius:16px;padding:18px;display:grid;gap:12px}
.wa-hours-card h3{margin:0;color:#0f172a}
.wa-hours-head,.wa-hour-row{display:grid;grid-template-columns:minmax(160px,1fr) 180px 180px;gap:12px;align-items:center}
.wa-hours-head{color:#334155;text-transform:uppercase;font-size:.85rem;padding:0 4px}
.wa-hour-row{background:#fff;border:1px solid #dbe4ee;border-radius:12px;padding:12px}
.wa-hour-row input[type="time"]{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:12px 14px;font:inherit}
.wa-hour-row input[type="checkbox"]{width:18px;height:18px}
.wa-agent-builder .danger.small{padding:8px 12px!important;font-size:.9rem!important}
@media(max-width:850px){.wa-flow-top,.wa-flow-card-top{align-items:stretch;flex-direction:column}.two-cols,.wa-hours-head,.wa-hour-row{grid-template-columns:1fr}.wa-flow-actions{justify-content:flex-start}}

/* v55 - Chat PWA config, shortcodes e respostas rápidas */
.wa-shortcodes-box{margin:16px 0;padding:14px 16px;background:#f8fbff;border:1px solid #bfdbfe;border-radius:16px;display:grid;gap:8px}.wa-shortcode-chips{display:flex;gap:8px;flex-wrap:wrap}.wa-shortcode-chips button{background:#fff!important;color:#075bea!important;border:1px solid #c7d2fe!important;border-radius:12px!important;padding:10px 14px!important;box-shadow:none!important;font-weight:800!important}.pwa-module-panel{background:#fff;border:1px solid #dbe3ef;border-radius:20px;padding:22px;margin-top:18px}.pwa-module-panel>.module-tabs{margin:14px 0 20px}.pwa-config-card{box-shadow:none;margin-top:12px}.pwa-config-card h3{margin:4px 0 10px}.pwa-config-list{display:grid;gap:10px;margin-top:14px}.pwa-config-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid #dbe3ef;border-radius:14px;padding:12px;background:#f8fbff}.pwa-config-row b{display:block}.pwa-config-row small{display:block;color:#64748b;white-space:pre-wrap}.pwa-config-row span{font-weight:900;color:#166534}.pwa-logo-preview{border:1px dashed #cbd5e1;background:#f8fafc;border-radius:14px;padding:10px;width:180px;min-height:100px;display:grid;place-items:center}.pwa-logo-preview img{max-width:150px;max-height:90px;object-fit:contain}.inline-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr) auto;gap:10px;align-items:end}.m3d-pwa-brand-left{display:grid!important;grid-template-columns:auto 1fr;grid-template-areas:'logo title' 'logo subtitle';align-items:center;gap:2px 10px}.m3d-pwa-logo{grid-area:logo;max-width:44px;max-height:44px;object-fit:contain;border-radius:0;background:transparent!important;border:0!important;box-shadow:none!important}.m3d-pwa-brand-left b{grid-area:title}.m3d-pwa-brand-left small{grid-area:subtitle}.m3d-quick-panel{position:absolute;left:22px;right:22px;bottom:82px;background:#fff;border:1px solid #bfdbfe;border-radius:18px;box-shadow:0 20px 50px rgba(15,23,42,.18);padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;z-index:20}.m3d-quick-panel[hidden]{display:none}.m3d-quick-panel button{text-align:left;background:#f8fbff;border:1px solid #dbe3ef;border-radius:12px;color:#071833;box-shadow:none;padding:10px;display:grid;gap:2px}.m3d-quick-panel span{font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m3d-composer-rich{grid-template-columns:auto auto 1fr auto}.m3d-chat-wrap{position:relative}.m3d-pwa-app{background:var(--m3d-pwa-bg,#eef4fb)}.m3d-composer .send,.m3d-pwa-install,.m3d-pwa-actions button:not(.danger){background:var(--m3d-pwa-button,#075bea);border-color:var(--m3d-pwa-button,#075bea);color:#fff}@media(max-width:900px){.inline-form{grid-template-columns:1fr}.pwa-config-row{grid-template-columns:1fr}.m3d-composer-rich{grid-template-columns:auto auto 1fr auto}.m3d-quick-panel{left:8px;right:8px;bottom:70px}}

/* v62 - popup de aceite do atendimento humano no PWA */
.m3d-accept-overlay{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}
.m3d-accept-card{position:relative;width:min(430px,96vw);background:#fff;border:1px solid #bfdbfe;border-radius:22px;box-shadow:0 24px 80px rgba(15,23,42,.28);padding:24px;color:#001b44}
.m3d-accept-bell{position:absolute;left:50%;top:-22px;transform:translateX(-50%);width:52px;height:52px;border-radius:999px;background:linear-gradient(135deg,#fbbf24,#f97316);box-shadow:0 14px 35px rgba(249,115,22,.35);display:flex;align-items:center;justify-content:center;font-size:28px;border:4px solid #fff;animation:m3dBellRing 1s ease-in-out infinite;transform-origin:50% 10%}
@keyframes m3dBellRing{0%,100%{transform:translateX(-50%) rotate(0deg)}15%{transform:translateX(-50%) rotate(-14deg)}30%{transform:translateX(-50%) rotate(12deg)}45%{transform:translateX(-50%) rotate(-8deg)}60%{transform:translateX(-50%) rotate(6deg)}75%{transform:translateX(-50%) rotate(-3deg)}}
.m3d-accept-card h2{margin:0 0 10px;font-size:24px;color:#001b44}
.m3d-accept-card p{font-size:18px;line-height:1.45;margin:10px 0 18px;color:#334155}
.m3d-accept-card .actions{display:flex;gap:10px;flex-wrap:wrap}
.m3d-accept-card button{border:1px solid #cfe0f8;background:white;color:#075bea;border-radius:14px;padding:12px 18px;font-weight:800;cursor:pointer}
.m3d-accept-card button.primary{background:linear-gradient(135deg,#075bea,#14b8e8);color:white;border-color:#075bea}
.m3d-accept-x{position:absolute;right:12px;top:12px;width:36px;height:36px;border-radius:999px!important;padding:0!important;color:#991b1b!important;background:#fee2e2!important;border-color:#fecaca!important}

/* v63 - ajustes de PWA/login e estabilidade do painel */
.wa-shortcode-toast{position:fixed;right:18px;bottom:18px;background:#0f172a;color:#fff;padding:12px 16px;border-radius:14px;z-index:99999;box-shadow:0 16px 40px rgba(15,23,42,.28);font-weight:900}
.m3d-pwa-app{height:100dvh!important;overflow:hidden!important;}
.m3d-pwa-sidebar{height:100dvh!important;max-height:none!important;overflow:auto!important;position:relative;z-index:4;}
.m3d-pwa-main{height:100dvh!important;min-height:0!important;overflow:hidden!important;}
.m3d-pwa-content{min-height:0!important;overflow:hidden!important;}
.m3d-chat-wrap,.m3d-team-wrap{height:100%!important;min-height:0!important;overflow:hidden!important;}
.m3d-chat-messages{min-height:0!important;overflow:auto!important;}
.m3d-pwa-no-sidebar .m3d-pwa-sidebar{display:none!important;}
.m3d-pwa-page-scroll{height:100dvh!important;overflow:auto!important;}
.m3d-pwa-page-scroll .m3d-pwa-main{height:auto!important;overflow:visible!important;}
.m3d-pwa-page-scroll .m3d-pwa-content{overflow:visible!important;}
@media(max-width:900px){
  .m3d-pwa-app:not(.m3d-pwa-page-scroll){grid-template-rows:35dvh 65dvh!important;height:100dvh!important;}
  .m3d-pwa-app:not(.m3d-pwa-page-scroll) .m3d-pwa-sidebar{height:35dvh!important;max-height:35dvh!important;border-right:0;border-bottom:1px solid #dbe3ef;}
  .m3d-pwa-app:not(.m3d-pwa-page-scroll) .m3d-pwa-main{height:65dvh!important;min-height:0!important;}
}
.auth-card input[type=tel], .m3d-pwa-login input[type=tel]{font-size:18px;letter-spacing:.3px;}
/* v68 - identidade visual da empresa no painel */
.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-logo{width:38px;height:38px;object-fit:contain;border-radius:0;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}.brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#071833}.top-user{display:flex;align-items:center;gap:10px;font-weight:700;color:#071833}.pagination-gap{display:inline-flex;align-items:center;padding:0 4px;color:#64748b;font-weight:900}

/* v69 ajustes identidade */
.landing-brand-img{height:38px;max-width:180px;object-fit:contain;vertical-align:middle;margin-right:8px;background:transparent!important;border:0!important;box-shadow:none!important}.m3d-pwa-attendant-name{font-weight:900;color:#001b44;white-space:nowrap}.top .brand-logo{height:34px;width:auto;object-fit:contain;border-radius:0;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}

/* v72 - OFX PagBank, plano do cliente, permissões e identidade do PWA */
.logged-name{font-weight:900;color:#001b44;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.billing-lock-banner{margin:0 0 16px;padding:14px 16px;border:1px solid #facc15;background:#fef9c3;color:#713f12;border-radius:16px;font-weight:800;box-shadow:0 10px 26px rgba(113,63,18,.08)}
.billing-lock-banner b{display:block;margin-bottom:4px;color:#854d0e}.plan-client-card{display:grid;gap:12px}.plan-client-card h2{margin-bottom:2px}.status-box{padding:12px 14px;border-radius:14px;border:1px solid #dbeafe;background:#eff6ff;color:#1e3a8a;font-weight:800}.status-box.ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.status-box.warn{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.status-box.off{border-color:#fecaca;background:#fef2f2;color:#991b1b}.invoice-plan-box{display:grid;gap:10px;border:1px dashed #93c5fd;background:#f8fbff;border-radius:14px;padding:12px}.file-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:max-content;border:1px solid #cbd5e1;background:#fff;color:#075bea;border-radius:12px;padding:10px 14px;font-weight:900;cursor:pointer}.file-btn input{display:none}.ofx-card{border:1px solid #dbeafe;background:#f8fbff;border-radius:20px;padding:18px;margin-bottom:18px;display:grid;gap:14px}.ofx-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.ofx-head h2{margin:0}.ofx-head p{margin:5px 0 0;color:#64748b}.ofx-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.ofx-summary{background:#fff;border:1px solid #dbe4ee;border-radius:16px;padding:14px;display:grid;gap:4px}.ofx-summary b{font-size:24px;color:#001b44}.ofx-summary span{font-weight:800;color:#334155}.status-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;padding:6px 10px;font-weight:900;font-size:12px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;white-space:nowrap}.status-pill.ok{background:#dcfce7;border-color:#bbf7d0;color:#166534}.status-pill.warn{background:#fef9c3;border-color:#fde68a;color:#854d0e}.status-pill.off{background:#fee2e2;border-color:#fecaca;color:#991b1b}.status-pill.muted{background:#f1f5f9;border-color:#e2e8f0;color:#475569}.ofx-table-wrap{overflow:auto;border:1px solid #dbe4ee;border-radius:16px;background:#fff}.ofx-table{width:100%;border-collapse:collapse;min-width:980px}.ofx-table th,.ofx-table td{padding:10px 12px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}.ofx-table th{background:#f1f5f9;color:#334155;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.ofx-table small{color:#64748b}.ofx-import-list{display:grid;gap:8px;max-height:180px;overflow:auto}.ofx-import-row{display:grid;grid-template-columns:minmax(160px,1fr) repeat(4,auto);gap:8px;align-items:center;background:#fff;border:1px solid #dbe4ee;border-radius:14px;padding:10px}.ofx-manual-actions{display:flex;gap:6px;flex-wrap:wrap}.ofx-manual-actions button{padding:8px 10px!important;border-radius:10px!important;font-size:12px!important}.muted-note{color:#64748b;font-weight:700;font-size:13px}@media(max-width:900px){.ofx-head{display:grid}.ofx-import-row{grid-template-columns:1fr}.logged-name{max-width:140px}.ofx-card{padding:14px}}

/* v72 - logo/nome clicável para voltar ao início */
.brand.brand-home,
.landing-logo.landing-logo-home{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  cursor:pointer;
  text-align:left;
  font:inherit;
  color:inherit;
  display:flex;
  align-items:center;
  gap:10px;
}
.brand.brand-home:hover span,
.landing-logo.landing-logo-home:hover{
  text-decoration:underline;
  text-underline-offset:4px;
}
.brand.brand-home:focus-visible,
.landing-logo.landing-logo-home:focus-visible{
  outline:3px solid rgba(7,91,234,.25);
  outline-offset:4px;
  border-radius:10px;
}

/* v72 - telefone internacional: mostra só a bandeira e grava o DDI internamente */
.phone-wrap{display:flex!important;align-items:center!important;border:1px solid #d5e0ef!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important;width:100%!important;min-height:48px!important}
.phone-country{width:58px!important;min-width:58px!important;max-width:58px!important;height:48px!important;border:0!important;border-right:1px solid #d5e0ef!important;border-radius:0!important;background:#f8fafc!important;padding:0 8px!important;font-size:22px!important;line-height:1!important;text-align:center!important;text-align-last:center!important;cursor:pointer!important;color:transparent!important;text-shadow:0 0 0 #0f172a!important;appearance:auto!important;-webkit-appearance:menulist!important;box-shadow:none!important;outline:0!important}
.phone-country option{color:#0f172a!important;background:#fff!important;font-size:20px!important;text-align:center!important}
.phone-national{border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;flex:1!important;min-width:0!important;background:#fff!important;height:48px!important;padding:0 14px!important}
.phone-wrap:focus-within{border-color:#075bea!important;box-shadow:0 0 0 3px rgba(7,91,234,.10)!important}
.contact-form .phone-wrap,.newsletter .phone-wrap{min-width:0!important;min-height:52px!important}
.contact-form .phone-national,.newsletter .phone-national,.lead-popup .phone-national{min-width:0!important}
@media(max-width:760px){.phone-country{width:54px!important;min-width:54px!important;max-width:54px!important}.phone-national{padding:0 12px!important}}


/* v72.1 - corrige bandeira preta no Android: mostra a bandeira real fora do select nativo */
.phone-wrap{position:relative!important}
.phone-flag-button{width:58px!important;min-width:58px!important;max-width:58px!important;height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:2px!important;background:#f8fafc!important;border-right:1px solid #d5e0ef!important;color:#0f172a!important;line-height:1!important;pointer-events:none!important;z-index:1!important}
.phone-flag-current{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",Arial,sans-serif!important;font-size:24px!important;line-height:1!important;color:initial!important;text-shadow:none!important;filter:none!important;display:inline-block!important}
.phone-flag-caret{font-size:10px!important;color:#64748b!important;margin-left:1px!important;line-height:1!important}
.phone-country{position:absolute!important;left:0!important;top:0!important;width:58px!important;min-width:58px!important;max-width:58px!important;height:100%!important;opacity:0!important;color:initial!important;text-shadow:none!important;background:transparent!important;border:0!important;border-right:0!important;padding:0!important;margin:0!important;z-index:2!important;cursor:pointer!important;appearance:auto!important;-webkit-appearance:menulist!important}
.phone-country option{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",Arial,sans-serif!important;color:#0f172a!important;background:#fff!important;text-shadow:none!important;filter:none!important}
.phone-national{height:48px!important;min-height:48px!important}
@media(max-width:760px){.phone-flag-button{width:54px!important;min-width:54px!important;max-width:54px!important}.phone-country{width:54px!important;min-width:54px!important;max-width:54px!important}.phone-flag-current{font-size:23px!important}}


/* v72.2 - bandeira visível em desktop e celular: imagem real, select invisível só para escolha do país */
.phone-wrap{position:relative!important;display:flex!important;align-items:center!important;border:1px solid #d5e0ef!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important;width:100%!important;min-height:48px!important}
.phone-flag-button{position:relative!important;width:58px!important;min-width:58px!important;max-width:58px!important;height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;background:#f8fafc!important;border-right:1px solid #d5e0ef!important;color:#0f172a!important;line-height:1!important;pointer-events:none!important;z-index:3!important}
.phone-flag-current{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:22px!important;line-height:1!important;color:transparent!important;text-shadow:none!important;filter:none!important;overflow:hidden!important}
.phone-flag-img{display:block!important;width:26px!important;height:20px!important;object-fit:cover!important;border-radius:3px!important;box-shadow:0 0 0 1px rgba(15,23,42,.12)!important;background:#fff!important;filter:none!important;opacity:1!important}
.phone-flag-caret{display:inline-block!important;font-size:10px!important;color:#64748b!important;margin-left:1px!important;line-height:1!important}
select.phone-country{position:absolute!important;left:0!important;top:0!important;width:58px!important;min-width:58px!important;max-width:58px!important;height:100%!important;opacity:0!important;color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;background:transparent!important;border:0!important;border-right:0!important;padding:0!important;margin:0!important;z-index:5!important;cursor:pointer!important;font-size:0!important;appearance:auto!important;-webkit-appearance:menulist!important;box-shadow:none!important;outline:0!important}
select.phone-country option{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",Arial,sans-serif!important;color:#0f172a!important;-webkit-text-fill-color:#0f172a!important;background:#fff!important;text-shadow:none!important;font-size:20px!important}
.phone-national{border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;flex:1!important;min-width:0!important;background:#fff!important;height:48px!important;min-height:48px!important;padding:0 14px!important}
@media(max-width:760px){.phone-flag-button,select.phone-country{width:54px!important;min-width:54px!important;max-width:54px!important}.phone-flag-img{width:25px!important;height:19px!important}.phone-national{padding:0 12px!important}}

/* v72.3 - PWA equipe/grupos/emoji/anexos */
.m3d-composer-rich{grid-template-columns:auto auto auto auto auto minmax(0,1fr) auto!important;align-items:center;position:relative;}
.m3d-emoji-panel{position:absolute;left:18px;right:18px;bottom:82px;background:#fff;border:1px solid #bfdbfe;border-radius:18px;box-shadow:0 20px 50px rgba(15,23,42,.18);padding:12px;display:flex;flex-wrap:wrap;gap:8px;z-index:21;max-height:210px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.m3d-emoji-panel[hidden]{display:none!important;}
.m3d-emoji-panel button{width:42px;height:42px;border-radius:12px;background:#f8fbff;border:1px solid #dbe3ef;box-shadow:none;font-size:22px;padding:0;}
.m3d-quick-panel{display:block!important;max-height:330px;overflow:auto;}
.m3d-quick-panel[hidden]{display:none!important;}
.m3d-quick-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.m3d-quick-toolbar button{padding:8px 10px!important;border-radius:10px!important;background:#075bea!important;color:#fff!important;border-color:#075bea!important;font-size:12px!important;}
.m3d-quick-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:8px;}
.m3d-quick-row>button:first-child{text-align:left;background:#f8fbff;border:1px solid #dbe3ef;border-radius:12px;color:#071833;box-shadow:none;padding:10px;display:grid;gap:2px;min-width:0;}
.m3d-quick-row small{color:#075bea;font-weight:900;}
.m3d-quick-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#64748b;font-size:12px;}
.m3d-quick-row .danger{width:38px;border-radius:12px;background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important;text-align:center!important;display:block!important;}
.m3d-attach{margin-top:8px;display:grid;gap:6px;}
.m3d-attach img{max-width:220px;max-height:160px;border-radius:12px;border:1px solid #dbe3ef;background:#fff;object-fit:contain;}
.m3d-attach a{color:inherit;font-weight:900;text-decoration:none;background:rgba(255,255,255,.45);border-radius:10px;padding:6px 8px;width:max-content;max-width:100%;overflow-wrap:anywhere;}
.m3d-group-side>button{grid-template-columns:42px minmax(0,1fr);align-items:center;}
.m3d-group-side>button b,.m3d-group-side>button small{grid-column:2;}
.m3d-group-avatar{grid-row:1/3;grid-column:1;width:38px;height:38px;border-radius:999px;background:#e2e8f0;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:20px;}
.m3d-group-avatar img,.m3d-chat-head b img{width:38px;height:38px;border-radius:999px;object-fit:cover;vertical-align:middle;margin-right:6px;}
.m3d-group-settings{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) minmax(160px,1fr) minmax(220px,1.4fr);gap:8px;padding:10px;background:#f8fbff;border-bottom:1px solid #dbe3ef;align-items:start;}
.m3d-group-settings input{min-height:38px;border-radius:12px;border:1px solid #cfe0f5;padding:0 10px;}
.m3d-group-participants{max-height:95px;overflow:auto;display:grid;gap:4px;background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:8px;}
.m3d-group-participants label{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:800;}
.m3d-team-list .m3d-pwa-conv{border-left-color:#075bea;background:#f8fbff;}
.m3d-team-list .m3d-pwa-conv.active{background:#eaf4ff;border-color:#93c5fd;}
@media(max-width:900px){
  .m3d-composer-rich{grid-template-columns:auto auto auto auto auto minmax(0,1fr) auto!important;gap:5px;padding:8px!important;}
  .m3d-composer-rich button{min-width:36px;width:36px;height:36px;padding:0!important;font-size:16px;}
  .m3d-emoji-panel,.m3d-quick-panel{left:8px;right:8px;bottom:62px;}
  .m3d-group-settings{grid-template-columns:1fr;max-height:220px;overflow:auto;}
}

/* v74 - PWA chat estabilidade: barra fixa, grupos na lateral correta, áudio com player */
.m3d-pwa-app:not(.m3d-pwa-page-scroll){height:100dvh!important;overflow:hidden!important;display:grid!important;grid-template-columns:320px minmax(0,1fr)!important;grid-template-rows:1fr!important;}
.m3d-pwa-sidebar{height:100dvh!important;max-height:none!important;overflow:auto!important;}
.m3d-pwa-main{height:100dvh!important;min-height:0!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;}
.m3d-pwa-content{min-height:0!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;}
.m3d-chat-wrap,.m3d-group-chat-wrap,.m3d-team-wrap{height:100%!important;min-height:0!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;}
.m3d-chat-messages{min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;}
.m3d-composer{position:relative!important;z-index:10!important;flex:0 0 auto!important;}
.m3d-composer-rich{grid-template-columns:auto auto auto auto auto minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;}
.m3d-composer-rich input[name="text"]{min-width:0!important;width:100%!important;}
.m3d-audio-status{font-size:12px;font-weight:800;color:#2563eb;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis;}
.m3d-mic-btn.recording{background:#ef4444!important;color:#fff!important;}
.m3d-attach audio{display:block;width:min(320px,100%);margin:6px 0;}
.m3d-attach video{display:block;width:min(320px,100%);max-height:220px;margin:6px 0;border-radius:12px;}
.m3d-pwa-toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(18px);background:#0f172a;color:#fff;border-radius:999px;padding:10px 16px;font-weight:800;opacity:0;pointer-events:none;z-index:9999;transition:.2s;box-shadow:0 14px 40px rgba(15,23,42,.28)}
.m3d-pwa-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.m3d-group-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.m3d-group-avatar-mini img{width:38px;height:38px;object-fit:cover;border-radius:999px;}
.m3d-group-modal{width:min(1180px,96vw)!important;max-height:92dvh;overflow:auto;}
.m3d-group-modal-grid{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(240px,1fr) minmax(260px,1fr) minmax(220px,.9fr);gap:14px;align-items:start;}
.m3d-group-modal-grid section{border:1px solid #dbe3ef;background:#f8fbff;border-radius:16px;padding:12px;display:grid;gap:8px;}
.m3d-group-modal-grid h3{margin:0 0 4px;}
.m3d-list-search{min-height:38px;border-radius:12px;}
.m3d-participant-list{display:grid;gap:6px;max-height:300px;overflow:auto;}
.m3d-participant-row{display:flex;gap:8px;align-items:flex-start;background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:8px;cursor:pointer;}
.m3d-participant-row span{display:grid;gap:2px;min-width:0;}
.m3d-participant-row small{color:#64748b;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.m3d-selected-list{display:grid;gap:8px;max-height:340px;overflow:auto;}
.m3d-selected-list>div{background:#fff;border:1px solid #bfdbfe;border-radius:12px;padding:8px;display:grid;gap:2px;}
.m3d-selected-list small{color:#64748b;}
.m3d-group-preview{min-height:88px;border:1px dashed #bfdbfe;border-radius:14px;display:grid;place-items:center;background:#fff;color:#64748b;font-weight:800;overflow:hidden;}
.m3d-group-preview img{max-width:100%;max-height:130px;object-fit:contain;}
.m3d-pwa-content-groups > .m3d-groups-wrap,.m3d-group-settings{display:none!important;}
.m3d-pwa-content-groups > .m3d-chat-wrap{grid-row:2!important;min-height:0!important;}
body.m3d-pwa-no-sidebar:not(.m3d-pwa-page-scroll) .m3d-pwa-app{grid-template-columns:1fr!important;}
@media(max-width:900px){
  .m3d-pwa-app:not(.m3d-pwa-page-scroll){grid-template-columns:1fr!important;grid-template-rows:minmax(120px,32dvh) minmax(0,68dvh)!important;}
  .m3d-pwa-sidebar{height:32dvh!important;max-height:32dvh!important;border-right:0!important;border-bottom:1px solid #dbe3ef!important;}
  .m3d-pwa-main{height:68dvh!important;min-height:0!important;}
  .m3d-pwa-header{display:none!important;}
  .m3d-pwa-content{grid-template-rows:auto minmax(0,1fr)!important;}
  .m3d-chat-head{padding:8px 10px!important;}
  .m3d-chat-messages{padding:12px!important;}
  .m3d-composer-rich{grid-template-columns:auto auto auto auto auto minmax(0,1fr) auto!important;gap:4px!important;padding:8px!important;}
  .m3d-composer-rich button{min-width:34px!important;width:34px!important;height:34px!important;padding:0!important;font-size:15px!important;}
  .m3d-audio-status{max-width:55px;font-size:10px;}
  .m3d-group-modal-grid{grid-template-columns:1fr!important;}
  .m3d-group-modal{width:96vw!important;}
}


/* v74 - ajustes cirúrgicos do PWA de atendimento */
.m3d-composer-rich{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important;grid-template-columns:none!important;width:100%!important;box-sizing:border-box!important;}
.m3d-composer-rich input[name="text"]{flex:1 1 auto!important;min-width:120px!important;width:auto!important;}
.m3d-composer-rich .send{flex:0 0 46px!important;width:46px!important;height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;}
.m3d-composer-rich button{flex:0 0 auto!important;}
.m3d-audio-status:empty{display:none!important;}
.m3d-pwa-mini-x{top:7px!important;right:7px!important;bottom:auto!important;width:22px!important;height:22px!important;border-radius:999px!important;background:#ffe4e6!important;color:#e11d48!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-weight:900!important;}
.m3d-chat-head-clean{display:grid!important;grid-template-columns:minmax(160px,1fr) auto minmax(220px,.7fr)!important;align-items:center!important;gap:12px!important;}
.m3d-chat-head-title{min-width:0;display:grid;gap:2px;}
.m3d-chat-head-title b,.m3d-chat-head-title small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.m3d-chat-fav-strip{display:flex;gap:8px;align-items:center;justify-content:flex-start;min-width:0;}
.m3d-chat-fav-card{display:inline-grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:8px;max-width:260px;border:1px solid #bfdbfe;background:#eff6ff;color:#075bea;border-radius:14px;padding:7px 8px 7px 10px;font-weight:900;box-shadow:0 8px 22px rgba(15,23,42,.06);}
.m3d-chat-fav-card small{grid-column:1/3;color:#475569;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.m3d-chat-fav-card button{grid-column:2;grid-row:1;background:#fff!important;color:#e11d48!important;border:1px solid #fecdd3!important;border-radius:999px!important;width:22px!important;height:22px!important;padding:0!important;box-shadow:none!important;line-height:18px!important;font-weight:950!important;}
.m3d-chat-fav-card.status-em_atendimento{background:#ecfdf5;border-color:#86efac;color:#166534;}
.m3d-chat-fav-card.status-aguardando_aceite{background:#fff7ed;border-color:#fdba74;color:#9a3412;}
.m3d-chat-search-line{display:flex;align-items:center;gap:8px;min-width:0;}
.m3d-chat-search-line input{width:100%;min-height:38px;border-radius:999px;background:#fff;}
.m3d-bubble-agent-head{display:grid;gap:1px;margin-bottom:6px;color:#064e3b;font-weight:950;}
.m3d-bubble-agent-head b{display:block;line-height:1.12;}
.m3d-bubble.out .m3d-bubble-agent-head{color:#065f46;}
@media(max-width:900px){
  .m3d-chat-head-clean{grid-template-columns:1fr!important;align-items:stretch!important;gap:8px!important;}
  .m3d-chat-fav-strip{overflow-x:auto;}
  .m3d-chat-fav-card{max-width:100%;}
  .m3d-chat-search-line{width:100%;}
  .m3d-composer-rich{gap:5px!important;padding:8px!important;}
  .m3d-composer-rich button:not(.send){width:36px!important;height:36px!important;min-width:36px!important;}
  .m3d-composer-rich .send{width:42px!important;height:38px!important;flex-basis:42px!important;}
  .m3d-composer-rich input[name="text"]{min-width:70px!important;}
}

/* v93 - áudio PWA: botão de envio vira microfone quando campo está vazio; recebido mostra player */
.m3d-composer-rich .send.mic-mode{background:#111827!important;border-color:#111827!important;color:#fff!important;font-size:20px!important;}
.m3d-composer-rich .send.recording{background:#ef4444!important;border-color:#ef4444!important;color:#fff!important;font-size:18px!important;}
.m3d-audio-status{max-width:190px!important;}
.m3d-attach.is-audio audio{display:block!important;width:min(360px,100%)!important;min-width:240px!important;background:#fff;border-radius:999px;}
@media(max-width:900px){.m3d-audio-status{max-width:85px!important;}.m3d-composer-rich .send.mic-mode{font-size:18px!important;}}

/* v93 - câmera real no PWA e mídia de áudio com player */
.m3d-camera-overlay{position:fixed;inset:0;background:rgba(15,23,42,.82);z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px;}
.m3d-camera-box{width:min(720px,96vw);background:#0f172a;color:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.35);overflow:hidden;border:1px solid rgba(255,255,255,.16);}
.m3d-camera-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:rgba(255,255,255,.08);font-weight:900;}
.m3d-camera-head button{border:0;background:#fff;color:#0f172a;border-radius:999px;width:34px;height:34px;font-weight:900;cursor:pointer;}
#m3dCameraVideo{display:block;width:100%;max-height:68vh;background:#000;object-fit:contain;}
.m3d-camera-actions{display:flex;gap:10px;justify-content:center;padding:14px;flex-wrap:wrap;}
.m3d-camera-actions button{border:1px solid rgba(255,255,255,.22);background:#2563eb;color:#fff;border-radius:999px;padding:11px 18px;font-weight:900;cursor:pointer;}
.m3d-camera-actions button+button{background:#334155;}
.m3d-composer .send.mic-mode{font-size:18px;}
.m3d-composer .send.recording{background:#dc2626!important;color:#fff!important;}

/* v93 - gravador completo no estilo WhatsApp, player de áudio e câmera sem abrir arquivo */
.m3d-recorder-bar{display:flex;align-items:center;gap:12px;flex:1 1 auto;background:#202c2f;color:#fff;border-radius:18px;padding:8px 12px;min-height:42px;box-sizing:border-box;min-width:260px;}
.m3d-recorder-bar[hidden]{display:none!important;}
.m3d-recording-active input[name="text"],.m3d-recording-active .m3d-audio-status{display:none!important;}
.m3d-recording-active>button:not(.rec-trash):not(.rec-pause):not(.rec-send):not(.send){display:none!important;}
.m3d-recorder-bar button{border:0!important;box-shadow:none!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;}
.m3d-recorder-bar .rec-trash{background:transparent!important;color:#fff!important;font-size:20px!important;width:34px!important;height:34px!important;}
.m3d-recorder-bar .rec-dot{width:10px;height:10px;border-radius:999px;background:#fb7185;box-shadow:0 0 0 4px rgba(251,113,133,.12);}
.m3d-recorder-bar b{font-size:20px;line-height:1;font-weight:900;letter-spacing:.2px;white-space:nowrap;}
.m3d-recorder-bar .rec-wave{height:24px;display:flex;align-items:center;gap:3px;flex:1 1 auto;min-width:80px;overflow:hidden;}
.m3d-recorder-bar .rec-wave i{display:block;width:3px;border-radius:999px;background:#cbd5e1;height:10px;animation:m3dWave 1s infinite ease-in-out;opacity:.85;}
.m3d-recorder-bar .rec-wave i:nth-child(2n){height:16px;animation-delay:.08s}.m3d-recorder-bar .rec-wave i:nth-child(3n){height:22px;animation-delay:.16s}.m3d-recorder-bar .rec-wave i:nth-child(4n){height:8px;animation-delay:.24s}
.m3d-recorder-bar .rec-wave.paused i{animation:none;opacity:.55;}
.m3d-recorder-bar .rec-pause{background:transparent!important;color:#fb7185!important;font-size:22px!important;width:38px!important;height:38px!important;}
.m3d-recorder-bar .rec-send{background:#fff!important;color:#020617!important;border-radius:999px!important;width:46px!important;height:46px!important;font-size:24px!important;font-weight:900!important;}
.m3d-composer-rich .send.recording{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important;}
.m3d-attach.media-error .media-error-text{display:block!important;color:#dc2626;font-size:12px;margin-top:6px;font-weight:800;}
.media-error-text{display:none;}
@keyframes m3dWave{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1.35)}}
@media(max-width:900px){.m3d-recorder-bar{gap:8px;min-width:180px;padding:7px 9px}.m3d-recorder-bar b{font-size:16px}.m3d-recorder-bar .rec-send{width:40px!important;height:40px!important;font-size:20px!important}.m3d-recorder-bar .rec-wave{min-width:48px}.m3d-recorder-bar .rec-wave i:nth-child(n+8){display:none;}}


/* v98 - evita dois botões play enquanto o áudio está gravando */
.m3d-composer-rich.m3d-recording-live > button.send,
.m3d-composer.m3d-recording-live > button.send{display:none!important;}

/* v101 - remove botão azul externo quando há áudio gravando ou pronto para envio */
.m3d-composer-rich.m3d-recording-active > button.send,
.m3d-composer.m3d-recording-active > button.send{display:none!important;}

/* v101 - reduz tremedeira por redraw/scroll durante polling */
.m3d-chat-messages{overflow-anchor:none;}
.m3d-bubble{will-change:auto;}

/* v103 - prévia de anexos selecionados no PWA */
.m3d-file-preview{position:absolute;left:14px;right:14px;bottom:64px;z-index:18;display:flex;align-items:center;gap:10px;max-width:min(560px,calc(100% - 28px));background:#fff;border:1px solid #bfdbfe;border-radius:16px;padding:10px 12px;box-shadow:0 18px 45px rgba(15,23,42,.18);color:#071833;box-sizing:border-box;}
.m3d-file-preview[hidden]{display:none!important;}
.m3d-file-preview-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:#eff6ff;font-size:20px;flex:0 0 auto;}
.m3d-file-preview-text{display:grid;gap:1px;min-width:0;flex:1 1 auto;}
.m3d-file-preview-text b{font-size:13px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.m3d-file-preview-text small{font-size:11px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.m3d-file-preview-remove{width:30px!important;height:30px!important;min-width:30px!important;border-radius:999px!important;padding:0!important;background:#fee2e2!important;border-color:#fecaca!important;color:#991b1b!important;font-size:20px!important;font-weight:900!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;flex:0 0 auto!important;}
.m3d-recording-active .m3d-file-preview{display:none!important;}
@media(max-width:900px){.m3d-file-preview{left:8px;right:8px;bottom:58px;max-width:calc(100% - 16px);padding:8px 10px}.m3d-file-preview-icon{width:30px;height:30px;font-size:18px}.m3d-file-preview-text b{font-size:12px}.m3d-file-preview-text small{font-size:10px}}

/* v108: botão X visível e separado no card do Chat com a Equipe */
.m3d-team-list .m3d-team-card{cursor:pointer;grid-template-columns:42px minmax(0,1fr) 30px!important;align-items:start;}
.m3d-team-list .m3d-team-card b{grid-column:2!important;grid-row:1!important;padding-right:4px;}
.m3d-team-list .m3d-team-card small{grid-column:2 / 4!important;grid-row:2!important;}
.m3d-team-list .m3d-team-card span:not(.avatar){grid-column:2 / 4!important;grid-row:3!important;}
.m3d-team-list .m3d-team-card .m3d-pwa-mini-x{position:static!important;grid-column:3!important;grid-row:1!important;justify-self:end!important;align-self:start!important;margin:0!important;width:24px!important;height:24px!important;border-radius:999px!important;background:#fff1f2!important;border:1px solid #fecdd3!important;color:#e11d48!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-weight:950!important;font-size:16px!important;line-height:1!important;padding:0!important;z-index:2!important;cursor:pointer!important;}
.m3d-team-list .m3d-team-card .m3d-pwa-mini-x:hover{background:#ffe4e6!important;color:#be123c!important;}

/* v111 - sino de notificações do PWA e contexto de transferência no Chat com Equipe */
.m3d-pwa-notify-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}
.m3d-pwa-notify-btn{position:relative;width:42px;height:42px;border-radius:999px;border:1px solid #cfe0f8;background:#fff;color:#075bea;font-weight:900;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.m3d-pwa-notify-btn.has{background:#eff6ff;border-color:#93c5fd;color:#075bea;animation:m3dNotifyPulse 1.8s ease-in-out infinite}
.m3d-pwa-notify-btn em{position:absolute;right:-5px;top:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4444;color:white;font-size:12px;font-style:normal;display:flex;align-items:center;justify-content:center;border:2px solid #fff;line-height:1}
@keyframes m3dNotifyPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.m3d-pwa-notify-menu{position:absolute;right:0;top:50px;width:min(360px,90vw);max-height:420px;overflow:auto;background:#fff;border:1px solid #cfe0f8;border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.24);z-index:9999;padding:8px;display:grid;gap:6px}
.m3d-pwa-notify-menu[hidden]{display:none!important}
.m3d-pwa-notify-menu button{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'title count' 'sub count';gap:2px 10px;text-align:left;width:100%;border:1px solid #e2e8f0;background:#f8fbff;border-radius:14px;padding:10px 12px;color:#0f172a;cursor:pointer;box-shadow:none}
.m3d-pwa-notify-menu button:hover{background:#eff6ff;border-color:#93c5fd}
.m3d-pwa-notify-menu b{grid-area:title;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m3d-pwa-notify-menu small{grid-area:sub;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m3d-pwa-notify-menu em{grid-area:count;align-self:center;justify-self:end;min-width:24px;height:24px;border-radius:999px;background:#075bea;color:#fff;font-style:normal;font-weight:900;display:flex;align-items:center;justify-content:center;font-size:12px;padding:0 7px}
.m3d-pwa-notify-empty{padding:14px;color:#64748b;font-weight:700;text-align:center}
.m3d-team-card em{position:absolute;right:42px;top:12px;min-width:20px;height:20px;border-radius:999px;background:#ef4444;color:#fff;font-style:normal;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;padding:0 6px;border:2px solid #fff}
.m3d-team-card span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
@media(max-width:720px){.m3d-pwa-notify-menu{right:-80px;width:min(330px,92vw)}}

/* v113 - edição de cards da landpage sem JSON aparente */
.site-card-editor .site-card-edit-list{display:grid;gap:12px;margin:12px 0;}
.site-card-edit-item{display:grid;gap:8px;border:1px solid #dbeafe;background:#f8fbff;border-radius:16px;padding:12px;}
.site-card-edit-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px;}
.site-card-edit-head b{font-size:14px;color:#0b1f43;}
.site-card-edit-item label{font-size:12px;font-weight:900;color:#0b1f43;margin-bottom:-4px;}
.site-card-edit-item input,.site-card-edit-item textarea{width:100%;box-sizing:border-box;}
.site-card-edit-item .mini.danger{width:28px!important;height:28px!important;min-width:28px!important;border-radius:999px!important;padding:0!important;background:#fee2e2!important;border:1px solid #fecaca!important;color:#be123c!important;font-size:20px!important;font-weight:950!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;}
.site-card-editor > .btn{margin-top:4px;}

/* v114 - push usa logotipo configurado do sistema */

/* v115 - aba Configurações do Aplicativo Web somente no admin do sistema */
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 18px;align-items:center}
.tabs button{border:1px solid #cfe0f8;background:#fff;color:#075bea;border-radius:999px;padding:12px 22px;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.tabs button.active{background:#075bea;color:#fff;border-color:#075bea;box-shadow:0 12px 28px rgba(7,91,234,.22)}

/* v117 - Site editor em largura total e textos da landing com quebra de linha */
.site-editor{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;align-items:start!important;}
.site-editor > .card,.site-editor > .site-card-editor,.site-editor > .actions{grid-column:1/-1!important;width:100%!important;max-width:none!important;}
.site-card-editor .site-card-edit-list{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
.site-card-edit-item{width:100%!important;}
.site-card-edit-item textarea{min-height:120px;}
.landing-copy p,.api-lead,.api-public-card p,.landing-features p,.landing-plan p,.newsletter p,.contact-section p,.landing-preview p,.whatsapp-public-page p,.appweb-public-page p{white-space:pre-line;}


/* v117 - texto principal da landpage ocupando mais largura até a imagem */
@media (min-width:901px){
  .landing-hero{
    max-width:min(1420px,100%)!important;
    grid-template-columns:minmax(0,1.55fr) minmax(360px,.72fr)!important;
    gap:22px!important;
    padding-left:22px!important;
    padding-right:22px!important;
    align-items:center!important;
  }
  .landing-copy{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  .landing-copy h1{
    max-width:100%!important;
    width:100%!important;
    font-size:clamp(46px,4.15vw,58px)!important;
    line-height:1.04!important;
    letter-spacing:-.052em!important;
  }
  .landing-copy p{
    max-width:940px!important;
  }
  .landing-preview{
    width:100%!important;
    justify-self:end!important;
  }
}
@media (min-width:1200px){
  .landing-copy h1{font-size:58px!important;}
}

/* v118 - evita o texto principal da landpage encostar/sobrepor a imagem lateral */
@media (min-width:901px){
  .landing-hero{
    max-width:min(1420px,100%)!important;
    grid-template-columns:minmax(0,1fr) minmax(360px,420px)!important;
    gap:68px!important;
    align-items:center!important;
    padding-left:42px!important;
    padding-right:42px!important;
  }
  .landing-copy{
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
  }
  .landing-copy h1{
    max-width:100%!important;
    width:100%!important;
    font-size:clamp(42px,3.75vw,56px)!important;
    line-height:1.05!important;
    letter-spacing:-.052em!important;
    margin-right:0!important;
  }
  .landing-copy p{
    max-width:100%!important;
  }
  .landing-preview{
    width:100%!important;
    max-width:420px!important;
    justify-self:end!important;
    transform:rotate(.4deg)!important;
    margin-left:0!important;
  }
}
@media (min-width:1200px){
  .landing-hero{
    grid-template-columns:minmax(0,1fr) 430px!important;
    gap:78px!important;
  }
  .landing-copy h1{font-size:56px!important;}
}
@media (min-width:901px) and (max-width:1120px){
  .landing-hero{
    grid-template-columns:minmax(0,1fr) 360px!important;
    gap:52px!important;
    padding-left:26px!important;
    padding-right:26px!important;
  }
  .landing-copy h1{font-size:clamp(38px,4.2vw,48px)!important;}
  .landing-preview{max-width:360px!important;}
}

/* v120 - hero da landpage com imagem flutuante: texto ocupa a largura e desce acompanhando a imagem */
@media (min-width:901px){
  .landing-hero.landing-hero-flow{
    display:block!important;
    max-width:min(1420px,100%)!important;
    width:100%!important;
    min-height:calc(100dvh - 82px)!important;
    padding:42px 42px 58px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }
  .landing-hero.landing-hero-flow::after{content:"";display:block;clear:both;}
  .landing-hero-flow .landing-preview{
    float:right!important;
    width:min(430px,34vw)!important;
    max-width:430px!important;
    min-width:360px!important;
    margin:0 0 26px 54px!important;
    transform:rotate(.4deg)!important;
    position:relative!important;
    z-index:2!important;
  }
  .landing-hero-flow .landing-copy{
    display:block!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    padding-top:4px!important;
  }
  .landing-hero-flow .landing-copy h1{
    max-width:none!important;
    width:auto!important;
    font-size:clamp(42px,3.9vw,58px)!important;
    line-height:1.04!important;
    letter-spacing:-.052em!important;
    margin-right:0!important;
  }
  .landing-hero-flow .landing-copy p{
    max-width:none!important;
    width:auto!important;
    line-height:1.5!important;
  }
  .landing-hero-flow .landing-actions,
  .landing-hero-flow .landing-checks{
    max-width:none!important;
  }
}
@media (min-width:901px) and (max-width:1120px){
  .landing-hero.landing-hero-flow{padding-left:26px!important;padding-right:26px!important;}
  .landing-hero-flow .landing-preview{width:360px!important;min-width:340px!important;max-width:360px!important;margin-left:42px!important;}
  .landing-hero-flow .landing-copy h1{font-size:clamp(38px,4.15vw,50px)!important;}
}
@media (max-width:900px){
  .landing-hero.landing-hero-flow{display:flex!important;flex-direction:column!important;}
  .landing-hero-flow .landing-copy{order:1!important;}
  .landing-hero-flow .landing-preview{order:2!important;float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;}
}

/* v120 - Aplicativo Web/APK no formato do plugin do cliente */
.appweb-apk-layout{display:grid;grid-template-columns:1fr;gap:18px}.appweb-identity-card{max-width:980px;margin:auto;width:100%}.appweb-form{display:grid;gap:14px}.appweb-form label{font-weight:800;color:#071a3a}.appweb-form label small{display:block;font-weight:600;color:#53627d;margin-top:4px;line-height:1.35}.appweb-form input,.appweb-form select,.appweb-form textarea{width:100%;border:1px solid #cfe0f6;border-radius:14px;padding:14px 16px;font-size:16px;background:#fff}.appweb-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.appweb-upload-field input[type=file]{padding:12px;background:#fff}.appweb-preview{border:1px dashed #b9d2ff;border-radius:18px;background:#f7fbff;display:flex;align-items:stretch;justify-content:center;text-align:left;color:#58708f;font-size:16px;line-height:1.25;padding:16px;overflow:hidden;flex-direction:column;gap:10px}.appweb-preview.is-empty{min-height:130px;align-items:center;text-align:center}.appweb-preview-empty{display:grid;gap:6px;place-items:center;max-width:620px}.appweb-preview-empty b{color:#0f2d57}.appweb-preview-empty small{color:#58708f;font-weight:700}.appweb-preview-stage{width:100%;border:1px solid #dbeafe;border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:18px;background-color:#fff;background-image:linear-gradient(45deg,#eef2f7 25%,transparent 25%),linear-gradient(-45deg,#eef2f7 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef2f7 75%),linear-gradient(-45deg,transparent 75%,#eef2f7 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}.appweb-preview-stage.icon{min-height:205px}.appweb-preview-stage.icon img{width:min(190px,82%);height:min(190px,82%);object-fit:contain;object-position:center;border-radius:28px;background:#fff;box-shadow:0 16px 42px rgba(15,23,42,.14);padding:8px}.appweb-preview-stage.splash{min-height:240px;aspect-ratio:16/9;background:linear-gradient(135deg,#f8fbff,#eef6ff)}.appweb-preview-stage.splash img{max-width:94%;max-height:92%;object-fit:contain;object-position:center;border-radius:14px;box-shadow:0 16px 42px rgba(15,23,42,.12);background:rgba(255,255,255,.65)}.appweb-preview-info{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#334763}.appweb-preview-info b{font-size:15px;color:#071a3a}.appweb-preview-info small{font-weight:700;color:#64748b}.appweb-splash-preview{min-height:unset}.appweb-build-section{max-width:980px;margin:auto;width:100%;border-color:#a8ccff;background:#f8fbff}.appweb-build-section h3{margin:0 0 2px;font-size:20px}.appweb-build-row{display:grid;grid-template-columns:210px 1fr 290px;align-items:center;gap:12px;border:1px solid #b9d6ff;border-radius:16px;padding:14px 16px;margin-top:14px;background:#fff}.appweb-build-title{font-size:22px;font-weight:900;color:#1155e8;line-height:1.15}.appweb-build-status{color:#24364d}.appweb-build-status.ok{color:#087a34;font-weight:900}.appweb-build-status.wait{color:#a66a00;font-weight:900}.appweb-build-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.appweb-build-btn{min-width:210px;text-align:center;white-space:normal}.danger-soft{border:1px solid #ffc8ce;background:#fff0f2;color:#dc2626;border-radius:14px;padding:12px 18px;font-weight:900}.appweb-links-card{max-width:980px;margin:auto;width:100%;background:#eef7ff;border-color:#b9d6ff}.appweb-public-link{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;align-items:center;border:1px solid #b9d6ff;border-radius:16px;padding:16px;background:#fff;margin-top:14px}.appweb-public-link h3{margin:0 0 8px}.appweb-public-link p{margin:0 0 10px;color:#334763}.appweb-public-link input{width:100%;border:1px solid #cfe0f6;border-radius:12px;padding:12px;overflow:hidden;text-overflow:ellipsis}.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 14px;background:#eef2ff;color:#334763;font-weight:900;white-space:nowrap}.pill.ok{background:#dcfce7;color:#166534}@media(max-width:900px){.appweb-two{grid-template-columns:1fr}.appweb-build-row{grid-template-columns:1fr}.appweb-build-actions{justify-content:flex-start}.appweb-public-link{grid-template-columns:1fr}.appweb-build-btn{min-width:0;width:100%}.appweb-preview-stage.splash{min-height:180px}.appweb-preview-stage.icon{min-height:170px}.appweb-preview-stage.icon img{width:148px;height:148px}}

/* v121 - logotipo respeita PNG transparente sem fundo branco */
.brand-logo,.top .brand-logo,.landing-brand-img,.m3d-pwa-logo{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;}


/* v122 - remover fundo branco do container do logotipo no sistema, landing page e PWA */
button.brand.brand-home,
.brand.brand-home,
button.landing-logo,
button.landing-logo-home,
.landing-logo.landing-logo-home,
.m3d-pwa-brand-left,
.pwa-logo-preview,
.logo-preview-box {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
button.brand.brand-home,
button.landing-logo,
button.landing-logo-home {
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
}
button.brand.brand-home:hover,
button.brand.brand-home:focus,
button.landing-logo:hover,
button.landing-logo:focus,
button.landing-logo-home:hover,
button.landing-logo-home:focus {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
.brand-logo,
.top .brand-logo,
.landing-brand-img,
.m3d-pwa-logo,
.config-logo-preview,
.logo-preview-box img,
.pwa-logo-preview img {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  object-fit: contain !important;
}
.top .brand.brand-home { gap: 10px !important; }
.landing-top .landing-logo { gap: 12px !important; color:#fff !important; }
.landing-top .landing-logo img,
.top .brand-logo { display:block !important; }


/* v123 - correção definitiva do fundo branco do LOGOTIPO no sistema */
.top .brand.brand-home,
.top button.brand.brand-home,
.landing-top .landing-logo,
.landing-top button.landing-logo,
.landing-top button.landing-logo-home,
.m3d-pwa-header .m3d-pwa-brand-left,
.logo-upload-block .logo-preview-box,
.logo-upload-block .config-logo-preview,
.logo-upload-block .logo-preview-box img,
.pwa-logo-preview,
.pwa-logo-preview img{
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.top .brand.brand-home,
.top button.brand.brand-home,
.landing-top .landing-logo,
.landing-top button.landing-logo,
.landing-top button.landing-logo-home{
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.top .brand-logo,
.brand-logo,
.landing-brand-img,
.m3d-pwa-logo,
.config-logo-preview{
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  object-fit: contain !important;
}
/* A prévia no menu Configurações também fica transparente para testar o PNG real. */
.logo-empty{background:transparent!important;}


/* v124 - logotipo sem caixa branca: container e imagem ficam transparentes em todos os pontos */
.top,.landing-top{background-clip:padding-box;}
.top .brand.brand-home,
.top button.brand.brand-home,
.landing-top .landing-logo,
.landing-top button.landing-logo,
.landing-top button.landing-logo-home,
.m3d-pwa-header .m3d-pwa-brand-left,
.logo-upload-block .logo-preview-box,
.logo-upload-block .config-logo-preview,
.pwa-logo-preview,
.pwa-logo-preview img{
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
}
.top .brand-logo,.brand-logo,.landing-brand-img,.m3d-pwa-logo,.config-logo-preview{
  background:transparent!important;
  background-color:transparent!important;
  mix-blend-mode:normal!important;
}

/* v126 - teste da API App valida token no endpoint protegido /status */
.appweb-color-field{display:grid;gap:8px;--appweb-color-preview:#075bea}
.appweb-color-field>span{font-weight:900;color:#071a3a}
.appweb-color-row{display:grid;grid-template-columns:74px 1fr;gap:10px;align-items:center}
.appweb-form .appweb-color-picker{height:54px;min-height:54px;padding:4px!important;border-radius:14px!important;border:1px solid #cfe0f6!important;background:linear-gradient(135deg,#fff 0 25%,#e2e8f0 25% 50%,#fff 50% 75%,#e2e8f0 75%)!important;background-size:16px 16px!important;cursor:pointer}
.appweb-form .appweb-color-picker::-webkit-color-swatch-wrapper{padding:0;border-radius:10px}
.appweb-form .appweb-color-picker::-webkit-color-swatch{border:0;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(2,6,23,.18)}
.appweb-form .appweb-color-picker::-moz-color-swatch{border:0;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(2,6,23,.18)}
.appweb-form .appweb-color-text{font-family:Arial,Helvetica,sans-serif;font-weight:800;text-transform:lowercase}
.appweb-color-field small{font-weight:700;color:#64748b;line-height:1.35}
@media(max-width:640px){.appweb-color-row{grid-template-columns:60px 1fr}.appweb-form .appweb-color-picker{height:50px;min-height:50px}}

/* v127 - página pública de download do APK usa layout do plugin e avaliação real do atendimento */


/* v130 - Menu Push mais largo e legível */
.push-wide-view{
  width:100%;
  max-width:none!important;
}
.push-grid{
  width:100%!important;
  max-width:none!important;
  align-items:start;
  gap:22px!important;
}
.push-campaign-grid{
  grid-template-columns:minmax(520px,1.35fr) minmax(360px,.65fr)!important;
}
.push-config-grid{
  grid-template-columns:minmax(0,1fr)!important;
}
.push-grid .card{
  width:100%!important;
  min-width:0;
}
.push-grid .card.full-span,
.push-grid .full-span{
  grid-column:1 / -1!important;
}
.push-grid .form-grid{
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
}
.push-grid .rich-editor textarea{
  min-height:170px;
}
.push-grid .info-box,
.push-grid code{
  overflow-wrap:anywhere;
  word-break:break-word;
}
@media(max-width:1100px){
  .push-campaign-grid,
  .push-config-grid{
    grid-template-columns:1fr!important;
  }
  .push-grid .form-grid{
    grid-template-columns:1fr;
  }
}

.btn.disabled,button.btn.disabled{background:#f1f5f9!important;color:#64748b!important;border-color:#cbd5e1!important;box-shadow:none!important;cursor:not-allowed!important;opacity:.85!important;pointer-events:none!important}

/* v160: botão compacto de instalação PWA; sem popup próprio */
#m3dPwaInstallModal{display:none!important}
.m3d-pwa-install-pulse{animation:m3dPwaInstallPulse 1s ease-in-out 0s 5;box-shadow:0 0 0 0 rgba(7,91,234,.55)!important}
@keyframes m3dPwaInstallPulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(7,91,234,.55)}70%{transform:scale(1.04);box-shadow:0 0 0 12px rgba(7,91,234,0)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(7,91,234,0)}}


/* v160 - linha do Link PWA com botão compacto ao lado de Copiar/Abrir */
.copy-row.pwa-install-row{grid-template-columns:minmax(260px,1fr) auto auto auto!important;align-items:center}
.copy-row.pwa-install-row .btn-install-pwa-compact{white-space:nowrap;width:auto;min-width:132px;padding:13px 18px;border-radius:14px;background:#075bea;color:#fff;border:1px solid #075bea;font-weight:900;box-shadow:0 10px 24px rgba(7,91,234,.18)}
.copy-row.pwa-install-row .btn-install-pwa-compact:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(7,91,234,.24)}
.m3d-pwa-header-actions .m3d-pwa-install{width:auto!important;min-width:138px;white-space:nowrap}
@media(max-width:900px){.copy-row.pwa-install-row{grid-template-columns:1fr!important}.copy-row.pwa-install-row .btn-install-pwa-compact{width:100%;justify-content:center}.fp-android-pwa-install-row{flex-direction:column;align-items:stretch}.fp-android-pwa-install-row input,.fp-android-pwa-install-row button,.fp-android-pwa-install-row a{width:100%;min-width:0}}

.fp-android-pwa-install-card{margin:14px 0;border:1px solid #bfdbfe;background:#eff6ff;border-radius:18px;padding:14px;display:grid;gap:10px}.fp-android-pwa-install-card strong{color:#0f172a}.fp-android-pwa-install-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fp-android-pwa-install-row input{flex:1 1 340px;min-width:220px;height:42px;border:1px solid #cbd5e1;border-radius:12px;padding:0 12px;background:#fff}.fp-android-pwa-install-row button,.fp-android-pwa-install-row a{height:42px;border-radius:12px;border:1px solid #2563eb;background:#2563eb;color:#fff;padding:0 14px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.fp-android-pwa-install-row a{background:#fff;color:#1d4ed8}.fp-android-pwa-install-card small{color:#64748b}.m3d-pwa-fast-install-card{margin-bottom:18px}
/* v160 - menu App do PWA: APKs em coluna, sem ficar espremido lado a lado */
.pwa-app-apk-stack{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;max-width:720px}
.pwa-app-apk-stack .card{width:100%}
.pwa-app-apk-stack .appweb-public-link{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pwa-app-apk-stack .appweb-public-link .btn,.pwa-app-apk-stack .appweb-public-link button{min-width:210px;white-space:normal;line-height:1.25}
@media(max-width:760px){.pwa-app-apk-stack{max-width:none}.pwa-app-apk-stack .appweb-public-link{display:grid}.pwa-app-apk-stack .appweb-public-link .btn,.pwa-app-apk-stack .appweb-public-link button{width:100%;min-width:0}}


/* v160 - PWA: menus superiores fixos em todas as abas com rolagem */
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-header{
  position:sticky!important;
  top:0!important;
  z-index:80!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content{
  display:block!important;
  height:auto!important;
  min-height:calc(100dvh - 68px)!important;
  overflow:visible!important;
  padding-bottom:90px!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content > .m3d-pwa-sub-tabs{
  position:sticky!important;
  top:68px!important;
  z-index:79!important;
  background:#fff7ed!important;
  box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
}
.m3d-pwa-app:not(.m3d-pwa-page-scroll) .m3d-pwa-content > .m3d-pwa-sub-tabs{
  position:relative!important;
  z-index:30!important;
  background:#fff7ed!important;
  flex:0 0 auto!important;
}
@media(max-width:900px){
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content > .m3d-pwa-sub-tabs{
    top:0!important;
  }
}


/* v160 - correção definitiva: header e menu principal do PWA ficam fixos nas abas com rolagem */
body.m3d-pwa-page-scroll{
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
body.m3d-pwa-page-scroll #app{
  overflow:visible!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll{
  display:block!important;
  width:100%!important;
  min-height:100dvh!important;
  height:auto!important;
  overflow:visible!important;
  padding:0!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-main{
  display:block!important;
  width:100%!important;
  min-height:100dvh!important;
  overflow:visible!important;
  padding-top:124px!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:68px!important;
  z-index:1000!important;
  box-shadow:0 8px 22px rgba(15,23,42,.08)!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content{
  display:block!important;
  height:auto!important;
  min-height:calc(100dvh - 124px)!important;
  overflow:visible!important;
  padding-top:0!important;
  padding-bottom:90px!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content > .m3d-pwa-sub-tabs{
  position:fixed!important;
  top:68px!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:999!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  background:#fff7ed!important;
  border-bottom:1px solid #f1d9c4!important;
  box-shadow:0 10px 24px rgba(15,23,42,.10)!important;
  padding:12px 14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content > .m3d-pwa-sub-tabs button{
  flex:0 0 auto!important;
}
@media(max-width:900px){
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-main{
    padding-top:108px!important;
  }
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-header{
    height:56px!important;
  }
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content > .m3d-pwa-sub-tabs{
    top:56px!important;
    padding:8px 10px!important;
  }
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content{
    min-height:calc(100dvh - 108px)!important;
  }
}


/* v160 - PWA: remove vão entre cabeçalho e menus fixos nas abas Lista/Leads/App/Push/E-mail
   A barra de menus fica logo abaixo do cabeçalho fixo, sem espaço azul vazio. */
body.m3d-pwa-page-scroll{overflow-y:auto!important;overflow-x:hidden!important;}
.m3d-pwa-app.m3d-pwa-page-scroll{display:block!important;height:auto!important;min-height:100dvh!important;overflow:visible!important;padding:0!important;background:#eef4fb!important;}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-main{
  display:block!important;
  height:auto!important;
  min-height:100dvh!important;
  overflow:visible!important;
  padding-top:68px!important;
  background:#eef4fb!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:68px!important;
  min-height:68px!important;
  margin:0!important;
  z-index:2000!important;
  background:#fff!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content{
  display:block!important;
  height:auto!important;
  min-height:calc(100dvh - 68px)!important;
  overflow:visible!important;
  padding-top:0!important;
  padding-bottom:90px!important;
  background:#eef4fb!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content > .m3d-pwa-sub-tabs{
  position:sticky!important;
  top:68px!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  margin:0!important;
  z-index:1999!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  background:#fff7ed!important;
  border-top:0!important;
  border-bottom:1px solid #f1d9c4!important;
  box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
  padding:12px 14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content > .m3d-pwa-sub-tabs button{flex:0 0 auto!important;}
.m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content > .m3d-panel-card{margin-top:22px!important;}
@media(max-width:900px){
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-main{padding-top:56px!important;}
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-header{height:56px!important;min-height:56px!important;}
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content{min-height:calc(100dvh - 56px)!important;}
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content > .m3d-pwa-sub-tabs{top:56px!important;padding:8px 10px!important;}
}


/* v160 - PWA: manter a barra lateral de Conversas/Ações também em Lista de Clientes, PUSH, E-mail em massa, App e Leads CNPJ. */
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar){
  display:grid!important;
  grid-template-columns:320px minmax(0,1fr)!important;
  grid-template-rows:1fr!important;
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:0!important;
  background:#eef4fb!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-sidebar{
  display:flex!important;
  position:relative!important;
  left:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:auto!important;
  height:100dvh!important;
  max-height:none!important;
  overflow:auto!important;
  z-index:4!important;
  border-right:1px solid #dbe3ef!important;
  border-bottom:0!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-main{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
  padding-top:0!important;
  background:#eef4fb!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-header{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  width:auto!important;
  height:68px!important;
  min-height:68px!important;
  z-index:30!important;
  background:#fff!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  padding-top:0!important;
  padding-bottom:0!important;
  background:#eef4fb!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content > .m3d-pwa-sub-tabs{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  width:auto!important;
  margin:0!important;
  z-index:20!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  background:#fff7ed!important;
  border-top:0!important;
  border-bottom:1px solid #f1d9c4!important;
  box-shadow:none!important;
  padding:12px 14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content > .m3d-panel-card{
  grid-row:2!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  margin:22px!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-actions{
  display:grid!important;
}
@media(max-width:900px){
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar){
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(120px,35dvh) minmax(0,65dvh)!important;
  }
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-sidebar{
    height:35dvh!important;
    max-height:35dvh!important;
    border-right:0!important;
    border-bottom:1px solid #dbe3ef!important;
  }
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-main{
    height:65dvh!important;
  }
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-header{
    height:56px!important;
    min-height:56px!important;
  }
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content > .m3d-pwa-sub-tabs{
    padding:8px 10px!important;
  }
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content > .m3d-panel-card{
    margin:10px!important;
  }
}


/* v160 - PWA: nas abas Lista/PUSH/E-mail/App/Leads, barra lateral vira resumo/status do menu. */
.m3d-pwa-menu-summary{display:grid;gap:10px;border-top:1px solid #edf2f7;padding-top:14px}
.m3d-pwa-menu-summary h3{margin:0;font-size:20px;color:#071833}
.m3d-side-metrics{display:grid;gap:8px;margin-top:4px}
.m3d-side-metric{background:#f8fbff;border:1px solid #dbe3ef;border-radius:14px;padding:10px 12px;display:grid;gap:2px}
.m3d-side-metric span{font-size:12px;color:#475569;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.m3d-side-metric b{font-size:22px;color:#071833;line-height:1.1;word-break:break-word}
.m3d-side-metric small,.m3d-side-foot{color:#64748b;font-size:12px;line-height:1.35}
.m3d-pwa-menu-summary button{border-radius:12px;padding:10px 12px;font-size:13px;font-weight:900}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-menu-summary{display:grid!important}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-actions{display:none!important}

/* v160 - PWA: rolagem real nas telas Lista de Clientes e Leads CNPJ, sem cortar o formulário. 
   A barra lateral fica fixa, o cabeçalho fica fixo e a área principal passa a rolar. */
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar){
  display:grid!important;
  grid-template-columns:320px minmax(0,1fr)!important;
  grid-template-rows:1fr!important;
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#eef4fb!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-sidebar{
  height:100dvh!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-main{
  display:grid!important;
  grid-template-rows:68px minmax(0,1fr)!important;
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
  padding-top:0!important;
  background:#eef4fb!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-header{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  height:68px!important;
  min-height:68px!important;
  z-index:50!important;
  background:#fff!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content{
  display:block!important;
  height:100%!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 0 42px 0!important;
  background:#eef4fb!important;
  scrollbar-gutter:stable!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content > .m3d-pwa-sub-tabs{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  z-index:45!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  background:#fff7ed!important;
  border-top:0!important;
  border-bottom:1px solid #f1d9c4!important;
  box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
  padding:12px 14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content > .m3d-pwa-sub-tabs button{flex:0 0 auto!important;}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content > .m3d-panel-card{
  display:block!important;
  height:auto!important;
  min-height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  margin:22px!important;
  padding-bottom:32px!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content.m3d-pwa-content-clients,
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content.m3d-pwa-content-cnpj{
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content-clients .m3d-pwa-clients-admin,
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content-cnpj .m3d-cnpj-panel{
  overflow:visible!important;
  max-height:none!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-cnpj-grid{
  display:grid!important;
  grid-template-columns:minmax(320px,440px) minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
  min-width:0!important;
  overflow:visible!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-cnpj-search-card,
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-cnpj-result-card{
  min-width:0!important;
  overflow:visible!important;
}
.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-cnpj-table-wrap{
  max-height:none!important;
  overflow:auto!important;
}
@media(max-width:1100px){
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-cnpj-grid{grid-template-columns:1fr!important;}
}
@media(max-width:900px){
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar){
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(120px,35dvh) minmax(0,65dvh)!important;
  }
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-sidebar{
    height:35dvh!important;
    max-height:35dvh!important;
    border-right:0!important;
    border-bottom:1px solid #dbe3ef!important;
  }
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-main{
    height:65dvh!important;
    grid-template-rows:56px minmax(0,1fr)!important;
  }
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-header{height:56px!important;min-height:56px!important;}
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content > .m3d-pwa-sub-tabs{padding:8px 10px!important;}
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content > .m3d-panel-card{margin:10px!important;}
}

/* v167 - tela splash do PWA na aba Configurações */
/* v168 - troca macaco por olho fechado/aberto no Agente de Campanha */
.m3d-pwa-opening-splash{min-height:100dvh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,var(--pwa-open-main,#0f172a),var(--pwa-open-bg,#fff));color:#fff;overflow:hidden}
.m3d-pwa-opening-card{width:min(520px,92vw);border-radius:32px;padding:38px 28px;background:rgba(15,23,42,.82);border:1px solid rgba(255,255,255,.2);box-shadow:0 28px 90px rgba(0,0,0,.32);text-align:center;display:grid;gap:14px;justify-items:center;backdrop-filter:blur(10px)}
.m3d-pwa-opening-card img{width:min(160px,45vw);height:min(160px,45vw);object-fit:contain;border-radius:26px;background:rgba(255,255,255,.95);padding:10px;box-shadow:0 16px 45px rgba(0,0,0,.24)}
.m3d-pwa-opening-card h1{margin:4px 0 0;font-size:clamp(30px,5vw,46px);line-height:1.05;color:#fff}.m3d-pwa-opening-card strong{font-size:clamp(18px,3vw,24px)}.m3d-pwa-opening-card p{margin:0;color:rgba(255,255,255,.9);font-weight:900;font-size:clamp(18px,3vw,24px)}
.m3d-pwa-opening-bar{width:100%;height:12px;border-radius:999px;background:rgba(255,255,255,.28);overflow:hidden;margin-top:8px}.m3d-pwa-opening-bar span{display:block;height:100%;width:100%;border-radius:inherit;background:#fff;transform-origin:left;animation:m3dPwaOpeningBar 3s linear forwards}@keyframes m3dPwaOpeningBar{from{transform:scaleX(.04)}to{transform:scaleX(1)}}
.pwa-config-card.appweb-form .appweb-color-picker{height:54px;min-height:54px;padding:4px!important;border-radius:14px!important;border:1px solid #cfe0f6!important;background:linear-gradient(135deg,#fff 0 25%,#e2e8f0 25% 50%,#fff 50% 75%,#e2e8f0 75%)!important;background-size:16px 16px!important;cursor:pointer}
.pwa-config-card.appweb-form .appweb-color-picker::-webkit-color-swatch-wrapper{padding:0;border-radius:10px}.pwa-config-card.appweb-form .appweb-color-picker::-webkit-color-swatch{border:0;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(2,6,23,.18)}.pwa-config-card.appweb-form .appweb-color-text{font-family:Arial,Helvetica,sans-serif;font-weight:800;text-transform:lowercase}

.wa-eye-toggle{width:42px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:12px}
.wa-eye-toggle .wa-eye-svg{width:22px;height:22px;display:block}
.wa-eye-toggle .wa-eye-closed{opacity:.88}

.pwa-dept-row{grid-template-columns:minmax(0,1fr) auto auto!important}.pwa-row-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:nowrap}.pwa-row-actions button{white-space:nowrap}@media(max-width:900px){.pwa-dept-row{grid-template-columns:1fr!important}.pwa-row-actions{justify-content:flex-start;flex-wrap:wrap}}

/* v173 - múltiplos departamentos por atendente */
.pwa-att-departments-field{display:flex;flex-direction:column;gap:8px;min-width:240px}
.pwa-att-dep-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;color:#00143a}
.pwa-dep-plus{width:34px;height:34px;border-radius:12px;border:1px solid #bcd5ff;background:#eaf3ff;color:#075bea;font-weight:900;font-size:22px;line-height:1;cursor:pointer}
.pwa-dep-plus:hover{background:#d8ebff}
#pwaAttDepartmentRows{display:flex;flex-direction:column;gap:8px}
.pwa-att-dep-row{display:flex;gap:8px;align-items:center}
.pwa-att-dep-row select{min-width:220px;flex:1}
.pwa-att-dep-row .danger.small{padding:8px 10px;border-radius:10px;white-space:nowrap}
.pwa-dep-badges{display:flex;flex-wrap:wrap;gap:6px}
.m3d-dep-badge{display:inline-flex;align-items:center;border:1px solid #bfdbfe;background:#eff6ff;color:#0f3b82;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}
.m3d-pwa-online small{display:block;line-height:1.25}
@media(max-width:900px){.pwa-att-dep-row{flex-direction:column;align-items:stretch}.pwa-att-dep-row select{min-width:0;width:100%}}

/* v173 - centralização do botão + de departamentos do atendente */
.pwa-dep-plus{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:0!important;line-height:1!important;vertical-align:middle!important;}
.pwa-att-dep-label-row .pwa-dep-plus{align-self:center!important;flex:0 0 54px!important;width:54px!important;height:54px!important;}
.pwa-att-dep-label-row{align-items:center!important;}

/* v177: mini popup do QR Code ao adicionar WhatsApp */
.wa-mini-overlay{position:fixed;inset:0;z-index:100000;background:rgba(7,19,38,.48);display:flex;align-items:center;justify-content:center;padding:18px;}
.wa-mini-card{position:relative;width:min(460px,96vw);background:#fff;border:1px solid #dbeafe;border-radius:24px;padding:22px;box-shadow:0 28px 90px rgba(2,8,23,.32);color:#071833;text-align:center;}
.wa-mini-card h2{margin:0 36px 8px;font-size:26px;}
.wa-mini-close{position:absolute;right:14px;top:14px;border-radius:999px;width:38px;height:38px;padding:0;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;background:#f8fbff;}
.wa-mini-body{margin-top:14px;}
.wa-mini-qr-wrap{margin:14px auto 10px;background:#fff;border:1px dashed #bcd3ff;border-radius:20px;padding:14px;width:min(310px,90vw);display:flex;align-items:center;justify-content:center;}
.wa-mini-qr-wrap img.qr{width:260px;max-width:100%;height:auto;display:block;border-radius:12px;}
@media(max-width:640px){.wa-mini-card{padding:18px;border-radius:20px}.wa-mini-card h2{font-size:22px}.wa-mini-qr-wrap img.qr{width:235px}}

/* v177: botão para gerar novo QR no mini popup e mensagem de lista vazia */
.wa-mini-actions{display:flex;justify-content:center;margin:12px 0 8px;gap:10px;flex-wrap:wrap}
.wa-mini-actions .primary{min-width:220px;text-transform:uppercase;font-weight:900}
.wa-empty-connected{grid-column:1/-1;padding:18px;border:1px dashed #bdd4ff;border-radius:16px;background:#f7fbff;text-align:center}

/* v177: manter botão Instalar PWA visível somente dentro do menu App do PWA */
.fp-android-pwa-install-row #fp-android-install-pwa{display:inline-flex!important;align-items:center;justify-content:center;min-width:150px;white-space:nowrap;background:#075bea;color:#fff;border:1px solid #075bea;border-radius:14px;font-weight:900;box-shadow:0 10px 24px rgba(7,91,234,.18)}


/* v180: busca instantânea de clientes no PWA e botão X no card do cliente selecionado */
.m3d-pwa-client-results{display:none;gap:6px;margin-top:-3px;margin-bottom:2px;}
.m3d-pwa-client-result{display:grid;grid-template-columns:38px 1fr;gap:2px 8px;text-align:left;align-items:center;background:#eef6ff;border:1px solid #bfdbfe;border-left:3px solid #075bea;border-radius:12px;padding:8px;color:#071833;box-shadow:none;}
.m3d-pwa-client-result .avatar{grid-row:1 / 3;width:34px;height:34px;font-size:12px;}
.m3d-pwa-client-result b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.m3d-pwa-client-result small{color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.m3d-pwa-client-empty{border:1px dashed #cbd5e1;border-radius:12px;padding:9px 10px;color:#64748b;font-size:13px;background:#f8fafc;}
.m3d-chat-head-title{position:relative;padding-right:40px;}
.m3d-chat-close-selected{position:absolute;right:0;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:999px!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center;background:#fee2e2!important;color:#991b1b!important;border:1px solid #fecaca!important;box-shadow:none!important;font-size:18px!important;font-weight:900;}
@media(max-width:900px){.m3d-chat-head-title{padding-right:38px;}.m3d-chat-close-selected{top:4px;transform:none;}}
/* v180: cadastro completo de clientes no PWA e nos ADMs */
.client-address-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.m3d-pwa-client-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:stretch;border:1px solid #dbe3ef;border-radius:16px;background:#f8fbff;padding:8px}.m3d-pwa-client-row>button{border:0;background:transparent;box-shadow:none;padding:8px;text-align:left}.m3d-pwa-client-actions{display:flex;align-items:center;gap:8px}.m3d-pwa-client-actions button{padding:9px 12px;border-radius:12px}.m3d-pwa-client-actions .danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.m3d-pwa-clients-admin .head-row select,.list-tools select{min-height:42px;border:1px solid #cfe0f5;border-radius:12px;padding:0 10px;background:#fff;font-weight:800}.pwa-client-form h3.full-span{grid-column:1/-1;margin:4px 0 8px}@media(max-width:760px){.m3d-pwa-client-row{grid-template-columns:1fr}.m3d-pwa-client-actions{justify-content:flex-start;flex-wrap:wrap}}


/* v183 - nome da empresa do pagador na fatura pública/PDF */
.invoice-client-company{margin:2px 0 8px!important;font-size:16px!important;font-weight:800!important;color:#0f172a!important}
.invoice-client-company b{color:#1d4ed8}

/* v184 - Pausa global do atendimento no PWA */
.m3d-pwa-attendance-fixed{margin:10px 0 12px;padding:10px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:14px;display:grid;gap:5px}
.m3d-pwa-attendance-fixed button{width:100%;border:0;border-radius:12px;padding:10px 12px;font-weight:900;background:#2563eb;color:#fff;cursor:pointer}
.m3d-pwa-attendance-fixed small{display:block;color:#1e3a8a;font-size:11px;line-height:1.25}
.m3d-pwa-attendance-fixed.paused{border-color:#fed7aa;background:#fff7ed}
.m3d-pwa-attendance-fixed.paused button{background:#ea580c}
.m3d-pwa-attendance-fixed.paused small{color:#9a3412}
.m3d-chat-search-row{display:flex;gap:8px;align-items:center;width:100%}
.m3d-chat-search-row .m3d-chat-search-line{flex:1;min-width:0}
.m3d-chat-pause-inline{border:0;border-radius:12px;background:#2563eb;color:#fff;font-weight:900;padding:10px 12px;white-space:nowrap;cursor:pointer}
.m3d-chat-pause-inline.paused{background:#ea580c}
@media(max-width:720px){.m3d-chat-search-row{display:grid}.m3d-chat-pause-inline{width:100%}}


/* v186 - botão Pausar atendimento fixo também na área principal, mesmo sem conversa selecionada */
.m3d-chat-head-clean .m3d-chat-search-row{margin-top:8px}
.m3d-chat-search-line-empty{border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#475569;font-weight:800;padding:10px 12px;display:flex;align-items:center;min-height:44px}
.m3d-chat-pause-inline{min-height:44px;box-shadow:0 8px 18px rgba(37,99,235,.18)}
.m3d-chat-pause-inline.online{background:#2563eb}
.m3d-chat-attendance-empty{max-width:560px;margin:32px auto;padding:18px;border-radius:18px;background:#f8fafc;border:1px solid #dbeafe;color:#0f172a;text-align:left;box-shadow:0 16px 35px rgba(15,23,42,.18)}
.m3d-chat-attendance-empty h3{margin:0 0 8px;font-size:20px;color:#0f172a}
.m3d-chat-attendance-empty p{margin:0 0 12px;color:#475569;line-height:1.45}
.m3d-chat-attendance-empty .m3d-pwa-attendance-fixed{margin:0}
@media(max-width:720px){.m3d-chat-attendance-empty{margin:18px 10px}.m3d-chat-search-line-empty{font-size:13px}}

/* v198 - desce a bolinha de notificação para não encostar no X do card */

/* v198 - interruptor Online/Offline do atendente no lugar do botão Pausar atendimento */
.m3d-pwa-online{border-radius:24px;align-items:center;gap:10px;flex-wrap:nowrap;transition:.18s ease;background:#dcfce7;border-color:#86efac}
.m3d-pwa-online.offline{background:#fee2e2;border-color:#fecaca}
.m3d-pwa-attendant-card-info{display:flex;flex-direction:column;gap:5px;min-width:0;line-height:1.05}
.m3d-pwa-attendant-card-info b{font-size:13px;line-height:1.05}
.m3d-pwa-status-switch{display:inline-flex;align-items:center;gap:7px;cursor:pointer;user-select:none;white-space:nowrap;font-weight:950;color:#14532d;line-height:1;border:0;background:transparent;padding:0;font-family:inherit;box-shadow:none;text-align:left}
.m3d-pwa-status-switch input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.m3d-pwa-status-track{width:42px;height:22px;border-radius:999px;background:#ef4444;border:1px solid #dc2626;position:relative;display:inline-flex;align-items:center;padding:2px;box-shadow:inset 0 1px 3px rgba(0,0,0,.16)}
.m3d-pwa-status-track i{width:16px;height:16px;border-radius:999px;background:#fff;display:block;transform:translateX(0);transition:.18s ease;box-shadow:0 1px 4px rgba(0,0,0,.22)}
.m3d-pwa-status-switch.online .m3d-pwa-status-track{background:#22c55e;border-color:#16a34a}
.m3d-pwa-status-switch.online .m3d-pwa-status-track i{transform:translateX(20px)}
.m3d-pwa-status-switch.offline{color:#991b1b}
.m3d-pwa-status-label{font-size:12px;text-transform:uppercase;letter-spacing:.02em}
.m3d-pwa-status-switch small{font-size:11px;font-weight:800;color:#14532d;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m3d-pwa-status-switch.offline small{color:#991b1b}
.m3d-pwa-status-switch.header-switch small{display:none}
.m3d-pwa-status-switch.header-switch{background:#f8fafc;border:1px solid #dbeafe;border-radius:999px;padding:6px 9px;color:#166534}
.m3d-pwa-status-switch.header-switch.offline{background:#fff1f2;border-color:#fecdd3;color:#991b1b}
.m3d-pwa-status-switch.sidebar-switch{align-items:flex-start;flex-wrap:wrap;gap:6px}
.m3d-chat-pause-inline,.m3d-pwa-attendance-fixed{display:none!important}
.m3d-chat-search-row:empty{display:none}


/* v198 - botão Instalar aplicativo (PWA) em todos os logins */
.m3d-login-install-pwa{
  width:100%;
  min-height:48px;
  margin:4px 0 16px;
  border:1px solid #2563eb;
  border-radius:14px;
  background:linear-gradient(135deg,#2563eb,#0ea5e9);
  color:#fff;
  font-size:16px;
  font-weight:900;
  letter-spacing:.01em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow:0 16px 34px rgba(37,99,235,.22);
  cursor:pointer;
}
.m3d-login-install-pwa:hover{transform:translateY(-1px);box-shadow:0 18px 38px rgba(37,99,235,.28)}
.m3d-login-install-pwa:active{transform:translateY(0)}
.m3d-pwa-login-card .m3d-login-install-pwa{margin:8px 0 14px}
.landing .auth-card .m3d-login-install-pwa{margin:0 0 18px}
@media(max-width:760px){.m3d-login-install-pwa{min-height:46px;font-size:15px}}


/* v198 - interruptor Online/Offline agora é botão real clicável */
.m3d-pwa-status-switch:active .m3d-pwa-status-track{transform:scale(.96)}
.m3d-pwa-status-switch:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:3px}


/* v198 - quando atendimento estiver pausado/offline, o interruptor fica vermelho */
.m3d-pwa-status-switch.offline,
.m3d-pwa-status-switch[aria-pressed="false"]{
  color:#991b1b!important;
}
.m3d-pwa-status-switch.offline .m3d-pwa-status-track,
.m3d-pwa-status-switch[aria-pressed="false"] .m3d-pwa-status-track{
  background:#ef4444!important;
  border-color:#dc2626!important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.20),0 0 0 4px rgba(239,68,68,.12)!important;
}
.m3d-pwa-status-switch.offline .m3d-pwa-status-track i,
.m3d-pwa-status-switch[aria-pressed="false"] .m3d-pwa-status-track i{
  transform:translateX(0)!important;
}
.m3d-pwa-status-switch.offline .m3d-pwa-status-label,
.m3d-pwa-status-switch[aria-pressed="false"] .m3d-pwa-status-label{
  color:#991b1b!important;
}
.m3d-pwa-online.offline{
  background:#fee2e2!important;
  border-color:#fecaca!important;
}
.m3d-pwa-header-actions .m3d-pwa-status-switch.offline,
.m3d-pwa-status-switch.header-switch.offline{
  background:#fff1f2!important;
  border-color:#fecdd3!important;
  color:#991b1b!important;
}


/* v198 - opção do agente: mostrar nome do atendente no menu de departamentos online */
.wa-agent-builder select[name="showAttendantNameInDepartmentMenu"] + small{
  display:block;
  margin-top:6px;
  line-height:1.3;
}


/* v198 - interruptor Online/Offline com movimento real e vermelho no offline */
.m3d-pwa-status-switch{
  cursor:pointer!important;
}
.m3d-pwa-status-track{
  transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .16s ease!important;
}
.m3d-pwa-status-track i{
  transition:transform .22s cubic-bezier(.2,.9,.25,1.25)!important;
}
.m3d-pwa-status-switch.online .m3d-pwa-status-track{
  background:#22c55e!important;
  border-color:#16a34a!important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.16),0 0 0 4px rgba(34,197,94,.14)!important;
}
.m3d-pwa-status-switch.online .m3d-pwa-status-track i{
  transform:translateX(20px)!important;
}
.m3d-pwa-status-switch.offline .m3d-pwa-status-track{
  background:#ef4444!important;
  border-color:#dc2626!important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.20),0 0 0 4px rgba(239,68,68,.14)!important;
}
.m3d-pwa-status-switch.offline .m3d-pwa-status-track i{
  transform:translateX(0)!important;
}
.m3d-pwa-status-switch.offline .m3d-pwa-status-label{color:#991b1b!important}
.m3d-pwa-status-switch.online .m3d-pwa-status-label{color:#14532d!important}
.m3d-pwa-online.offline{background:#fee2e2!important;border-color:#fecaca!important}
.m3d-pwa-online.online{background:#dcfce7!important;border-color:#86efac!important}


/* v198 - barra lateral do PWA: nome do atendente fica só no topo */
.m3d-pwa-attendant-card-info-compact{
  min-width:0!important;
  flex:1!important;
}
.m3d-pwa-attendant-card-info-compact .m3d-pwa-status-switch.sidebar-switch{
  width:100%!important;
  justify-content:flex-start!important;
}
.m3d-pwa-attendant-card-info-compact .m3d-pwa-status-switch.sidebar-switch small{
  max-width:130px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}


/* v198 - remove totalmente o card de status do atendente da barra lateral.
   Nome, interruptor Online/Offline e departamento ficam somente no topo. */
.m3d-pwa-sidebar > .m3d-pwa-online,
.m3d-pwa-sidebar .m3d-pwa-attendant-card-info,
.m3d-pwa-sidebar .m3d-pwa-status-switch.sidebar-switch{
  display:none!important;
}


/* v198 - departamento vinculado aparece abaixo do nome do atendente no topo */
.m3d-pwa-attendant-identity{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;line-height:1.08;min-width:0;max-width:260px}
.m3d-pwa-attendant-identity .m3d-pwa-attendant-name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m3d-pwa-attendant-department{display:block;margin-top:3px;font-size:11px;font-weight:850;color:#64748b;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.m3d-pwa-attendant-identity{align-items:flex-start;max-width:180px}.m3d-pwa-attendant-identity .m3d-pwa-attendant-name,.m3d-pwa-attendant-department{max-width:180px}}

/* v267 - frase dinâmica da equipe no topo esquerdo do PWA */
.m3d-pwa-side-team-message{
  font-size:18px!important;
  line-height:1.15!important;
  font-weight:950!important;
  color:#071833!important;
  padding-right:54px!important;
  word-break:break-word;
}
@media(max-width:900px){
  .m3d-pwa-side-team-message{font-size:16px!important;padding-right:70px!important;}
}

/* v267 - grupo empresarial na lista de clientes do PWA */
.pwa-business-group-box{border:1px solid #dbeafe;background:#f8fbff;border-radius:14px;padding:12px;display:grid;gap:8px}
.pwa-business-group-box select{width:100%;min-height:130px;border:1px solid #cfe0f7;border-radius:12px;padding:10px;background:#fff;font:inherit}
.m3d-pwa-client-row.has-business-group{border-left:4px solid #2563eb;background:#f8fbff}
.m3d-client-group-members{display:grid;gap:4px;margin-top:8px;padding:8px 10px;border-radius:10px;background:#edf5ff;color:#0f3f91;font-size:.86rem;text-align:left}
.m3d-client-group-members b{color:#0b2f6b}
.m3d-client-group-members span{display:block;color:#0f172a}
.m3d-business-group-checks{display:grid;gap:8px;max-height:260px;overflow:auto;padding:4px}
.m3d-business-group-search{width:100%;border:1px solid #cfe0f7;border-radius:12px;padding:12px 14px;font:inherit;background:#fff;margin-bottom:6px}
.m3d-business-group-search:focus{outline:2px solid rgba(37,99,235,.16);border-color:#93c5fd}

.m3d-client-group-check{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #dbeafe;border-radius:10px;background:#fff;color:#0f172a;font-weight:700}
.m3d-client-group-check input{width:18px;height:18px}
.m3d-client-group-check.disabled{opacity:.55;background:#f1f5f9}

/* v267 - busca na lista de clientes do PWA e botões Exportar/Relatório juntos */
.m3d-pwa-client-list-head{align-items:center;gap:14px}
.m3d-pwa-client-list-tools{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,420px);gap:10px;align-items:center;flex:1}
.m3d-pwa-client-search{min-height:42px;border:1px solid #cfe0f5;border-radius:12px;padding:0 12px;font:inherit;background:#fff;font-weight:700}
.m3d-pwa-client-search:focus{outline:2px solid rgba(37,99,235,.16);border-color:#93c5fd}
.m3d-pwa-export-report-actions{display:inline-flex;gap:10px;align-items:center;white-space:nowrap}
.m3d-pwa-export-report-actions button{white-space:nowrap}
@media(max-width:900px){
  .m3d-pwa-client-list-tools{grid-template-columns:1fr;width:100%}
  .m3d-pwa-export-report-actions{display:flex;flex-wrap:wrap;white-space:normal}
}

/* v267 - ações da lista de clientes na mesma linha e relatório com empresa do grupo */
.m3d-pwa-clients-admin .pwa-client-form .m3d-pwa-client-form-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
  max-width:none;
}
.m3d-pwa-clients-admin .pwa-client-form .m3d-pwa-client-form-actions button,
.m3d-pwa-clients-admin .pwa-client-form .m3d-pwa-client-form-actions .btn{
  white-space:nowrap;
}
.m3d-pwa-clients-admin .pwa-client-form .m3d-pwa-export-report-actions{
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}
@media(max-width:760px){
  .m3d-pwa-clients-admin .pwa-client-form .m3d-pwa-client-form-actions,
  .m3d-pwa-clients-admin .pwa-client-form .m3d-pwa-export-report-actions{
    flex-wrap:wrap;
  }
}

/* v267 - formulário de cliente só abre ao clicar em Adicionar/Editar */
.m3d-pwa-client-top-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}
.m3d-pwa-client-top-actions button,
.m3d-pwa-client-top-actions .btn{
  white-space:nowrap;
}
.m3d-pwa-clients-admin > .head-row{
  align-items:center;
  gap:14px;
}
@media(max-width:980px){
  .m3d-pwa-client-top-actions{flex-wrap:wrap}
}

/* v267 - múltiplos WhatsApps no cadastro do cliente */
.m3d-main-phone-row{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:8px;align-items:center}
.m3d-phone-plus{height:52px;border-radius:14px;border:1px solid #bfdbfe;background:#eff6ff;color:#075bea;font-weight:1000;font-size:24px;cursor:pointer}
.m3d-extra-phone-box{border:1px solid #dbeafe;background:#f8fbff;border-radius:14px;padding:12px;display:grid;gap:8px}
.m3d-extra-phone-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.m3d-extra-phone-head button{border-radius:12px;padding:8px 12px;border:1px solid #bfdbfe;background:#eff6ff;color:#075bea;font-weight:900}
.m3d-extra-phone-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:8px}
.m3d-extra-phone-row .danger{background:#fee2e2;color:#991b1b;border-color:#fecaca;border-radius:12px;padding:10px 12px}
@media(max-width:760px){
  .m3d-main-phone-row,.m3d-extra-phone-row{grid-template-columns:1fr}
}

/* v267 - responder mensagem e compartilhar anexos no PWA */
.m3d-bubble{position:relative}
.m3d-msg-actions{position:absolute;top:6px;right:6px;display:flex;gap:5px;opacity:.2;transition:.15s;z-index:2}
.m3d-bubble:hover .m3d-msg-actions{opacity:1}
.m3d-msg-action{width:28px;height:28px;border-radius:999px;border:1px solid #dbe3ef;background:rgba(255,255,255,.92);color:#0f172a;font-weight:900;display:grid;place-items:center;cursor:pointer;padding:0}
.m3d-msg-action.share{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
.m3d-reply-preview{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;border-left:4px solid var(--m3d-pwa-button,#2563eb);background:#f8fbff;border-radius:12px;padding:8px 10px;margin-bottom:4px}
.m3d-reply-preview div{display:grid;gap:2px;min-width:0}
.m3d-reply-preview b{font-size:12px;color:#0f172a}
.m3d-reply-preview span{font-size:12px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.m3d-reply-preview button{border:0;background:#fee2e2;color:#991b1b;border-radius:999px;width:26px;height:26px;font-weight:900}
.m3d-reply-block{border-left:4px solid rgba(37,99,235,.55);background:rgba(226,232,240,.65);border-radius:10px;padding:7px 9px;margin:2px 0 6px;display:grid;gap:2px}
.m3d-reply-block b{font-size:12px;color:#1e3a8a}
.m3d-reply-block span{font-size:12px;color:#334155;line-height:1.25}

/* v267 - Comunicado Interno do administrador para atendentes */
.m3d-internal-notice-overlay{position:fixed;inset:0;background:rgba(15,23,42,.62);z-index:99999;display:grid;place-items:center;padding:18px}
.m3d-internal-notice-card{width:min(560px,96vw);background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.35);padding:22px;border:1px solid #dbeafe;display:grid;gap:10px}
.m3d-internal-notice-card h2{margin:0;color:#0f172a;font-size:24px}
.m3d-internal-notice-card h3{margin:6px 0 0;color:#1d4ed8;font-size:20px}
.m3d-internal-notice-card small{color:#64748b;font-weight:700}
.m3d-internal-notice-card p{font-size:17px;line-height:1.5;color:#0f172a;background:#f8fafc;border-radius:14px;padding:14px;border:1px solid #e2e8f0;max-height:45vh;overflow:auto}
.m3d-internal-notice-card button{height:48px;border:0;border-radius:14px;background:#2563eb;color:#fff;font-weight:1000;font-size:16px;cursor:pointer}
.m3d-internal-notice-form{display:grid;gap:10px;max-width:760px}
.m3d-internal-notice-form input,.m3d-internal-notice-form textarea{border:1px solid #cfe0f5;border-radius:14px;padding:12px;font:inherit}
.m3d-internal-notice-form textarea{resize:vertical}
.m3d-internal-notice-list{display:grid;gap:12px}
.m3d-internal-notice-row{border:1px solid #dbeafe;background:#f8fbff;border-radius:16px;padding:14px;display:grid;gap:6px}
.m3d-internal-notice-row>b{font-size:18px;color:#0f172a}
.m3d-internal-notice-row small{color:#64748b;font-weight:700}
.m3d-internal-notice-row p{margin:4px 0;color:#0f172a;line-height:1.45}
.m3d-internal-read-box{border-top:1px solid #dbeafe;padding-top:8px;color:#0f172a}
.m3d-internal-read-box small{color:#64748b;font-size:12px}

/* v267 - Sino do sistema para comunicados aos clientes */
.m3d-system-notice-wrap{position:relative;display:inline-flex;align-items:center}
.m3d-system-notice-bell{width:44px;height:44px;border-radius:999px;border:1px solid #bfdbfe;background:#fff;color:#0f172a;font-size:20px;display:grid;place-items:center;cursor:pointer;position:relative}
.m3d-system-notice-bell.has{background:#eff6ff;border-color:#60a5fa}
.m3d-system-notice-bell em{position:absolute;top:-7px;right:-7px;min-width:22px;height:22px;border-radius:999px;background:#ef4444;color:#fff;font-size:12px;font-style:normal;font-weight:1000;display:grid;place-items:center;border:2px solid #fff}
.m3d-system-notice-dropdown{position:absolute;right:0;top:52px;width:330px;max-width:86vw;background:#fff;border:1px solid #dbeafe;border-radius:16px;box-shadow:0 18px 50px rgba(15,23,42,.18);padding:8px;z-index:1000;display:grid;gap:6px}
.m3d-system-notice-dropdown button{border:0;background:#f8fafc;border-radius:12px;padding:10px;text-align:left;display:grid;gap:3px;cursor:pointer}
.m3d-system-notice-dropdown button.unread{background:#eff6ff;border-left:4px solid #2563eb}
.m3d-system-notice-dropdown b{color:#0f172a}
.m3d-system-notice-dropdown small{color:#64748b;font-weight:700}
.m3d-system-notice-empty{padding:14px;color:#64748b}
.m3d-system-notice-admin-modal,.m3d-system-notice-read-modal{max-width:760px}
.m3d-system-notice-form{display:grid;gap:10px}
.m3d-system-notice-form input,.m3d-system-notice-form select,.m3d-system-notice-form textarea{border:1px solid #cfe0f5;border-radius:12px;padding:10px;font:inherit}
.m3d-system-notice-admin-list{display:grid;gap:10px;max-height:45vh;overflow:auto}
.m3d-system-notice-admin-row{border:1px solid #dbeafe;background:#f8fbff;border-radius:14px;padding:12px;display:grid;gap:5px}
.m3d-system-notice-admin-row small,.m3d-system-notice-read-modal small{color:#64748b;font-weight:700}
.m3d-system-notice-admin-row p,.m3d-system-notice-read-modal p{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px;line-height:1.45}
.m3d-system-notice-reads{display:grid;gap:4px;border-top:1px solid #dbeafe;padding-top:8px}
.m3d-system-notice-reads span{display:block;color:#0f172a}
.m3d-system-notice-reads em{color:#64748b}

/* v267 - Sistema de Lembretes dos atendentes */
.m3d-reminders-panel{display:grid;gap:14px}
.m3d-reminder-form{display:grid;gap:10px;max-width:980px}
.m3d-reminder-form input,.m3d-reminder-form textarea,.m3d-reminder-form select{border:1px solid #cfe0f5;border-radius:14px;padding:12px;font:inherit;background:#fff}
.m3d-reminder-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}
.m3d-reminder-grid label{display:grid;gap:6px;font-weight:800}
.m3d-reminder-summary{background:#f8fbff;border:1px solid #dbeafe;border-radius:14px;padding:12px}
.m3d-reminder-list{display:grid;gap:18px}
.m3d-reminder-list section{display:grid;gap:10px}
.m3d-reminder-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #dbeafe;background:#fff;border-radius:16px;padding:14px}
.m3d-reminder-row.overdue{border-color:#fecaca;background:#fff7f7}
.m3d-reminder-row.status-completed{background:#f0fdf4;border-color:#bbf7d0}
.m3d-reminder-row b{font-size:17px;color:#0f172a}
.m3d-reminder-row small{display:block;color:#64748b;font-weight:800;margin-top:3px}
.m3d-reminder-row p{margin:7px 0;color:#0f172a;line-height:1.35}
.m3d-reminder-row em{font-style:normal;color:#1d4ed8;font-weight:900;font-size:13px}
.m3d-reminder-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.m3d-reminder-actions button{border:1px solid #bfdbfe;background:#eff6ff;color:#075bea;border-radius:12px;padding:10px 12px;font-weight:900}
.m3d-reminder-actions button.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.m3d-reminder-popup-overlay{position:fixed;inset:0;background:rgba(15,23,42,.62);z-index:99998;display:grid;place-items:center;padding:18px}
.m3d-reminder-popup-card{width:min(560px,96vw);background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.35);padding:22px;border:1px solid #dbeafe;display:grid;gap:10px}
.m3d-reminder-popup-card h2{margin:0;color:#0f172a;font-size:24px}
.m3d-reminder-popup-card h3{margin:4px 0;color:#1d4ed8;font-size:20px}
.m3d-reminder-popup-card small{color:#64748b;font-weight:800}
.m3d-reminder-popup-card p{font-size:16px;line-height:1.5;color:#0f172a;background:#f8fafc;border-radius:14px;padding:14px;border:1px solid #e2e8f0;max-height:36vh;overflow:auto}
.m3d-reminder-popup-actions{display:flex;gap:10px;flex-wrap:wrap}
.m3d-reminder-popup-actions button{flex:1;min-height:46px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;color:#075bea;font-weight:1000;cursor:pointer}
.m3d-reminder-popup-actions button.primary{background:#2563eb;color:#fff;border-color:#2563eb}
@media(max-width:760px){
  .m3d-reminder-grid,.m3d-reminder-row{grid-template-columns:1fr}
  .m3d-reminder-actions{justify-content:flex-start}
}

/* v267 - barras laterais de resumo e rolagem nos menus Lembretes/Comunicado Interno */
.m3d-panel-scroll{max-height:calc(100vh - 190px);overflow:hidden}
.m3d-two-col-summary-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}
.m3d-scroll-main{max-height:calc(100vh - 290px);overflow:auto;padding-right:8px;scrollbar-width:thin}
.m3d-side-summary{position:sticky;top:0;max-height:calc(100vh - 290px);overflow:auto;border:1px solid #dbeafe;background:#f8fbff;border-radius:18px;padding:14px;display:grid;gap:10px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.m3d-side-summary h3{margin:0;color:#0f172a;font-size:20px}
.m3d-side-summary div:not(.m3d-side-mini-list){background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px;display:grid;gap:2px}
.m3d-side-summary b{font-size:24px;color:#1d4ed8}
.m3d-side-summary span{color:#475569;font-weight:800}
.m3d-side-summary small{color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.m3d-side-summary strong{color:#0f172a;line-height:1.25}
.m3d-side-summary em{font-style:normal;color:#475569;font-weight:800}
.m3d-side-mini-list{display:grid!important;gap:6px;background:transparent!important;border:0!important;padding:0!important}
.m3d-side-mini-list span{display:flex;justify-content:space-between;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:8px;font-size:13px}
.m3d-side-mini-list span b{font-size:13px;color:#1d4ed8}
.m3d-reminder-form button.primary.compact,.m3d-internal-notice-form button.primary.compact{width:auto;max-width:260px;min-width:190px;padding:12px 18px;justify-self:start}
.m3d-reminder-form,.m3d-internal-notice-form{max-width:900px}
.m3d-internal-notice-list,.m3d-reminder-list{padding-bottom:14px}
@media(max-width:980px){
  .m3d-panel-scroll{max-height:none;overflow:visible}
  .m3d-two-col-summary-layout{grid-template-columns:1fr}
  .m3d-scroll-main,.m3d-side-summary{max-height:none;overflow:visible;position:static}
}

/* v267 - menu PWA em sanfona/duas linhas sem barra horizontal */
.m3d-pwa-sub-tabs.m3d-pwa-sub-tabs-accordion{
  display:grid!important;
  gap:8px!important;
  overflow:visible!important;
  padding:10px 14px!important;
}
.m3d-pwa-sub-row{
  display:grid;
  grid-template-columns:repeat(6,minmax(110px,1fr));
  gap:10px;
  align-items:center;
}
.m3d-pwa-sub-row-extra{
  display:none;
  border-top:1px dashed #fed7aa;
  padding-top:8px;
}
.m3d-pwa-sub-row-extra.open{display:grid}
.m3d-pwa-sub-tabs-accordion button{
  width:100%;
  min-height:46px;
  text-align:center;
  white-space:normal!important;
  line-height:1.15;
}
.m3d-pwa-menu-more{
  background:#fff7ed!important;
  color:#92400e!important;
  border-style:dashed!important;
}
.m3d-pwa-menu-more.active{
  background:#7c2d12!important;
  color:#fff!important;
  border-color:#7c2d12!important;
}
.m3d-pwa-menu-more span{font-size:11px;margin-left:4px}
@media(max-width:1180px){
  .m3d-pwa-sub-row{grid-template-columns:repeat(3,minmax(120px,1fr))}
}
@media(max-width:680px){
  .m3d-pwa-sub-row{grid-template-columns:repeat(2,minmax(110px,1fr))}
}

/* v267 - resumo de Lembretes/Comunicados volta para a barra lateral padrão do PWA */
.m3d-standalone-scroll-panel{max-height:calc(100vh - 190px);overflow:hidden}
.m3d-scroll-main-full{max-height:calc(100vh - 310px);overflow:auto;padding-right:10px;scrollbar-width:thin}
.m3d-side-summary-note{display:grid;gap:4px;border:1px solid #dbeafe;background:#fff;border-radius:14px;padding:10px;margin-top:10px}
.m3d-side-summary-note small{font-size:11px;color:#64748b;font-weight:900;text-transform:uppercase}
.m3d-side-summary-note b{font-size:14px;color:#0f172a;line-height:1.25}
.m3d-side-summary-note span{font-size:12px;color:#475569;font-weight:800}
.m3d-side-line{display:flex!important;justify-content:space-between;gap:8px;border-top:1px solid #eef2ff;padding-top:5px}
.m3d-side-line b{font-size:12px!important;color:#1d4ed8!important}
.m3d-reminder-form button.primary.compact,.m3d-internal-notice-form button.primary.compact{width:auto;max-width:260px;min-width:190px;padding:12px 18px;justify-self:start}
@media(max-width:980px){
  .m3d-standalone-scroll-panel{max-height:none;overflow:visible}
  .m3d-scroll-main-full{max-height:none;overflow:visible}
}

/* v267 - força barra lateral padrão para Lembretes e Comunicado Interno */
.m3d-pwa-content-reminders,
.m3d-pwa-content-internal{
  min-height:0;
}
.m3d-pwa-content-reminders .m3d-panel-card,
.m3d-pwa-content-internal .m3d-panel-card{
  margin:18px;
}
.m3d-pwa-content-reminders .m3d-standalone-scroll-panel,
.m3d-pwa-content-internal .m3d-standalone-scroll-panel{
  max-height:calc(100vh - 220px);
}
.m3d-pwa-content-reminders .m3d-scroll-main-full,
.m3d-pwa-content-internal .m3d-scroll-main-full{
  max-height:calc(100vh - 360px);
}

/* v267 - menu principal do PWA sem rolagem horizontal: 4 principais + secundários em sanfona */
.m3d-pwa-sub-tabs.m3d-pwa-sub-tabs-accordion{
  display:block!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  padding:10px 14px!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.m3d-pwa-sub-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.m3d-pwa-sub-row-main{
  padding-bottom:8px!important;
  border-bottom:1px dashed #fed7aa!important;
}
.m3d-pwa-sub-row-extra{
  display:none!important;
  padding-top:8px!important;
  border-top:0!important;
}
.m3d-pwa-sub-row-extra.open{
  display:flex!important;
}
.m3d-pwa-sub-tabs-accordion button{
  flex:1 1 170px!important;
  min-width:0!important;
  max-width:100%!important;
  width:auto!important;
  min-height:46px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-align:center!important;
  line-height:1.15!important;
}
.m3d-pwa-menu-more{
  flex:0 1 180px!important;
  background:#fff7ed!important;
  color:#92400e!important;
  border-style:dashed!important;
}
.m3d-pwa-menu-more.active{
  background:#7c2d12!important;
  color:#fff!important;
  border-color:#7c2d12!important;
}
.m3d-pwa-menu-more span{font-size:11px;margin-left:4px}
@media(max-width:980px){
  .m3d-pwa-sub-tabs-accordion button{flex:1 1 145px!important}
  .m3d-pwa-menu-more{flex:1 1 145px!important}
}
@media(max-width:560px){
  .m3d-pwa-sub-tabs-accordion{padding:8px!important}
  .m3d-pwa-sub-row{gap:7px!important}
  .m3d-pwa-sub-tabs-accordion button{flex:1 1 calc(50% - 8px)!important;font-size:13px!important}
}

/* v267 - correção definitiva do menu PWA: 4 principais + atual + Mostrar menus, sem rolagem horizontal */
.m3d-pwa-main,
.m3d-pwa-content,
.m3d-pwa-sub-tabs,
.m3d-pwa-sub-tabs-accordion{
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
}
.m3d-pwa-sub-tabs.m3d-pwa-sub-tabs-accordion{
  display:block!important;
  width:100%!important;
  padding:10px 14px!important;
}
.m3d-pwa-sub-row{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  align-items:stretch!important;
}
.m3d-pwa-sub-row-main{
  border-bottom:1px dashed #fed7aa!important;
  padding-bottom:8px!important;
}
.m3d-pwa-sub-row-extra{
  display:none!important;
  padding-top:8px!important;
  border-top:0!important;
}
.m3d-pwa-sub-row-extra.open{display:grid!important}
.m3d-pwa-sub-tabs-accordion button{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:46px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-align:center!important;
  line-height:1.15!important;
  padding:10px 12px!important;
}
.m3d-pwa-menu-more{
  background:#fff7ed!important;
  color:#92400e!important;
  border-style:dashed!important;
}
.m3d-pwa-menu-more.active{
  background:#7c2d12!important;
  color:#fff!important;
  border-color:#7c2d12!important;
}
@media(max-width:720px){
  .m3d-pwa-sub-tabs.m3d-pwa-sub-tabs-accordion{padding:8px!important}
  .m3d-pwa-sub-row{grid-template-columns:repeat(2,minmax(120px,1fr))!important;gap:7px!important}
  .m3d-pwa-sub-tabs-accordion button{font-size:13px!important}
}

/* v267 - pesquisa, paginação e excluir em Comunicado Interno */
.m3d-internal-tools{display:grid;gap:10px;margin-bottom:12px}
.m3d-internal-tools h3{margin:0}
.m3d-internal-tools-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:center}
.m3d-internal-tools-row input{min-height:44px;border:1px solid #cfe0f5;border-radius:14px;padding:0 12px;font:inherit;background:#fff;font-weight:700}
.m3d-internal-notice-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.m3d-internal-notice-row-head button.danger{border:1px solid #fecaca;background:#fee2e2;color:#991b1b;border-radius:12px;padding:9px 14px;font-weight:1000;cursor:pointer}
.m3d-internal-notice-row-head button.danger:hover{filter:brightness(.97)}
@media(max-width:760px){
  .m3d-internal-tools-row{grid-template-columns:1fr}
  .m3d-internal-notice-row-head{display:grid}
  .m3d-internal-notice-row-head button.danger{justify-self:start}
}

/* v267 - botão Atualizar no topo e busca/paginação em Lembretes */
.m3d-pwa-refresh-btn{
  min-height:40px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#075bea;
  border-radius:999px;
  padding:0 14px;
  font-weight:1000;
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  white-space:nowrap;
}
.m3d-pwa-refresh-btn:hover{filter:brightness(.97)}
.m3d-reminder-tools{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:10px;
  align-items:center;
  margin:12px 0;
}
.m3d-reminder-tools input{
  min-height:44px;
  border:1px solid #cfe0f5;
  border-radius:14px;
  padding:0 12px;
  font:inherit;
  background:#fff;
  font-weight:700;
}
.m3d-reminder-pagination{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 0 4px;
  color:#475569;
  font-weight:800;
}
.m3d-reminder-pagination>div{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.m3d-reminder-pagination button{
  width:42px;
  height:38px;
  border-radius:12px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#075bea;
  font-weight:1000;
  cursor:pointer;
}
.m3d-reminder-pagination button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
@media(max-width:760px){
  .m3d-pwa-refresh-btn span{display:none}
  .m3d-reminder-tools{grid-template-columns:1fr}
  .m3d-reminder-pagination{display:grid}
}

/* v267 - corrige vão no menu PWA: todos os botões ficam em um único fluxo flex */
.m3d-pwa-sub-tabs.m3d-pwa-sub-tabs-accordion{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  padding:10px 14px!important;
  box-sizing:border-box!important;
}
.m3d-pwa-sub-flow{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.m3d-pwa-sub-flow button{
  flex:1 1 170px!important;
  min-width:150px!important;
  max-width:100%!important;
  width:auto!important;
  min-height:46px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-align:center!important;
  line-height:1.15!important;
  padding:10px 12px!important;
}
.m3d-pwa-sub-flow .m3d-pwa-menu-more{
  flex:0 1 180px!important;
  background:#fff7ed!important;
  color:#92400e!important;
  border-style:dashed!important;
}
.m3d-pwa-sub-flow .m3d-pwa-menu-more.active{
  background:#7c2d12!important;
  color:#fff!important;
  border-color:#7c2d12!important;
}
.m3d-pwa-sub-row,
.m3d-pwa-sub-row-main,
.m3d-pwa-sub-row-extra{
  display:contents!important;
  border:0!important;
  padding:0!important;
}
@media(max-width:900px){
  .m3d-pwa-sub-flow button{flex:1 1 145px!important;min-width:135px!important}
  .m3d-pwa-sub-flow .m3d-pwa-menu-more{flex:1 1 145px!important}
}
@media(max-width:560px){
  .m3d-pwa-sub-tabs.m3d-pwa-sub-tabs-accordion{padding:8px!important}
  .m3d-pwa-sub-flow{gap:7px!important}
  .m3d-pwa-sub-flow button{flex:1 1 calc(50% - 8px)!important;min-width:120px!important;font-size:13px!important}
}

/* v267 - permissões das abas WhatsApp/PWA por atendente */
.pwa-perm-grid{border:1px solid #dbeafe;background:#f8fbff;border-radius:14px;padding:12px}
.perm-form .muted.small{margin:4px 0 8px;color:#64748b}

/* v267 - aprovação de edição de clientes por supervisor/administrador */
.m3d-client-approval-box{
  border:1px solid #fed7aa;
  background:#fff7ed;
  border-radius:18px;
  padding:14px;
  display:grid;
  gap:12px;
  margin-bottom:14px;
}
.m3d-approval-count{
  min-width:32px;
  height:32px;
  border-radius:999px;
  background:#ea580c;
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:1000;
}
.m3d-client-approval-row{
  background:#fff;
  border:1px solid #ffedd5;
  border-radius:16px;
  padding:12px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}
.m3d-client-approval-row b{font-size:17px;color:#0f172a}
.m3d-client-approval-row small{display:block;color:#64748b;font-weight:800;margin:3px 0 8px}
.m3d-client-change-diff{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.m3d-client-change-diff div{border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:8px;display:grid;gap:3px}
.m3d-client-change-diff div b{font-size:13px;color:#1e3a8a}
.m3d-client-change-diff div small{margin:0;color:#64748b}
.m3d-client-change-diff div span{color:#0f172a;font-weight:800}
.m3d-client-approval-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.m3d-client-approval-actions button{border-radius:12px;padding:10px 14px;font-weight:1000;border:1px solid #bfdbfe;cursor:pointer}
.m3d-client-approval-actions button.primary{background:#2563eb;color:#fff;border-color:#2563eb}
.m3d-client-approval-actions button.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}
@media(max-width:820px){
  .m3d-client-approval-row{grid-template-columns:1fr}
  .m3d-client-approval-actions{justify-content:flex-start}
}

/* v267 - orientação pós-instalação PWA para fixar na barra do Windows */
.m3d-taskbar-pin-overlay{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.62);
  z-index:999999;
  display:grid;
  place-items:center;
  padding:18px;
}
.m3d-taskbar-pin-card{
  width:min(560px,96vw);
  background:#fff;
  border:1px solid #dbeafe;
  border-radius:22px;
  box-shadow:0 24px 80px rgba(0,0,0,.35);
  padding:22px;
  position:relative;
  display:grid;
  gap:10px;
}
.m3d-taskbar-pin-card h2{margin:0;color:#0f172a;font-size:24px}
.m3d-taskbar-pin-card p{margin:0;color:#334155;line-height:1.45}
.m3d-taskbar-pin-card ol{margin:0;padding-left:22px;display:grid;gap:7px;color:#0f172a}
.m3d-taskbar-pin-card small{color:#64748b;font-weight:700}
.m3d-taskbar-pin-close{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border-radius:999px;
  border:0;
  background:#fee2e2;
  color:#991b1b;
  font-weight:1000;
  cursor:pointer;
}
.m3d-taskbar-pin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.m3d-taskbar-pin-actions button{
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#075bea;
  border-radius:14px;
  padding:12px 16px;
  font-weight:1000;
  cursor:pointer;
}
.m3d-taskbar-pin-actions button.primary{background:#2563eb;color:#fff;border-color:#2563eb}
.m3d-pin-taskbar-btn{
  background:#fff7ed!important;
  color:#92400e!important;
  border-color:#fed7aa!important;
}

/* v267 - Menu Faturas no PWA */
.m3d-pwa-invoices-panel{display:grid;gap:14px}
.m3d-pwa-invoice-form-wrap{border:1px solid #dbeafe;background:#f8fbff;border-radius:18px;padding:14px;margin-bottom:14px}
.m3d-pwa-invoice-form-wrap h3{margin:0 0 10px;color:#0f172a}
.m3d-invoice-tools{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:10px;
  align-items:center;
  margin:12px 0;
}
.m3d-invoice-tools input{
  min-height:44px;
  border:1px solid #cfe0f5;
  border-radius:14px;
  padding:0 12px;
  font:inherit;
  background:#fff;
  font-weight:700;
}
.m3d-pwa-invoice-table th,.m3d-pwa-invoice-table td{vertical-align:top}
.m3d-pwa-invoice-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:260px}
.m3d-pwa-invoice-actions .btn,.m3d-pwa-invoice-actions button{
  border:1px solid #dbeafe;
  background:#fff;
  color:#0f172a;
  border-radius:10px;
  padding:7px 9px;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
}
.m3d-pwa-invoice-actions button.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.m3d-invoice-status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:1000}
.m3d-invoice-status.paid{background:#dcfce7;color:#166534}
.m3d-invoice-status.open{background:#fff7ed;color:#9a3412}
.m3d-pwa-invoice-pagination{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 0 4px;
  color:#475569;
  font-weight:800;
}
.m3d-pwa-invoice-pagination>div{display:inline-flex;align-items:center;gap:8px}
.m3d-pwa-invoice-pagination button{
  width:42px;
  height:38px;
  border-radius:12px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#075bea;
  font-weight:1000;
  cursor:pointer;
}
.m3d-pwa-invoice-pagination button:disabled{opacity:.45;cursor:not-allowed}
.m3d-pwa-sendbox{
  border:1px solid #dbeafe;
  background:#fff;
  border-radius:18px;
  padding:14px;
  margin-top:14px;
  display:grid;
  gap:10px;
}
.m3d-pwa-sendbox input,.m3d-pwa-sendbox select,.m3d-pwa-sendbox textarea{
  border:1px solid #cfe0f5;
  border-radius:12px;
  padding:10px;
  font:inherit;
}
@media(max-width:760px){
  .m3d-invoice-tools{grid-template-columns:1fr}
  .m3d-pwa-invoice-pagination{display:grid}
  .m3d-pwa-invoice-actions{min-width:0}
}

/* v267 - cadastro rápido de Serviço ou Item no menu Faturas do PWA */
.m3d-service-item-inline{
  display:grid;
  grid-template-columns:minmax(0,1fr) 52px;
  gap:10px;
  align-items:center;
}
.m3d-service-item-inline select{width:100%}
.m3d-service-item-add{
  height:50px;
  border-radius:14px;
  border:1px solid #bfdbfe;
  background:#2563eb;
  color:#fff;
  font-size:26px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(37,99,235,.18);
}
.m3d-service-item-add:hover{filter:brightness(.96)}
.m3d-service-item-overlay{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.58);
  z-index:99998;
  display:grid;
  place-items:center;
  padding:18px;
}
.m3d-service-item-card{
  position:relative;
  width:min(520px,96vw);
  background:#fff;
  border:1px solid #dbeafe;
  border-radius:22px;
  box-shadow:0 24px 80px rgba(0,0,0,.32);
  padding:22px;
  display:grid;
  gap:10px;
}
.m3d-service-item-card h3{margin:0;color:#0f172a;font-size:24px}
.m3d-service-item-close{
  position:absolute;
  top:12px;
  right:12px;
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid #fecaca;
  background:#fee2e2;
  color:#991b1b;
  font-size:24px;
  font-weight:900;
  cursor:pointer;
}
.m3d-service-item-form{display:grid;gap:10px}
.m3d-service-item-form label{display:grid;gap:6px;font-weight:900;color:#0f172a}
.m3d-service-item-form input,.m3d-service-item-form select{
  min-height:44px;
  border:1px solid #cfe0f5;
  border-radius:14px;
  padding:0 12px;
  font:inherit;
  background:#fff;
}
@media(max-width:560px){
  .m3d-service-item-inline{grid-template-columns:1fr}
  .m3d-service-item-add{height:44px}
}

/* v267 - botão Editar ao lado do + e X centralizado no popup Serviço ou Item */
.m3d-service-item-inline{
  grid-template-columns:minmax(0,1fr) 52px 96px!important;
}
.m3d-service-item-edit{
  height:50px;
  border-radius:14px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#075bea;
  font-size:15px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(37,99,235,.10);
}
.m3d-service-item-edit:hover{filter:brightness(.97)}
.m3d-service-item-close{
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  padding:0!important;
  text-align:center!important;
}
@media(max-width:620px){
  .m3d-service-item-inline{grid-template-columns:1fr!important}
  .m3d-service-item-add,.m3d-service-item-edit{height:44px}
}

/* v267 - agendamento de fatura com data separada do horário */
.m3d-pwa-sendbox small.muted,
.m3d-pwa-invoice-form-wrap small.muted{
  display:block;
  margin-top:4px;
  color:#53637f;
  font-weight:800;
}

/* v267 - resumo lateral e relatório de faturas no PWA */
.m3d-pwa-invoice-report{
  border:1px solid #dbeafe;
  background:#f8fbff;
  border-radius:18px;
  padding:14px;
  margin:0 0 14px;
  display:grid;
  gap:12px;
}
.m3d-invoice-report-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.m3d-invoice-report-head h3{margin:0;color:#0f172a;font-size:22px}
.m3d-invoice-report-period{
  display:grid;
  grid-template-columns:repeat(2,minmax(180px,260px));
  gap:10px;
  align-items:end;
}
.m3d-invoice-report-period label{
  display:grid;
  gap:6px;
  font-weight:900;
  color:#0f172a;
}
.m3d-invoice-report-period input{
  min-height:44px;
  border:1px solid #cfe0f5;
  border-radius:14px;
  padding:0 12px;
  font:inherit;
  background:#fff;
  font-weight:800;
}
.m3d-invoice-report-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}
.m3d-invoice-report-grid .m3d-side-metric{
  background:#fff;
}
.m3d-invoice-overdue-list{
  border:1px solid #fecaca;
  background:#fff7f7;
  border-radius:14px;
  padding:12px;
}
.m3d-invoice-overdue-list b{color:#991b1b}
.m3d-invoice-overdue-list ul{margin:8px 0 0;padding-left:20px}
.m3d-invoice-overdue-list li{margin:4px 0;color:#0f172a}
@media(max-width:760px){
  .m3d-invoice-report-head{display:grid}
  .m3d-invoice-report-period{grid-template-columns:1fr}
}

/* v267 - ajuste da posição da logo na fatura pública */
.invoice-issuer{
  align-items:start!important;
}
.invoice-issuer .invoice-logo{
  margin-top:28px!important;
}
.invoice-issuer .invoice-logo-placeholder{
  margin-top:28px!important;
}
@media(max-width:760px){
  .invoice-issuer .invoice-logo,
  .invoice-issuer .invoice-logo-placeholder{
    margin-top:12px!important;
  }
}

/* v267 - alinha bloco da empresa com a logo na fatura pública */
.invoice-issuer{
  align-items:start!important;
}
.invoice-issuer > div{
  margin-top:30px!important;
}
.invoice-issuer .invoice-logo,
.invoice-issuer .invoice-logo-placeholder{
  margin-top:28px!important;
}
@media(max-width:760px){
  .invoice-issuer > div{
    margin-top:8px!important;
  }
  .invoice-issuer .invoice-logo,
  .invoice-issuer .invoice-logo-placeholder{
    margin-top:12px!important;
  }
}

/* v267 - Menu Livro Caixa no PWA */
.m3d-pwa-cashbook-panel{display:grid;gap:14px}
.m3d-pwa-cashbook-form-wrap,
.m3d-cashbook-upload,
.m3d-pwa-cashbook-report{
  border:1px solid #dbeafe;
  background:#f8fbff;
  border-radius:18px;
  padding:14px;
  margin-bottom:14px;
}
.m3d-pwa-cashbook-form-wrap h3,
.m3d-cashbook-upload h3,
.m3d-pwa-cashbook-report h3{margin:0 0 8px;color:#0f172a}
.m3d-cashbook-upload form{
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto;
  gap:10px;
  align-items:center;
}
.m3d-cashbook-upload input[type=file]{
  min-height:46px;
  border:1px dashed #93c5fd;
  border-radius:14px;
  background:#fff;
  padding:10px;
  font-weight:800;
}
.m3d-cashbook-tools{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:10px;
  align-items:center;
  margin:12px 0;
}
.m3d-cashbook-tools input{
  min-height:44px;
  border:1px solid #cfe0f5;
  border-radius:14px;
  padding:0 12px;
  font:inherit;
  background:#fff;
  font-weight:700;
}
.m3d-cashbook-report-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.m3d-cashbook-report-period{
  display:grid;
  grid-template-columns:repeat(2,minmax(180px,260px));
  gap:10px;
  align-items:end;
  margin:10px 0;
}
.m3d-cashbook-report-period label{
  display:grid;
  gap:6px;
  font-weight:900;
  color:#0f172a;
}
.m3d-cashbook-report-period input{
  min-height:44px;
  border:1px solid #cfe0f5;
  border-radius:14px;
  padding:0 12px;
  font:inherit;
  background:#fff;
  font-weight:800;
}
.m3d-cashbook-report-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}
.m3d-cashbook-report-grid .m3d-side-metric{background:#fff}
.m3d-cashbook-type{
  display:inline-flex;
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:1000;
}
.m3d-cashbook-type.receita{background:#dcfce7;color:#166534}
.m3d-cashbook-type.despesa{background:#fee2e2;color:#991b1b}
.m3d-cashbook-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:150px}
.m3d-cashbook-actions button{
  border:1px solid #dbeafe;
  background:#fff;
  color:#0f172a;
  border-radius:10px;
  padding:7px 9px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.m3d-cashbook-actions button.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.m3d-pwa-cashbook-pagination{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 0 4px;
  color:#475569;
  font-weight:800;
}
.m3d-pwa-cashbook-pagination>div{display:inline-flex;align-items:center;gap:8px}
.m3d-pwa-cashbook-pagination button{
  width:42px;
  height:38px;
  border-radius:12px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#075bea;
  font-weight:1000;
  cursor:pointer;
}
.m3d-pwa-cashbook-pagination button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){
  .m3d-cashbook-upload form,
  .m3d-cashbook-tools,
  .m3d-cashbook-report-head,
  .m3d-cashbook-report-period,
  .m3d-pwa-cashbook-pagination{display:grid;grid-template-columns:1fr}
  .m3d-cashbook-actions{min-width:0}
}

/* v267 - exemplos em Categoria e Forma de Pagamento no Livro Caixa */
.m3d-pwa-cashbook-form-wrap input[list]{
  background:#fff;
}

/* v267 - calendário do relatório de faturas aparece ao clicar no botão do topo */
.m3d-pwa-invoice-report-open{
  border:2px solid #bfdbfe;
  box-shadow:0 16px 34px rgba(37,99,235,.10);
}
.m3d-report-close{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid #fecaca;
  background:#fee2e2;
  color:#991b1b;
  font-size:22px;
  line-height:1;
  display:grid;
  place-items:center;
  font-weight:1000;
  cursor:pointer;
}
.m3d-invoice-report-period{
  grid-template-columns:repeat(2,minmax(180px,260px)) auto!important;
  align-items:end!important;
}
.m3d-invoice-report-period button.primary{
  min-height:44px;
  padding:0 18px;
  border-radius:14px;
}
@media(max-width:760px){
  .m3d-invoice-report-period{grid-template-columns:1fr!important}
}

/* v267 - botão + em Categoria e Forma de Pagamento do Livro Caixa */
.m3d-cashbook-add-inline{
  display:grid;
  grid-template-columns:minmax(0,1fr) 50px;
  gap:10px;
  align-items:center;
}
.m3d-cashbook-add-inline input{width:100%}
.m3d-cashbook-add-inline button{
  height:50px;
  border-radius:14px;
  border:1px solid #bfdbfe;
  background:#2563eb;
  color:#fff;
  font-size:24px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(37,99,235,.14);
}
.m3d-cashbook-add-inline button:hover{filter:brightness(.96)}
@media(max-width:620px){
  .m3d-cashbook-add-inline{grid-template-columns:1fr}
  .m3d-cashbook-add-inline button{height:44px}
}

/* v267 - período do Livro Caixa visível e sem botão duplicado */
.m3d-pwa-cashbook-report .m3d-cashbook-report-head{
  display:block!important;
}
.m3d-pwa-cashbook-report .m3d-cashbook-report-period{
  margin-top:12px;
}

/* v267 - relatório só aparece ao clicar e botões do topo alinhados */
.m3d-pwa-cashbook-panel > .head-row{
  align-items:flex-start;
}
.m3d-pwa-cashbook-panel > .head-row > .actions{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
.m3d-pwa-cashbook-panel > .head-row > .actions button{
  white-space:nowrap;
}
.m3d-pwa-cashbook-report-open{
  border:2px solid #bfdbfe;
  box-shadow:0 16px 34px rgba(37,99,235,.10);
}
.m3d-pwa-cashbook-report .m3d-cashbook-report-head,
.m3d-pwa-invoice-report .m3d-invoice-report-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:12px!important;
}
@media(max-width:900px){
  .m3d-pwa-cashbook-panel > .head-row > .actions{
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
  }
}

/* v267 - ajustes de relatório, comunicado com imagem e menu PWA */
.m3d-report-close{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:0!important;
  padding:0!important;
  text-align:center!important;
  font-family:Arial, Helvetica, sans-serif!important;
}
.m3d-report-close::before{
  content:"×";
  display:block;
  transform:translateY(-1px);
}
.m3d-report-close{
  font-size:0!important;
}
.m3d-internal-image-input{
  min-height:46px;
  border:1px dashed #93c5fd;
  border-radius:14px;
  background:#fff;
  padding:10px;
  font-weight:800;
}
.m3d-internal-notice-image{
  margin:10px 0;
  border:1px solid #dbeafe;
  background:#f8fbff;
  border-radius:14px;
  padding:8px;
}
.m3d-internal-notice-image img{
  display:block;
  max-width:100%;
  height:auto;
  border-radius:10px;
}
.m3d-internal-notice-image.popup{
  max-height:none;
  overflow:visible;
}
.m3d-internal-notice-image.popup img{
  margin:auto;
  max-height:none;
  object-fit:contain;
}
.m3d-internal-notice-image.thumb{
  max-width:320px;
}
.m3d-internal-notice-card{
  max-height:92vh;
  overflow:auto;
}
.m3d-pwa-sub-flow button{
  flex:0 0 calc((100% - 50px)/6)!important;
  max-width:calc((100% - 50px)/6)!important;
}
.m3d-pwa-sub-flow .m3d-pwa-menu-more{
  flex:0 0 calc((100% - 50px)/6)!important;
  max-width:calc((100% - 50px)/6)!important;
}
@media(max-width:1180px){
  .m3d-pwa-sub-flow button,
  .m3d-pwa-sub-flow .m3d-pwa-menu-more{
    flex:0 0 calc((100% - 20px)/3)!important;
    max-width:calc((100% - 20px)/3)!important;
  }
}
@media(max-width:680px){
  .m3d-pwa-sub-flow button,
  .m3d-pwa-sub-flow .m3d-pwa-menu-more{
    flex:0 0 calc((100% - 8px)/2)!important;
    max-width:calc((100% - 8px)/2)!important;
  }
}

/* v267 - ajustes PWA instalado e ações de comunicado */
.m3d-report-close,
.m3d-taskbar-pin-close,
.m3d-service-item-close,
.modal-close{
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  line-height:1!important;
  padding:0!important;
}
.m3d-internal-notice-actions,
.m3d-system-notice-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.m3d-internal-notice-actions button,
.m3d-system-notice-actions button{
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#075bea;
  border-radius:12px;
  padding:9px 12px;
  font-weight:1000;
  cursor:pointer;
}
.m3d-internal-notice-actions button.danger,
.m3d-system-notice-actions button.danger{
  background:#fee2e2;
  color:#991b1b;
  border-color:#fecaca;
}
.m3d-internal-form-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.m3d-internal-form-actions button{
  width:auto!important;
}
.m3d-internal-edit-image{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid #dbeafe;
  background:#f8fbff;
  border-radius:14px;
}
.m3d-system-notice-row-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
#fp-android-install-pwa[hidden]{
  display:none!important;
}
@media(max-width:760px){
  .m3d-system-notice-row-head{display:grid}
  .m3d-internal-notice-actions,.m3d-system-notice-actions{justify-content:flex-start}
}

/* v267 - faturas: agendar envio sem hora no calendário e reenvio diário até pagamento */
.m3d-schedule-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(180px,1fr));
  gap:10px;
  align-items:start;
}
.m3d-schedule-grid label{
  display:grid;
  gap:6px;
  font-weight:900;
}
@media(max-width:760px){
  .m3d-schedule-grid{grid-template-columns:1fr}
}

/* v267 - Salvar comunicado interno como rascunho sem enviar */
.m3d-internal-status{
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:3px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:1000;
  vertical-align:middle;
}
.m3d-internal-status.draft{
  background:#fff7ed;
  color:#9a3412;
  border:1px solid #fed7aa;
}
.m3d-internal-status.sent{
  background:#ecfdf5;
  color:#047857;
  border:1px solid #bbf7d0;
}
.m3d-internal-notice-row.is-draft{
  border-style:dashed;
  background:#fffaf2;
}
.m3d-internal-form-actions button:not(.primary){
  border:1px solid #bfdbfe;
  background:#fff;
  color:#075bea;
  border-radius:14px;
  padding:10px 16px;
  font-weight:1000;
  cursor:pointer;
}

/* v267 - destino do comunicado interno */
.m3d-internal-target-grid{
  display:grid;
  grid-template-columns:minmax(260px,520px);
  gap:10px;
  margin:8px 0 4px;
}
.m3d-internal-target-grid label{
  display:grid;
  gap:7px;
  font-weight:900;
  color:#0f172a;
}
.m3d-internal-target-grid select{
  min-height:48px;
  border:1px solid #cfe0f5;
  border-radius:14px;
  padding:0 12px;
  font:inherit;
  background:#fff;
  font-weight:800;
}
.m3d-internal-form-actions .primary.alt{
  background:linear-gradient(135deg,#0ea5e9,#2563eb);
}
.m3d-internal-target-badge{
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:3px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:1000;
  background:#eff6ff;
  color:#075bea;
  border:1px solid #bfdbfe;
}
@media(max-width:760px){
  .m3d-internal-target-grid{grid-template-columns:1fr}
}

/* v267 - organizar ordem dos Serviços ou Itens */
.m3d-service-item-inline{
  grid-template-columns:minmax(0,1fr) 52px 96px 118px!important;
}
.m3d-service-item-order-btn{
  height:50px;
  border-radius:14px;
  border:1px solid #bfdbfe;
  background:#fff;
  color:#075bea;
  font-size:15px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(37,99,235,.08);
}
.m3d-service-item-order-btn:hover{background:#eff6ff}
.m3d-service-order-card{
  width:min(760px,96vw)!important;
}
.m3d-service-order-list{
  display:grid;
  gap:8px;
  max-height:58vh;
  overflow:auto;
  padding-right:6px;
}
.m3d-service-order-row{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:1px solid #dbeafe;
  background:#f8fbff;
  border-radius:16px;
  padding:10px;
}
.m3d-service-order-row b{
  display:block;
  color:#0f172a;
}
.m3d-service-order-row small{
  display:block;
  color:#53637f;
  font-weight:800;
  margin-top:2px;
}
.m3d-service-order-drag{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#eff6ff;
  color:#075bea;
  font-weight:1000;
}
.m3d-service-order-actions{
  display:flex;
  gap:6px;
}
.m3d-service-order-actions button{
  width:38px;
  height:36px;
  border-radius:12px;
  border:1px solid #bfdbfe;
  background:#fff;
  color:#075bea;
  font-size:18px;
  font-weight:1000;
  cursor:pointer;
}
.m3d-service-order-actions button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
@media(max-width:720px){
  .m3d-service-item-inline{grid-template-columns:1fr!important}
  .m3d-service-item-add,.m3d-service-item-edit,.m3d-service-item-order-btn{height:44px}
  .m3d-service-order-row{grid-template-columns:1fr}
  .m3d-service-order-actions{justify-content:flex-start}
}

/* v267 - cliente da fatura em ordem alfabética com barra de pesquisa */
.m3d-invoice-client-select-wrap{
  display:grid;
  gap:8px;
}
.m3d-invoice-client-search{
  min-height:46px;
  border:1px solid #cfe0f5;
  border-radius:14px;
  padding:0 14px;
  font:inherit;
  background:#fff;
  font-weight:800;
  color:#0f172a;
}
.m3d-invoice-client-search::placeholder{
  color:#64748b;
  font-weight:700;
}

/* v267 - pesquisa de cliente com lista visível no menu Faturas */
.m3d-invoice-client-select-wrap{position:relative;display:grid;gap:8px}
.m3d-client-picker-results{
  display:none;
  position:relative;
  z-index:20;
  max-height:260px;
  overflow:auto;
  border:1px solid #bfdbfe;
  border-radius:14px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.10);
  padding:6px;
}
.m3d-client-picker-item{
  width:100%;
  display:grid;
  gap:2px;
  text-align:left;
  border:1px solid transparent;
  background:#fff;
  color:#0f172a;
  border-radius:12px;
  padding:10px 12px;
  cursor:pointer;
  font-weight:900;
}
.m3d-client-picker-item:hover,.m3d-client-picker-item:focus{background:#eff6ff;border-color:#bfdbfe;outline:none}
.m3d-client-picker-item small{color:#53637f;font-weight:800}
.m3d-client-picker-empty{padding:12px;color:#64748b;font-weight:900}

/* v267 - Chave Pix principal e seleção automática na fatura */
.m3d-pix-primary-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 9px;
  background:#dcfce7;
  color:#166534;
  border:1px solid #bbf7d0;
  font-size:12px;
  font-weight:1000;
}
.m3d-pix-primary-check{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:48px;
  border:1px solid #dbeafe;
  border-radius:14px;
  padding:0 12px;
  background:#f8fbff;
  color:#0f172a;
  font-weight:900;
}
.m3d-pix-primary-check input{
  width:18px;
  height:18px;
}

/* v267 - banco no Livro Caixa e importação Cora/PagBank */
.m3d-cashbook-upload-grid{
  display:grid;
  grid-template-columns:220px minmax(280px,1fr) auto;
  gap:10px;
  align-items:end;
}
.m3d-cashbook-upload-grid label{
  display:grid;
  gap:6px;
  font-weight:900;
  color:#0f172a;
}
.m3d-cashbook-upload-grid select,
.m3d-cashbook-upload-grid input[type=file]{
  min-height:46px;
  border:1px solid #cfe0f5;
  border-radius:14px;
  background:#fff;
  padding:9px 10px;
  font:inherit;
  font-weight:800;
}
@media(max-width:860px){
  .m3d-cashbook-upload-grid{grid-template-columns:1fr}
}

/* v267 - ajuste visual da fatura: cards acima e sem sobrepor a frase de multa/juros */
.invoice-public-sheet .invoice-issuer{
  margin-bottom:12px!important;
}
.invoice-public-sheet .invoice-cards{
  margin:4px 0 18px!important;
  align-items:stretch;
}
.invoice-public-sheet .invoice-cards div{
  min-height:98px!important;
  padding:15px 20px!important;
}
.invoice-public-sheet .invoice-cards span{
  margin-bottom:9px!important;
}
.invoice-public-sheet .invoice-cards b{
  font-size:17px!important;
  line-height:1.22!important;
}
.invoice-public-sheet .after-due-card{
  font-size:16px!important;
}
.invoice-public-sheet .invoice-charge-notice{
  clear:both;
  display:block;
  margin:14px 0 22px!important;
  position:relative;
  z-index:0;
}
@media(max-width:760px){
  .invoice-public-sheet .invoice-cards{margin-top:10px!important}
  .invoice-public-sheet .invoice-cards div{min-height:auto!important}
}

/* v267 - adicionar cliente direto no menu Faturas */
.m3d-invoice-client-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px;
  gap:10px;
  align-items:center;
}
.m3d-invoice-client-add-btn{
  min-height:48px;
  border-radius:14px;
  border:1px solid #bfdbfe;
  background:linear-gradient(135deg,#2563eb,#0ea5e9);
  color:#fff;
  font-weight:1000;
  cursor:pointer;
  padding:0 16px;
  box-shadow:0 10px 24px rgba(37,99,235,.12);
}
.m3d-invoice-client-add-btn:hover{filter:brightness(.96)}
.m3d-invoice-client-card{
  width:min(980px,96vw)!important;
  max-height:90vh;
  overflow:auto;
}
.m3d-invoice-client-card>h3{
  margin:0 0 4px;
}
.m3d-invoice-client-popup-form{
  margin-top:12px;
}
@media(max-width:760px){
  .m3d-invoice-client-search-row{grid-template-columns:1fr}
  .m3d-invoice-client-add-btn{width:100%}
}

/* v267 - popup Adicionar Cliente da Fatura sem opções de Leads */
.m3d-invoice-client-popup-form .m3d-pwa-client-form-actions{
  margin-top:10px;
}

/* v267 - API C6 Bank como opção de cobrança */
.m3d-c6-settings{
  border:1px solid #bfdbfe;
  background:#f8fbff;
}
.m3d-c6-settings textarea{
  min-height:90px;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size:12px;
}
.invoice-form-stack select[name="paymentProvider"]{
  font-weight:900;
}

/* v267 - ajuste visual Configuração C6 e link PWA no Início */
.config-card .m3d-c6-settings{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  margin:8px 0 0!important;
  padding:18px!important;
}
.config-card .m3d-c6-settings .form-grid,
.config-card .m3d-c6-settings .compact-grid{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.config-card .m3d-c6-settings .field,
.config-card .m3d-c6-settings label{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.config-card .m3d-c6-settings input,
.config-card .m3d-c6-settings select,
.config-card .m3d-c6-settings textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.config-card .m3d-c6-settings textarea{
  min-height:96px!important;
  resize:vertical;
}
.m3d-dashboard-pwa-card{
  background:linear-gradient(135deg,#f8fbff,#eef6ff);
  border-color:#bfdbfe;
}
.m3d-dashboard-pwa-card h2{margin-top:0}
.dashboard-pwa-copy{grid-template-columns:minmax(0,1fr) auto auto;max-width:900px}
.dashboard-pwa-copy input{font-weight:800;color:#0f172a;background:#fff}
@media(max-width:850px){
  .config-card .m3d-c6-settings .form-grid,
  .config-card .m3d-c6-settings .compact-grid{grid-template-columns:1fr!important}
  .dashboard-pwa-copy{grid-template-columns:1fr}
}

/* v268 - protocolo clicável e topo do PWA mais limpo */
.m3d-chat-fav-card .m3d-protocol-copy{
  grid-column:1/3!important;
  grid-row:2!important;
  width:auto!important;
  height:auto!important;
  line-height:1.15!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#475569!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:11px!important;
  font-weight:850!important;
  text-align:left!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.m3d-chat-fav-card .m3d-protocol-copy:hover{text-decoration:underline!important;color:#0f3f91!important}
.m3d-pwa-attendant-department{max-width:210px!important}
@media(max-width:900px){.m3d-pwa-attendant-department{max-width:150px!important}}

/* v270 - remove sobra visual do antigo link PWA no Dashboard/Início */
.m3d-dashboard-pwa-card,
.dashboard-pwa-copy,
#dashboardPwaLink{
  display:none!important;
}

/* v272 - cronômetro regressivo no popup de aceite */
.m3d-accept-countdown{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  margin:12px 0 4px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  border-radius:16px;
  color:#0f172a;
  font-weight:900;
}
.m3d-accept-countdown span{font-size:13px;color:#475569;font-weight:900}
.m3d-accept-countdown b{font-size:24px;color:#075bea;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.m3d-accept-countdown b.ending{color:#b91c1c;animation:m3dAcceptPulse .8s infinite alternate}
@keyframes m3dAcceptPulse{from{transform:scale(1)}to{transform:scale(1.06)}}

/* v273 - garante cronômetro visível no popup de aceite */
#m3dAcceptPopupRoot .m3d-accept-countdown,
#pwaAcceptPopupRoot .m3d-accept-countdown{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
#pwaAcceptCountdown{
  display:inline-block!important;
  min-width:72px;
  text-align:center;
}

/* v275 - popup de aceite sem botão Cancelar */
.m3d-accept-card .actions{
  justify-content:flex-start!important;
}
.m3d-accept-card .actions .primary{
  min-width:230px;
}
@media(max-width:620px){
  .m3d-accept-card .actions .primary{
    width:100%;
    min-width:0;
  }
}

/* v276 - popup de aceite sem botão X; atendente só pode aceitar */
.m3d-accept-card .m3d-accept-x,
.m3d-accept-force-accept .m3d-accept-x{
  display:none!important;
  pointer-events:none!important;
}
.m3d-accept-force-accept .actions{
  justify-content:flex-start!important;
}
.m3d-accept-force-accept .actions .primary{
  min-width:250px;
}
@media(max-width:620px){
  .m3d-accept-force-accept .actions .primary{
    width:100%;
    min-width:0;
  }
}


/* v277 - melhora espaçamento do nome/departamento no topo do PWA */
.m3d-pwa-header{gap:18px!important}
.m3d-pwa-brand-left{min-width:0!important;flex:1 1 auto!important}
.m3d-pwa-header-actions{flex:0 0 auto!important;display:flex!important;align-items:flex-start!important;gap:12px!important;max-width:calc(100% - 280px)!important}
.m3d-pwa-attendant-identity{max-width:190px!important;align-items:flex-end!important;line-height:1.02!important}
.m3d-pwa-attendant-identity .m3d-pwa-attendant-name{max-width:190px!important;line-height:1!important}
.m3d-pwa-attendant-department{margin-top:2px!important;max-width:145px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;word-break:break-word!important;line-height:1.02!important;text-align:right!important}
@media(max-width:900px){
  .m3d-pwa-header-actions{max-width:none!important;width:auto!important}
  .m3d-pwa-attendant-identity{max-width:150px!important}
  .m3d-pwa-attendant-identity .m3d-pwa-attendant-name{max-width:150px!important}
  .m3d-pwa-attendant-department{max-width:120px!important;text-align:left!important}
}


/* v279 - reduz área do subtítulo para abrir espaço ao departamento no topo do PWA */
.m3d-pwa-header{gap:14px!important}
.m3d-pwa-brand-left{flex:0 1 305px!important;max-width:305px!important;gap:1px 8px!important}
.m3d-pwa-brand-left small{max-width:205px!important;font-size:11px!important;line-height:1.04!important}
.m3d-pwa-header-actions{gap:10px!important;max-width:calc(100% - 315px)!important}
.m3d-pwa-attendant-identity{max-width:175px!important}
.m3d-pwa-attendant-identity .m3d-pwa-attendant-name{max-width:175px!important}
.m3d-pwa-attendant-department{max-width:170px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:normal!important;word-break:normal!important;line-height:1.02!important}
@media(max-width:900px){
  .m3d-pwa-brand-left{flex:1 1 auto!important;max-width:none!important}
  .m3d-pwa-brand-left small{max-width:none!important}
  .m3d-pwa-header-actions{max-width:none!important}
}

/* v279 - reduz botão Importar extrato no Livro Caixa */
.m3d-cashbook-upload-grid{
  grid-template-columns:minmax(280px,1fr) minmax(280px,480px)!important;
  align-items:end!important;
}
.m3d-cashbook-upload-grid > button.primary{
  grid-column:1!important;
  justify-self:start!important;
  width:auto!important;
  min-width:190px!important;
  max-width:240px!important;
  min-height:46px!important;
  padding:0 22px!important;
  border-radius:14px!important;
  white-space:nowrap!important;
}
@media(max-width:860px){
  .m3d-cashbook-upload-grid{
    grid-template-columns:1fr!important;
  }
  .m3d-cashbook-upload-grid > button.primary{
    width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
  }
}

/* v280 - link PWA no início do admin e ajustes do Comunicado Interno */
.m3d-dashboard-pwa-link-card{
  margin-top:18px;
}
.m3d-dashboard-pwa-link-row{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto auto;
  gap:10px;
  align-items:center;
}
.m3d-dashboard-pwa-link-row input{
  min-height:46px;
  border:1px solid #cfe0f5;
  border-radius:14px;
  padding:0 12px;
  font:inherit;
  font-weight:800;
  background:#fff;
}
.m3d-dashboard-pwa-link-row .btn,
.m3d-dashboard-pwa-link-row button{
  min-height:46px;
  border-radius:14px;
  white-space:nowrap;
}
.m3d-internal-notice-card{
  width:min(920px,96vw)!important;
  max-height:92vh!important;
  overflow:visible!important;
}
.m3d-internal-notice-card p{
  max-height:none!important;
  overflow:visible!important;
  white-space:pre-wrap!important;
}
.m3d-internal-notice-form{
  max-width:1120px!important;
}
.m3d-internal-notice-admin.m3d-panel-card{
  max-width:none!important;
}
.m3d-internal-notice-admin main,
.m3d-internal-notice-admin .m3d-scroll-main{
  overflow:visible!important;
}
@media(max-width:760px){
  .m3d-dashboard-pwa-link-row{
    grid-template-columns:1fr;
  }
  .m3d-internal-notice-card{
    width:96vw!important;
    max-height:94vh!important;
    overflow:auto!important;
  }
  .m3d-internal-notice-card p{
    max-height:52vh!important;
    overflow:auto!important;
  }
}

/* v281 - correção definitiva do menu Comunicado Interno */
.m3d-internal-notice-admin .m3d-internal-notice-form{
  max-width:1180px!important;
}
.m3d-internal-notice-card{
  width:min(960px,96vw)!important;
}
.m3d-internal-notice-card p{
  max-height:none!important;
  overflow:visible!important;
}
.m3d-internal-target-grid{
  display:grid!important;
  grid-template-columns:minmax(260px,520px)!important;
  gap:12px!important;
}

/* v283 - popup de Comunicado Interno sempre visível para atendentes */
#m3dInternalNoticePopupRoot .m3d-internal-notice-overlay{
  z-index:2147483000!important;
}


/* v283 - padroniza altura dos botões do Comunicado Interno */
.m3d-internal-form-actions{
  align-items:stretch!important;
}
.m3d-internal-form-actions button{
  min-height:56px!important;
  height:56px!important;
  padding:0 22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.12!important;
  border-radius:14px!important;
}
.m3d-internal-form-actions .primary.compact{
  min-width:240px!important;
}
.m3d-internal-form-actions .primary.compact.alt{
  min-width:300px!important;
}
.m3d-internal-form-actions button:not(.primary){
  min-width:120px!important;
}
@media(max-width:760px){
  .m3d-internal-form-actions button,
  .m3d-internal-form-actions .primary.compact,
  .m3d-internal-form-actions .primary.compact.alt{
    width:100%!important;
    min-width:0!important;
  }
}

/* v284 - popup do Comunicado Interno maior e com botão sempre dentro da tela */
.m3d-internal-notice-overlay{
  place-items:start center!important;
  align-items:start!important;
  padding:28px 18px 18px!important;
  overflow:auto!important;
}
.m3d-internal-notice-card{
  width:min(1080px,97vw)!important;
  max-height:calc(100vh - 56px)!important;
  overflow:auto!important;
  padding:24px!important;
  margin:0 auto!important;
}
.m3d-internal-notice-card p{
  max-height:none!important;
  overflow:visible!important;
}
.m3d-internal-notice-card img,
.m3d-internal-notice-card .m3d-internal-notice-image,
.m3d-internal-notice-card .m3d-internal-notice-popup-image{
  max-height:40vh!important;
  object-fit:contain!important;
}
.m3d-internal-notice-card button{
  position:sticky!important;
  bottom:0!important;
  z-index:2!important;
  width:100%!important;
  margin-top:12px!important;
  flex-shrink:0!important;
}
@media(max-width:760px){
  .m3d-internal-notice-overlay{
    padding:12px!important;
  }
  .m3d-internal-notice-card{
    width:96vw!important;
    max-height:calc(100vh - 24px)!important;
    padding:18px!important;
  }
  .m3d-internal-notice-card img,
  .m3d-internal-notice-card .m3d-internal-notice-image,
  .m3d-internal-notice-card .m3d-internal-notice-popup-image{
    max-height:34vh!important;
  }
}

/* v285 - remove barra de rolagem interna da imagem do Comunicado Interno */
.m3d-internal-notice-card img,
.m3d-internal-notice-card .m3d-internal-notice-image,
.m3d-internal-notice-card .m3d-internal-notice-popup-image,
.m3d-internal-notice-card .m3d-internal-image-preview,
.m3d-internal-notice-card figure,
.m3d-internal-notice-card picture{
  overflow:visible!important;
  max-height:none!important;
}
.m3d-internal-notice-card img{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  margin:0 auto!important;
}
.m3d-internal-notice-card .m3d-internal-notice-image,
.m3d-internal-notice-card .m3d-internal-notice-popup-image,
.m3d-internal-notice-card .m3d-internal-image-preview{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  overflow:visible!important;
}

/* v286 - botão Confirmar leitura fixo no rodapé do popup */
.m3d-internal-notice-card{
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  max-height:calc(100vh - 56px)!important;
  overflow:auto!important;
  padding-bottom:0!important;
}
.m3d-internal-notice-card button{
  position:sticky!important;
  bottom:0!important;
  left:0!important;
  right:0!important;
  z-index:50!important;
  width:calc(100% + 48px)!important;
  min-height:60px!important;
  height:60px!important;
  margin:14px -24px 0 -24px!important;
  border-radius:0 0 22px 22px!important;
  box-shadow:0 -14px 28px rgba(255,255,255,.96)!important;
  flex-shrink:0!important;
}
@media(max-width:760px){
  .m3d-internal-notice-card{
    max-height:calc(100vh - 24px)!important;
  }
  .m3d-internal-notice-card button{
    width:calc(100% + 36px)!important;
    margin:12px -18px 0 -18px!important;
    border-radius:0 0 18px 18px!important;
  }
}

/* v287 - botão Confirmar leitura mais baixo e cobrindo o fundo do popup */
.m3d-internal-notice-card button{
  bottom:-2px!important;
  margin:18px -24px -2px -24px!important;
  transform:translateY(2px)!important;
  border-radius:0 0 22px 22px!important;
  box-shadow:0 -22px 0 #fff, 0 -42px 34px rgba(255,255,255,.98)!important;
  border-top:1px solid #dbeafe!important;
}
.m3d-internal-notice-card button::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-22px;
  height:22px;
  background:#fff;
  pointer-events:none;
}
@media(max-width:760px){
  .m3d-internal-notice-card button{
    bottom:-2px!important;
    margin:16px -18px -2px -18px!important;
    transform:translateY(2px)!important;
    border-radius:0 0 18px 18px!important;
  }
}

/* v290 - compartilhamento de anexo abre lista de clientes em vez de prompt */
.m3d-share-client-modal{width:min(720px,96vw)!important;max-height:88dvh!important;display:grid!important;gap:10px!important;overflow:hidden!important;}
.m3d-share-client-modal h2{margin-right:38px!important;}
.m3d-share-client-modal p{margin:0!important;font-size:14px!important;}
.m3d-share-current-box{display:flex;justify-content:flex-start;gap:8px;flex-wrap:wrap;}
.m3d-share-client-search{width:100%;min-height:46px;border:1px solid #bfdbfe;border-radius:14px;padding:0 13px;font:inherit;box-sizing:border-box;outline:none;background:#fff;}
.m3d-share-client-search:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.14);}
.m3d-share-client-list{display:grid;gap:8px;max-height:54dvh;overflow:auto;padding:3px;}
.m3d-share-client-row{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;grid-template-rows:auto auto!important;align-items:center!important;gap:2px 10px!important;text-align:left!important;background:#f8fbff!important;border:1px solid #dbeafe!important;border-radius:14px!important;color:#0f172a!important;padding:10px!important;width:100%!important;}
.m3d-share-client-row:hover{background:#eff6ff!important;border-color:#93c5fd!important;}
.m3d-share-client-row .avatar{grid-row:1/3;grid-column:1;width:40px;height:40px;border-radius:999px;background:#dbeafe;color:#075bea;display:grid;place-items:center;font-weight:1000;}
.m3d-share-client-row b{grid-column:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px;}
.m3d-share-client-row small{grid-column:2;color:#64748b;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.m3d-share-client-empty{border:1px dashed #bfdbfe;background:#f8fbff;border-radius:14px;padding:18px;color:#64748b;font-weight:800;text-align:center;}
@media(max-width:680px){
  .m3d-share-client-modal{max-height:92dvh!important;padding:18px!important;}
  .m3d-share-client-list{max-height:58dvh;}
}

/* v294 - Comunicados em cards e menu Pastas */
.m3d-internal-user-grid{display:grid;gap:12px;margin-top:14px}
.m3d-internal-user-card{width:100%;border:1px solid #dbeafe;background:#f8fbff;border-radius:18px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;color:#0f172a;box-shadow:0 8px 18px rgba(15,23,42,.05)}
.m3d-internal-user-card:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(15,23,42,.08)}
.m3d-internal-user-card.unread{border-color:#2563eb;background:#eff6ff}
.m3d-internal-user-card.read{border-color:#bbf7d0;background:#f0fdf4}
.m3d-internal-user-card b{display:block;font-size:17px;margin-bottom:4px;color:#0f172a}
.m3d-internal-user-card small{display:block;color:#64748b;font-weight:800;line-height:1.35}
.m3d-internal-user-card span{font-weight:1000;color:#1d4ed8;white-space:nowrap}
.m3d-internal-close{position:absolute;right:14px;top:12px;width:34px!important;height:34px!important;border-radius:999px!important;background:#fee2e2!important;color:#991b1b!important;padding:0!important;font-size:22px!important;line-height:1!important}
.m3d-internal-notice-card{position:relative}
.m3d-folders-panel{display:grid;gap:14px}
.m3d-folder-filter,.m3d-folder-create{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;background:#f8fafc;border:1px solid #dbeafe;border-radius:18px;padding:14px}
.m3d-folder-create h3{grid-column:1/-1;margin:0;color:#0f172a}
.m3d-folder-filter label,.m3d-folder-create label{font-weight:900;color:#0f172a}
.m3d-folder-filter select,.m3d-folder-create select,.m3d-folder-create input{width:100%;border:1px solid #cfe0f5;border-radius:14px;padding:12px;font:inherit;background:#fff}
.m3d-folder-tree{display:grid;gap:10px;margin-top:8px}
.m3d-folder-node{border:1px solid #dbeafe;background:#ffffff;border-radius:16px;padding:10px;display:grid;gap:8px;box-shadow:0 8px 18px rgba(15,23,42,.04)}
.m3d-folder-node[draggable="true"]{cursor:grab}
.m3d-folder-head{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f8fbff;border:1px solid #e0ecff;border-radius:14px;padding:10px 12px;cursor:pointer}
.m3d-folder-head b{font-size:16px;color:#0f172a}
.m3d-folder-head small{color:#64748b;font-weight:800}
.m3d-folder-actions{display:flex;gap:8px;flex-wrap:wrap}
.m3d-folder-actions button,.m3d-folder-file button,.m3d-folder-file .btn{border:1px solid #cfe0f5;background:#fff;border-radius:12px;padding:8px 12px;font-weight:1000;cursor:pointer;color:#1d4ed8;text-decoration:none;display:inline-flex;align-items:center}
.m3d-folder-actions button:hover,.m3d-folder-file .btn:hover{background:#eff6ff}
.m3d-folder-file button.danger{border-color:#fecaca;background:#fee2e2;color:#991b1b}
.m3d-folder-files{display:grid;gap:8px;padding:4px 0 2px 8px}
.m3d-folder-files.collapsed{display:none}
.m3d-folder-file{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:9px 10px}
.m3d-folder-file span{font-weight:900;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m3d-client-portal-perms{border:1px solid #dbeafe;background:#f8fbff;border-radius:16px;padding:14px;display:grid;gap:10px}
.m3d-client-portal-perms h4{margin:0;color:#0f172a;font-size:17px}
.m3d-client-portal-perms input[name="clientPassword"]{width:100%}
@media(max-width:800px){.m3d-folder-filter,.m3d-folder-create{grid-template-columns:1fr}.m3d-folder-head,.m3d-folder-file,.m3d-internal-user-card{display:grid}.m3d-folder-file div{display:flex;gap:8px;flex-wrap:wrap}}


/* v295 - Pastas com navegação estilo Google Drive */
.m3d-drive-panel{display:grid;gap:16px;background:#f8fbff}
.m3d-drive-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.m3d-drive-client-select,.m3d-drive-client-name{min-width:260px;background:#fff;border:1px solid #dbeafe;border-radius:18px;padding:12px;display:grid;gap:6px;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.m3d-drive-client-select label,.m3d-drive-client-name small{font-weight:950;color:#475569;text-transform:uppercase;font-size:12px;letter-spacing:.04em}
.m3d-drive-client-select select{width:100%;border:1px solid #cfe0f5;border-radius:14px;padding:12px;background:#fff;font:inherit;font-weight:800;color:#0f172a}
.m3d-drive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #dbeafe;border-radius:22px;padding:14px;box-shadow:0 10px 26px rgba(15,23,42,.05)}
.m3d-drive-location{display:flex;align-items:center;gap:12px;min-width:0}
.m3d-drive-location strong{display:block;font-size:20px;color:#0f172a;line-height:1.1;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m3d-drive-back,.m3d-drive-actions button,.m3d-drive-item-actions button,.m3d-drive-item-actions .btn{border:1px solid #cfe0f5;background:#fff;border-radius:14px;padding:10px 14px;font-weight:1000;cursor:pointer;color:#1d4ed8;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px}
.m3d-drive-back:disabled,.m3d-drive-actions button:disabled{opacity:.45;cursor:not-allowed;background:#f1f5f9;color:#64748b}
.m3d-drive-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.m3d-drive-actions button.primary{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 12px 30px rgba(37,99,235,.22)}
.m3d-drive-breadcrumb{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:5px;color:#64748b;font-size:13px}
.m3d-drive-breadcrumb button{border:0;background:transparent;color:#2563eb;font-weight:900;cursor:pointer;padding:3px 4px;border-radius:8px}
.m3d-drive-breadcrumb button.active{color:#0f172a;background:#eff6ff}
.m3d-drive-dropzone{border:2px dashed #bfdbfe;background:#eff6ff;border-radius:22px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#1e40af;transition:.18s ease}
.m3d-drive-dropzone b{font-size:16px}.m3d-drive-dropzone span{color:#475569;font-weight:800;text-align:right}.m3d-drive-dropzone.disabled{background:#f8fafc;border-style:solid;color:#64748b}.m3d-drive-dropzone.drag-over,.m3d-drive-item.drag-over{background:#dbeafe;border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.10)}
.m3d-drive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;align-items:stretch}
.m3d-drive-item{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;background:#fff;border:1px solid #dbeafe;border-radius:20px;padding:14px;min-height:86px;box-shadow:0 10px 26px rgba(15,23,42,.05);transition:.16s ease;min-width:0}
.m3d-drive-item.folder{cursor:pointer}.m3d-drive-item.folder:hover,.m3d-drive-item.file:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.09);border-color:#93c5fd}
.m3d-drive-icon{width:52px;height:52px;border-radius:16px;background:#fff7ed;display:flex;align-items:center;justify-content:center;font-size:28px;border:1px solid #fed7aa;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.m3d-drive-icon.file-icon{background:#eef2ff;border-color:#c7d2fe;color:#1d4ed8;font-size:13px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;overflow:hidden;text-align:center;padding:4px}
.m3d-drive-info{min-width:0}.m3d-drive-info b{display:block;color:#0f172a;font-size:16px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m3d-drive-info small{display:block;color:#64748b;font-weight:800;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m3d-drive-item-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.m3d-drive-item-actions button.danger{border-color:#fecaca;background:#fee2e2;color:#991b1b}.m3d-drive-item-actions .btn:hover,.m3d-drive-item-actions button:hover,.m3d-drive-back:hover,.m3d-drive-actions button:hover{background:#eff6ff}.m3d-drive-actions button.primary:hover{background:#1d4ed8;color:#fff}
.m3d-drive-empty{grid-column:1/-1;border:1px dashed #bfdbfe;background:#fff;border-radius:22px;padding:40px 24px;text-align:center;display:grid;gap:8px;color:#475569}.m3d-drive-empty div{font-size:52px}.m3d-drive-empty b{font-size:20px;color:#0f172a}.m3d-drive-empty span{font-weight:800}
@media(max-width:900px){.m3d-drive-toolbar,.m3d-drive-top,.m3d-drive-location{display:grid;grid-template-columns:1fr;width:100%}.m3d-drive-actions{justify-content:stretch}.m3d-drive-actions button{flex:1}.m3d-drive-client-select,.m3d-drive-client-name{width:100%;min-width:0}.m3d-drive-dropzone{display:grid;text-align:center}.m3d-drive-dropzone span{text-align:center}.m3d-drive-grid{grid-template-columns:1fr}.m3d-drive-item{grid-template-columns:44px 1fr}.m3d-drive-item-actions{grid-column:1/-1;justify-content:flex-start}.m3d-drive-icon{width:44px;height:44px;border-radius:14px;font-size:24px}}

/* v296 - Pastas com resumo lateral e busca de cliente */
.m3d-drive-panel{gap:18px}
.m3d-drive-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:16px;align-items:start}
.m3d-drive-sidebar{position:sticky;top:12px;display:grid;gap:12px;min-width:0}
.m3d-drive-summary-card{background:#fff;border:1px solid #dbeafe;border-radius:22px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.06);display:grid;gap:12px}
.m3d-drive-summary-card h3{margin:0;color:#0f172a;font-size:20px;line-height:1.15}
.m3d-drive-summary-client{border:1px solid #dbeafe;background:#f8fbff;border-radius:16px;padding:12px;display:grid;gap:4px}
.m3d-drive-summary-client small,.m3d-drive-stat-grid span,.m3d-drive-total-row span{color:#64748b;font-weight:950;text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.m3d-drive-summary-client b{color:#0f172a;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m3d-drive-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.m3d-drive-stat-grid div{border:1px solid #dbeafe;background:#eff6ff;border-radius:16px;padding:12px;display:grid;gap:4px;min-width:0}
.m3d-drive-stat-grid b{font-size:19px;color:#1d4ed8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m3d-drive-total-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e2e8f0;padding-top:10px;color:#0f172a}
.m3d-drive-summary-section-title{border-top:1px solid #e2e8f0;padding-top:12px;color:#0f172a;font-weight:950;font-size:13px}
.m3d-drive-total-row b{text-align:right;font-size:13px;white-space:normal;max-width:none}
.m3d-drive-main{display:grid;gap:16px;min-width:0}
.m3d-drive-filter-row{display:flex;justify-content:flex-start;align-items:center;gap:12px;min-width:0}
.m3d-drive-client-select{width:min(100%,520px);min-width:320px}
.m3d-drive-client-select input[type="search"]{width:100%;border:1px solid #cfe0f5;border-radius:14px;padding:12px;background:#fff;font:inherit;font-weight:800;color:#0f172a;outline:none}
.m3d-drive-client-select input[type="search"]:focus,.m3d-drive-client-select select:focus{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.10)}
.m3d-drive-client-select small{color:#64748b;font-weight:900}
.m3d-drive-client-name{width:min(100%,420px);min-width:260px}
@media(max-width:1100px){.m3d-drive-layout{grid-template-columns:1fr}.m3d-drive-sidebar{position:static}.m3d-drive-summary-card{grid-template-columns:1fr}.m3d-drive-total-row b{max-width:none}}
@media(max-width:900px){.m3d-drive-filter-row{display:grid}.m3d-drive-client-select,.m3d-drive-client-name{width:100%;min-width:0}.m3d-drive-stat-grid{grid-template-columns:1fr 1fr}.m3d-drive-total-row{display:grid}.m3d-drive-total-row b{text-align:left}}
@media(max-width:520px){.m3d-drive-stat-grid{grid-template-columns:1fr}}

/* v297 - Lista de Clientes: Importar Leads separado do cadastro e puxando listas do Leads CNPJ */
.m3d-lead-import-panel{
  margin:14px 0;
  padding:18px;
  border:1px solid #bfdbfe;
  border-radius:18px;
  background:linear-gradient(135deg,#eff6ff,#ffffff);
  box-shadow:0 12px 30px rgba(37,99,235,.08);
}
.m3d-lead-import-panel .head-row{align-items:flex-start;gap:14px;}
.m3d-lead-import-panel .pwa-client-two{margin-top:12px;}
.m3d-lead-import-panel select{width:100%;}
.m3d-lead-import-panel .cnpj-note{margin-top:10px;}

/* v298 - Sócios no cadastro do cliente */
.m3d-business-group-question{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%}
.m3d-business-group-question>div{flex:1;min-width:220px}
.m3d-add-partner-btn,.m3d-client-partners-title button{border:1px solid #bfdbfe;background:#fff;color:#0b57d0;border-radius:14px;padding:12px 16px;font-weight:950;box-shadow:0 8px 20px rgba(37,99,235,.08);cursor:pointer;white-space:nowrap}
.m3d-add-partner-btn:hover,.m3d-client-partners-title button:hover{background:#eff6ff;border-color:#2563eb}
.m3d-client-partners-box{border:1px solid #dbeafe;background:linear-gradient(135deg,#f8fbff,#ffffff);border-radius:18px;padding:16px;display:grid;gap:12px;margin:4px 0 8px}
.m3d-client-partners-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.m3d-client-partners-title b{font-size:18px;color:#0f172a}.m3d-client-partners-title small{display:block;margin-top:3px}
.m3d-client-partner-card{border:1px solid #cfe0f5;background:#fff;border-radius:16px;padding:14px;margin-top:10px;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.m3d-client-partner-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.m3d-client-partner-head b{color:#0b57d0;font-size:17px}
.m3d-client-partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.m3d-client-partner-grid label{font-weight:950;color:#0f172a}.m3d-client-partner-grid input,.m3d-client-partner-grid select{width:100%;margin-top:6px}
@media(max-width:760px){.m3d-business-group-question,.m3d-client-partners-title{display:grid}.m3d-client-partner-grid{grid-template-columns:1fr}.m3d-add-partner-btn,.m3d-client-partners-title button{width:100%}}

/* v300 - resumo das Pastas na barra lateral e drive principal em largura total */
.m3d-pwa-sidebar .m3d-drive-sidebar{position:static;display:block;min-width:0;width:100%;}
.m3d-pwa-sidebar .m3d-drive-summary-card{border-radius:16px;padding:13px;gap:10px;box-shadow:0 8px 22px rgba(15,23,42,.05);}
.m3d-pwa-sidebar .m3d-drive-summary-card h3{font-size:17px;}
.m3d-pwa-sidebar .m3d-drive-stat-grid{gap:8px;}
.m3d-pwa-sidebar .m3d-drive-stat-grid div{padding:10px;border-radius:14px;}
.m3d-pwa-sidebar .m3d-drive-total-row b{max-width:none;}
.m3d-sidebar-refresh-btn{width:100%;margin-top:10px;border:1px solid #cfe0f5;background:#fff;border-radius:14px;padding:10px 12px;font-weight:1000;color:#1d4ed8;cursor:pointer;}
.m3d-sidebar-refresh-btn:hover{background:#eff6ff;}
.m3d-drive-layout-full{grid-template-columns:1fr;}
.m3d-pwa-content-folders .m3d-drive-layout{grid-template-columns:1fr;}

/* v301 - Pastas: pesquisa viva, menu de 3 pontinhos, aprovação de renomear/excluir e botões condicionais */
.m3d-drive-client-results{display:grid;gap:6px;max-height:210px;overflow:auto;margin-top:2px}
.m3d-drive-client-result{display:grid;text-align:left;gap:2px;border:1px solid #dbeafe;background:#fff;border-radius:12px;padding:9px 10px;cursor:pointer;color:#0f172a;font-weight:900}
.m3d-drive-client-result small{font-weight:800!important;color:#64748b;text-transform:none!important;letter-spacing:0!important;font-size:11px!important}
.m3d-drive-client-result:hover,.m3d-drive-client-result.active{background:#eff6ff;border-color:#2563eb;color:#0b57d0}
.m3d-drive-kebab{position:relative;display:inline-flex;align-items:center;justify-content:center}
.m3d-drive-kebab-btn{width:40px;min-width:40px;border-radius:999px!important;font-size:20px!important;line-height:1;padding:7px 10px!important}
.m3d-drive-kebab-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:50;display:none;min-width:180px;background:#fff;border:1px solid #dbeafe;border-radius:14px;box-shadow:0 18px 40px rgba(15,23,42,.18);padding:6px}
.m3d-drive-kebab-menu.open{display:grid;gap:4px}
.m3d-drive-kebab-menu button{width:100%;justify-content:flex-start!important;border:0!important;background:#fff!important;color:#0f172a!important;border-radius:10px!important;box-shadow:none!important;min-height:36px!important;padding:8px 10px!important}
.m3d-drive-kebab-menu button:hover{background:#eff6ff!important;color:#1d4ed8!important}
.m3d-drive-kebab-menu button.danger{color:#991b1b!important}.m3d-drive-kebab-menu button.danger:hover{background:#fee2e2!important;color:#991b1b!important}
.m3d-drive-pending-box{border-top:1px solid #e2e8f0;padding-top:10px;display:grid;gap:8px}.m3d-drive-pending-box h4{margin:0;color:#0f172a;font-size:14px}.m3d-drive-pending-row{border:1px solid #fde68a;background:#fffbeb;border-radius:13px;padding:9px;display:grid;gap:5px}.m3d-drive-pending-row b{font-size:13px;color:#92400e}.m3d-drive-pending-row small{font-size:11px;color:#64748b}.m3d-drive-pending-row div{display:flex;gap:6px;flex-wrap:wrap}.m3d-drive-pending-row button{border:1px solid #bfdbfe;background:#fff;color:#1d4ed8;border-radius:10px;padding:6px 8px;font-weight:900;cursor:pointer}.m3d-drive-pending-row button.danger{border-color:#fecaca;color:#991b1b;background:#fff5f5}
.m3d-drive-toolbar .m3d-drive-back{flex:0 0 auto}


.m3d-drive-usage{border:1px solid #dbeafe;background:#f8fbff;border-radius:16px;padding:11px;display:grid;gap:7px}
.m3d-drive-usage>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}
.m3d-drive-usage span{color:#64748b;font-weight:950;text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.m3d-drive-usage b{font-size:18px;color:#1d4ed8}.m3d-drive-usage.warn b{color:#b45309}.m3d-drive-usage.full b{color:#991b1b}
.m3d-drive-usage small{color:#475569;font-weight:800}.m3d-drive-progress{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden;border:1px solid #dbeafe}.m3d-drive-progress i{display:block;height:100%;border-radius:999px;background:#2563eb;transition:width .2s ease}.m3d-drive-usage.warn .m3d-drive-progress i{background:#f59e0b}.m3d-drive-usage.full .m3d-drive-progress i{background:#dc2626}


/* v305 - Pastas: nomes de arquivos legíveis */
.m3d-drive-grid{
  grid-template-columns:repeat(auto-fill,minmax(360px,1fr));
}
.m3d-drive-item.file{
  grid-template-columns:52px minmax(0,1fr);
  align-items:start;
  row-gap:10px;
}
.m3d-drive-item.file .m3d-drive-info{
  min-width:0;
  padding-right:4px;
}
.m3d-drive-item.file .m3d-drive-info b{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  word-break:break-word;
  overflow-wrap:anywhere;
  line-height:1.25;
  max-height:none;
}
.m3d-drive-item.file .m3d-drive-info small{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  word-break:break-word;
}
.m3d-drive-item.file .m3d-drive-item-actions{
  grid-column:1 / -1;
  justify-content:flex-end;
  border-top:1px solid #eaf2ff;
  padding-top:10px;
}
@media(max-width:620px){
  .m3d-drive-grid{grid-template-columns:1fr;}
  .m3d-drive-item.file{grid-template-columns:44px minmax(0,1fr);}
}


/* v306 - centraliza o sino do topo e ajusta App do PWA com opções do Aplicativo Web */
.m3d-system-notice-bell{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  padding:0!important;
  text-align:center!important;
}
.m3d-system-notice-bell:not(.has){font-size:22px!important;}
.m3d-system-notice-bell > *{line-height:1!important;}
.m3d-pwa-appweb-panel .appweb-apk-layout{margin-top:14px;}
.m3d-pwa-appweb-full .card{margin-bottom:14px;}
/* v308 - evita que o log técnico do APK estoure a tela do menu App */
.appweb-build-error{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}
.appweb-build-details{margin-top:8px;max-width:100%}
.appweb-build-details summary{cursor:pointer;font-weight:900;color:#0b5cf0}
.appweb-build-details pre{max-width:100%;max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#f8fafc;border:1px solid #dbeafe;border-radius:12px;padding:10px;font-size:12px;line-height:1.35;color:#0f172a}

.appweb-route-note{border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:14px;padding:12px 14px;font-weight:800;line-height:1.35}

/* v316 - APK/PWA mobile corrigido: menu hambúrguer + pesquisa no topo e drawer lateral */
.m3d-pwa-mobile-top,.m3d-pwa-mobile-backdrop,.m3d-pwa-drawer-tabs{display:none;}
@media(max-width:900px){
  body:has(.m3d-pwa-app){overflow:hidden!important;background:#eaf2fb!important;}
  .m3d-pwa-app:not(.m3d-pwa-page-scroll),
  .m3d-pwa-app{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:1fr!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
    background:#eaf2fb!important;
  }
  .m3d-pwa-main{
    grid-column:1!important;
    grid-row:1!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
  }
  .m3d-pwa-mobile-top{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:center!important;
    padding:10px 14px!important;
    background:#fff!important;
    border-bottom:1px solid #dbe3ef!important;
    z-index:40!important;
  }
  .m3d-pwa-mobile-menu-btn{
    width:54px!important;height:54px!important;min-width:54px!important;
    border-radius:16px!important;border:1px solid #c98335!important;
    color:#8a4a0a!important;background:#fffaf3!important;
    font-size:30px!important;font-weight:950!important;line-height:1!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:0!important;box-shadow:0 10px 24px rgba(146,85,13,.12)!important;
  }
  .m3d-pwa-mobile-search{display:block!important;min-width:0!important;margin:0!important;}
  .m3d-pwa-mobile-search input{
    width:100%!important;height:54px!important;border-radius:999px!important;
    border:1px solid #dbe3ef!important;background:#fff!important;
    font-size:22px!important;font-weight:800!important;padding:0 18px!important;
  }
  .m3d-pwa-mobile-search-btn{
    height:54px!important;border-radius:22px!important;border:0!important;
    background:#edf4ff!important;color:#075bea!important;font-size:18px!important;
    font-weight:950!important;padding:0 18px!important;
  }
  .m3d-pwa-header{display:none!important;}
  .m3d-pwa-sidebar{
    display:block!important;
    position:fixed!important;left:0!important;top:0!important;bottom:0!important;
    width:min(88vw,360px)!important;height:100dvh!important;max-height:none!important;
    transform:translateX(-105%)!important;transition:transform .22s ease!important;
    background:#fff!important;z-index:100!important;overflow:auto!important;
    border-right:1px solid #dbe3ef!important;border-bottom:0!important;
    box-shadow:24px 0 80px rgba(15,23,42,.28)!important;
    padding:14px!important;
  }
  .m3d-pwa-app.m3d-pwa-mobile-menu-open .m3d-pwa-sidebar{transform:translateX(0)!important;}
  .m3d-pwa-mobile-backdrop{
    position:fixed!important;inset:0!important;background:rgba(15,23,42,.38)!important;
    border:0!important;padding:0!important;margin:0!important;z-index:90!important;
  }
  .m3d-pwa-app.m3d-pwa-mobile-menu-open .m3d-pwa-mobile-backdrop{display:block!important;}
  .m3d-pwa-drawer-tabs{display:block!important;margin-bottom:12px!important;}
  .m3d-pwa-drawer-tabs .m3d-pwa-sub-tabs{display:block!important;background:#fff7ed!important;border:1px solid #fed7aa!important;border-radius:16px!important;padding:8px!important;}
  .m3d-pwa-drawer-tabs .m3d-pwa-sub-flow{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  .m3d-pwa-drawer-tabs .m3d-pwa-sub-flow button{width:100%!important;min-height:44px!important;}
  #pwaMenuContent>.m3d-pwa-sub-tabs{display:none!important;}
  .m3d-pwa-side-title{font-size:18px!important;line-height:1.1!important;margin:0 74px 10px 0!important;}
  .m3d-pwa-exit{position:absolute!important;right:14px!important;top:12px!important;width:auto!important;min-width:58px!important;}
  .m3d-pwa-content{
    grid-template-rows:minmax(0,1fr)!important;
    min-height:0!important;height:100%!important;overflow:hidden!important;
  }
  .m3d-chat-wrap,.m3d-team-wrap,.m3d-group-chat-wrap{
    height:100%!important;min-height:0!important;
    display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;
  }
  .m3d-chat-head-clean{padding:10px 12px!important;background:#f8fbff!important;border-bottom:1px solid #dbe3ef!important;}
  .m3d-chat-head-title b{font-size:22px!important;}
  .m3d-chat-head-title small{font-size:15px!important;}
  .m3d-chat-messages{min-height:0!important;overflow:auto!important;}
  .m3d-composer{position:sticky!important;bottom:0!important;background:#fff!important;}
  .m3d-pwa-conv-head{margin-top:8px!important;}
}


/* v317 - APK mobile: conversa ocupa a tela inteira e menu lateral abre do topo até a barra de navegação */
@media(max-width:900px){
  html:has(.m3d-pwa-app), body:has(.m3d-pwa-app), #app:has(.m3d-pwa-app){
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    background:#eaf2fb!important;
  }
  .m3d-pwa-app{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:1fr!important;
    overflow:hidden!important;
    background:#eaf2fb!important;
  }
  .m3d-pwa-app .m3d-pwa-main{
    grid-column:1!important;
    grid-row:1!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    display:grid!important;
    grid-template-rows:74px minmax(0,1fr)!important;
    overflow:hidden!important;
    padding:0!important;
    background:#eaf2fb!important;
  }
  .m3d-pwa-mobile-top{
    grid-row:1!important;
    position:relative!important;
    z-index:50!important;
  }
  .m3d-pwa-header{display:none!important;}
  .m3d-pwa-app .m3d-pwa-content{
    grid-row:2!important;
    height:calc(100dvh - 74px)!important;
    min-height:0!important;
    max-height:calc(100dvh - 74px)!important;
    display:grid!important;
    grid-template-rows:minmax(0,1fr)!important;
    overflow:hidden!important;
    padding:0!important;
    background:#eaf2fb!important;
  }
  .m3d-pwa-app .m3d-pwa-content > .m3d-pwa-sub-tabs{display:none!important;}
  .m3d-pwa-app .m3d-chat-wrap,
  .m3d-pwa-app .m3d-team-wrap,
  .m3d-pwa-app .m3d-group-chat-wrap{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    overflow:hidden!important;
    margin:0!important;
    border-radius:0!important;
  }
  .m3d-pwa-app .m3d-chat-messages{
    min-height:0!important;
    height:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .m3d-pwa-app .m3d-composer{
    position:relative!important;
    bottom:auto!important;
    margin:0!important;
    width:100%!important;
    flex:0 0 auto!important;
    padding-bottom:max(8px,env(safe-area-inset-bottom))!important;
    z-index:20!important;
  }
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content,
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content{
    height:calc(100dvh - 74px)!important;
    max-height:calc(100dvh - 74px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    display:block!important;
  }
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-content > .m3d-panel-card,
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content > .m3d-panel-card{
    margin:10px!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .m3d-pwa-sidebar,
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-sidebar{
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:min(88vw,380px)!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    z-index:100!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#fff!important;
    border-right:1px solid #dbe3ef!important;
    box-shadow:24px 0 80px rgba(15,23,42,.30)!important;
    padding:14px!important;
  }
  .m3d-pwa-app.m3d-pwa-mobile-menu-open .m3d-pwa-sidebar{transform:translateX(0)!important;}
  .m3d-pwa-app.m3d-pwa-mobile-menu-open .m3d-pwa-mobile-backdrop{display:block!important;}
}

/* v318 - correção definitiva APK/mobile: tela cheia, composer visível, drawer sem travar e menus expansíveis */
@media(max-width:900px){
  html.m3d-apk-runtime,
  html.m3d-apk-runtime body,
  body.m3d-apk-runtime,
  body.m3d-apk-runtime #app{
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
    background:#eaf2fb!important;
    overscroll-behavior:none!important;
  }
  body.m3d-apk-runtime .m3d-pwa-app,
  .m3d-pwa-app{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:1fr!important;
    overflow:hidden!important;
    background:#eaf2fb!important;
  }
  body.m3d-apk-runtime .m3d-pwa-header,
  .m3d-pwa-app .m3d-pwa-header{display:none!important;}
  body.m3d-apk-runtime .m3d-pwa-main,
  .m3d-pwa-app .m3d-pwa-main,
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-main,
  .m3d-pwa-app.m3d-pwa-page-scroll .m3d-pwa-main{
    grid-column:1!important;
    grid-row:1!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    min-height:0!important;
    display:grid!important;
    grid-template-rows:74px minmax(0,1fr)!important;
    overflow:hidden!important;
    padding:0!important;
    background:#eaf2fb!important;
  }
  body.m3d-apk-runtime .m3d-pwa-mobile-top,
  .m3d-pwa-app .m3d-pwa-mobile-top{
    display:grid!important;
    grid-row:1!important;
    grid-template-columns:54px minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:center!important;
    height:74px!important;
    min-height:74px!important;
    max-height:74px!important;
    padding:10px 14px!important;
    background:#fff!important;
    border-bottom:1px solid #dbe3ef!important;
    z-index:60!important;
  }
  body.m3d-apk-runtime #pwaMenuContent,
  .m3d-pwa-app #pwaMenuContent,
  .m3d-pwa-app.m3d-pwa-page-scroll #pwaMenuContent,
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) #pwaMenuContent{
    grid-row:2!important;
    width:100%!important;
    height:calc(100dvh - 74px)!important;
    min-height:0!important;
    max-height:calc(100dvh - 74px)!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
    background:#eaf2fb!important;
  }
  .m3d-pwa-app #pwaMenuContent > .m3d-pwa-sub-tabs{display:none!important;}
  .m3d-pwa-app #pwaMenuContent.m3d-pwa-content-client,
  .m3d-pwa-app #pwaMenuContent.m3d-pwa-content-team,
  .m3d-pwa-app #pwaMenuContent.m3d-pwa-content-groups{
    display:grid!important;
    grid-template-rows:minmax(0,1fr)!important;
    overflow:hidden!important;
  }
  .m3d-pwa-app #pwaMenuContent.m3d-pwa-content-clients,
  .m3d-pwa-app #pwaMenuContent.m3d-pwa-content-folders,
  .m3d-pwa-app #pwaMenuContent.m3d-pwa-content-invoices,
  .m3d-pwa-app #pwaMenuContent.m3d-pwa-content-cashbook,
  .m3d-pwa-app #pwaMenuContent.m3d-pwa-content-push,
  .m3d-pwa-app #pwaMenuContent.m3d-pwa-content-email,
  .m3d-pwa-app #pwaMenuContent.m3d-pwa-content-app,
  .m3d-pwa-app #pwaMenuContent.m3d-pwa-content-cnpj,
  .m3d-pwa-app #pwaMenuContent.m3d-pwa-content-reminders,
  .m3d-pwa-app #pwaMenuContent.m3d-pwa-content-internal{
    display:block!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    padding:0 0 max(22px,env(safe-area-inset-bottom)) 0!important;
  }
  .m3d-pwa-app .m3d-chat-wrap,
  .m3d-pwa-app .m3d-team-wrap,
  .m3d-pwa-app .m3d-group-chat-wrap{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    overflow:hidden!important;
    margin:0!important;
    border-radius:0!important;
    background:#0f1b20!important;
  }
  .m3d-pwa-app .m3d-chat-head{
    display:flex!important;
    min-height:56px!important;
    max-height:none!important;
    padding:10px 12px!important;
    background:#f8fbff!important;
    border-bottom:1px solid #dbe3ef!important;
    overflow:hidden!important;
  }
  .m3d-pwa-app .m3d-chat-messages{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    min-height:0!important;
    height:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:14px!important;
    background:#0f1b20!important;
  }
  .m3d-pwa-app .m3d-composer,
  .m3d-pwa-app .m3d-composer-rich{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    bottom:auto!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    min-height:62px!important;
    margin:0!important;
    padding:8px 8px max(8px,env(safe-area-inset-bottom)) 8px!important;
    background:#fff!important;
    border-top:1px solid #dbe3ef!important;
    z-index:30!important;
  }
  .m3d-pwa-app .m3d-composer input[name="text"]{min-width:0!important;width:100%!important;}
  .m3d-pwa-app .m3d-pwa-mobile-backdrop{display:none!important;opacity:0!important;pointer-events:none!important;}
  .m3d-pwa-app.m3d-pwa-mobile-menu-open .m3d-pwa-mobile-backdrop{display:block!important;opacity:1!important;pointer-events:auto!important;}
  .m3d-pwa-app .m3d-pwa-sidebar,
  .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-sidebar{
    display:block!important;
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:min(88vw,380px)!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    z-index:100!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#fffaf3!important;
    border-right:1px solid #dbe3ef!important;
    box-shadow:24px 0 80px rgba(15,23,42,.30)!important;
    padding:14px!important;
  }
  .m3d-pwa-app.m3d-pwa-mobile-menu-open .m3d-pwa-sidebar{transform:translateX(0)!important;}
  .m3d-pwa-app .m3d-pwa-drawer-tabs{display:block!important;margin-bottom:12px!important;}
  .m3d-pwa-app .m3d-pwa-drawer-tabs .m3d-pwa-sub-tabs{display:block!important;background:#fff7ed!important;border:1px solid #fed7aa!important;border-radius:16px!important;padding:8px!important;overflow:visible!important;}
  .m3d-pwa-app .m3d-pwa-drawer-tabs .m3d-pwa-sub-flow{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  .m3d-pwa-app .m3d-pwa-drawer-tabs .m3d-pwa-sub-flow button{width:100%!important;min-height:48px!important;white-space:normal!important;font-size:18px!important;}
}

/* v319 - correção final APK/mobile: composer sempre visível, drawer fecha sem overlay preso e menus com rolagem */
@media(max-width:900px){
  html.m3d-apk-runtime,
  body.m3d-apk-runtime,
  body.m3d-apk-runtime #app{
    height:100dvh!important;
    width:100vw!important;
    overflow:hidden!important;
    background:#eaf2fb!important;
  }
  body.m3d-apk-runtime .m3d-pwa-app{
    position:fixed!important;
    inset:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:1fr!important;
    height:100dvh!important;
    width:100vw!important;
    overflow:hidden!important;
  }
  body.m3d-apk-runtime .m3d-pwa-main{
    display:grid!important;
    grid-template-rows:74px minmax(0,1fr)!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
    background:#eaf2fb!important;
  }
  body.m3d-apk-runtime .m3d-pwa-mobile-top{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    height:74px!important;
    padding:9px 12px!important;
    background:#fff!important;
    border-bottom:1px solid #dbe3ef!important;
    z-index:70!important;
  }
  body.m3d-apk-runtime #pwaMenuContent{
    height:calc(100dvh - 74px)!important;
    max-height:calc(100dvh - 74px)!important;
    min-height:0!important;
    overflow:hidden!important;
    background:#eaf2fb!important;
  }
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-client,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-team,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-groups{
    position:relative!important;
    display:block!important;
    padding:0!important;
  }
  body.m3d-apk-runtime #pwaMenuContent > .m3d-pwa-sub-tabs{display:none!important;}
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-client > .m3d-chat-wrap,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-team > .m3d-chat-wrap,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-team > .m3d-team-wrap,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-groups > .m3d-groups-wrap{
    position:absolute!important;
    inset:0!important;
    height:100%!important;
    width:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    overflow:hidden!important;
    margin:0!important;
    border-radius:0!important;
    background:#0f1b20!important;
  }
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-groups > .m3d-groups-wrap{
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(0,1fr)!important;
  }
  body.m3d-apk-runtime .m3d-group-side{max-height:175px!important;overflow:auto!important;}
  body.m3d-apk-runtime .m3d-groups-wrap .m3d-chat-wrap{height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;}
  body.m3d-apk-runtime .m3d-chat-head{flex:0 0 auto!important;min-height:52px!important;max-height:34dvh!important;overflow:auto!important;}
  body.m3d-apk-runtime .m3d-chat-messages{
    min-height:0!important;
    height:auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    padding:12px!important;
  }
  body.m3d-apk-runtime .m3d-composer,
  body.m3d-apk-runtime .m3d-composer-rich{
    flex:0 0 auto!important;
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    gap:5px!important;
    position:relative!important;
    bottom:auto!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    min-height:62px!important;
    padding:7px 7px max(7px,env(safe-area-inset-bottom)) 7px!important;
    background:#fff!important;
    border-top:1px solid #dbe3ef!important;
    z-index:80!important;
    transform:none!important;
  }
  body.m3d-apk-runtime .m3d-composer-rich button:not(.send){flex:0 0 34px!important;width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;font-size:15px!important;}
  body.m3d-apk-runtime .m3d-composer-rich input[name="text"]{flex:1 1 auto!important;min-width:55px!important;width:100%!important;height:42px!important;}
  body.m3d-apk-runtime .m3d-composer-rich .send{flex:0 0 42px!important;width:42px!important;height:38px!important;min-width:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
  body.m3d-apk-runtime .m3d-pwa-content-clients,
  body.m3d-apk-runtime .m3d-pwa-content-folders,
  body.m3d-apk-runtime .m3d-pwa-content-invoices,
  body.m3d-apk-runtime .m3d-pwa-content-cashbook,
  body.m3d-apk-runtime .m3d-pwa-content-push,
  body.m3d-apk-runtime .m3d-pwa-content-email,
  body.m3d-apk-runtime .m3d-pwa-content-app,
  body.m3d-apk-runtime .m3d-pwa-content-cnpj,
  body.m3d-apk-runtime .m3d-pwa-content-reminders,
  body.m3d-apk-runtime .m3d-pwa-content-internal{
    display:block!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    padding:10px 8px max(20px,env(safe-area-inset-bottom)) 8px!important;
  }
  body.m3d-apk-runtime .m3d-panel-card{margin:8px!important;border-radius:18px!important;max-width:none!important;}
  body.m3d-apk-runtime .m3d-pwa-mobile-backdrop,
  .m3d-pwa-app:not(.m3d-pwa-mobile-menu-open) .m3d-pwa-mobile-backdrop{
    display:none!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  body.m3d-apk-runtime .m3d-pwa-app.m3d-pwa-mobile-menu-open .m3d-pwa-mobile-backdrop{
    display:block!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:fixed!important;
    inset:0!important;
    background:rgba(15,23,42,.42)!important;
    z-index:90!important;
  }
  body.m3d-apk-runtime .m3d-pwa-sidebar{
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:min(86vw,360px)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    transform:translateX(-106%)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    z-index:120!important;
    background:#fffaf3!important;
    padding:14px!important;
  }
  body.m3d-apk-runtime .m3d-pwa-app.m3d-pwa-mobile-menu-open .m3d-pwa-sidebar{transform:translateX(0)!important;}
  body.m3d-apk-runtime .m3d-pwa-drawer-tabs .m3d-pwa-sub-flow{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  body.m3d-apk-runtime .m3d-pwa-drawer-tabs .m3d-pwa-sub-flow button{width:100%!important;white-space:normal!important;min-height:48px!important;}
}


/* v320 - APK/PWA mobile definitivo: composer fixo, drawer largo, topo do atendente no menu lateral */
@media(max-width:900px){
  html.m3d-apk-runtime, body.m3d-apk-runtime, body.m3d-apk-runtime #app{height:100dvh!important;width:100vw!important;overflow:hidden!important;background:#eaf2fb!important;}
  .m3d-pwa-app{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:1fr!important;overflow:hidden!important;background:#eaf2fb!important;}
  .m3d-pwa-main{height:100dvh!important;min-height:0!important;display:grid!important;grid-template-rows:74px minmax(0,1fr)!important;overflow:hidden!important;background:#eaf2fb!important;}
  .m3d-pwa-header{display:none!important;}
  .m3d-pwa-mobile-top{display:grid!important;grid-template-columns:54px minmax(0,1fr) auto!important;height:74px!important;min-height:74px!important;max-height:74px!important;align-items:center!important;gap:8px!important;padding:9px 12px!important;background:#fff!important;border-bottom:1px solid #dbe3ef!important;z-index:80!important;}
  #pwaMenuContent{height:calc(100dvh - 74px)!important;max-height:calc(100dvh - 74px)!important;min-height:0!important;overflow:hidden!important;background:#eaf2fb!important;padding:0!important;}
  #pwaMenuContent > .m3d-pwa-sub-tabs{display:none!important;}
  #pwaMenuContent.m3d-pwa-content-client,
  #pwaMenuContent.m3d-pwa-content-team,
  #pwaMenuContent.m3d-pwa-content-groups{display:block!important;position:relative!important;overflow:hidden!important;}
  #pwaMenuContent.m3d-pwa-content-client > .m3d-chat-wrap,
  #pwaMenuContent.m3d-pwa-content-team > .m3d-chat-wrap,
  #pwaMenuContent.m3d-pwa-content-team > .m3d-team-wrap,
  #pwaMenuContent.m3d-pwa-content-groups > .m3d-groups-wrap{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;border-radius:0!important;overflow:hidden!important;background:#0f1b20!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;}
  #pwaMenuContent.m3d-pwa-content-groups > .m3d-groups-wrap{grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;}
  .m3d-groups-wrap .m3d-chat-wrap{height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;}
  .m3d-chat-head{flex:0 0 auto!important;min-height:52px!important;max-height:30dvh!important;overflow:auto!important;}
  .m3d-chat-messages{min-height:0!important;height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;padding:12px!important;background:#0f1b20!important;}
  .m3d-composer,.m3d-composer-rich{display:flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;gap:5px!important;position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;min-height:64px!important;max-height:92px!important;padding:7px 7px max(7px,env(safe-area-inset-bottom)) 7px!important;background:#fff!important;border-top:1px solid #dbe3ef!important;z-index:300!important;transform:none!important;}
  .m3d-composer-rich button:not(.send){flex:0 0 34px!important;width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;font-size:15px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
  .m3d-composer-rich input[name="text"]{display:block!important;flex:1 1 auto!important;min-width:52px!important;width:100%!important;height:42px!important;font-size:18px!important;}
  .m3d-composer-rich .send{flex:0 0 42px!important;width:42px!important;height:38px!important;min-width:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
  .m3d-pwa-mobile-backdrop{position:fixed!important;inset:0!important;background:rgba(15,23,42,.42)!important;z-index:190!important;display:none!important;opacity:0!important;pointer-events:none!important;}
  .m3d-pwa-app.m3d-pwa-mobile-menu-open .m3d-pwa-mobile-backdrop{display:block!important;opacity:1!important;pointer-events:auto!important;}
  .m3d-pwa-sidebar,.m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(92vw,430px)!important;min-width:min(92vw,430px)!important;height:100dvh!important;max-height:100dvh!important;display:block!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;transform:translateX(-106%)!important;transition:transform .22s ease!important;z-index:220!important;background:#fffaf3!important;border-right:1px solid #dbe3ef!important;box-shadow:24px 0 80px rgba(15,23,42,.30)!important;padding:14px 16px!important;}
  .m3d-pwa-app.m3d-pwa-mobile-menu-open .m3d-pwa-sidebar{transform:translateX(0)!important;}
  .m3d-pwa-mobile-side-top{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;background:#fff!important;border:1px solid #dbe3ef!important;border-radius:16px!important;padding:10px!important;margin-bottom:10px!important;}
  .m3d-pwa-mobile-side-user{display:grid!important;gap:2px!important;min-width:0!important;}
  .m3d-pwa-mobile-side-user b{font-size:18px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#071833!important;}
  .m3d-pwa-mobile-side-user small{font-size:12px!important;color:#64748b!important;font-weight:800!important;}
  .m3d-pwa-mobile-side-actions{display:flex!important;align-items:center!important;gap:8px!important;}
  .m3d-pwa-mobile-side-actions .m3d-pwa-status-switch{min-width:96px!important;}
  .m3d-pwa-drawer-tabs{display:block!important;margin-bottom:12px!important;}
  .m3d-pwa-drawer-tabs .m3d-pwa-sub-tabs{display:block!important;background:#fff7ed!important;border:1px solid #fed7aa!important;border-radius:16px!important;padding:10px!important;overflow:visible!important;}
  .m3d-pwa-drawer-tabs .m3d-pwa-sub-flow{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  .m3d-pwa-drawer-tabs .m3d-pwa-sub-flow button{width:100%!important;min-height:52px!important;white-space:nowrap!important;font-size:20px!important;padding:10px 14px!important;line-height:1.1!important;}
  .m3d-pwa-drawer-tabs .m3d-pwa-sub-flow button.m3d-pwa-menu-more{order:99!important;}
  .m3d-pwa-drawer-tabs.m3d-submenus-open .m3d-pwa-sub-flow button{display:flex!important;align-items:center!important;justify-content:center!important;}
  .m3d-pwa-exit{position:static!important;display:inline-flex!important;margin:0 0 10px auto!important;background:#fff!important;border:1px solid #cfe0f8!important;border-radius:12px!important;padding:8px 12px!important;font-size:14px!important;}
  #pwaMenuContent.m3d-pwa-content-clients,#pwaMenuContent.m3d-pwa-content-folders,#pwaMenuContent.m3d-pwa-content-invoices,#pwaMenuContent.m3d-pwa-content-cashbook,#pwaMenuContent.m3d-pwa-content-push,#pwaMenuContent.m3d-pwa-content-email,#pwaMenuContent.m3d-pwa-content-app,#pwaMenuContent.m3d-pwa-content-cnpj,#pwaMenuContent.m3d-pwa-content-reminders,#pwaMenuContent.m3d-pwa-content-internal{display:block!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;padding:10px 8px max(20px,env(safe-area-inset-bottom)) 8px!important;}
}
@media(min-width:901px){.m3d-pwa-mobile-side-top{display:none!important;}}


/* v321 - ajuste definitivo APK mobile: composer fixo, drawer menor e menus centralizados */
@media(max-width:900px){
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-client,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-team,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-groups{
    position:relative!important;
    height:calc(100dvh - 74px)!important;
    max-height:calc(100dvh - 74px)!important;
    overflow:hidden!important;
    padding:0!important;
    background:#0f1b20!important;
  }
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-client > .m3d-chat-wrap,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-team > .m3d-chat-wrap,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-team > .m3d-team-wrap,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-groups > .m3d-groups-wrap,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-groups .m3d-chat-wrap{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) 72px!important;
    overflow:hidden!important;
    background:#0f1b20!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-chat-messages{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:12px 12px 86px 12px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer,
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer-rich{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    min-height:68px!important;
    max-height:88px!important;
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    visibility:visible!important;
    opacity:1!important;
    padding:7px 7px max(7px,env(safe-area-inset-bottom)) 7px!important;
    background:#ffffff!important;
    border-top:1px solid #dbe3ef!important;
    z-index:999!important;
    transform:translateZ(0)!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer-rich input[name="text"],
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer input[name="text"]{
    display:block!important;
    flex:1 1 auto!important;
    min-width:54px!important;
    width:100%!important;
    height:42px!important;
    border-radius:999px!important;
    font-size:16px!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer-rich button:not(.send){
    flex:0 0 36px!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    font-size:15px!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer-rich .send,
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer .send{
    flex:0 0 42px!important;
    width:42px!important;
    height:38px!important;
    min-width:42px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
  }
  body.m3d-apk-runtime .m3d-pwa-sidebar,
  body.m3d-apk-runtime .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-sidebar{
    width:min(84vw,360px)!important;
    min-width:min(84vw,360px)!important;
    padding:14px 12px!important;
  }
  body.m3d-apk-runtime .m3d-pwa-drawer-tabs .m3d-pwa-sub-tabs{
    padding:10px!important;
  }
  body.m3d-apk-runtime .m3d-pwa-drawer-tabs .m3d-pwa-sub-flow{
    display:grid!important;
    justify-items:center!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  body.m3d-apk-runtime .m3d-pwa-drawer-tabs .m3d-pwa-sub-flow button{
    width:min(100%,300px)!important;
    max-width:300px!important;
    min-height:50px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:18px!important;
    line-height:1.12!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    padding:10px 12px!important;
  }
  body.m3d-apk-runtime .m3d-pwa-mobile-side-top{
    width:100%!important;
    max-width:330px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* v322 - APK/mobile: conversa sem vão e barra lateral reorganizada */
@media(max-width:900px){
  html.m3d-apk-runtime, body.m3d-apk-runtime, body.m3d-apk-runtime #app{
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    background:#0f1b20!important;
  }
  body.m3d-apk-runtime .m3d-pwa-app,
  body.m3d-apk-runtime .m3d-pwa-main{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body.m3d-apk-runtime .m3d-pwa-main{
    display:grid!important;
    grid-template-rows:74px minmax(0,1fr)!important;
    background:#0f1b20!important;
  }
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-client,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-team,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-groups{
    position:fixed!important;
    top:74px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    background:#0f1b20!important;
    z-index:20!important;
  }
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-client > .m3d-chat-wrap,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-team > .m3d-chat-wrap,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-team > .m3d-team-wrap,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-groups > .m3d-groups-wrap,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-groups .m3d-chat-wrap{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    overflow:hidden!important;
    background:#0f1b20!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-chat-messages{
    grid-row:2!important;
    align-self:stretch!important;
    min-height:0!important;
    height:100%!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    padding:12px!important;
    background:#0f1b20!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer,
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer-rich{
    grid-row:3!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-height:64px!important;
    max-height:86px!important;
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    visibility:visible!important;
    opacity:1!important;
    padding:7px 7px max(7px,env(safe-area-inset-bottom)) 7px!important;
    background:#ffffff!important;
    border-top:1px solid #dbe3ef!important;
    z-index:60!important;
    transform:none!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer-rich button:not(.send),
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer button:not(.send){
    flex:0 0 36px!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    padding:0!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:15px!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer-rich input[name="text"],
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer input[name="text"]{
    display:block!important;
    flex:1 1 auto!important;
    min-width:64px!important;
    width:100%!important;
    height:42px!important;
    border-radius:999px!important;
    font-size:16px!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer-rich .send,
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer .send{
    flex:0 0 42px!important;
    width:42px!important;
    min-width:42px!important;
    height:40px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.m3d-apk-runtime .m3d-pwa-sidebar,
  body.m3d-apk-runtime .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-sidebar{
    width:min(80vw,382px)!important;
    min-width:min(80vw,382px)!important;
    max-width:min(80vw,382px)!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    padding:12px 12px max(16px,env(safe-area-inset-bottom)) 12px!important;
  }
  body.m3d-apk-runtime .m3d-pwa-mobile-side-top{order:1!important;width:100%!important;max-width:100%!important;margin:0!important;}
  body.m3d-apk-runtime #pwaDynamicSidebar{order:2!important;width:100%!important;}
  body.m3d-apk-runtime .m3d-pwa-drawer-tabs{order:3!important;width:100%!important;margin:0!important;}
  body.m3d-apk-runtime #pwaDynamicTeamMessage{order:4!important;}
  body.m3d-apk-runtime .m3d-pwa-exit{order:5!important;}
  body.m3d-apk-runtime #pwaDynamicSidebar .m3d-pwa-actions{display:none!important;}
  body.m3d-apk-runtime #pwaDynamicSidebar .m3d-pwa-conv-head{margin-top:0!important;}
  body.m3d-apk-runtime #pwaDynamicSidebar .m3d-pwa-conv-head h3{font-size:20px!important;}
  body.m3d-apk-runtime #pwaDynamicSidebar small{font-size:13px!important;line-height:1.25!important;}
  body.m3d-apk-runtime #pwaDynamicSidebar .m3d-pwa-search{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;}
  body.m3d-apk-runtime #pwaDynamicSidebar .m3d-pwa-search input{height:42px!important;font-size:16px!important;}
  body.m3d-apk-runtime #pwaDynamicSidebar .m3d-pwa-search button{height:42px!important;white-space:nowrap!important;}
  body.m3d-apk-runtime .m3d-pwa-drawer-tabs .m3d-pwa-sub-flow{justify-items:center!important;}
  body.m3d-apk-runtime .m3d-pwa-drawer-tabs .m3d-pwa-sub-flow button{
    width:min(100%,310px)!important;
    max-width:310px!important;
    min-height:48px!important;
    font-size:17px!important;
    white-space:nowrap!important;
    line-height:1!important;
  }
}

/* v334 - restaura o design dos menus administrativos para a base estável v323.
   Mantém apenas regras seguras posteriores que não alteram margem/rolagem dos cards. */
.appweb-download-only .appweb-identity-card,
.appweb-download-only #appWebForm,
.appweb-download-only .danger-soft{display:none!important;}
@media (display-mode: standalone), (display-mode: fullscreen), (display-mode: window-controls-overlay){
  .m3d-login-install-pwa,
  #fp-android-install-pwa,
  .m3d-pwa-fast-install-card,
  .btn-install-pwa-compact{display:none!important;visibility:hidden!important;pointer-events:none!important;}
}
html.m3d-apk-runtime .m3d-login-install-pwa,
body.m3d-apk-runtime .m3d-login-install-pwa,
html.m3d-apk-runtime #fp-android-install-pwa,
body.m3d-apk-runtime #fp-android-install-pwa,
html.m3d-apk-runtime .m3d-pwa-fast-install-card,
body.m3d-apk-runtime .m3d-pwa-fast-install-card,
html.m3d-apk-runtime .btn-install-pwa-compact,
body.m3d-apk-runtime .btn-install-pwa-compact{display:none!important;visibility:hidden!important;pointer-events:none!important;}

/* v336 - RECRIAÇÃO DO ZERO dos menus Pastas, PUSH e E-mail em massa.
   Estrutura independente, baseada no fluxo estável da Lista de Clientes. */
.m3d-rebuild-menu,
.m3d-rebuild-menu *{box-sizing:border-box;}
.m3d-rebuild-menu{max-width:100%;overflow:visible;}
.m3d-rebuild-menu .head-row{align-items:flex-start;gap:12px;}
.m3d-rebuild-menu h2{margin:0 0 8px;font-size:26px;color:#071833;}
.m3d-rebuild-menu h3{margin:0 0 10px;color:#071833;}
.m3d-rebuild-menu label{font-weight:900;color:#071833;margin-top:8px;display:block;}
.m3d-rebuild-menu input,
.m3d-rebuild-menu select,
.m3d-rebuild-menu textarea{width:100%;max-width:100%;min-width:0;}
.m3d-rebuild-two{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:16px;align-items:start;min-width:0;max-width:100%;}
.m3d-rebuild-box{background:#fff;border:1px solid #dbe3ef;border-radius:18px;padding:16px;display:grid;gap:10px;min-width:0;max-width:100%;box-shadow:none;}
.m3d-rebuild-picker{width:min(100%,560px);margin:18px 0;}
.m3d-rebuild-results{display:grid;gap:6px;max-height:220px;overflow:auto;}
.m3d-rebuild-results .m3d-drive-client-result{width:100%;display:grid;text-align:left;background:#f8fbff;border:1px solid #dbe3ef;border-radius:12px;padding:8px 10px;color:#071833;box-shadow:none;}
.m3d-rebuild-results .m3d-drive-client-result.active{border-color:#075bea;background:#eef6ff;}
.m3d-rebuild-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dbe3ef;background:#fff;border-radius:18px;padding:14px 16px;margin:16px 0;min-width:0;}
.m3d-rebuild-toolbar > div:first-child{min-width:0;}
.m3d-rebuild-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.m3d-rebuild-drop{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed #93c5fd;background:#f8fbff;border-radius:18px;padding:14px 16px;margin:14px 0;color:#334155;min-width:0;}
.m3d-rebuild-drop.disabled{opacity:.75;background:#f8fbff;}
.m3d-rebuild-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;min-width:0;max-width:100%;}
.m3d-rebuild-empty{grid-column:1/-1;min-height:160px;border:1px dashed #cfe0f8;border-radius:18px;display:grid;place-items:center;text-align:center;padding:24px;background:#fff;gap:8px;color:#334155;}
.m3d-rebuild-empty div{font-size:40px;}
.m3d-rebuild-menu .m3d-drive-item{min-width:0;max-width:100%;width:100%;}
.m3d-rebuild-menu .m3d-drive-info{min-width:0;}
.m3d-rebuild-menu .m3d-drive-info b,
.m3d-rebuild-menu .m3d-drive-info small{max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.m3d-rebuild-menu .campaign-warning{max-width:100%;overflow-wrap:anywhere;}
@media(max-width:1180px){.m3d-rebuild-two{grid-template-columns:1fr;}}
@media(min-width:901px){
  body:not(.m3d-apk-runtime) .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) #pwaMenuContent.m3d-pwa-content-folders,
  body:not(.m3d-apk-runtime) .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) #pwaMenuContent.m3d-pwa-content-push,
  body:not(.m3d-apk-runtime) .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) #pwaMenuContent.m3d-pwa-content-email{
    display:block!important;height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0 0 48px 0!important;background:#eef4fb!important;scrollbar-gutter:stable!important;
  }
  body:not(.m3d-apk-runtime) .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) #pwaMenuContent.m3d-pwa-content-folders > .m3d-pwa-sub-tabs,
  body:not(.m3d-apk-runtime) .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) #pwaMenuContent.m3d-pwa-content-push > .m3d-pwa-sub-tabs,
  body:not(.m3d-apk-runtime) .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) #pwaMenuContent.m3d-pwa-content-email > .m3d-pwa-sub-tabs{
    position:sticky!important;top:0!important;z-index:50!important;width:100%!important;margin:0!important;background:#fff7ed!important;border-bottom:1px solid #f1d9c4!important;box-shadow:none!important;padding:12px 14px!important;overflow-x:auto!important;overflow-y:hidden!important;
  }
  body:not(.m3d-apk-runtime) .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) #pwaMenuContent.m3d-pwa-content-folders > .m3d-rebuild-menu,
  body:not(.m3d-apk-runtime) .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) #pwaMenuContent.m3d-pwa-content-push > .m3d-rebuild-menu,
  body:not(.m3d-apk-runtime) .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) #pwaMenuContent.m3d-pwa-content-email > .m3d-rebuild-menu{
    width:calc(100% - 44px)!important;max-width:calc(100% - 44px)!important;margin:22px!important;min-height:auto!important;max-height:none!important;overflow:visible!important;padding:22px!important;background:#fff!important;border-radius:22px!important;
  }
}
@media(max-width:900px){
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-folders,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-push,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-email{display:block!important;overflow-y:auto!important;overflow-x:hidden!important;background:#fff!important;padding:10px 8px max(18px,env(safe-area-inset-bottom)) 8px!important;height:calc(100dvh - 74px)!important;max-height:calc(100dvh - 74px)!important;-webkit-overflow-scrolling:touch!important;}
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-folders > .m3d-pwa-sub-tabs,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-push > .m3d-pwa-sub-tabs,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-email > .m3d-pwa-sub-tabs{display:none!important;}
  body.m3d-apk-runtime #pwaMenuContent .m3d-rebuild-menu{width:100%!important;max-width:100%!important;margin:0!important;padding:16px!important;border-radius:18px!important;min-height:auto!important;overflow:visible!important;background:#fff!important;}
  .m3d-rebuild-toolbar{display:grid;grid-template-columns:1fr;align-items:start;}
  .m3d-rebuild-actions{justify-content:flex-start;}
  .m3d-rebuild-drop{display:grid;justify-content:start;}
  .m3d-rebuild-grid{grid-template-columns:1fr;}
}


/* v338 - Aplicativos recriado usando o mesmo padrão estável dos menus Pastas/PUSH/E-mail.
   Não altera Chat com Cliente, Chat com a Equipe, Grupos nem os demais menus. */
.m3d-rebuild-app-menu,
.m3d-rebuild-app-menu *{box-sizing:border-box;}
.m3d-rebuild-app-menu{max-width:100%;overflow:visible;}
.m3d-rebuild-app-menu .m3d-pwa-appweb-full{width:100%;max-width:100%;min-width:0;overflow:visible;margin-top:16px;}
.m3d-rebuild-app-menu .appweb-apk-layout{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important;margin:0!important;}
.m3d-rebuild-app-menu .card,
.m3d-rebuild-app-menu .appweb-identity-card,
.m3d-rebuild-app-menu .appweb-build-section,
.m3d-rebuild-app-menu .appweb-links-card{width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 16px 0!important;overflow:visible!important;}
.m3d-rebuild-app-menu .appweb-form{width:100%!important;max-width:100%!important;min-width:0!important;}
.m3d-rebuild-app-menu .appweb-two{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
.m3d-rebuild-app-menu input,
.m3d-rebuild-app-menu select,
.m3d-rebuild-app-menu textarea{width:100%!important;max-width:100%!important;min-width:0!important;}
.m3d-rebuild-app-menu .appweb-build-row{display:grid!important;grid-template-columns:minmax(150px,210px) minmax(0,1fr) minmax(220px,290px)!important;gap:12px!important;width:100%!important;max-width:100%!important;min-width:0!important;}
.m3d-rebuild-app-menu .appweb-build-status,
.m3d-rebuild-app-menu .appweb-build-error{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important;}
.m3d-rebuild-app-menu .appweb-public-link{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto auto!important;gap:10px!important;width:100%!important;max-width:100%!important;min-width:0!important;}
.m3d-rebuild-app-menu .appweb-public-link > div{min-width:0!important;}
.m3d-rebuild-app-menu .appweb-public-link input{min-width:0!important;max-width:100%!important;}
.m3d-rebuild-app-menu .appweb-preview-stage{max-width:100%!important;}
@media(max-width:1180px){
  .m3d-rebuild-app-menu .appweb-build-row{grid-template-columns:1fr!important;}
  .m3d-rebuild-app-menu .appweb-public-link{grid-template-columns:1fr!important;}
}
@media(min-width:901px){
  body:not(.m3d-apk-runtime) .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) #pwaMenuContent.m3d-pwa-content-app{
    display:block!important;height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0 0 48px 0!important;background:#eef4fb!important;scrollbar-gutter:stable!important;
  }
  body:not(.m3d-apk-runtime) .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) #pwaMenuContent.m3d-pwa-content-app > .m3d-pwa-sub-tabs{
    position:sticky!important;top:0!important;z-index:50!important;width:100%!important;margin:0!important;background:#fff7ed!important;border-bottom:1px solid #f1d9c4!important;box-shadow:none!important;padding:12px 14px!important;overflow-x:auto!important;overflow-y:hidden!important;
  }
  body:not(.m3d-apk-runtime) .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) #pwaMenuContent.m3d-pwa-content-app > .m3d-rebuild-app-menu{
    width:calc(100% - 44px)!important;max-width:calc(100% - 44px)!important;margin:22px!important;min-height:auto!important;max-height:none!important;overflow:visible!important;padding:22px!important;background:#fff!important;border-radius:22px!important;
  }
}
@media(max-width:900px){
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-app{display:block!important;overflow-y:auto!important;overflow-x:hidden!important;background:#fff!important;padding:10px 8px max(18px,env(safe-area-inset-bottom)) 8px!important;height:calc(100dvh - 74px)!important;max-height:calc(100dvh - 74px)!important;-webkit-overflow-scrolling:touch!important;}
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-app > .m3d-pwa-sub-tabs{display:none!important;}
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-app > .m3d-rebuild-app-menu{width:100%!important;max-width:100%!important;margin:0!important;padding:16px!important;border-radius:18px!important;min-height:auto!important;overflow:visible!important;background:#fff!important;}
  .m3d-rebuild-app-menu .appweb-two{grid-template-columns:1fr!important;}
}


/* v349 - correção cirúrgica SOMENTE APK/mobile.
   1) APK do cliente/site volta a ter rolagem vertical real.
   2) APK do atendente remove o tampão azul claro dos menus que não são Chat/Equipe/Grupos.
   Não altera o PWA desktop/web: regras limitadas a .m3d-apk-runtime em telas mobile. */
@media(max-width:900px){
  /* APK do cliente/landing fora do painel: desfaz o overflow:hidden herdado do runtime mobile. */
  html.m3d-apk-runtime:not(.m3d-has-pwa-app),
  body.m3d-apk-runtime:not(.m3d-has-pwa-app),
  body.m3d-apk-runtime:not(.m3d-has-pwa-app) #app{
    width:100%!important;
    height:auto!important;
    min-height:100dvh!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    position:relative!important;
    background:#08172f!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:auto!important;
    touch-action:pan-y!important;
  }
  body.m3d-apk-runtime:not(.m3d-has-pwa-app) .landing,
  body.m3d-apk-runtime:not(.m3d-has-pwa-app) .landing-hero,
  body.m3d-apk-runtime:not(.m3d-has-pwa-app) .landing-section,
  body.m3d-apk-runtime:not(.m3d-has-pwa-app) .landing-features,
  body.m3d-apk-runtime:not(.m3d-has-pwa-app) .landing-footer,
  body.m3d-apk-runtime:not(.m3d-has-pwa-app) main,
  body.m3d-apk-runtime:not(.m3d-has-pwa-app) .route-page{
    height:auto!important;
    min-height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    position:relative!important;
  }
  body.m3d-apk-runtime:not(.m3d-has-pwa-app) .landing{
    min-height:100dvh!important;
    padding-bottom:max(28px,env(safe-area-inset-bottom))!important;
  }

  /* APK do atendente, menus administrativos: tela útil até a barra de navegação do celular. */
  html.m3d-apk-runtime.m3d-mobile-nonchat-clean,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean #app{
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-app,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar){
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    display:block!important;
    overflow:hidden!important;
    background:#fff!important;
    padding:0!important;
  }
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-sidebar,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-header,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-content > .m3d-pwa-sub-tabs{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-main,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-main{
    position:relative!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    grid-template-rows:none!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
    background:#fff!important;
  }
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-mobile-top{
    flex:0 0 74px!important;
    height:74px!important;
    min-height:74px!important;
    max-height:74px!important;
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    padding:9px 12px!important;
    margin:0!important;
    background:#fff!important;
    border-bottom:1px solid #dbe3ef!important;
    box-shadow:none!important;
    z-index:80!important;
  }
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean #pwaMenuContent,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-content,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-app.m3d-pwa-page-scroll:not(.m3d-pwa-no-sidebar) .m3d-pwa-content{
    flex:1 1 auto!important;
    display:block!important;
    width:100vw!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-gutter:auto!important;
    padding:0 0 max(10px,env(safe-area-inset-bottom)) 0!important;
    margin:0!important;
    background:#fff!important;
  }
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean #pwaMenuContent > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-content > *:not(.m3d-pwa-sub-tabs){
    background:#fff!important;
    margin-left:0!important;
    margin-right:0!important;
    max-width:100%!important;
    min-height:auto!important;
    box-shadow:none!important;
  }
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-panel-card,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean #pwaMenuContent > .m3d-panel-card,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean #pwaMenuContent > .m3d-rebuild-menu,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean #pwaMenuContent > .m3d-rebuild-app-menu,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-content-clients .m3d-panel-card,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-content-cnpj .m3d-panel-card,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-content-app .m3d-rebuild-app-menu,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-content-folders .m3d-rebuild-menu,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-content-push .m3d-rebuild-menu,
  body.m3d-apk-runtime.m3d-mobile-nonchat-clean .m3d-pwa-content-email .m3d-rebuild-menu{
    width:100%!important;
    max-width:100%!important;
    min-height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    border-radius:0!important;
    border-left:0!important;
    border-right:0!important;
    box-shadow:none!important;
    background:#fff!important;
    padding-bottom:max(16px,env(safe-area-inset-bottom))!important;
  }
}

/* v354 - correção cirúrgica: remove SOMENTE o tampão azul claro do APK do atendente
   em menus administrativos/non-chat. Não altera APK do cliente, PWA web, Chat, Equipe ou Grupos. */
@media(max-width:900px){
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean,
  html.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu,
  html.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean{
    background:#fff!important;
  }

  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu .m3d-pwa-app,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu .m3d-pwa-main,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean .m3d-pwa-app,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean .m3d-pwa-main,
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-app:has(#pwaMenuContent.m3d-pwa-content-clients),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-app:has(#pwaMenuContent.m3d-pwa-content-folders),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-app:has(#pwaMenuContent.m3d-pwa-content-invoices),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-app:has(#pwaMenuContent.m3d-pwa-content-cashbook),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-app:has(#pwaMenuContent.m3d-pwa-content-push),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-app:has(#pwaMenuContent.m3d-pwa-content-email),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-app:has(#pwaMenuContent.m3d-pwa-content-app),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-app:has(#pwaMenuContent.m3d-pwa-content-cnpj),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-app:has(#pwaMenuContent.m3d-pwa-content-reminders),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-app:has(#pwaMenuContent.m3d-pwa-content-internal),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-main:has(#pwaMenuContent.m3d-pwa-content-clients),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-main:has(#pwaMenuContent.m3d-pwa-content-folders),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-main:has(#pwaMenuContent.m3d-pwa-content-invoices),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-main:has(#pwaMenuContent.m3d-pwa-content-cashbook),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-main:has(#pwaMenuContent.m3d-pwa-content-push),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-main:has(#pwaMenuContent.m3d-pwa-content-email),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-main:has(#pwaMenuContent.m3d-pwa-content-app),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-main:has(#pwaMenuContent.m3d-pwa-content-cnpj),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-main:has(#pwaMenuContent.m3d-pwa-content-reminders),
  body.m3d-apk-runtime.m3d-has-pwa-app .m3d-pwa-main:has(#pwaMenuContent.m3d-pwa-content-internal){
    background:#fff!important;
    box-shadow:none!important;
  }

  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-clients,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-folders,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-invoices,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cashbook,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-push,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-email,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-app,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cnpj,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-reminders,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-internal{
    flex:1 1 auto!important;
    display:block!important;
    width:100vw!important;
    height:calc(100dvh - 74px)!important;
    min-height:0!important;
    max-height:calc(100dvh - 74px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    background:#fff!important;
    padding:0 0 max(4px,env(safe-area-inset-bottom)) 0!important;
    margin:0!important;
    box-shadow:none!important;
    scrollbar-gutter:auto!important;
  }

  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-clients::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-clients::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-folders::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-folders::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-invoices::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-invoices::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cashbook::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cashbook::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-push::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-push::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-email::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-email::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-app::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-app::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cnpj::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cnpj::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-reminders::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-reminders::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-internal::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-internal::after{
    content:none!important;
    display:none!important;
  }

  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-clients > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-folders > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-invoices > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cashbook > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-push > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-email > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-app > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cnpj > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-reminders > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-internal > *:not(.m3d-pwa-sub-tabs){
    background:#fff!important;
    margin-bottom:0!important;
    box-shadow:none!important;
  }
}


/* v355 - correção cirúrgica definitiva: REMOVE o tampão inferior do APK do atendente
   Somente APK/runtime em menus administrativos (non-chat). Não altera Chat, Equipe, Grupos,
   APK do cliente, geração/exclusão de APK ou PWA web/desktop. */
@media(max-width:900px){
  /* garante que apenas os menus fora de Chat/Equipe/Grupos usem a tela inteira restante */
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu .m3d-pwa-app,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean .m3d-pwa-app{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    background:#fff!important;
  }

  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu .m3d-pwa-main,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean .m3d-pwa-main{
    position:relative!important;
    flex:1 1 auto!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
    background:#fff!important;
  }

  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu .m3d-pwa-mobile-top,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean .m3d-pwa-mobile-top{
    flex:0 0 74px!important;
    height:74px!important;
    min-height:74px!important;
    max-height:74px!important;
  }

  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-clients,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-folders,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-invoices,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-cashbook,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-push,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-email,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-app,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-cnpj,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-reminders,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-internal{
    position:relative!important;
    flex:1 1 auto!important;
    display:block!important;
    width:100vw!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding:0 0 max(8px,env(safe-area-inset-bottom)) 0!important;
    margin:0!important;
    background:transparent!important;
    box-shadow:none!important;
    z-index:1!important;
  }

  /* remove qualquer máscara/rodapé/fantasma de chat que estava cobrindo a área inferior */
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent .m3d-composer,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent .m3d-composer-rich,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent .m3d-chat-wrap,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent .m3d-team-wrap,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent .m3d-groups-wrap,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent .m3d-chat-messages,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent .m3d-pwa-empty,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent .m3d-composer,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent .m3d-composer-rich,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent .m3d-chat-wrap,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent .m3d-team-wrap,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent .m3d-groups-wrap,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent .m3d-chat-messages,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent .m3d-pwa-empty{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    position:static!important;
    inset:auto!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    max-width:0!important;
    max-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
    pointer-events:none!important;
    z-index:-1!important;
  }

  /* remove o espaço branco artificial criado por min-height/altura de card nos menus */
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-clients > .m3d-panel-card,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-folders > .m3d-rebuild-menu,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-push > .m3d-rebuild-menu,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-email > .m3d-rebuild-menu,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-app > .m3d-rebuild-app-menu,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-cnpj > .m3d-panel-card,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-reminders > .m3d-panel-card,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-internal > .m3d-panel-card{
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-clients > .m3d-panel-card.m3d-pwa-clients-admin{
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
    padding-bottom:12px!important;
  }

  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-clients .m3d-client-list,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-content-clients .m3d-client-list *{
    position:relative!important;
    z-index:5!important;
  }

  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent::before,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent::after,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent::before,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent::after,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu .m3d-pwa-main::before,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu .m3d-pwa-main::after,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean .m3d-pwa-main::before,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean .m3d-pwa-main::after{
    content:none!important;
    display:none!important;
  }
}


/* v356 - remoção definitiva do tampão inferior SOMENTE no APK do atendente em menus fora de Chat/Equipe/Grupos.
   Não altera APK do cliente, não altera gerador/exclusão de APK e não altera PWA web. */
@media(max-width:900px){
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu .m3d-pwa-main,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean .m3d-pwa-main{
    background:transparent!important;
  }

  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent,
  body.m3d-apk-runtime.m3d-has-pwa-app #pwaMenuContent.m3d-pwa-runtime-nonchat{
    position:fixed!important;
    top:74px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    display:block!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    background:transparent!important;
    padding:0!important;
    margin:0!important;
    box-shadow:none!important;
    z-index:20!important;
  }

  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent::before,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent::after,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent::before,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent::after{
    content:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent > .m3d-panel-card,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent > .card,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent > .m3d-rebuild-menu,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent > .m3d-rebuild-app-menu,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent > .m3d-panel-card,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent > .card,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent > .m3d-rebuild-menu,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent > .m3d-rebuild-app-menu{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    padding-bottom:max(10px,env(safe-area-inset-bottom))!important;
    background:#fff!important;
    border-bottom:0!important;
    box-shadow:none!important;
    z-index:25!important;
  }

  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaAcceptPopupRoot:empty,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaAcceptPopupRoot:empty,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu .m3d-pwa-empty,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean .m3d-pwa-empty{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    pointer-events:none!important;
  }
}

/* v358 - rollback cirúrgico da rotina v357 que causava travamento/piscada no APK atendente.
   Mantém os menus Chat com Cliente, Equipe e Grupos intactos. Não altera gerador/exclusão de APK. */
@media(max-width:900px){
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-pwa-nonchat-menu #pwaMenuContent,
  body.m3d-apk-runtime.m3d-has-pwa-app.m3d-mobile-nonchat-clean #pwaMenuContent{
    animation:none!important;
    transition:none!important;
  }
}

/* v359 - correção cirúrgica real do tampão inferior no APK do atendente.
   Alvo exclusivo: menus administrativos/non-chat. NÃO toca em Chat com Cliente, Equipe, Grupos, APK do cliente, gerador APK ou PWA desktop. */
@media(max-width:900px){
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-clients,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-folders,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-invoices,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cashbook,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-push,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-email,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-app,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cnpj,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-reminders,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-internal{
    position:fixed!important;
    top:74px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    display:block!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding:0!important;
    margin:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-clients::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-clients::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-folders::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-folders::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-invoices::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-invoices::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cashbook::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cashbook::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-push::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-push::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-email::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-email::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-app::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-app::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cnpj::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cnpj::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-reminders::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-reminders::after,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-internal::before,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-internal::after{
    content:none!important;
    display:none!important;
  }

  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-clients > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-folders > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-invoices > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cashbook > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-push > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-email > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-app > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cnpj > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-reminders > *:not(.m3d-pwa-sub-tabs),
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-internal > *:not(.m3d-pwa-sub-tabs){
    position:relative!important;
    z-index:50!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:calc(100dvh - 74px)!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    box-sizing:border-box!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-clients > .m3d-panel-card,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-folders > .m3d-panel-card,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-invoices > .m3d-panel-card,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cashbook > .m3d-panel-card,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-push > .m3d-panel-card,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-email > .m3d-panel-card,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-app > .m3d-panel-card,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-cnpj > .m3d-panel-card,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-reminders > .m3d-panel-card,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-internal > .m3d-panel-card{
    border-radius:0!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
    padding-bottom:max(14px,env(safe-area-inset-bottom))!important;
  }

  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-clients .m3d-client-list,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-clients .m3d-client-list *{
    position:relative!important;
    z-index:60!important;
  }
}


/* v360 - correção cirúrgica SEM JS do tampão inferior no APK do atendente.
   Copia a lógica visual que funcionou na v357, mas remove o MutationObserver/setInterval que causava travamento/piscada.
   Alvo exclusivo: APK do atendente em menus fora de Chat com Cliente, Equipe e Grupos. */
@media(max-width:900px){
  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups){
    position:fixed!important;
    top:74px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    display:block!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding:0!important;
    margin:0!important;
    background:#fff!important;
    box-shadow:none!important;
    border:0!important;
    z-index:21!important;
  }

  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups)::before,
  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups)::after,
  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) > *::before,
  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) > *::after,
  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) .m3d-pwa-empty,
  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) .m3d-composer,
  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) .m3d-composer-rich,
  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) .m3d-chat-wrap,
  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) .m3d-team-wrap,
  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) .m3d-groups-wrap,
  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) .m3d-chat-messages{
    content:none!important;
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
    box-shadow:none!important;
    border:0!important;
  }

  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) > .m3d-pwa-sub-tabs{
    display:none!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }

  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) > *:not(.m3d-pwa-sub-tabs){
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    padding-bottom:12px!important;
    background:#fff!important;
    border-bottom:0!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    z-index:22!important;
  }

  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) .m3d-panel-card,
  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) .card,
  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) .m3d-rebuild-menu,
  body.m3d-apk-runtime .m3d-pwa-app #pwaMenuContent[class*="m3d-pwa-content-"]:not(.m3d-pwa-content-client):not(.m3d-pwa-content-team):not(.m3d-pwa-content-groups) .m3d-rebuild-app-menu{
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    box-shadow:none!important;
  }
}

/* v394 - APK/Chat: barra de mensagem acima da navegação, pesquisa sob demanda e gravador visível */
.m3d-chat-search-row{display:flex;align-items:center;gap:8px;min-width:0;width:auto;max-width:100%;}
.m3d-chat-search-row.open{width:100%;}
.m3d-chat-search-row.closed{justify-content:flex-end;}
.m3d-chat-search-toggle{border:1px solid #bfdbfe!important;background:#eff6ff!important;color:#075bea!important;border-radius:999px!important;padding:9px 13px!important;min-height:38px!important;font-weight:950!important;white-space:nowrap!important;box-shadow:none!important;}
.m3d-chat-search-row.open .m3d-chat-search-toggle{background:#fff7ed!important;color:#92400e!important;border-color:#fdba74!important;}
.m3d-chat-search-row.closed .m3d-chat-search-line{display:none!important;}
.m3d-chat-search-row.open .m3d-chat-search-line{flex:1 1 auto;min-width:min(240px,100%);}
@media(max-width:900px){
  .m3d-chat-search-row{width:100%;justify-content:flex-start;}
  .m3d-chat-search-row.closed{width:auto;}
  .m3d-chat-search-toggle{min-height:36px!important;padding:8px 12px!important;font-size:14px!important;}
  .m3d-chat-search-row.open{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;}
  .m3d-chat-search-row.open .m3d-chat-search-line{min-width:0;width:100%;}
}
@media(max-width:900px){
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer,
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer-rich{
    margin-bottom:18px!important;
    padding-bottom:8px!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-chat-messages{
    padding-bottom:14px!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer-rich.m3d-recording-active > button:not(.rec-trash):not(.rec-pause):not(.rec-send):not(.send),
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer.m3d-recording-active > button:not(.rec-trash):not(.rec-pause):not(.rec-send):not(.send){
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    min-width:0!important;
    flex-basis:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer-rich.m3d-recording-active > button.send,
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer.m3d-recording-active > button.send{
    display:none!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer-rich.m3d-recording-active .m3d-recorder-bar,
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer.m3d-recording-active .m3d-recorder-bar{
    display:flex!important;
    visibility:visible!important;
    flex:1 1 100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:7px!important;
    padding:7px 8px!important;
    border-radius:18px!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-recorder-bar .rec-wave{
    flex:1 1 auto!important;
    min-width:0!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-recorder-bar .rec-pause{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    font-size:18px!important;
  }
  body.m3d-apk-runtime #pwaMenuContent .m3d-recorder-bar .rec-send{
    display:inline-flex!important;
    flex:0 0 40px!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    font-size:20px!important;
  }
}


/* v395 - APK/chat: composer acima da barra de navegação Android e pesquisa ao lado do status */
@media(max-width:900px){
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-client,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-team,
  body.m3d-apk-runtime #pwaMenuContent.m3d-pwa-content-groups{
    bottom:56px!important;
  }

  body.m3d-apk-runtime #pwaMenuContent .m3d-composer,
  body.m3d-apk-runtime #pwaMenuContent .m3d-composer-rich{
    margin-bottom:0!important;
    padding-bottom:7px!important;
    min-height:60px!important;
    max-height:82px!important;
  }

  body.m3d-apk-runtime #pwaMenuContent .m3d-chat-messages{
    padding-bottom:10px!important;
  }

  body.m3d-apk-runtime .m3d-chat-head-clean{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto auto!important;
    align-items:center!important;
    gap:6px 8px!important;
    padding:8px 10px!important;
  }

  body.m3d-apk-runtime .m3d-chat-head-clean .m3d-chat-head-title{
    grid-column:1 / -1!important;
    grid-row:1!important;
    min-width:0!important;
  }

  body.m3d-apk-runtime .m3d-chat-head-clean .m3d-chat-fav-strip{
    grid-column:1!important;
    grid-row:2!important;
    min-width:0!important;
    width:100%!important;
    overflow:visible!important;
  }

  body.m3d-apk-runtime .m3d-chat-head-clean .m3d-chat-fav-card{
    max-width:100%!important;
    min-width:0!important;
    width:auto!important;
    padding:6px 8px!important;
    border-radius:12px!important;
  }

  body.m3d-apk-runtime .m3d-chat-head-clean .m3d-chat-fav-card b{
    font-size:16px!important;
    line-height:1.05!important;
  }

  body.m3d-apk-runtime .m3d-chat-head-clean .m3d-protocol-copy{
    font-size:12px!important;
    line-height:1.1!important;
  }

  body.m3d-apk-runtime .m3d-chat-head-clean .m3d-chat-search-row.closed{
    grid-column:2!important;
    grid-row:2!important;
    width:auto!important;
    min-width:0!important;
    justify-self:end!important;
    align-self:center!important;
    justify-content:flex-end!important;
  }

  body.m3d-apk-runtime .m3d-chat-head-clean .m3d-chat-search-row.closed .m3d-chat-search-toggle{
    min-height:36px!important;
    padding:7px 11px!important;
    font-size:14px!important;
    line-height:1!important;
  }

  body.m3d-apk-runtime .m3d-chat-head-clean .m3d-chat-search-row.open{
    grid-column:1 / -1!important;
    grid-row:3!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    width:100%!important;
    align-items:center!important;
  }

  body.m3d-apk-runtime .m3d-chat-head-clean .m3d-chat-search-row.open .m3d-chat-search-line{
    min-width:0!important;
    width:100%!important;
  }
}

/* v397 - APK/chat: remove pesquisa duplicada do cabeçalho e coloca status ao lado do nome */
.m3d-chat-head-clean{
  grid-template-columns:1fr!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  gap:4px!important;
}
.m3d-chat-head-clean > .m3d-chat-fav-strip,
.m3d-chat-head-clean > .m3d-chat-search-row{
  display:none!important;
}
.m3d-chat-head-title{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
  gap:1px!important;
}
.m3d-chat-title-row{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  max-width:100%!important;
}
.m3d-chat-title-row > b{
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:min(320px,42vw)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.m3d-chat-title-row .m3d-chat-fav-card{
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:min(360px,55vw)!important;
  padding:6px 9px!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.m3d-chat-title-row .m3d-chat-fav-card b{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1.05!important;
}
.m3d-chat-title-row .m3d-protocol-copy{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:900px){
  body.m3d-apk-runtime .m3d-chat-head-clean{
    display:block!important;
    padding:7px 10px!important;
  }
  body.m3d-apk-runtime .m3d-chat-head-title{
    padding-right:38px!important;
  }
  body.m3d-apk-runtime .m3d-chat-title-row{
    gap:6px!important;
  }
  body.m3d-apk-runtime .m3d-chat-title-row > b{
    font-size:22px!important;
    line-height:1.08!important;
    max-width:34vw!important;
  }
  body.m3d-apk-runtime .m3d-chat-title-row .m3d-chat-fav-card{
    max-width:calc(66vw - 50px)!important;
    padding:5px 7px!important;
    border-radius:11px!important;
  }
  body.m3d-apk-runtime .m3d-chat-title-row .m3d-chat-fav-card b{
    font-size:14px!important;
    line-height:1.05!important;
  }
  body.m3d-apk-runtime .m3d-chat-title-row .m3d-protocol-copy{
    font-size:10.5px!important;
    line-height:1.05!important;
  }
  body.m3d-apk-runtime .m3d-chat-head-title small{
    margin-top:1px!important;
    font-size:13px!important;
    line-height:1.1!important;
  }
  body.m3d-apk-runtime .m3d-chat-close-selected{
    top:2px!important;
    right:0!important;
  }
}




/* v409 - APK/chat definitivo: grid normal com adjustResize, sem fixed no composer e sem vão. */
@media(max-width:900px){
  html.m3d-apk-runtime,body.m3d-apk-runtime,body.m3d-apk-runtime #app{margin:0!important;padding:0!important;width:100vw!important;height:100%!important;min-height:100%!important;overflow:hidden!important;background:#0f1b20!important;}
  body.m3d-apk-runtime.m3d-pwa-chat-menu .m3d-pwa-app{position:fixed!important;inset:0!important;width:100vw!important;height:100%!important;min-height:0!important;max-height:100%!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:1fr!important;overflow:hidden!important;background:#0f1b20!important;margin:0!important;padding:0!important;transform:none!important;}
  body.m3d-apk-runtime.m3d-pwa-chat-menu .m3d-pwa-main{position:relative!important;width:100vw!important;height:100%!important;min-height:0!important;max-height:100%!important;display:grid!important;grid-template-rows:74px minmax(0,1fr)!important;overflow:hidden!important;background:#0f1b20!important;margin:0!important;padding:0!important;transform:none!important;}
  body.m3d-apk-runtime.m3d-pwa-chat-menu .m3d-pwa-header,body.m3d-apk-runtime.m3d-pwa-chat-menu .m3d-pwa-top-tabs,body.m3d-apk-runtime.m3d-pwa-chat-menu .m3d-pwa-sub-tabs,body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent>.m3d-pwa-sub-tabs{display:none!important;}
  body.m3d-apk-runtime.m3d-pwa-chat-menu .m3d-pwa-mobile-top{grid-row:1!important;display:grid!important;grid-template-columns:54px minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;position:relative!important;inset:auto!important;width:100vw!important;height:74px!important;min-height:74px!important;max-height:74px!important;padding:9px 12px!important;margin:0!important;background:#fff!important;border-bottom:1px solid #dbe3ef!important;z-index:10!important;visibility:visible!important;opacity:1!important;transform:none!important;box-sizing:border-box!important;overflow:hidden!important;}
  body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent{grid-row:2!important;display:block!important;position:relative!important;inset:auto!important;width:100vw!important;height:100%!important;min-height:0!important;max-height:100%!important;padding:0!important;margin:0!important;overflow:hidden!important;background:#0f1b20!important;box-sizing:border-box!important;transform:none!important;}
  body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent>.m3d-chat-wrap,body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent>.m3d-team-wrap,body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent>.m3d-groups-wrap,body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent .m3d-group-chat-wrap{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) 56px!important;overflow:hidden!important;background:#0f1b20!important;padding:0!important;margin:0!important;box-sizing:border-box!important;transform:none!important;}
  body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent .m3d-chat-head,body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent .m3d-chat-head-clean{grid-row:1!important;display:block!important;position:relative!important;inset:auto!important;width:100%!important;min-height:0!important;max-height:112px!important;overflow:hidden!important;visibility:visible!important;opacity:1!important;transform:none!important;z-index:2!important;background:#f8fbff!important;box-sizing:border-box!important;}
  body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent .m3d-chat-messages{grid-row:2!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;padding:10px!important;margin:0!important;background:#0f1b20!important;box-sizing:border-box!important;transform:none!important;}
  body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent .m3d-composer,body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent .m3d-composer-rich{grid-row:3!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:5px!important;position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;min-height:56px!important;height:56px!important;max-height:56px!important;margin:0!important;padding:5px 7px!important;background:#fff!important;border-top:1px solid #dbe3ef!important;z-index:3!important;transform:none!important;opacity:1!important;visibility:visible!important;box-sizing:border-box!important;}
  body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent .m3d-composer-rich button:not(.send),body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent .m3d-composer button:not(.send){flex:0 0 34px!important;width:34px!important;min-width:34px!important;height:34px!important;padding:0!important;margin:0!important;}
  body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent .m3d-composer-rich input[name="text"],body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent .m3d-composer input[name="text"]{display:block!important;flex:1 1 auto!important;min-width:56px!important;width:100%!important;height:40px!important;min-height:40px!important;max-height:40px!important;font-size:16px!important;line-height:40px!important;margin:0!important;box-sizing:border-box!important;}
  body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent .m3d-composer-rich .send,body.m3d-apk-runtime.m3d-pwa-chat-menu #pwaMenuContent .m3d-composer .send{flex:0 0 42px!important;width:42px!important;min-width:42px!important;height:40px!important;margin:0!important;}
}


/* v410 - APK/chat: regra única final para teclado Android.
   Esta regra ganha de todas as antigas porque usa body/html com m3d-v410-keyboard e vem no final. */
@media(max-width:900px){
  html.m3d-v410-keyboard,
  body.m3d-v410-keyboard,
  body.m3d-v410-keyboard #app{
    margin:0!important;
    padding:0!important;
    width:100vw!important;
    height:var(--m3d-v410-vh,100dvh)!important;
    min-height:var(--m3d-v410-vh,100dvh)!important;
    max-height:var(--m3d-v410-vh,100dvh)!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    background:#0f1b20!important;
  }

  body.m3d-v410-keyboard .m3d-pwa-app{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:var(--m3d-v410-top,0px)!important;
    bottom:auto!important;
    width:100vw!important;
    height:var(--m3d-v410-vh,100dvh)!important;
    min-height:0!important;
    max-height:var(--m3d-v410-vh,100dvh)!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:1fr!important;
    overflow:hidden!important;
    transform:none!important;
    margin:0!important;
    padding:0!important;
    background:#0f1b20!important;
  }

  body.m3d-v410-keyboard .m3d-pwa-sidebar,
  body.m3d-v410-keyboard .m3d-pwa-mobile-backdrop,
  body.m3d-v410-keyboard .m3d-pwa-header,
  body.m3d-v410-keyboard .m3d-pwa-top-tabs,
  body.m3d-v410-keyboard .m3d-pwa-sub-tabs,
  body.m3d-v410-keyboard #pwaMenuContent > .m3d-pwa-sub-tabs{
    display:none!important;
  }

  body.m3d-v410-keyboard .m3d-pwa-main{
    position:relative!important;
    inset:auto!important;
    width:100vw!important;
    height:var(--m3d-v410-vh,100dvh)!important;
    min-height:0!important;
    max-height:var(--m3d-v410-vh,100dvh)!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:74px minmax(0,1fr)!important;
    overflow:hidden!important;
    transform:none!important;
    margin:0!important;
    padding:0!important;
    background:#0f1b20!important;
  }

  body.m3d-v410-keyboard .m3d-pwa-mobile-top{
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    position:relative!important;
    inset:auto!important;
    width:100vw!important;
    height:74px!important;
    min-height:74px!important;
    max-height:74px!important;
    padding:9px 12px!important;
    margin:0!important;
    background:#fff!important;
    border-bottom:1px solid #dbe3ef!important;
    z-index:50!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  body.m3d-v410-keyboard #pwaMenuContent{
    grid-row:2!important;
    display:block!important;
    position:relative!important;
    inset:auto!important;
    width:100vw!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow:hidden!important;
    transform:none!important;
    margin:0!important;
    padding:0!important;
    background:#0f1b20!important;
    box-sizing:border-box!important;
  }

  body.m3d-v410-keyboard #pwaMenuContent > .m3d-chat-wrap,
  body.m3d-v410-keyboard #pwaMenuContent > .m3d-team-wrap,
  body.m3d-v410-keyboard #pwaMenuContent > .m3d-groups-wrap,
  body.m3d-v410-keyboard #pwaMenuContent .m3d-group-chat-wrap{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    overflow:hidden!important;
    transform:none!important;
    margin:0!important;
    padding:0!important;
    background:#0f1b20!important;
    box-sizing:border-box!important;
  }

  body.m3d-v410-keyboard #pwaMenuContent .m3d-chat-head,
  body.m3d-v410-keyboard #pwaMenuContent .m3d-chat-head-clean{
    grid-row:1!important;
    position:relative!important;
    inset:auto!important;
    display:block!important;
    flex:none!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:96px!important;
    overflow:hidden!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    z-index:3!important;
    margin:0!important;
    padding:7px 10px!important;
    background:#f8fbff!important;
    border-bottom:1px solid #dbe3ef!important;
    box-sizing:border-box!important;
  }

  body.m3d-v410-keyboard #pwaMenuContent .m3d-chat-messages{
    grid-row:2!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    flex:1 1 auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    transform:none!important;
    margin:0!important;
    padding:10px!important;
    padding-bottom:10px!important;
    background:#0f1b20!important;
    box-sizing:border-box!important;
  }

  body.m3d-v410-keyboard #pwaMenuContent .m3d-composer,
  body.m3d-v410-keyboard #pwaMenuContent .m3d-composer-rich{
    grid-row:3!important;
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    display:flex!important;
    flex:none!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    width:100%!important;
    max-width:100%!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    margin:0!important;
    padding:5px 7px!important;
    padding-bottom:5px!important;
    background:#fff!important;
    border-top:1px solid #dbe3ef!important;
    z-index:4!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    box-sizing:border-box!important;
    box-shadow:none!important;
  }

  body.m3d-v410-keyboard #pwaMenuContent .m3d-composer-rich button:not(.send),
  body.m3d-v410-keyboard #pwaMenuContent .m3d-composer button:not(.send){
    flex:0 0 34px!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0!important;
    margin:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  body.m3d-v410-keyboard #pwaMenuContent .m3d-composer-rich input[name="text"],
  body.m3d-v410-keyboard #pwaMenuContent .m3d-composer input[name="text"]{
    display:block!important;
    flex:1 1 auto!important;
    min-width:55px!important;
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    margin:0!important;
    font-size:16px!important;
    line-height:40px!important;
    box-sizing:border-box!important;
  }

  body.m3d-v410-keyboard #pwaMenuContent .m3d-composer-rich .send,
  body.m3d-v410-keyboard #pwaMenuContent .m3d-composer .send{
    flex:0 0 42px!important;
    width:42px!important;
    min-width:42px!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
}

/* v412 - correção final APK/Android teclado.
   Ganha de v401-v410 e NÃO usa composer fixed. O app inteiro fica preso à viewport visível. */
@media(max-width:900px){
  html.m3d-v412-chat,
  body.m3d-v412-chat,
  body.m3d-v412-chat #app{
    position:fixed!important;
    inset:0!important;
    margin:0!important;
    padding:0!important;
    width:100vw!important;
    height:var(--m3d-v412-vh,100dvh)!important;
    min-height:var(--m3d-v412-vh,100dvh)!important;
    max-height:var(--m3d-v412-vh,100dvh)!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    background:#0f1b20!important;
    transform:none!important;
  }

  html.m3d-v412-chat{ touch-action:manipulation!important; }
  body.m3d-v412-chat{ -webkit-text-size-adjust:100%!important; }

  body.m3d-v412-chat .m3d-pwa-app,
  body.m3d-apk-runtime.m3d-v412-chat .m3d-pwa-app,
  html.m3d-v412-chat body.m3d-apk-runtime .m3d-pwa-app{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:var(--m3d-v412-top,0px)!important;
    bottom:auto!important;
    inset:var(--m3d-v412-top,0px) 0 auto 0!important;
    width:100vw!important;
    height:calc(var(--m3d-v412-vh,100dvh) - var(--m3d-v412-nav,78px))!important;
    min-height:0!important;
    max-height:calc(var(--m3d-v412-vh,100dvh) - var(--m3d-v412-nav,78px))!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1fr)!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    background:#0f1b20!important;
    transform:none!important;
    box-sizing:border-box!important;
    z-index:1!important;
  }

  body.m3d-v412-chat .m3d-pwa-sidebar,
  body.m3d-v412-chat .m3d-pwa-mobile-backdrop,
  body.m3d-v412-chat .m3d-pwa-header,
  body.m3d-v412-chat .m3d-pwa-top-tabs,
  body.m3d-v412-chat .m3d-pwa-sub-tabs,
  body.m3d-v412-chat #pwaMenuContent > .m3d-pwa-sub-tabs{
    display:none!important;
  }

  body.m3d-v412-chat .m3d-pwa-main,
  body.m3d-apk-runtime.m3d-v412-chat .m3d-pwa-main,
  html.m3d-v412-chat body.m3d-apk-runtime .m3d-pwa-main{
    position:relative!important;
    inset:auto!important;
    width:100vw!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:74px minmax(0,1fr)!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    background:#0f1b20!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  body.m3d-v412-chat .m3d-pwa-mobile-top,
  body.m3d-apk-runtime.m3d-v412-chat .m3d-pwa-mobile-top,
  html.m3d-v412-chat body.m3d-apk-runtime .m3d-pwa-mobile-top{
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    position:relative!important;
    inset:auto!important;
    width:100vw!important;
    height:74px!important;
    min-height:74px!important;
    max-height:74px!important;
    padding:9px 12px!important;
    margin:0!important;
    background:#fff!important;
    border-bottom:1px solid #dbe3ef!important;
    z-index:50!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  body.m3d-v412-chat #pwaMenuContent,
  body.m3d-apk-runtime.m3d-v412-chat #pwaMenuContent,
  html.m3d-v412-chat body.m3d-apk-runtime #pwaMenuContent{
    grid-row:2!important;
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100vw!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    background:#0f1b20!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  body.m3d-v412-chat #pwaMenuContent > .m3d-chat-wrap,
  body.m3d-v412-chat #pwaMenuContent > .m3d-team-wrap,
  body.m3d-v412-chat #pwaMenuContent > .m3d-groups-wrap,
  body.m3d-v412-chat #pwaMenuContent .m3d-group-chat-wrap,
  body.m3d-apk-runtime.m3d-v412-chat #pwaMenuContent > .m3d-chat-wrap,
  body.m3d-apk-runtime.m3d-v412-chat #pwaMenuContent > .m3d-team-wrap,
  body.m3d-apk-runtime.m3d-v412-chat #pwaMenuContent > .m3d-groups-wrap,
  body.m3d-apk-runtime.m3d-v412-chat #pwaMenuContent .m3d-group-chat-wrap{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(0,1fr) 56px!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    background:#0f1b20!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  body.m3d-v412-chat #pwaMenuContent .m3d-chat-head,
  body.m3d-v412-chat #pwaMenuContent .m3d-chat-head-clean,
  body.m3d-apk-runtime.m3d-v412-chat #pwaMenuContent .m3d-chat-head,
  body.m3d-apk-runtime.m3d-v412-chat #pwaMenuContent .m3d-chat-head-clean{
    grid-row:1!important;
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:102px!important;
    overflow:hidden!important;
    margin:0!important;
    padding:7px 10px!important;
    background:#f8fbff!important;
    border-bottom:1px solid #dbe3ef!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    z-index:3!important;
    box-sizing:border-box!important;
  }

  body.m3d-v412-chat #pwaMenuContent .m3d-chat-messages,
  body.m3d-apk-runtime.m3d-v412-chat #pwaMenuContent .m3d-chat-messages{
    grid-row:2!important;
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    margin:0!important;
    padding:10px!important;
    padding-bottom:10px!important;
    background:#0f1b20!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  body.m3d-v412-chat #pwaMenuContent .m3d-composer,
  body.m3d-v412-chat #pwaMenuContent .m3d-composer-rich,
  body.m3d-apk-runtime.m3d-v412-chat #pwaMenuContent .m3d-composer,
  body.m3d-apk-runtime.m3d-v412-chat #pwaMenuContent .m3d-composer-rich{
    grid-row:3!important;
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    display:flex!important;
    flex:none!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    width:100%!important;
    max-width:100%!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    margin:0!important;
    padding:5px 7px!important;
    background:#fff!important;
    border-top:1px solid #dbe3ef!important;
    z-index:4!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    box-sizing:border-box!important;
    box-shadow:none!important;
  }

  body.m3d-v412-chat #pwaMenuContent .m3d-composer-rich button:not(.send),
  body.m3d-v412-chat #pwaMenuContent .m3d-composer button:not(.send){
    flex:0 0 34px!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0!important;
    margin:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  body.m3d-v412-chat #pwaMenuContent .m3d-composer-rich input[name="text"],
  body.m3d-v412-chat #pwaMenuContent .m3d-composer input[name="text"]{
    display:block!important;
    flex:1 1 auto!important;
    min-width:55px!important;
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    margin:0!important;
    font-size:16px!important;
    line-height:40px!important;
    box-sizing:border-box!important;
  }

  body.m3d-v412-chat #pwaMenuContent .m3d-composer-rich .send,
  body.m3d-v412-chat #pwaMenuContent .m3d-composer .send{
    flex:0 0 42px!important;
    width:42px!important;
    min-width:42px!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
}


/* v412 reforço: quando o teclado está FECHADO, reserva a barra de navegação Android.
   Quando está ABERTO, a reserva zera e o composer encosta no teclado. */
@media(max-width:900px){
  body.m3d-v412-chat:not(.m3d-v412-keyboard-open) .m3d-pwa-app{
    height:calc(var(--m3d-v412-vh,100dvh) - var(--m3d-v412-nav,78px))!important;
    max-height:calc(var(--m3d-v412-vh,100dvh) - var(--m3d-v412-nav,78px))!important;
  }
  body.m3d-v412-chat.m3d-v412-keyboard-open .m3d-pwa-app{
    height:var(--m3d-v412-vh,100dvh)!important;
    max-height:var(--m3d-v412-vh,100dvh)!important;
  }
}


/* v418 - ajuste fino: barra de mensagem em 42px quando o teclado está fechado.
   Mantém a correção v412 e deixa a barra próxima das setas do Android sem ficar por trás. */
@media(max-width:900px){
  body.m3d-v412-chat:not(.m3d-v412-keyboard-open) .m3d-pwa-app,
  body.m3d-apk-runtime.m3d-v412-chat:not(.m3d-v412-keyboard-open) .m3d-pwa-app,
  html.m3d-v412-chat body.m3d-apk-runtime:not(.m3d-v412-keyboard-open) .m3d-pwa-app{
    height:calc(var(--m3d-v412-vh,100dvh) - 42px)!important;
    max-height:calc(var(--m3d-v412-vh,100dvh) - 42px)!important;
  }
}


/* v420 - Aprovação de alterações no menu Lista de Clientes do PWA */
.m3d-pwa-sub-flow button{position:relative;}
.m3d-pwa-sub-flow button.has-badge{padding-right:34px;}
.m3d-tab-badge{position:absolute;right:8px;top:4px;min-width:20px;height:20px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;box-shadow:0 6px 12px rgba(239,68,68,.25)}
.m3d-client-approval-box{border:1px solid #bfdbfe;background:#eff6ff;border-radius:18px;padding:14px;margin:14px 0 18px;box-shadow:0 10px 24px rgba(37,99,235,.08)}
.m3d-client-approval-empty{background:#f8fafc;border-color:#e2e8f0;box-shadow:none}
.m3d-approval-count{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:999px;background:#1d4ed8;color:#fff;font-weight:900;padding:0 10px}
.m3d-client-approval-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;background:#fff;border:1px solid #dbeafe;border-radius:14px;padding:12px;margin-top:10px}
.m3d-client-approval-row small{display:block;color:#64748b;margin-top:3px}
.m3d-client-approval-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.m3d-client-change-diff{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:10px}
.m3d-client-change-diff>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px}
.m3d-client-change-diff small,.m3d-client-change-diff span{display:block;color:#475569;font-size:12px;margin-top:3px;word-break:break-word}
.m3d-client-approval-shortcut{width:100%;border:1px solid #fbbf24;background:#fffbeb;color:#92400e;border-radius:12px;padding:10px 12px;font-weight:800;margin:8px 0 12px;text-align:left;cursor:pointer}
.m3d-client-approval-shortcut:hover{background:#fef3c7}
@media(max-width:720px){.m3d-client-approval-row{grid-template-columns:1fr}.m3d-client-approval-actions{justify-content:flex-start}.m3d-pwa-sub-flow button.has-badge{padding-right:32px}}


/* M3D v426 - painel de emojis maior com rolagem */
.pwa-emoji-panel,
.m3d-emoji-panel,
.emoji-panel,
.emoji-picker,
.pwa-chat-emoji-panel,
.pwa-team-emoji-panel,
.pwa-group-emoji-panel {
  max-height: 320px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}

.pwa-emoji-panel button,
.m3d-emoji-panel button,
.emoji-panel button,
.emoji-picker button {
  font-size: 22px !important;
  line-height: 1.2 !important;
  min-width: 34px !important;
  min-height: 34px !important;
}







/* M3D v430 - popups seguros emoji e resposta rápida */
.m3d-popup-closed-v430 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.m3d-emoji-panel-v430 {
  max-height: 360px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}

.m3d-emoji-recentes-v430 {
  width: 100% !important;
  padding: 8px 8px 10px !important;
  border-bottom: 1px solid rgba(0,0,0,.08) !important;
  margin-bottom: 8px !important;
  background: #fff !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 5 !important;
  box-sizing: border-box !important;
}

.m3d-emoji-recentes-title-v430 {
  font-weight: 800 !important;
  font-size: 15px !important;
  color: #6b7280 !important;
  margin: 0 0 8px !important;
  text-align: left !important;
}

.m3d-emoji-recentes-grid-v430 {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(30px, 1fr)) !important;
  gap: 6px !important;
  align-items: center !important;
}

.m3d-emoji-recente-btn-v430 {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 8px !important;
  font-size: 24px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  cursor: pointer !important;
}

.m3d-emoji-recente-btn-v430:active,
.m3d-emoji-recente-btn-v430:hover {
  background: rgba(0,0,0,.08) !important;
}










/* M3D v436 - popup resposta rápida mais alto */
.m3d-quick-popup-v435 {
  transform: translateY(-40px) !important;
  z-index: 999999 !important;
}

.m3d-quick-hidden-v435 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* M3D v437 - forcar bottom popup resposta rapida */
.m3d-quick-popup-v437,
[data-m3d-quick-popup-v437="1"] {
  position: fixed !important;
  bottom: 92px !important;
  top: auto !important;
  right: 8px !important;
  transform: none !important;
  z-index: 999999 !important;
  max-height: 42vh !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.m3d-quick-hidden-v437 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* M3D v439 - subir somente emojis recentes */
#pwaEmojiPanel {
  padding-top: 0 !important;
}

#pwaEmojiPanel [data-m3d-emoji-recentes="1"],
#pwaEmojiPanel .m3d-emoji-recentes-v430,
#pwaEmojiPanel .m3d-emoji-recentes-v429,
#pwaEmojiPanel .m3d-emoji-recentes-ajuste-v439 {
  transform: translateY(-14px) !important;
  margin-top: -14px !important;
  margin-bottom: -4px !important;
  top: -14px !important;
  z-index: 999999 !important;
  background: #fff !important;
  position: sticky !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.08) !important;
}

#pwaEmojiPanel .m3d-emoji-recentes-title-v430,
#pwaEmojiPanel .m3d-emoji-recentes-title-v429 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* M3D v440 - descer Emojis Recentes */
#pwaEmojiPanel [data-m3d-emoji-recentes="1"],
#pwaEmojiPanel .m3d-emoji-recentes-v430,
#pwaEmojiPanel .m3d-emoji-recentes-v429,
#pwaEmojiPanel .m3d-emoji-recentes-ajuste-v439,
#pwaEmojiPanel .m3d-emoji-recentes-ajuste-v440 {
  transform: translateY(-6px) !important;
  margin-top: -6px !important;
  margin-bottom: 2px !important;
  top: -6px !important;
  z-index: 999999 !important;
  background: #fff !important;
  position: sticky !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.08) !important;
}

#pwaEmojiPanel .m3d-emoji-recentes-title-v430,
#pwaEmojiPanel .m3d-emoji-recentes-title-v429,
#pwaEmojiPanel .m3d-emoji-recentes-ajuste-v440 [class*="title"] {
  margin-top: 0 !important;
  padding-top: 2px !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
}


/* M3D v442 - descer popup raio */
#pwaQuickPanel.m3d-quick-panel,
#pwaQuickPanel {
  transform: translateY(-12px) !important;
  margin-bottom: -12px !important;
  z-index: 999999 !important;
  max-height: 340px !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

#pwaQuickPanel[hidden] {
  display: none !important;
}




/* M3D v444 - centralizar X real camera */
.m3d-camera-close-v444,
[data-m3d-camera-close-v444="1"] {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: hidden !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  text-indent: 0 !important;
}

.m3d-camera-close-v444::before,
[data-m3d-camera-close-v444="1"]::before {
  content: "×" !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  color: #0f172a !important;
  transform: translateY(-1px) !important;
  pointer-events: none !important;
}

.m3d-camera-close-v444 > *,
[data-m3d-camera-close-v444="1"] > * {
  display: none !important;
}


/* M3D v445 - camera com fotos recentes */
#m3dCameraGallerySheet {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
}

.m3d-camera-gallery-backdrop-v445 {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(15,23,42,.55) !important;
  backdrop-filter: blur(2px) !important;
}

.m3d-camera-gallery-card-v445 {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
  background: #fff !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.30) !important;
  border: 1px solid rgba(148,163,184,.25) !important;
}

.m3d-camera-gallery-head-v445 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 18px 10px !important;
  color: #0f172a !important;
}

.m3d-camera-gallery-head-v445 b {
  font-size: 22px !important;
  font-weight: 900 !important;
}

.m3d-camera-gallery-head-v445 button {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #f1f5f9 !important;
  color: #0f172a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  padding: 0 !important;
}

.m3d-camera-gallery-options-v445 {
  display: grid !important;
  gap: 10px !important;
  padding: 10px 14px 18px !important;
}

.m3d-camera-gallery-option-v445 {
  width: 100% !important;
  border: 1px solid #dbe4f0 !important;
  background: #f8fafc !important;
  border-radius: 18px !important;
  padding: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-align: left !important;
  color: #0f172a !important;
}

.m3d-camera-gallery-option-v445.primary {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
}

.m3d-camera-gallery-option-v445 > span {
  width: 50px !important;
  height: 50px !important;
  border-radius: 999px !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 26px !important;
  box-shadow: 0 2px 8px rgba(15,23,42,.10) !important;
}

.m3d-camera-gallery-option-v445 b {
  display: block !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  margin-bottom: 2px !important;
}

.m3d-camera-gallery-option-v445 small {
  display: block !important;
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 700 !important;
}


/* M3D v447 - camera real e galeria */
#m3dCameraGallerySheet,
#m3dRealCameraModal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
}

.m3d-camera-gallery-backdrop-v447,
.m3d-real-camera-backdrop-v447 {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(15,23,42,.55) !important;
  backdrop-filter: blur(2px) !important;
}

.m3d-camera-gallery-card-v447 {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
  background: #fff !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.30) !important;
  border: 1px solid rgba(148,163,184,.25) !important;
}

.m3d-camera-gallery-head-v447,
.m3d-real-camera-head-v447 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 18px 10px !important;
  color: #0f172a !important;
}

.m3d-real-camera-head-v447 {
  background: #111827 !important;
  color: #fff !important;
  padding: 16px 18px !important;
}

.m3d-camera-gallery-head-v447 b,
.m3d-real-camera-head-v447 b {
  font-size: 22px !important;
  font-weight: 900 !important;
}

.m3d-camera-gallery-head-v447 button,
.m3d-real-camera-head-v447 button {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #f1f5f9 !important;
  color: #0f172a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  padding: 0 !important;
}

.m3d-camera-gallery-options-v447 {
  display: grid !important;
  gap: 10px !important;
  padding: 10px 14px 18px !important;
}

.m3d-camera-gallery-option-v447 {
  width: 100% !important;
  border: 1px solid #dbe4f0 !important;
  background: #f8fafc !important;
  border-radius: 18px !important;
  padding: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-align: left !important;
  color: #0f172a !important;
}

.m3d-camera-gallery-option-v447.primary {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
}

.m3d-camera-gallery-option-v447 > span {
  width: 50px !important;
  height: 50px !important;
  border-radius: 999px !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 26px !important;
  box-shadow: 0 2px 8px rgba(15,23,42,.10) !important;
}

.m3d-camera-gallery-option-v447 b {
  display: block !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  margin-bottom: 2px !important;
}

.m3d-camera-gallery-option-v447 small {
  display: block !important;
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 700 !important;
}

.m3d-real-camera-card-v447 {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  top: 50px !important;
  bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
  background: #0f172a !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.35) !important;
  border: 1px solid rgba(148,163,184,.25) !important;
  display: flex !important;
  flex-direction: column !important;
}

.m3d-real-camera-view-v447 {
  flex: 1 !important;
  min-height: 260px !important;
  background: #000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

#m3dRealCameraVideo {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  background: #000 !important;
}

.m3d-real-camera-actions-v447 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 16px !important;
  background: #0f172a !important;
}

.m3d-real-camera-actions-v447 button {
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 20px !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  color: #fff !important;
  background: #334155 !important;
}

.m3d-real-camera-actions-v447 button.primary {
  background: #2563eb !important;
}


/* M3D v450 - opcoes camera */
#m3dCameraOptionsSheet {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
}

.m3d-camera-options-backdrop-v450 {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(15,23,42,.55) !important;
  backdrop-filter: blur(2px) !important;
}

.m3d-camera-options-card-v450 {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
  background: #fff !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.30) !important;
  border: 1px solid rgba(148,163,184,.25) !important;
}

.m3d-camera-options-head-v450 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 18px 10px !important;
  color: #0f172a !important;
}

.m3d-camera-options-head-v450 b {
  font-size: 22px !important;
  font-weight: 900 !important;
}

.m3d-camera-options-head-v450 button {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #f1f5f9 !important;
  color: #0f172a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  padding: 0 !important;
}

.m3d-camera-options-list-v450 {
  display: grid !important;
  gap: 10px !important;
  padding: 10px 14px 18px !important;
}

.m3d-camera-options-item-v450 {
  width: 100% !important;
  border: 1px solid #dbe4f0 !important;
  background: #f8fafc !important;
  border-radius: 18px !important;
  padding: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-align: left !important;
  color: #0f172a !important;
}

.m3d-camera-options-item-v450.primary {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
}

.m3d-camera-options-item-v450 > span {
  width: 50px !important;
  height: 50px !important;
  border-radius: 999px !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 26px !important;
  box-shadow: 0 2px 8px rgba(15,23,42,.10) !important;
}

.m3d-camera-options-item-v450 b {
  display: block !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  margin-bottom: 2px !important;
}

.m3d-camera-options-item-v450 small {
  display: block !important;
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 700 !important;
}


/* M3D v451 - camera opcoes input real */
#m3dCameraOptionsSheet {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
}

.m3d-camera-options-backdrop-v451 {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(15,23,42,.55) !important;
  backdrop-filter: blur(2px) !important;
}

.m3d-camera-options-card-v451 {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
  background: #fff !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.30) !important;
  border: 1px solid rgba(148,163,184,.25) !important;
}

.m3d-camera-options-head-v451 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 18px 10px !important;
  color: #0f172a !important;
}

.m3d-camera-options-head-v451 b {
  font-size: 22px !important;
  font-weight: 900 !important;
}

.m3d-camera-options-head-v451 button {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #f1f5f9 !important;
  color: #0f172a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  padding: 0 !important;
}

.m3d-camera-options-list-v451 {
  display: grid !important;
  gap: 10px !important;
  padding: 10px 14px 18px !important;
}

.m3d-camera-options-item-v451 {
  position: relative !important;
  width: 100% !important;
  border: 1px solid #dbe4f0 !important;
  background: #f8fafc !important;
  border-radius: 18px !important;
  padding: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-align: left !important;
  color: #0f172a !important;
  overflow: hidden !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.m3d-camera-options-item-v451.primary {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
}

.m3d-camera-options-item-v451 > span {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  border-radius: 999px !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 26px !important;
  box-shadow: 0 2px 8px rgba(15,23,42,.10) !important;
}

.m3d-camera-options-item-v451 b {
  display: block !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  margin-bottom: 2px !important;
}

.m3d-camera-options-item-v451 small {
  display: block !important;
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 700 !important;
}

.m3d-camera-native-input-v451 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  z-index: 5 !important;
  cursor: pointer !important;
}


/* M3D v452 - camera popup input original */
#m3dCameraOptionsSheet {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
}

.m3d-camera-options-backdrop-v452 {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(15,23,42,.55) !important;
  backdrop-filter: blur(2px) !important;
}

.m3d-camera-options-card-v452 {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
  background: #fff !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.30) !important;
  border: 1px solid rgba(148,163,184,.25) !important;
}

.m3d-camera-options-head-v452 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 18px 10px !important;
  color: #0f172a !important;
}

.m3d-camera-options-head-v452 b {
  font-size: 22px !important;
  font-weight: 900 !important;
}

.m3d-camera-options-head-v452 button {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #f1f5f9 !important;
  color: #0f172a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  padding: 0 !important;
}

.m3d-camera-options-list-v452 {
  display: grid !important;
  gap: 10px !important;
  padding: 10px 14px 18px !important;
}

.m3d-camera-options-item-v452 {
  position: relative !important;
  width: 100% !important;
  border: 1px solid #dbe4f0 !important;
  background: #f8fafc !important;
  border-radius: 18px !important;
  padding: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-align: left !important;
  color: #0f172a !important;
  overflow: hidden !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.m3d-camera-options-item-v452.primary {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
}

.m3d-camera-options-item-v452 > span {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  border-radius: 999px !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 26px !important;
  box-shadow: 0 2px 8px rgba(15,23,42,.10) !important;
}

.m3d-camera-options-item-v452 b {
  display: block !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  margin-bottom: 2px !important;
}

.m3d-camera-options-item-v452 small {
  display: block !important;
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 700 !important;
}

.m3d-camera-input-real-v452,
.m3d-camera-gallery-input-v452 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  display: block !important;
  visibility: visible !important;
  z-index: 10 !important;
  cursor: pointer !important;
}


/* M3D v453 - camera opcoes original */
#m3dCameraOptionsSheet {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
}

.m3d-camera-options-backdrop-v453 {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(15,23,42,.55) !important;
  backdrop-filter: blur(2px) !important;
}

.m3d-camera-options-card-v453 {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
  background: #fff !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.30) !important;
  border: 1px solid rgba(148,163,184,.25) !important;
}

.m3d-camera-options-head-v453 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 18px 10px !important;
  color: #0f172a !important;
}

.m3d-camera-options-head-v453 b {
  font-size: 22px !important;
  font-weight: 900 !important;
}

.m3d-camera-options-head-v453 button {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #f1f5f9 !important;
  color: #0f172a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  padding: 0 !important;
}

.m3d-camera-options-list-v453 {
  display: grid !important;
  gap: 10px !important;
  padding: 10px 14px 18px !important;
}

.m3d-camera-options-item-v453 {
  width: 100% !important;
  border: 1px solid #dbe4f0 !important;
  background: #f8fafc !important;
  border-radius: 18px !important;
  padding: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-align: left !important;
  color: #0f172a !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.m3d-camera-options-item-v453.primary {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
}

.m3d-camera-options-item-v453 > span {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  border-radius: 999px !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 26px !important;
  box-shadow: 0 2px 8px rgba(15,23,42,.10) !important;
}

.m3d-camera-options-item-v453 b {
  display: block !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  margin-bottom: 2px !important;
}

.m3d-camera-options-item-v453 small {
  display: block !important;
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 700 !important;
}


/* M3D v456 - camera v447 limpa */
#m3dCameraGallerySheet,
#m3dRealCameraModal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
}

.m3d-camera-gallery-backdrop-v456,
.m3d-real-camera-backdrop-v456 {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(15,23,42,.55) !important;
  backdrop-filter: blur(2px) !important;
}

.m3d-camera-gallery-card-v456 {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
  background: #fff !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.30) !important;
  border: 1px solid rgba(148,163,184,.25) !important;
}

.m3d-camera-gallery-head-v456,
.m3d-real-camera-head-v456 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 18px 10px !important;
  color: #0f172a !important;
}

.m3d-real-camera-head-v456 {
  background: #111827 !important;
  color: #fff !important;
  padding: 16px 18px !important;
}

.m3d-camera-gallery-head-v456 b,
.m3d-real-camera-head-v456 b {
  font-size: 22px !important;
  font-weight: 900 !important;
}

.m3d-camera-gallery-head-v456 button,
.m3d-real-camera-head-v456 button {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #f1f5f9 !important;
  color: #0f172a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  padding: 0 !important;
}

.m3d-camera-gallery-options-v456 {
  display: grid !important;
  gap: 10px !important;
  padding: 10px 14px 18px !important;
}

.m3d-camera-gallery-option-v456 {
  width: 100% !important;
  border: 1px solid #dbe4f0 !important;
  background: #f8fafc !important;
  border-radius: 18px !important;
  padding: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-align: left !important;
  color: #0f172a !important;
}

.m3d-camera-gallery-option-v456.primary {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
}

.m3d-camera-gallery-option-v456 > span {
  width: 50px !important;
  height: 50px !important;
  border-radius: 999px !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 26px !important;
  box-shadow: 0 2px 8px rgba(15,23,42,.10) !important;
}

.m3d-camera-gallery-option-v456 b {
  display: block !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  margin-bottom: 2px !important;
}

.m3d-camera-gallery-option-v456 small {
  display: block !important;
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 700 !important;
}

.m3d-real-camera-card-v456 {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  top: 50px !important;
  bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
  background: #0f172a !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.35) !important;
  border: 1px solid rgba(148,163,184,.25) !important;
  display: flex !important;
  flex-direction: column !important;
}

.m3d-real-camera-view-v456 {
  flex: 1 !important;
  min-height: 260px !important;
  background: #000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

#m3dRealCameraVideo {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  background: #000 !important;
}

.m3d-real-camera-actions-v456 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 16px !important;
  background: #0f172a !important;
}

.m3d-real-camera-actions-v456 button {
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 20px !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  color: #fff !important;
  background: #334155 !important;
}

.m3d-real-camera-actions-v456 button.primary {
  background: #2563eb !important;
}


/* M3D v457 - reduzir popup camera PWA desktop */
@media (min-width: 768px) {
  #m3dCameraGallerySheet .m3d-camera-gallery-card-v454,
  #m3dCameraGallerySheet .m3d-camera-gallery-card-v456,
  #m3dCameraGallerySheet .m3d-camera-gallery-card-v447,
  #m3dCameraOptionsSheet .m3d-camera-options-card-v450,
  #m3dCameraOptionsSheet .m3d-camera-options-card-v451,
  #m3dCameraOptionsSheet .m3d-camera-options-card-v452,
  #m3dCameraOptionsSheet .m3d-camera-options-card-v453 {
    left: 50% !important;
    right: auto !important;
    width: min(560px, calc(100vw - 40px)) !important;
    max-width: 560px !important;
    transform: translateX(-50%) !important;
    bottom: 92px !important;
    border-radius: 22px !important;
  }

  #m3dCameraGallerySheet .m3d-camera-gallery-options-v454,
  #m3dCameraGallerySheet .m3d-camera-gallery-options-v456,
  #m3dCameraGallerySheet .m3d-camera-gallery-options-v447,
  #m3dCameraOptionsSheet .m3d-camera-options-list-v450,
  #m3dCameraOptionsSheet .m3d-camera-options-list-v451,
  #m3dCameraOptionsSheet .m3d-camera-options-list-v452,
  #m3dCameraOptionsSheet .m3d-camera-options-list-v453 {
    padding: 10px 18px 18px !important;
    gap: 10px !important;
  }

  #m3dCameraGallerySheet .m3d-camera-gallery-option-v454,
  #m3dCameraGallerySheet .m3d-camera-gallery-option-v456,
  #m3dCameraGallerySheet .m3d-camera-gallery-option-v447,
  #m3dCameraOptionsSheet .m3d-camera-options-item-v450,
  #m3dCameraOptionsSheet .m3d-camera-options-item-v451,
  #m3dCameraOptionsSheet .m3d-camera-options-item-v452,
  #m3dCameraOptionsSheet .m3d-camera-options-item-v453 {
    width: 100% !important;
    min-height: 72px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
  }

  #m3dCameraGallerySheet .m3d-camera-gallery-head-v454,
  #m3dCameraGallerySheet .m3d-camera-gallery-head-v456,
  #m3dCameraGallerySheet .m3d-camera-gallery-head-v447,
  #m3dCameraOptionsSheet .m3d-camera-options-head-v450,
  #m3dCameraOptionsSheet .m3d-camera-options-head-v451,
  #m3dCameraOptionsSheet .m3d-camera-options-head-v452,
  #m3dCameraOptionsSheet .m3d-camera-options-head-v453 {
    padding: 16px 18px 8px !important;
  }
}


/* M3D v468 - ajustar barra equipe grupos */
.m3d-native-composer-hidden-v468,
[data-m3d-native-composer-hidden-v468="1"],
.m3d-native-composer-hidden-v467,
[data-m3d-native-composer-hidden-v467="1"],
.m3d-barra-equipe-grupos-removida-v465,
[data-m3d-barra-equipe-grupos-removida-v465="1"] {
  position: fixed !important;
  left: -99999px !important;
  bottom: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  max-width: 1px !important;
  max-height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

#m3dTeamGroupComposerV468,
.m3d-team-group-composer-v468 {
  position: fixed !important;
  left: var(--m3d-team-group-bar-left-v468, 330px) !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2147483000 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  min-height: 62px !important;
  padding: 8px 14px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box !important;
  background: #f8fafc !important;
  border-top: 1px solid #d9e6f5 !important;
  box-shadow: 0 -8px 22px rgba(15,23,42,.08) !important;
}

#m3dTeamGroupComposerV468 .m3d-composer-btn-v468 {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  border: 1px solid #d9e6f5 !important;
  background: #fff !important;
  color: #0f172a !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  cursor: pointer !important;
  overflow: hidden !important;
}

#m3dTeamGroupComposerV468 .m3d-composer-input-v468 {
  flex: 1 1 auto !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 92px !important;
  border-radius: 999px !important;
  border: 1px solid #cfe0f3 !important;
  background: #fff !important;
  color: #0f172a !important;
  padding: 0 18px !important;
  font-size: 16px !important;
  line-height: 44px !important;
  outline: none !important;
  box-shadow: none !important;
  resize: none !important;
  box-sizing: border-box !important;
}

#m3dTeamGroupComposerV468 .m3d-composer-input-v468:focus {
  border-color: #d79400 !important;
  box-shadow: 0 0 0 2px rgba(215,148,0,.12) !important;
}

#m3dTeamGroupComposerV468 .m3d-composer-mic-v468 {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  min-height: 50px !important;
  background: #071323 !important;
  border-color: #071323 !important;
  color: #fff !important;
  font-size: 23px !important;
}

#m3dTeamGroupComposerV468 .m3d-composer-send-v468 {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  min-height: 50px !important;
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #fff !important;
  font-size: 24px !important;
}

#m3dTeamGroupComposerV468 [hidden] {
  display: none !important;
}

.m3d-team-group-bar-active-v468 body {
  padding-bottom: 76px !important;
}

@media (max-width: 767px) {
  #m3dTeamGroupComposerV468,
  .m3d-team-group-composer-v468 {
    left: 0 !important;
    right: 0 !important;
    gap: 6px !important;
    padding: 7px 10px calc(7px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: 60px !important;
  }

  #m3dTeamGroupComposerV468 .m3d-composer-btn-v468 {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    font-size: 17px !important;
  }

  #m3dTeamGroupComposerV468 .m3d-composer-input-v468 {
    height: 40px !important;
    min-height: 40px !important;
    line-height: 40px !important;
    font-size: 16px !important;
    padding: 0 14px !important;
  }

  #m3dTeamGroupComposerV468 .m3d-composer-mic-v468,
  #m3dTeamGroupComposerV468 .m3d-composer-send-v468 {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .m3d-team-group-bar-active-v468 body {
    padding-bottom: 70px !important;
  }
}




/* M3D v470 - interceptar clique emojis recentes */
#pwaEmojiPanel.m3d-emoji-panel-clean-v470,
.m3d-emoji-panel-clean-v470 {
  padding-top: 0 !important;
}

#pwaEmojiPanel .m3d-emoji-recentes-v470,
.m3d-emoji-recentes-v470 {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 6px 10px 8px !important;
  margin: 0 0 8px 0 !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(15,23,42,.08) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999999 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#pwaEmojiPanel .m3d-emoji-recentes-title-v470,
.m3d-emoji-recentes-title-v470 {
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  color: #64748b !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

#pwaEmojiPanel .m3d-emoji-recentes-grid-v470,
.m3d-emoji-recentes-grid-v470 {
  display: grid !important;
  grid-template-columns: repeat(8, 34px) !important;
  gap: 6px !important;
  justify-content: start !important;
  align-items: center !important;
  width: auto !important;
  max-width: calc((34px * 8) + (6px * 7)) !important;
}

#pwaEmojiPanel .m3d-emoji-recente-btn-v470,
.m3d-emoji-recente-btn-v470 {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 8px !important;
  font-size: 24px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  overflow: hidden !important;
  color: initial !important;
  text-indent: 0 !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  touch-action: manipulation !important;
}

#pwaEmojiPanel .m3d-emoji-recente-btn-v470:hover,
#pwaEmojiPanel .m3d-emoji-recente-btn-v470:active,
.m3d-emoji-recente-btn-v470:hover,
.m3d-emoji-recente-btn-v470:active {
  background: rgba(15,23,42,.08) !important;
}

@media (max-width: 767px) {
  #pwaEmojiPanel .m3d-emoji-recentes-grid-v470,
  .m3d-emoji-recentes-grid-v470 {
    grid-template-columns: repeat(8, 34px) !important;
  }
}

@media (min-width: 768px) {
  #pwaEmojiPanel .m3d-emoji-recentes-v470,
  .m3d-emoji-recentes-v470 {
    max-height: 88px !important;
    overflow: hidden !important;
  }
}




/* M3D v473 - remover regra antiga emojis sem travar */
html.m3d-emoji-opening-v473 #pwaEmojiPanel > :first-child:not(.m3d-emoji-recentes-v470),
html.m3d-emoji-opening-v473 .pwa-emoji-panel > :first-child:not(.m3d-emoji-recentes-v470),
html.m3d-emoji-opening-v473 .emoji-panel > :first-child:not(.m3d-emoji-recentes-v470),
html.m3d-emoji-opening-v473 .emoji-picker > :first-child:not(.m3d-emoji-recentes-v470),
html.m3d-emoji-opening-v473 .m3d-emoji-panel > :first-child:not(.m3d-emoji-recentes-v470),
html.m3d-emoji-opening-v473 [data-emoji-panel] > :first-child:not(.m3d-emoji-recentes-v470) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

#pwaEmojiPanel .m3d-emoji-recentes-v430,
#pwaEmojiPanel .m3d-emoji-recentes-v429,
#pwaEmojiPanel .m3d-emoji-recentes-v458,
#pwaEmojiPanel .m3d-emoji-recentes-v459,
#pwaEmojiPanel .m3d-emoji-recentes-v469,
.pwa-emoji-panel .m3d-emoji-recentes-v430,
.pwa-emoji-panel .m3d-emoji-recentes-v429,
.pwa-emoji-panel .m3d-emoji-recentes-v458,
.pwa-emoji-panel .m3d-emoji-recentes-v459,
.pwa-emoji-panel .m3d-emoji-recentes-v469,
.emoji-panel .m3d-emoji-recentes-v430,
.emoji-panel .m3d-emoji-recentes-v429,
.emoji-panel .m3d-emoji-recentes-v458,
.emoji-panel .m3d-emoji-recentes-v459,
.emoji-panel .m3d-emoji-recentes-v469 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

#pwaEmojiPanel .m3d-emoji-recentes-v470,
.m3d-emoji-recentes-v470 {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 6px 10px 8px !important;
  margin: 0 0 8px 0 !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(15,23,42,.08) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999999 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#pwaEmojiPanel .m3d-emoji-recentes-title-v470,
.m3d-emoji-recentes-title-v470 {
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  color: #64748b !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

#pwaEmojiPanel .m3d-emoji-recentes-grid-v470,
.m3d-emoji-recentes-grid-v470 {
  display: grid !important;
  grid-template-columns: repeat(8, 34px) !important;
  gap: 6px !important;
  justify-content: start !important;
  align-items: center !important;
  width: auto !important;
  max-width: calc((34px * 8) + (6px * 7)) !important;
}

#pwaEmojiPanel .m3d-emoji-recente-btn-v470,
.m3d-emoji-recente-btn-v470 {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 8px !important;
  font-size: 24px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  overflow: hidden !important;
  color: initial !important;
  text-indent: 0 !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  touch-action: manipulation !important;
}

@media (min-width: 768px) {
  #pwaEmojiPanel .m3d-emoji-recentes-v470,
  .m3d-emoji-recentes-v470 {
    max-height: 88px !important;
    overflow: hidden !important;
  }
}




/* M3D v475 - recorte imagem grupo corrigido e barra lateral */
.m3d-group-crop-open-btn-v474 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

.m3d-group-crop-open-btn-v475 {
  display: block !important;
  width: min(100%, 290px) !important;
  min-height: 42px !important;
  margin: 8px 0 10px 0 !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 14px !important;
  background: #eff6ff !important;
  color: #0b4ea2 !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  cursor: pointer !important;
}

#m3dGroupCropModalV475 {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
}

.m3d-group-crop-backdrop-v475 {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(15, 23, 42, .62) !important;
  backdrop-filter: blur(2px) !important;
}

.m3d-group-crop-card-v475 {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(460px, calc(100vw - 26px)) !important;
  max-height: calc(100vh - 30px) !important;
  overflow: auto !important;
  background: #fff !important;
  border-radius: 24px !important;
  box-shadow: 0 26px 80px rgba(0,0,0,.35) !important;
  border: 1px solid rgba(148,163,184,.25) !important;
}

.m3d-group-crop-head-v475 {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 18px 18px 10px !important;
  color: #0f172a !important;
}

.m3d-group-crop-head-v475 b {
  display: block !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  margin-bottom: 4px !important;
}

.m3d-group-crop-head-v475 small {
  display: block !important;
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 700 !important;
}

.m3d-group-crop-close-v475 {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #f1f5f9 !important;
  color: #0f172a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  padding: 0 !important;
  cursor: pointer !important;
}

.m3d-group-crop-body-v475 {
  padding: 8px 18px 12px !important;
  display: grid !important;
  justify-items: center !important;
  gap: 14px !important;
}

#m3dGroupCropCanvasV475 {
  width: min(320px, calc(100vw - 70px)) !important;
  height: min(320px, calc(100vw - 70px)) !important;
  border-radius: 18px !important;
  background: #f8fafc !important;
  border: 2px solid #dbeafe !important;
  cursor: grab !important;
  touch-action: none !important;
  box-shadow: inset 0 0 0 1px rgba(15,23,42,.08) !important;
}

#m3dGroupCropCanvasV475.dragging {
  cursor: grabbing !important;
}

.m3d-group-crop-range-v475 {
  width: min(320px, calc(100vw - 70px)) !important;
  display: grid !important;
  gap: 6px !important;
  color: #0f172a !important;
  font-weight: 900 !important;
}

.m3d-group-crop-range-v475 input {
  width: 100% !important;
}

.m3d-group-crop-actions-v475 {
  display: flex !important;
  gap: 10px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  padding: 10px 18px 18px !important;
}

.m3d-group-crop-actions-v475 button {
  min-height: 44px !important;
  border-radius: 999px !important;
  border: 1px solid #dbe4f0 !important;
  padding: 0 18px !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  cursor: pointer !important;
}

.m3d-group-crop-apply-v475 {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #fff !important;
}

.m3d-group-crop-original-v475 {
  background: #eff6ff !important;
  color: #0b4ea2 !important;
}

.m3d-group-crop-cancel-v475 {
  background: #f8fafc !important;
  color: #334155 !important;
}

/* cola a barra de Equipe/Grupos na lateral esquerda, sem vão */
#m3dTeamGroupComposerV468,
#m3dTeamGroupComposerV467,
#m3dTeamGroupComposerV466,
.m3d-team-group-composer-v468,
.m3d-team-group-composer-v467,
.m3d-team-group-composer-v466 {
  left: var(--m3d-team-group-bar-left-v475, var(--m3d-team-group-bar-left-v468, 330px)) !important;
}

@media (max-width: 767px) {
  #m3dTeamGroupComposerV468,
  #m3dTeamGroupComposerV467,
  #m3dTeamGroupComposerV466,
  .m3d-team-group-composer-v468,
  .m3d-team-group-composer-v467,
  .m3d-team-group-composer-v466 {
    left: 0 !important;
  }

  .m3d-group-crop-card-v475 {
    width: calc(100vw - 20px) !important;
    border-radius: 20px !important;
  }

  .m3d-group-crop-actions-v475 button {
    flex: 1 1 auto !important;
  }
}







/* M3D v480 - bloquear retorno da barra real antiga v479 */
.m3d-real-client-composer-v479,
.m3d-real-client-input-v479,
.m3d-real-client-btn-v479 {
  all: unset;
}

.m3d-real-client-composer-v479 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}














/* M3D v485 - barra nova fixa equipe grupos */
.m3d-real-client-composer-v479,
.m3d-real-client-input-v479,
.m3d-real-client-btn-v479 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

.m3d-teamgroup-newbar-hidden-v485 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

#m3dTeamGroupComposerV468.m3d-teamgroup-newbar-fixed-v485,
#m3dTeamGroupComposerV467.m3d-teamgroup-newbar-fixed-v485,
#m3dTeamGroupComposerV466.m3d-teamgroup-newbar-fixed-v485,
.m3d-team-group-composer-v468.m3d-teamgroup-newbar-fixed-v485,
.m3d-team-group-composer-v467.m3d-teamgroup-newbar-fixed-v485,
.m3d-team-group-composer-v466.m3d-teamgroup-newbar-fixed-v485 {
  position: fixed !important;
  left: var(--m3d-teamgroup-left-v485, 320px) !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 10px !important;
  transform: none !important;
  box-sizing: border-box !important;
  z-index: 2147483000 !important;

  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#m3dTeamGroupComposerV468.m3d-teamgroup-newbar-fixed-v485 > :first-child,
#m3dTeamGroupComposerV467.m3d-teamgroup-newbar-fixed-v485 > :first-child,
#m3dTeamGroupComposerV466.m3d-teamgroup-newbar-fixed-v485 > :first-child,
.m3d-team-group-composer-v468.m3d-teamgroup-newbar-fixed-v485 > :first-child,
.m3d-team-group-composer-v467.m3d-teamgroup-newbar-fixed-v485 > :first-child,
.m3d-team-group-composer-v466.m3d-teamgroup-newbar-fixed-v485 > :first-child {
  margin-left: 0 !important;
  padding-left: 0 !important;
  transform: none !important;
}

@media (max-width: 767px) {
  #m3dTeamGroupComposerV468.m3d-teamgroup-newbar-fixed-v485,
  #m3dTeamGroupComposerV467.m3d-teamgroup-newbar-fixed-v485,
  #m3dTeamGroupComposerV466.m3d-teamgroup-newbar-fixed-v485,
  .m3d-team-group-composer-v468.m3d-teamgroup-newbar-fixed-v485,
  .m3d-team-group-composer-v467.m3d-teamgroup-newbar-fixed-v485,
  .m3d-team-group-composer-v466.m3d-teamgroup-newbar-fixed-v485 {
    left: 0 !important;
    right: 0 !important;
    padding-left: 0 !important;
  }
}
/* END M3D v485 - barra nova fixa equipe grupos */








/* M3D v489 - fixar area chat ate barra sem mexer navegacao */
.m3d-real-client-composer-v479,
.m3d-real-client-input-v479,
.m3d-real-client-btn-v479 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

.m3d-v489-hide-bar {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

.m3d-v489-fixed-bar {
  position: fixed !important;
  bottom: 0 !important;
  top: auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
  z-index: 2147483000 !important;
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.m3d-v489-fixed-panel {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
}

.m3d-v489-chat-parent {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}

.m3d-v489-kill-gap {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  .m3d-v489-fixed-bar {
    left: 0 !important;
    right: 0 !important;
  }
}
/* END M3D v489 - fixar area chat ate barra sem mexer navegacao */

/* M3D v490 - Menu Aplicativos separado por APK Cliente e APK Atendente */
.appweb-apk-header{
  display:grid;
  gap:12px;
}
.appweb-apk-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:6px;
}
.appweb-apk-tabs button{
  border:1px solid #bfdbfe;
  background:#ffffff;
  color:#0b57d0;
  border-radius:16px;
  padding:12px 18px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(37,99,235,.08);
}
.appweb-apk-tabs button:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(37,99,235,.12);
}
.appweb-apk-tabs button.active{
  background:#075bea;
  color:#ffffff;
  border-color:#075bea;
}
.appweb-open-url-card{
  border:1px solid #bfdbfe;
  background:linear-gradient(135deg,#f8fbff,#ffffff);
  border-radius:18px;
  padding:16px;
  display:grid;
  gap:10px;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.appweb-open-url-card h3{
  margin:0;
  color:#0f172a;
}
.appweb-open-url-card label{
  display:grid;
  gap:6px;
  font-weight:950;
  color:#0f172a;
}
.appweb-open-url-card input{
  min-height:46px;
  border:1px solid #cfe0f5;
  border-radius:14px;
  padding:0 12px;
  font:inherit;
  width:100%;
  box-sizing:border-box;
}
.appweb-open-url-card input:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.10);
  outline:none;
}
@media(max-width:760px){
  .appweb-apk-tabs button{
    flex:1 1 100%;
  }
}
/* END M3D v490 - Menu Aplicativos separado por APK Cliente e APK Atendente */
