/* DMImobi CRM — Recursos transversais consolidados.
   Ordem preservada para manter a interface homologada sem alterações visuais. */

/* ===== Bloco consolidado: css/v221.css ===== */
/* DMImobi v221 — limpeza comercial, plano atual e sugestões por e-mail */
.prof-bonus.prof-guidance{
  background:#f4f7fb;
  border-color:#dbe5ef;
  color:#40566f;
}
.prof-bonus.prof-guidance.done{
  background:#eaf8f0;
  border-color:#b6e6c9;
  color:#176d42;
}
#page-planos .plan.current-plan{
  border:2px solid #1a9d5a!important;
  box-shadow:0 12px 30px rgba(26,157,90,.13)!important;
}
#page-planos .plan-tag.current{
  background:#dff6e9!important;
  color:#12643b!important;
  border:1px solid #a9dfbf!important;
}
#page-planos .plan-btn.current-plan-btn,
#page-planos .plan-btn.current-plan-btn:disabled{
  opacity:1!important;
  background:#e9f6ef!important;
  color:#176d42!important;
  border:1px solid #a9dfbf!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
}
.sugestao-intro{
  margin:0 0 16px;
  color:var(--gray5);
  font-size:13px;
  line-height:1.55;
}
.sugestao-meta{
  margin:8px 0 14px;
  padding:9px 11px;
  border-radius:10px;
  background:var(--gray1);
  color:var(--gray5);
  font-size:11px;
  line-height:1.4;
}
#sugestaoBg .sp-save:disabled{opacity:.65;cursor:wait}

/* ===== Bloco consolidado: css/v222.css ===== */
/* DMImobi CRM v222 — notificações, push e resumo diário */
.notif-hero{box-sizing:border-box;display:flex;gap:15px;align-items:center;width:100%;margin:4px 0 22px;padding:18px 20px;background:linear-gradient(135deg,#092753,#174b82);color:#fff;border-radius:18px;box-shadow:0 10px 25px rgba(9,39,83,.16)}
.notif-hero-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.13);color:#e3c55b;flex:0 0 48px}.notif-hero-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notif-hero-copy{min-width:0;flex:1}.notif-hero .notif-hero-kicker{display:block;margin-bottom:4px;color:#e3c55b;font-size:9px;font-weight:800;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}.notif-hero b{display:block;margin-bottom:5px;color:#fff;font-size:17px;line-height:1.25}.notif-hero .notif-hero-description{display:block;max-width:560px;color:#dbe8f7;font-size:12.5px;line-height:1.45}
@media(max-width:420px){.notif-hero{gap:12px;padding:16px}.notif-hero-icon{width:44px;height:44px;flex-basis:44px}.notif-hero b{font-size:15.5px}.notif-hero .notif-hero-description{font-size:12px}}
.notif-settings-card{margin:0 16px 14px;padding:14px 15px;background:#fff;border:1px solid #e5eaf1;border-radius:14px;box-shadow:0 4px 15px rgba(12,42,78,.04)}
.notif-field{display:flex;align-items:center;justify-content:space-between;gap:14px}.notif-field label{font-size:13px;font-weight:700;color:#17304f}.notif-field .sp-inp{width:auto;min-width:145px;margin:0;padding:10px 12px}
.notif-note{font-size:11.5px;line-height:1.5;color:#718096;margin-top:10px}
.notif-status{margin:-2px 16px 12px;padding:12px 14px;border-radius:12px;background:#eef4fb;border:1px solid #d6e3f1;display:flex;flex-direction:column;gap:3px}.notif-status b{font-size:12.5px;color:#17304f}.notif-status span{font-size:11.5px;line-height:1.45;color:#66758a}
.notif-status.success{background:#eaf8ef;border-color:#bde5ca}.notif-status.success b{color:#157342}.notif-status.warning{background:#fff8e1;border-color:#eed58b}.notif-status.warning b{color:#8a6611}.notif-status.error{background:#fff0ee;border-color:#f1c2bc}.notif-status.error b{color:#b13229}
.tg-sw.disabled{opacity:.45;pointer-events:none}.tg-sw[aria-disabled="true"]{cursor:not-allowed}
.notif-test-btn{margin:16px;width:calc(100% - 32px);background:#d5b95e!important;color:#092753!important;font-weight:800}
.notif-history-title{margin-top:23px!important}.notif-history{margin:0 16px 24px;display:flex;flex-direction:column;gap:9px}.notif-empty{padding:18px;text-align:center;border:1px dashed #cfd8e5;border-radius:13px;color:#7b8797;font-size:12.5px;background:#fff}
.notif-history-item{display:flex;align-items:flex-start;gap:10px;padding:13px;background:#fff;border:1px solid #e3e8ef;border-radius:14px}.notif-history-icon{width:34px;height:34px;border-radius:10px;background:#eef4fb;display:grid;place-items:center;flex:0 0 auto}.notif-history-main{min-width:0;flex:1}.notif-history-main b{display:block;font-size:12.5px;color:#102a4d}.notif-history-main span{display:block;font-size:11.5px;color:#58687c;line-height:1.4;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-history-main small{display:block;font-size:10.5px;color:#8a96a7;margin-top:5px}.notif-history-status{font-size:10px;font-weight:800;border-radius:999px;padding:5px 7px;background:#edf4ff;color:#2f64a0;white-space:nowrap}.notif-history-item.failed .notif-history-status{background:#fff0ee;color:#b13229}.notif-history-item.skipped .notif-history-status{background:#f3f4f6;color:#6b7280}.notif-history-item.sent .notif-history-status{background:#eaf8ef;color:#157342}
@media(min-width:1024px){#page-notif{max-width:850px;margin:0 auto;padding-bottom:50px}.notif-hero,.notif-settings-card,.notif-status,.notif-history{margin-left:0;margin-right:0}.notif-test-btn{width:100%;margin-left:0;margin-right:0}.notif-field .sp-inp{min-width:190px}}
@media(max-width:420px){.notif-field{align-items:flex-start;flex-direction:column}.notif-field .sp-inp{width:100%;min-width:0}.notif-history-status{display:none}}

/* Central rápida do sino: histórico operacional separado das preferências. */
.notif-quick-backdrop{position:fixed;inset:0;z-index:1195;border:0;background:rgba(8,30,58,.42);backdrop-filter:blur(2px)}
.notif-quick-panel{position:fixed;z-index:1200;top:70px;right:20px;width:min(410px,calc(100vw - 32px));max-height:min(660px,calc(100dvh - 92px));display:flex;flex-direction:column;background:#fff;border:1px solid #dfe6ef;border-radius:20px;box-shadow:0 22px 60px rgba(4,26,54,.24);overflow:hidden;color:#102a4d;outline:0}
.notif-quick-panel[hidden],.notif-quick-backdrop[hidden]{display:none!important}.notif-quick-handle{display:none}
.notif-quick-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 15px;border-bottom:1px solid #e8edf3}.notif-quick-head h2{margin:0;font-size:20px;line-height:1.2;color:#102a4d}.notif-quick-head p{margin:4px 0 0;font-size:12px;color:#718096}.notif-quick-head-actions{display:flex;gap:7px}.notif-quick-icon-btn{width:36px;height:36px;display:grid;place-items:center;border:1px solid #dfe6ef;border-radius:11px;background:#f7f9fc;color:#174b82;cursor:pointer}.notif-quick-icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notif-quick-list{overflow:auto;overscroll-behavior:contain}.notif-quick-item{position:relative;width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 8px;gap:12px;align-items:start;padding:15px 18px;border:0;border-bottom:1px solid #edf1f5;background:#fff;text-align:left;color:inherit;cursor:pointer}.notif-quick-item:hover{background:#f7faff}.notif-quick-item.is-unread{background:#f5f9ff}.notif-quick-item.is-unread:hover{background:#edf5ff}.notif-quick-type{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#edf4fb;color:#17558c}.notif-quick-type svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notif-quick-copy{min-width:0;display:block}.notif-quick-copy strong{display:block;font-size:13.5px;line-height:1.3;color:#102a4d}.notif-quick-copy>span{display:-webkit-box;margin-top:3px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.4;color:#5e6d80}.notif-quick-copy small{display:block;margin-top:6px;font-size:10.5px;color:#8b97a7}.notif-quick-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#d0443e;box-shadow:0 0 0 4px #fbe7e5}
.notif-quick-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 18px;background:#fff;border-top:1px solid #e8edf3}.notif-quick-text-btn,.notif-quick-all-btn{border:0;background:transparent;color:#174b82;font-size:12px;font-weight:800;cursor:pointer;padding:7px 3px}.notif-quick-text-btn:disabled{color:#9ca7b5;cursor:default}.notif-quick-all-btn{color:#9a7417}.notif-quick-state,.notif-quick-empty{min-height:190px;display:flex;align-items:center;justify-content:center;gap:10px;padding:28px;color:#718096;font-size:12.5px}.notif-quick-spinner{width:20px;height:20px;border:2px solid #dfe6ef;border-top-color:#d2ad3f;border-radius:50%;animation:notifQuickSpin .8s linear infinite}.notif-quick-empty{flex-direction:column;text-align:center}.notif-quick-empty svg{width:32px;height:32px;fill:none;stroke:#d2ad3f;stroke-width:1.6}.notif-quick-empty strong{font-size:14px;color:#17304f}.notif-quick-empty span{max-width:270px;line-height:1.45}@keyframes notifQuickSpin{to{transform:rotate(360deg)}}
@media(min-width:1024px){.notif-quick-backdrop{background:transparent;backdrop-filter:none}.notif-quick-panel{top:62px;right:24px}}
@media(max-width:767px){body.notif-quick-open{overflow:hidden}.notif-quick-panel{top:auto;right:0;bottom:0;width:100%;max-height:min(78dvh,720px);border-radius:22px 22px 0 0;border-bottom:0}.notif-quick-handle{display:block;width:42px;height:4px;margin:9px auto 0;border-radius:999px;background:#cbd4df}.notif-quick-head{padding:14px 18px 13px}.notif-quick-head h2{font-size:19px}.notif-quick-item{padding:14px 17px}.notif-quick-footer{padding-bottom:max(14px,env(safe-area-inset-bottom))}}
/* Preferencias: mantem as acoes de ajuda fora da area do botao flutuante. */
@media (max-width:1023px){
  #page-prefsmenu .dk-pref-ajuda{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;align-items:center!important;gap:10px 12px!important;padding:16px!important}
  #page-prefsmenu .dk-pref-ajuda-ic{grid-column:1;grid-row:1;display:grid;place-items:center;width:44px;height:44px;margin:0}
  #page-prefsmenu .dk-pref-ajuda>div:not(.dk-pref-ajuda-acts){grid-column:2;grid-row:1;min-width:0}
  #page-prefsmenu .dk-pref-ajuda-acts{grid-column:1/-1!important;grid-row:2;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px!important;width:auto!important;margin:2px 68px 0 0!important}
  #page-prefsmenu .dk-pref-ajuda-acts button{justify-content:center;width:100%;min-width:0;min-height:44px;padding:10px 8px;font-size:12px;line-height:1.2;text-align:center;white-space:normal}
}

/* Recuperacao de senha: acao secundaria compacta e sem quebra acidental. */
#page-seguranca .sp-password-reset{display:flex;align-items:center;justify-content:center;gap:9px;width:max-content;max-width:calc(100% - 32px);min-height:44px;margin:12px auto 0;padding:10px 18px;border:1px solid #b9c8d9;border-radius:12px;background:#fff;color:#12365f;font-size:13px;font-weight:800;line-height:1.2;white-space:nowrap;box-shadow:0 3px 10px rgba(9,39,83,.05)}
#page-seguranca .sp-password-reset svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#page-seguranca .sp-password-reset:active{background:#eef4fa;transform:translateY(1px)}
@media(max-width:350px){#page-seguranca .sp-password-reset{padding-inline:12px;font-size:12px;gap:7px}}

@media(max-width:1023px){.notif-hero b{font-size:15px;letter-spacing:-.02em}}

/* Preferencias mobile: reserva real para o botao flutuante. */
@media(max-width:1023px){
  #page-prefsmenu .pfm-ajuda-acts{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:10px;width:auto;max-width:none;margin-top:12px;margin-left:-48px;margin-right:100px}
  #page-prefsmenu .pfm-ajuda-acts button{flex:0 0 auto;width:auto;min-width:0;min-height:44px;box-sizing:border-box;padding:10px 11px;border-radius:12px;font-size:13px;line-height:1.15;white-space:nowrap}
  #page-prefsmenu .pfm-b-wpp{border:1.5px solid #b9ddd4;box-shadow:0 2px 8px rgba(18,140,126,.08)}
  #page-prefsmenu .pfm-b-chm{border:1.5px solid var(--navy);box-shadow:0 4px 12px rgba(5,47,91,.14)}
}

/* ===== Bloco consolidado: css/v223.css ===== */
/* DMImobi CRM v225.38 — Web Push de produção, sem controles técnicos. */
.notif-history-item.delivered .notif-history-status{background:#eaf8ef;color:#157342}
.notif-enable-btn{display:block;width:100%;min-height:44px;margin-top:12px;border:0;border-radius:11px;background:#092753;color:#fff;font-family:inherit;font-size:13px;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(9,39,83,.18)}
.notif-enable-btn:disabled{opacity:.55;cursor:wait}

/* ===== Bloco consolidado: css/v22533.css ===== */
/* DMImobi v225.33 — acabamento operacional e responsivo. */
.agenda-grupo{scroll-margin-top:110px;margin:0 0 22px}
.agenda-grupo-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:10px 12px;border-radius:12px;background:#eef3f9;color:#092753}
.agenda-grupo-head h3{margin:0;font-size:15px;line-height:1.25}
.agenda-grupo-head span{display:grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:#fff;font-size:12px;font-weight:900}

/* Os nomes das sete etapas permanecem inteiros no computador. */
#drawerBody .funil-steps{grid-template-columns:repeat(4,minmax(110px,1fr));gap:7px}
#drawerBody .fstep{min-height:46px;padding:8px 7px;font-size:11px;overflow-wrap:normal;word-break:normal;hyphens:none}

/* Indicadores clicáveis não perdem a borda inferior ao receber foco. */
.crm-task-kpi.clickable,.crm-dia-mini{position:relative;overflow:visible}
.crm-task-kpi.clickable:focus-visible,.crm-dia-mini:focus-visible{outline:3px solid rgba(20,115,230,.28);outline-offset:2px}

@media(max-width:1023px){
  .agenda-grupo{scroll-margin-top:92px}
  #drawerBody .funil-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  #drawerBody .fstep{min-height:48px;font-size:11px}
}

@media(max-width:420px){
  .agenda-grupo-head{padding:9px 10px}
  .agenda-grupo-head h3{font-size:14px}
}

/* ===== Bloco consolidado: css/v22534.css ===== */
/* DMImobi v225.34 — funil de oito etapas, ficha editável e melhor leitura. */

/* Dashboard: 3 + 3 + 2, conforme o fluxo comercial aprovado. */
#page-dashboard #funilRow{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:10px!important;
}
#page-dashboard #funilRow .funil-card{
  grid-column:span 2;
  min-width:0;
  margin:0!important;
}
#page-dashboard #funilRow .funil-card[data-funil-etapa="PERDIDO"],
#page-dashboard #funilRow .funil-card[data-funil-etapa="ARQUIVADO"]{
  grid-column:span 3;
}

/* Dentro do lead: a mesma organização visual do dashboard. */
#drawerBody .funil-steps{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:7px!important;
  overflow:visible!important;
}
#drawerBody .fstep{
  grid-column:span 2;
  min-width:0!important;
  min-height:48px!important;
  padding:8px 5px!important;
  font-size:11px!important;
  line-height:1.18!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  border-radius:10px!important;
  border-right:1px solid var(--gray2)!important;
}
#drawerBody .fstep[data-funil-etapa="PERDIDO"],
#drawerBody .fstep[data-funil-etapa="ARQUIVADO"]{
  grid-column:span 3;
}
#drawerBody .lead-name-field{grid-column:1/-1}

@media(max-width:420px){
  #page-dashboard #funilRow{gap:8px!important}
  #page-dashboard #funilRow .funil-card{padding:11px 6px!important}
  #drawerBody .funil-steps{gap:6px!important}
  #drawerBody .fstep{font-size:10px!important;padding:7px 3px!important}
}

/* ===== Bloco consolidado: css/v224.css ===== */
/* DMImobi CRM v224 — painel de plano e consumo */
#planUsageRoot{margin:0 0 18px}
.pu-card{background:#fff;border:1px solid #dce5ef;border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(16,52,95,.07);color:#10243d}
.pu-loading{font-size:14px;color:#64748b;text-align:center;padding:24px}
.pu-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid #e7edf4}
.pu-eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:.11em;color:#8a6d1a;margin-bottom:5px}
.pu-head h3{font-size:23px;line-height:1.1;margin:0;color:#10345f}
.pu-head p{font-size:12px;color:#718096;margin:6px 0 0}
.pu-status{min-width:180px;border-radius:12px;padding:10px 12px;text-align:right;background:#f1f5f9}
.pu-status b,.pu-status small{display:block}.pu-status b{font-size:12px}.pu-status small{font-size:10px;margin-top:3px;color:#64748b}
.pu-status.ok{background:#eaf8f0;color:#14713e}.pu-status.free{background:#eef4fb;color:#10345f}.pu-status.warn{background:#fff7df;color:#8a6200}.pu-status.danger{background:#fff0ef;color:#b42318}.pu-status.info{background:#eef4ff;color:#1d4ed8}
.pu-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.pu-meter{background:#f8fafc;border:1px solid #e7edf4;border-radius:14px;padding:13px}
.pu-meter-head{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:9px}.pu-meter-head span{font-weight:700}.pu-meter-head strong{font-size:11px;color:#52657a;text-align:right}
.pu-track{height:8px;background:#e5ebf1;border-radius:999px;overflow:hidden}.pu-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#10345f,#1473e6);transition:width .35s ease}
.pu-meter.over{border-color:#f2b8b5;background:#fff9f8}.pu-meter.over .pu-track span{background:#c0392b}.pu-meter small{display:block;margin-top:7px;font-size:10px;line-height:1.4;color:#b42318}
.pu-foot{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}.pu-foot>span{font-size:10px;color:#52657a;background:#f3f6f9;border-radius:999px;padding:6px 9px}.pu-foot button{margin-left:auto;border:1px solid #d4c085;background:#fff;color:#10345f;border-radius:9px;padding:7px 10px;font-size:10px;font-weight:800;cursor:pointer}
.pu-warning{margin-top:12px;border-radius:10px;background:#fff7df;color:#795b00;font-size:11px;padding:9px 11px}
@media(max-width:700px){
  #planUsageRoot{margin:0 12px 16px}.pu-card{border-radius:16px;padding:15px}.pu-head{display:block}.pu-head h3{font-size:21px}.pu-status{margin-top:12px;min-width:0;text-align:left}.pu-grid{grid-template-columns:1fr;gap:10px}.pu-meter-head{align-items:flex-start}.pu-foot{gap:6px}.pu-foot button{width:100%;margin:4px 0 0;padding:10px}.pu-foot>span{font-size:9.5px}
}
